Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
S
shop-Mall
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
shop-Mall
Commits
32c0a5d9
Commit
32c0a5d9
authored
Mar 17, 2021
by
licc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户登录接口
parent
ce3a6af7
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
102 additions
and
14 deletions
+102
-14
UserLoginVo.java
...odel/src/main/java/cn/wisenergy/model/vo/UserLoginVo.java
+5
-1
LoginService.java
.../src/main/java/cn/wisenergy/service/app/LoginService.java
+8
-1
LoginServiceImpl.java
.../java/cn/wisenergy/service/app/impl/LoginServiceImpl.java
+31
-4
UserServiceImpl.java
...n/java/cn/wisenergy/service/app/impl/UserServiceImpl.java
+6
-8
LoginController.java
...n/wisenergy/web/admin/controller/app/LoginController.java
+52
-0
No files found.
wisenergy-model/src/main/java/cn/wisenergy/model/vo/UserLoginVo.java
View file @
32c0a5d9
...
...
@@ -16,8 +16,12 @@ public class UserLoginVo {
/**
* 用户手机号码
*/
@ApiModelProperty
(
value
=
"
"
,
name
=
"
"
)
@ApiModelProperty
(
value
=
"
用户手机号码"
,
name
=
"userId
"
)
private
String
userId
;
/**
* 短信验证码
*/
@ApiModelProperty
(
value
=
"短信验证码"
,
name
=
"sms"
)
private
String
sms
;
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/LoginService.java
View file @
32c0a5d9
package
cn
.
wisenergy
.
service
.
app
;
import
cn.wisenergy.common.utils.R
;
import
cn.wisenergy.model.vo.UserLoginVo
;
import
cn.wisenergy.model.vo.UserRegisterVo
;
/**
...
...
@@ -15,5 +16,11 @@ public interface LoginService {
*/
R
<
Boolean
>
userRegister
(
UserRegisterVo
userRegisterVo
);
R
<
String
>
login
();
/**
* 获取token接口 --用户登录
*
* @param userLoginVo 用户登录信息
* @return true or false
*/
R
<
Boolean
>
login
(
UserLoginVo
userLoginVo
);
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/LoginServiceImpl.java
View file @
32c0a5d9
package
cn
.
wisenergy
.
service
.
app
.
impl
;
import
cn.wisenergy.common.constant.RedisConsts
;
import
cn.wisenergy.common.utils.*
;
import
cn.wisenergy.mapper.*
;
import
cn.wisenergy.model.app.*
;
import
cn.wisenergy.model.vo.UserLoginVo
;
import
cn.wisenergy.model.vo.UserRegisterVo
;
import
cn.wisenergy.service.Manager.LoginManager
;
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.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
...
...
@@ -56,7 +59,7 @@ public class LoginServiceImpl implements LoginService {
//2、检验手机号是否已经被注册
boolean
bool
=
checkPhone
(
userVo
.
getUserId
());
if
(
!
bool
)
{
if
(
bool
)
{
return
R
.
error
(
"该用户已存在,请直接登录!"
);
}
...
...
@@ -94,12 +97,36 @@ public class LoginServiceImpl implements LoginService {
return
R
.
ok
(
1
,
false
);
}
}
redisUtils
.
delete
(
key
);
return
R
.
ok
(
0
,
true
);
}
@Override
public
R
<
String
>
login
()
{
return
null
;
public
R
<
Boolean
>
login
(
UserLoginVo
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
(
StringUtils
.
isBlank
(
redisCode
)
||
!
userVo
.
getSms
().
equals
(
redisCode
))
{
return
R
.
error
(
"验证码错误!"
);
}
//2、检验用户手机号是否存在
boolean
bool
=
checkPhone
(
userVo
.
getUserId
());
if
(!
bool
)
{
return
R
.
error
(
"该用户不存在,请注册!"
);
}
return
R
.
ok
(
0
,
true
);
}
/**
...
...
@@ -111,7 +138,7 @@ public class LoginServiceImpl implements LoginService {
private
Boolean
checkPhone
(
String
userId
)
{
//根据userId,获取用户信息
User
user
=
usersMapper
.
getByUserId
(
userId
);
return
null
=
=
user
;
return
null
!
=
user
;
}
/**
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java
View file @
32c0a5d9
...
...
@@ -92,11 +92,8 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Override
public
User
queryUsersByPhone
(
String
userId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
//查询数据库,看看是否存在该用户
User
ByuserId
=
usersMapper
.
getByUserId
(
userId
);
return
ByuserId
;
return
usersMapper
.
getByUserId
(
userId
);
}
@Override
...
...
@@ -323,6 +320,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
/**
* 用户登出
*
* @param token
* @return
*/
...
...
@@ -331,7 +329,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
int
succ
=
0
;
String
key
=
RedisKeyUtils
.
formatKeyWithPrefix
(
Constants
.
Redis
.
PREFIX_TOKEN
,
token
);
redisUtils
.
delete
(
key
);
if
(
redisUtils
.
getValue
(
key
)
==
null
)
{
if
(
redisUtils
.
getValue
(
key
)
==
null
)
{
succ
=
1
;
}
return
succ
;
...
...
@@ -347,7 +345,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
*/
// @XxlJob()
@Override
public
void
AerialDeliveryUserRand
(){
public
void
AerialDeliveryUserRand
()
{
//查询空头池中的所有用户(即推荐人邀请码为 “1” 的用户)
List
<
User
>
aerialDeliveryUserList
=
usersMapper
.
getAerialDeliveryUser
();
for
(
User
user
:
aerialDeliveryUserList
)
{
...
...
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/LoginController.java
View file @
32c0a5d9
...
...
@@ -2,13 +2,18 @@ package cn.wisenergy.web.admin.controller.app;
import
cn.hutool.extra.qrcode.QrCodeUtil
;
import
cn.hutool.extra.qrcode.QrConfig
;
import
cn.wisenergy.common.constant.RedisConsts
;
import
cn.wisenergy.common.enums.ResultEnum
;
import
cn.wisenergy.common.utils.*
;
import
cn.wisenergy.mapper.UsersMapper
;
import
cn.wisenergy.model.app.User
;
import
cn.wisenergy.model.app.UsersDto
;
import
cn.wisenergy.model.vo.UserLoginVo
;
import
cn.wisenergy.model.vo.UserRegisterVo
;
import
cn.wisenergy.service.app.LoginService
;
import
cn.wisenergy.service.app.UserService
;
import
cn.wisenergy.web.config.JwtConfig
;
import
cn.wisenergy.web.shiro.JwtUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
@@ -19,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
...
...
@@ -56,6 +62,15 @@ public class LoginController {
@Autowired
private
LoginService
loginService
;
@Autowired
private
UsersMapper
usersMapper
;
@Autowired
private
JwtUtil
jwtUtil
;
@Autowired
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
/**
* 手机登录接口
*
...
...
@@ -234,4 +249,41 @@ public class LoginController {
return
loginService
.
userRegister
(
userVo
);
}
@ApiOperation
(
value
=
"用户登录-返回token"
,
notes
=
"用户登录-返回token"
,
httpMethod
=
"POST"
)
@ApiImplicitParam
(
name
=
"userVo"
,
value
=
"用户登录信息"
,
dataType
=
"UserLoginVo"
)
@PostMapping
(
"/userLogin"
)
public
R
<
String
>
userLogin
(
@RequestBody
UserLoginVo
userVo
)
{
log
.
info
(
"shop-mall[]LoginController[]userLogin[]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
(
StringUtils
.
isBlank
(
redisCode
)
||
!
userVo
.
getSms
().
equals
(
redisCode
))
{
return
R
.
error
(
"验证码错误!"
);
}
//2、检验用户手机号是否存在
User
user
=
usersMapper
.
getByUserId
(
userVo
.
getUserId
());
if
(
null
==
user
||
StringUtils
.
isBlank
(
user
.
getUserId
()))
{
return
R
.
error
(
"账户不存在,请注册!"
);
}
//3、获取token
// 创建token
String
token
=
jwtUtil
.
generateToken
(
user
);
// 保存Redis
redisTemplate
.
opsForValue
().
set
(
RedisConsts
.
JWT_ACCESS_TOKEN
+
token
,
token
);
return
R
.
ok
(
token
);
}
}
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