Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
D
data-server
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
licc
data-server
Commits
51259ffe
Commit
51259ffe
authored
Mar 16, 2021
by
licc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增用户注册接口
parent
6e6dddcb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
160 additions
and
20 deletions
+160
-20
UserRegisterVo.java
...l/src/main/java/cn/wisenergy/model/vo/UserRegisterVo.java
+29
-0
LoginService.java
.../src/main/java/cn/wisenergy/service/app/LoginService.java
+17
-0
UserService.java
...e/src/main/java/cn/wisenergy/service/app/UserService.java
+4
-0
LoginServiceImpl.java
.../java/cn/wisenergy/service/app/impl/LoginServiceImpl.java
+81
-0
UserServiceImpl.java
...n/java/cn/wisenergy/service/app/impl/UserServiceImpl.java
+4
-7
LoginController.java
...n/wisenergy/web/admin/controller/app/LoginController.java
+10
-0
SmsController.java
.../cn/wisenergy/web/admin/controller/app/SmsController.java
+15
-13
No files found.
wisenergy-model/src/main/java/cn/wisenergy/model/vo/UserRegisterVo.java
0 → 100644
View file @
51259ffe
package
cn
.
wisenergy
.
model
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
/**
* @author 86187
* @ Description:
* @ Author : 86187
* @ Date : 2021/3/16 16:12
*/
@Data
@ApiModel
(
"UserRegisterVo"
)
public
class
UserRegisterVo
{
/**
* 用户手机号码
*/
private
String
userId
;
/**
* 推荐人邀请码
*/
private
String
beInvitedCode
;
/**
* 短信验证码
*/
private
String
sms
;
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/LoginService.java
0 → 100644
View file @
51259ffe
package
cn
.
wisenergy
.
service
.
app
;
import
cn.wisenergy.common.utils.R
;
import
cn.wisenergy.model.vo.UserRegisterVo
;
/**
* @author 86187
*/
public
interface
LoginService
{
/**
* 用户注册接口
*
* @param userRegisterVo 用户注册信息
* @return true or false
*/
R
<
Boolean
>
userRegister
(
UserRegisterVo
userRegisterVo
);
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/UserService.java
View file @
51259ffe
...
...
@@ -4,6 +4,7 @@ import cn.wisenergy.common.utils.R;
import
cn.wisenergy.model.app.User
;
import
cn.wisenergy.model.app.UsersDto
;
import
cn.wisenergy.model.vo.AerialDeliveryVo
;
import
cn.wisenergy.model.vo.UserRegisterVo
;
import
java.util.Map
;
...
...
@@ -24,8 +25,10 @@ public interface UserService {
* @return 用户信息
*/
User
getById
(
String
userId
);
/**
* 获取登录用户
*
* @param token
* @return
*/
...
...
@@ -60,6 +63,7 @@ public interface UserService {
/**
* 用户登出
*
* @param token
* @return
*/
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/LoginServiceImpl.java
0 → 100644
View file @
51259ffe
package
cn
.
wisenergy
.
service
.
app
.
impl
;
import
cn.wisenergy.common.utils.Constants
;
import
cn.wisenergy.common.utils.R
;
import
cn.wisenergy.common.utils.RedisUtils
;
import
cn.wisenergy.common.utils.ShareCodeUtil
;
import
cn.wisenergy.mapper.UsersMapper
;
import
cn.wisenergy.model.app.User
;
import
cn.wisenergy.model.vo.UserRegisterVo
;
import
cn.wisenergy.service.app.LoginService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author 86187
*/
@Service
@Slf4j
public
class
LoginServiceImpl
implements
LoginService
{
@Autowired
private
UsersMapper
usersMapper
;
@Autowired
private
RedisUtils
redisUtils
;
@Override
public
R
<
Boolean
>
userRegister
(
UserRegisterVo
userVo
)
{
log
.
info
(
"shop-mall[]LoginServiceImpl[]userRegister[]input.param.userVo:"
+
userVo
);
if
(
null
==
userVo
||
StringUtils
.
isBlank
(
userVo
.
getUserId
())
||
StringUtils
.
isBlank
(
userVo
.
getSms
()))
{
return
R
.
error
(
"入参不能为空!"
);
}
//判断phone是否符合输入类型
if
(!
userVo
.
getUserId
().
matches
(
Constants
.
RegConstant
.
PHONE_REGSTR
))
{
return
R
.
error
(
"手机号码格式不正确!"
);
}
//1、检验验证码是否正确
String
key
=
""
;
String
redisCode
=
redisUtils
.
getValue
(
key
);
if
(!
userVo
.
getSms
().
equals
(
redisCode
)
||
StringUtils
.
isBlank
(
redisCode
))
{
return
R
.
error
(
"验证码错误!"
);
}
//2、检验手机号是否已经被注册
boolean
bool
=
checkPhone
(
userVo
.
getUserId
());
if
(!
bool
)
{
return
R
.
error
(
"该用户已存在,请直接登录!"
);
}
//3、初始化用户信息
User
user
=
new
User
();
user
.
setUserId
(
userVo
.
getUserId
());
user
.
setHeadImage
(
Constants
.
Common
.
HEAD_POTRAIT
);
user
.
setUserLevel
(
0
);
if
(
StringUtils
.
isBlank
(
userVo
.
getBeInvitedCode
()))
{
user
.
setBeInvitedCode
(
"1"
);
}
else
{
//判断推荐人邀请码信息是否正确
User
userCode
=
usersMapper
.
queryByInviteCode
(
userVo
.
getBeInvitedCode
());
if
(
null
==
userCode
)
{
return
R
.
error
(
"邀请码填写无效,邀请人不存在,请重新填写!"
);
}
user
.
setBeInvitedCode
(
userVo
.
getBeInvitedCode
());
}
//todo 当id大于千万级别是 邀请码的位数会大于六位
String
inviteCode
=
ShareCodeUtil
.
idToCode
(
""
);
user
.
setInviteCode
(
inviteCode
);
return
null
;
}
private
Boolean
checkPhone
(
String
userId
)
{
//根据userId,获取用户信息
User
user
=
usersMapper
.
getByUserId
(
userId
);
return
null
==
user
;
}
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java
View file @
51259ffe
...
...
@@ -15,10 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.yaml.snakeyaml.events.Event
;
import
java.math.BigDecimal
;
import
java.sql.Timestamp
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -125,9 +123,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
/**
* 判断用户推荐人的邀请码是否为空,空的话填写1 || "" == beInvitedCode
*/
if
(
""
.
equals
(
beInvitedCode
)
||
null
==
beInvitedCode
)
{
if
(
StringUtils
.
isBlank
(
beInvitedCode
))
{
//插入用户手机号与推荐人邀请码
String
inviteCode
=
"0"
;
beInvitedCode
=
"1"
;
...
...
@@ -139,11 +135,12 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
//用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改
User
user
=
usersMapper
.
getByBeInvitedCode
(
beInvitedCode
);
//
邀请人的被邀请码
//
邀请人的被邀请码
String
byqm
=
user
.
getBeInvitedCode
();
// 通过被邀请码,比对本人邀请码查询本人id
//通过被邀请码,比对本人邀请码查询本人id
String
idb
=
String
.
valueOf
(
usersMapper
.
beInvitedCode1
(
beInvitedCode
));
//判断是否存在被邀请人的用户
if
(
null
==
usersMapper
.
beInvitedCode1
(
beInvitedCode
))
{
Map
map
=
new
HashMap
();
...
...
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/LoginController.java
View file @
51259ffe
...
...
@@ -216,5 +216,15 @@ public class LoginController {
return
result
;
}
@ApiOperation
(
value
=
"用户注册"
,
notes
=
"用户注册"
,
httpMethod
=
"POST"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"用户手机号"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"beInvitedCode"
,
value
=
"推荐人邀请码"
,
required
=
false
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"sms"
,
value
=
"验证码"
,
required
=
true
,
dataType
=
"String"
)
})
@RequestMapping
(
"/userRegister"
)
public
R
<
Boolean
>
userRegister
(){
return
R
.
ok
();
}
}
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/SmsController.java
View file @
51259ffe
...
...
@@ -15,6 +15,9 @@ import org.springframework.web.bind.annotation.RestController;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author 86187
*/
@Api
(
tags
=
"发送手机验证码 codeType 0注册/登录验证 1修改密码 2订单通知信息"
)
@Slf4j
@RequestMapping
(
"/api/sms/"
)
...
...
@@ -28,7 +31,6 @@ public class SmsController {
private
RedisUtils
redisUtils
;
/**
*
* @param phone
* @param codeType 0注册/登录验证 1修改密码 2订单通知信息
* @return
...
...
@@ -40,36 +42,36 @@ public class SmsController {
@ApiImplicitParam
(
name
=
"codeType"
,
value
=
"验证码类型用途 0注册/登录验证 1修改密码 2订单通知信息"
,
dataType
=
"Integer"
)})
@RequestMapping
(
"/verifyCode"
)
@ResponseBody
public
Result
verifyCode
(
@RequestParam
String
phone
,
@RequestParam
Integer
codeType
)
{
public
Result
verifyCode
(
@RequestParam
String
phone
,
@RequestParam
Integer
codeType
)
{
Map
map
=
new
HashMap
();
Map
map
=
new
HashMap
();
//判断phone和codeType是否符合输入类型
if
(!
phone
.
matches
(
Constants
.
RegConstant
.
PHONE_REGSTR
))
{
if
(!
phone
.
matches
(
Constants
.
RegConstant
.
PHONE_REGSTR
))
{
return
ResultUtils
.
returnFail
(
"手机号码格式不正确"
,
"1009"
)
;
return
ResultUtils
.
returnFail
(
"手机号码格式不正确"
,
"1009"
)
;
}
if
(!
codeType
.
equals
(
Constants
.
Sms
.
CodeType
.
LOGIN_OR_REGISTER
)
&&
!
codeType
.
equals
(
Constants
.
Sms
.
CodeType
.
PASS_UPDATE
)
&&
!
codeType
.
equals
(
Constants
.
Sms
.
CodeType
.
ORDER_NOTICE
))
{
if
(!
codeType
.
equals
(
Constants
.
Sms
.
CodeType
.
LOGIN_OR_REGISTER
)
&&
!
codeType
.
equals
(
Constants
.
Sms
.
CodeType
.
PASS_UPDATE
)
&&
!
codeType
.
equals
(
Constants
.
Sms
.
CodeType
.
ORDER_NOTICE
))
{
return
ResultUtils
.
returnFail
(
"输入codeType不正确!"
,
"1008"
)
;
return
ResultUtils
.
returnFail
(
"输入codeType不正确!"
,
"1008"
)
;
}
String
key
=
StringUtil
.
formatKeyWithPrefix
(
Constants
.
RedisKey
.
PROJECT_PRIFIX
,
Constants
.
RedisKey
.
SMS_PRIFIX
,
phone
,
codeType
+
""
);
String
key
=
StringUtil
.
formatKeyWithPrefix
(
Constants
.
RedisKey
.
PROJECT_PRIFIX
,
Constants
.
RedisKey
.
SMS_PRIFIX
,
phone
,
codeType
+
""
);
if
(
null
!=
redisUtils
.
get
(
key
))
{
if
(
null
!=
redisUtils
.
get
(
key
))
{
redisUtils
.
delete
(
key
);
}
//生成随机数
String
code
=
MathUtils
.
random
();
String
code
=
MathUtils
.
random
();
//保存至Redis MINUTE_INT
redisUtils
.
set
(
key
,
code
,
Constants
.
Duration
.
HALF_HOUR_INT
);
redisUtils
.
set
(
key
,
code
,
Constants
.
Duration
.
HALF_HOUR_INT
);
boolean
flag
=
smsUtils
.
sendMessage
(
phone
,
Constants
.
Sms
.
TemplateCode
.
LOGIN_SF_REGISTER
,
code
);
return
(
flag
?
ResultUtils
.
returnSuccess
():
ResultUtils
.
returnFail
());
boolean
flag
=
smsUtils
.
sendMessage
(
phone
,
Constants
.
Sms
.
TemplateCode
.
LOGIN_SF_REGISTER
,
code
);
return
(
flag
?
ResultUtils
.
returnSuccess
()
:
ResultUtils
.
returnFail
());
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment