Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
c3267062
Commit
c3267062
authored
Dec 07, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户接口修改
parent
7356469d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
130 additions
and
20 deletions
+130
-20
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/UserRequestDto.java
.../main/java/com/wwdz/ch/db/dto/request/UserRequestDto.java
+6
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/UserDaoImpl.java
ch-dao/src/main/java/com/wwdz/ch/db/impl/UserDaoImpl.java
+46
-17
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
...pi/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
+22
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/manager/UserTokenManager.java
...rc/main/java/com/wwdz/ch/wx/manager/UserTokenManager.java
+34
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/UserService.java
...api/src/main/java/com/wwdz/ch/wx/service/UserService.java
+11
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxUserController.java
...pi/src/main/java/com/wwdz/ch/wx/web/WxUserController.java
+11
-0
No files found.
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/UserRequestDto.java
View file @
c3267062
...
@@ -57,4 +57,10 @@ public class UserRequestDto implements Entity {
...
@@ -57,4 +57,10 @@ public class UserRequestDto implements Entity {
private
String
remark
;
private
String
remark
;
/**
* 玩物得志登录后token
*/
private
String
token
;
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/UserDaoImpl.java
View file @
c3267062
package
com.wwdz.ch.db.impl
;
package
com.wwdz.ch.db.impl
;
import
com.alibaba.dubbo.config.annotation.Reference
;
import
com.wwdz.ch.db.dao.UserDao
;
import
com.wwdz.ch.db.dao.UserDao
;
import
com.wwdz.ch.db.domain.User
;
import
com.wwdz.ch.db.domain.User
;
import
com.wwdz.ch.db.domain.UserExample
;
import
com.wwdz.ch.db.domain.UserExample
;
import
com.wwdz.ch.db.mapper.UserMapper
;
import
com.wwdz.ch.db.mapper.UserMapper
;
import
com.wwdz.mall.common.vo.response.CloudServerResponse
;
import
com.wwdz.user.api.service.user.UserReadService
;
import
com.wwdz.user.api.service.user.UserWriteService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
@Repository
@Repository
...
@@ -16,34 +19,59 @@ public class UserDaoImpl implements UserDao {
...
@@ -16,34 +19,59 @@ public class UserDaoImpl implements UserDao {
@Autowired
@Autowired
private
UserMapper
userMapper
;
private
UserMapper
userMapper
;
@Reference
UserReadService
userReadService
;
@Reference
UserWriteService
userWriteService
;
@Override
@Override
public
User
queryByOid
(
String
openId
)
{
public
User
queryByOid
(
String
openId
)
{
UserExample
example
=
new
UserExample
();
CloudServerResponse
<
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
>
cloudServerResponse
=
userReadService
.
getUserByOpenIdOrUnionId
(
null
,
openId
);
example
.
createCriteria
().
andWeixinOpenidEqualTo
(
openId
).
andDeletedEqualTo
(
false
);
if
(
cloudServerResponse
.
getCode
()
!=
1001
)
{
return
userMapper
.
selectOneByExample
(
example
);
return
new
User
();
}
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
wUser
=
cloudServerResponse
.
getResult
();
return
User
.
of
(
wUser
);
}
}
@Override
@Override
public
User
queryByMobile
(
String
mobile
)
{
public
User
queryByMobile
(
String
mobile
)
{
UserExample
example
=
new
UserExample
();
CloudServerResponse
<
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
>
cloudServerResponse
=
userReadService
.
getByPhone
(
mobile
);
example
.
or
().
andMobileEqualTo
(
mobile
).
andDeletedEqualTo
(
false
);
if
(
cloudServerResponse
.
getCode
()
!=
1001
)
{
return
userMapper
.
selectOneByExample
(
example
);
return
new
User
();
}
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
wUser
=
cloudServerResponse
.
getResult
();
return
User
.
of
(
wUser
);
}
}
@Override
@Override
public
User
queryById
(
Long
id
)
{
public
User
queryById
(
Long
id
)
{
UserExample
example
=
new
UserExample
();
CloudServerResponse
<
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
>
cloudServerResponse
=
userReadService
.
getUserIsNotDelete
(
id
);
example
.
or
().
andIdEqualTo
(
id
).
andDeletedEqualTo
(
false
);
if
(
cloudServerResponse
.
getCode
()
!=
1001
)
{
return
userMapper
.
selectOneByExample
(
example
);
return
new
User
();
}
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
wUser
=
cloudServerResponse
.
getResult
();
return
User
.
of
(
wUser
);
}
}
@Override
@Override
public
boolean
isExistedByNickname
(
Long
userId
,
String
nickname
)
{
public
boolean
isExistedByNickname
(
Long
userId
,
String
nickname
)
{
UserExample
example
=
new
UserExample
();
CloudServerResponse
<
List
<
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
>>
cloudServerResponse
=
userReadService
.
getUsersByUnick
(
nickname
);
List
<
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
>
list
=
cloudServerResponse
.
getResult
();
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
false
;
}
long
count
=
list
.
stream
().
filter
(
u
->
u
.
getUserId
()
!=
userId
).
count
();
return
count
>
0
;
/* UserExample example = new UserExample();
example.or().andIdNotEqualTo(userId).andNicknameEqualTo(nickname).andDeletedEqualTo(false);
example.or().andIdNotEqualTo(userId).andNicknameEqualTo(nickname).andDeletedEqualTo(false);
return
userMapper
.
countByExample
(
example
)
>
0
;
return userMapper.countByExample(example) > 0;
*/
}
}
@Deprecated
@Override
@Override
public
boolean
isExistedByWechatId
(
Long
userId
,
String
wechatId
)
{
public
boolean
isExistedByWechatId
(
Long
userId
,
String
wechatId
)
{
UserExample
example
=
new
UserExample
();
UserExample
example
=
new
UserExample
();
...
@@ -53,14 +81,15 @@ public class UserDaoImpl implements UserDao {
...
@@ -53,14 +81,15 @@ public class UserDaoImpl implements UserDao {
@Override
@Override
public
long
insert
(
User
user
)
{
public
long
insert
(
User
user
)
{
userMapper
.
insert
(
user
);
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
wuser
=
User
.
convertToWWDZUser
(
user
);
return
user
.
getId
();
CloudServerResponse
<
Long
>
cloudServerResponse
=
userWriteService
.
add
(
wuser
);
return
cloudServerResponse
.
getResult
();
}
}
@Override
@Override
public
int
updateById
(
User
user
)
{
public
int
updateById
(
User
user
)
{
user
.
setUpdateTime
(
new
Date
(
));
CloudServerResponse
<
Integer
>
cloudServerResponse
=
userWriteService
.
updateByUserId
(
User
.
convertToWWDZUser
(
user
));
return
userMapper
.
updateByPrimaryKeySelective
(
user
);
return
cloudServerResponse
.
getResult
(
);
}
}
@Override
@Override
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
View file @
c3267062
...
@@ -120,6 +120,7 @@ public class UserServiceImpl implements UserService {
...
@@ -120,6 +120,7 @@ public class UserServiceImpl implements UserService {
@Override
@Override
public
Result
regCaptcha
(
UserRequestDto
dto
)
{
public
Result
regCaptcha
(
UserRequestDto
dto
)
{
try
{
try
{
...
@@ -193,6 +194,26 @@ public class UserServiceImpl implements UserService {
...
@@ -193,6 +194,26 @@ public class UserServiceImpl implements UserService {
}
}
}
}
@Override
public
Result
finishLogin
(
UserRequestDto
dto
,
HttpServletRequest
request
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
// 先登出其他
userTokenManager
.
removeToken
(
dto
.
getUserId
());
String
token
=
dto
.
getToken
();
// 获取token
UserToken
userToken
=
userTokenManager
.
generateToken
(
dto
.
getUserId
(),
token
);
userToken
.
setSessionKey
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
result
.
put
(
"token"
,
dto
.
getToken
());
result
.
put
(
"tokenExpire"
,
userToken
.
getExpireTime
().
toString
());
User
user
=
userDao
.
queryById
(
dto
.
getUserId
());
// 缓存用户信息
String
userKey
=
MessageFormat
.
format
(
CacheCodeConstants
.
USER_INFO_KEY
,
user
.
getId
());
redisUtil
.
set
(
userKey
,
user
,
2
*
60
*
60
);
return
Result
.
success
(
result
);
}
@Transactional
@Transactional
@Override
@Override
public
Result
login
(
UserRequestDto
dto
,
HttpServletRequest
request
)
{
public
Result
login
(
UserRequestDto
dto
,
HttpServletRequest
request
)
{
...
@@ -592,7 +613,7 @@ public class UserServiceImpl implements UserService {
...
@@ -592,7 +613,7 @@ public class UserServiceImpl implements UserService {
userTokenManager
.
removeToken
(
user
.
getId
());
userTokenManager
.
removeToken
(
user
.
getId
());
// 获取token
// 获取token
UserToken
userToken
=
userTokenManager
.
generateToken
(
user
.
getId
());
UserToken
userToken
=
userTokenManager
.
generateToken
(
user
.
getId
()
,
null
);
userToken
.
setSessionKey
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
userToken
.
setSessionKey
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
result
.
put
(
"token"
,
userToken
.
getToken
());
result
.
put
(
"token"
,
userToken
.
getToken
());
result
.
put
(
"tokenExpire"
,
userToken
.
getExpireTime
().
toString
());
result
.
put
(
"tokenExpire"
,
userToken
.
getExpireTime
().
toString
());
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/manager/UserTokenManager.java
View file @
c3267062
...
@@ -72,7 +72,7 @@ public class UserTokenManager {
...
@@ -72,7 +72,7 @@ public class UserTokenManager {
return
StringUtils
.
equals
(
token
,
idToken
);
return
StringUtils
.
equals
(
token
,
idToken
);
}
}
public
UserToken
generateToken
(
Long
id
)
{
public
UserToken
generateToken
(
Long
id
,
String
token
)
{
UserToken
userToken
=
null
;
UserToken
userToken
=
null
;
// userToken = idMap.get(id);
// userToken = idMap.get(id);
...
@@ -81,7 +81,6 @@ public class UserTokenManager {
...
@@ -81,7 +81,6 @@ public class UserTokenManager {
// idMap.remove(id);
// idMap.remove(id);
// }
// }
String
token
=
CharUtil
.
getRandomString
(
32
);
String
key
=
TOKEN_PREFIX
+
token
;
String
key
=
TOKEN_PREFIX
+
token
;
while
(
null
!=
redisUtil
.
get
(
key
))
{
while
(
null
!=
redisUtil
.
get
(
key
))
{
token
=
CharUtil
.
getRandomString
(
32
);
token
=
CharUtil
.
getRandomString
(
32
);
...
@@ -103,6 +102,39 @@ public class UserTokenManager {
...
@@ -103,6 +102,39 @@ public class UserTokenManager {
return
userToken
;
return
userToken
;
}
}
/*public UserToken generateToken(Long id) {
UserToken userToken = null;
// userToken = idMap.get(id);
// if(userToken != null) {
// tokenMap.remove(userToken.getToken());
// idMap.remove(id);
// }
String token = CharUtil.getRandomString(32);
String key = TOKEN_PREFIX + token;
while (null != redisUtil.get(key)) {
token = CharUtil.getRandomString(32);
key = TOKEN_PREFIX + token;
}
LocalDateTime update = LocalDateTime.now();
LocalDateTime expire = update.plusDays(1);
userToken = new UserToken();
userToken.setToken(token);
userToken.setUpdateTime(update);
userToken.setExpireTime(expire);
userToken.setUserId(id);
String data = gson.toJson(userToken);
redisUtil.set(key, data, SURVIVAL_TIME);
String idKey = TOKEN_ID_PREFIX + id;
redisUtil.set(idKey, data, SURVIVAL_TIME);
return userToken;
}*/
public
String
getSessionKey
(
Long
userId
)
{
public
String
getSessionKey
(
Long
userId
)
{
String
idKey
=
TOKEN_ID_PREFIX
+
userId
;
String
idKey
=
TOKEN_ID_PREFIX
+
userId
;
Object
data
=
redisUtil
.
get
(
idKey
);
Object
data
=
redisUtil
.
get
(
idKey
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/UserService.java
View file @
c3267062
...
@@ -23,6 +23,17 @@ public interface UserService {
...
@@ -23,6 +23,17 @@ public interface UserService {
*/
*/
Result
loginByMobile
(
UserRequestDto
dto
,
HttpServletRequest
request
);
Result
loginByMobile
(
UserRequestDto
dto
,
HttpServletRequest
request
);
/**
* 调用玩物得志登录接口成功后通知
*
* @param dto
* @param request
* @return
*/
Result
finishLogin
(
UserRequestDto
dto
,
HttpServletRequest
request
);
/**
/**
* 快捷登录
* 快捷登录
*
*
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxUserController.java
View file @
c3267062
...
@@ -37,6 +37,17 @@ public class WxUserController {
...
@@ -37,6 +37,17 @@ public class WxUserController {
private
InviteRecordService
inviteRecordService
;
private
InviteRecordService
inviteRecordService
;
@ApiOperation
(
value
=
"调用玩物得志登录接口成功后通知"
)
@PostMapping
(
"/finishLogin"
)
public
Result
finishLogin
(
@RequestBody
UserRequestDto
dto
,
HttpServletRequest
request
)
{
logger
.
info
(
"【请求开始】调用玩物得志登录接口成功后通知,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
return
userService
.
finishLogin
(
dto
,
request
);
}
@ApiOperation
(
value
=
"快捷登录"
)
@ApiOperation
(
value
=
"快捷登录"
)
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
public
Result
login
(
@RequestBody
UserRequestDto
dto
,
HttpServletRequest
request
)
{
public
Result
login
(
@RequestBody
UserRequestDto
dto
,
HttpServletRequest
request
)
{
...
...
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