Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
head_group
xyqb-user2
Commits
fa5c49d6
Commit
fa5c49d6
authored
Jul 13, 2023
by
王亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove user_attached.
parent
01e0cadc
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
70 additions
and
269 deletions
+70
-269
update-20230630.sql
doc/sql/update-20230630.sql
+2
-1
UserController.java
...n/quantgroup/xyqb/controller/external/UserController.java
+2
-8
UserCenterController.java
...controller/internal/user/center/UserCenterController.java
+61
-51
UserInfoEntity.java
src/main/java/cn/quantgroup/xyqb/entity/UserInfoEntity.java
+3
-0
UserInfoRet.java
src/main/java/cn/quantgroup/xyqb/model/UserInfoRet.java
+1
-1
IUserAttachedRepository.java
...n/quantgroup/xyqb/repository/IUserAttachedRepository.java
+1
-9
UserCenterService.java
...va/cn/quantgroup/xyqb/service/user/UserCenterService.java
+0
-47
UserCenterServiceImpl.java
...ntgroup/xyqb/service/user/impl/UserCenterServiceImpl.java
+0
-140
UserServiceImpl.java
...cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
+0
-6
PhonePasswordLoginStrategy.java
...uantgroup/xyqb/service/v2/PhonePasswordLoginStrategy.java
+0
-6
No files found.
doc/sql/update-20230630.sql
View file @
fa5c49d6
...
...
@@ -12,7 +12,8 @@ CREATE TABLE `xyqb_user`.`user_info` (
`gender`
TINYINT
(
3
)
NULL
COMMENT
'性别'
,
`email`
VARCHAR
(
45
)
NULL
COMMENT
'邮箱'
,
`qq`
VARCHAR
(
20
)
NULL
COMMENT
'腾讯qq'
,
`name`
VARCHAR
(
45
)
NULL
COMMENT
'昵称'
,
`name`
VARCHAR
(
45
)
NULL
COMMENT
'名称'
,
`nick_name`
VARCHAR
(
45
)
NULL
COMMENT
'昵称'
,
`photo`
VARCHAR
(
255
)
NULL
COMMENT
'头像地址'
,
`birthday`
DATE
NULL
COMMENT
'生日'
,
`province_id`
INT
NULL
COMMENT
'地址省份id'
,
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/UserController.java
View file @
fa5c49d6
...
...
@@ -26,7 +26,6 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import
cn.quantgroup.xyqb.service.user.ILockIpv4Service
;
import
cn.quantgroup.xyqb.service.user.ILoginRecordService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.UserCenterService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
import
cn.quantgroup.xyqb.util.*
;
...
...
@@ -62,8 +61,6 @@ public class UserController implements IBaseController {
@Autowired
private
IUserService
userService
;
@Autowired
private
UserCenterService
userCenterService
;
@Autowired
private
ILockIpv4Service
lockIpv4Service
;
@Autowired
@Qualifier
(
"stringRedisTemplate"
)
...
...
@@ -653,14 +650,11 @@ public class UserController implements IBaseController {
UserBrief
brief
=
new
UserBrief
();
//TODO:he 返回"",待解决
Long
userId
=
getCurrentUserFromRedis
().
getId
();
UserAttached
userAttached
=
userCenterService
.
searchUserAttachedByUserId
(
userId
);
if
(
userAttached
!=
null
)
{
brief
.
setAvatar
(
userAttached
.
getAvatar
());
brief
.
setNick
(
userAttached
.
getNick
());
}
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userDetail
!=
null
)
{
brief
.
setName
(
userDetail
.
getName
());
brief
.
setAvatar
(
userDetail
.
getPhoto
());
brief
.
setNick
(
userDetail
.
getNickName
());
brief
.
setSex
(
Optional
.
ofNullable
(
userDetail
.
getGender
()).
orElse
(
cn
.
quantgroup
.
xyqb
.
model
.
Gender
.
UNKNOWN
).
ordinal
()
+
""
);
brief
.
setPhoneNo
(
userDetail
.
getPhoneNo
().
substring
(
0
,
3
)
+
"****"
+
userDetail
.
getPhoneNo
().
substring
(
7
,
11
));
}
else
{
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/center/UserCenterController.java
View file @
fa5c49d6
...
...
@@ -5,12 +5,10 @@ import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import
cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserAttached
;
import
cn.quantgroup.xyqb.entity.UserInfoEntity
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.repository.IUserInfoRepository
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.UserCenterService
;
import
cn.quantgroup.xyqb.util.TenantUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -31,8 +29,6 @@ import java.util.Map;
@RequestMapping
(
"/user/center"
)
public
class
UserCenterController
{
@Autowired
private
UserCenterService
userCenterService
;
@Autowired
private
IUserInfoRepository
userInfoRepository
;
...
...
@@ -42,18 +38,19 @@ public class UserCenterController {
private
ApplicationEventPublisher
applicationEventPublisher
;
@GetMapping
(
"/attach"
)
public
JsonResult
queryUserAttach
(
Long
userId
)
{
public
JsonResult
queryUserAttach
(
Long
userId
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
userId
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"用户 ID 不能为空"
,
null
);
}
User
Attached
userAttached
=
userCenterService
.
searchUserAttachedByUserId
(
user
Id
);
User
InfoEntity
userAttached
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenant
Id
);
return
JsonResult
.
buildSuccessResultGeneric
(
userAttached
);
}
/**
* @yapi http://yapi.quantgroups.com/project/17/interface/api/17291
* @param userIds
* @return
* @yapi http://yapi.quantgroups.com/project/17/interface/api/17291
*/
@PostMapping
(
"/attach/list"
)
public
JsonResult
queryUserAttachList
(
@RequestBody
List
<
Long
>
userIds
,
@RequestParam
(
required
=
false
)
Integer
tenantId
)
{
...
...
@@ -69,9 +66,8 @@ public class UserCenterController {
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
tenantId
=
TenantUtil
.
TENANT_DEFAULT
;
}
List
<
UserAttached
>
userAttachedList
=
userCenterService
.
searchUserAttachedListByUserId
(
userIds
,
tenantId
);
return
JsonResult
.
buildSuccessResultGeneric
(
userAttachedList
);
List
<
UserInfoEntity
>
userInfoEntityList
=
userInfoRepository
.
findByTenantIdAndUserIdIn
(
tenantId
,
userIds
);
return
JsonResult
.
buildSuccessResultGeneric
(
userInfoEntityList
);
}
...
...
@@ -82,19 +78,18 @@ public class UserCenterController {
* @return
*/
@RequestMapping
(
"/queryNick"
)
public
JsonResult
queryUserNick
(
String
phoneNo
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
queryUserNick
(
String
phoneNo
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
UserAttached
userAttached
=
userCenterService
.
searchUserAttachedByUserId
(
userId
);
if
(
null
!=
userAttached
)
{
log
.
info
(
"获取用户昵称:{}"
,
userAttached
.
getNick
());
return
JsonResult
.
buildSuccessResult
(
null
,
userAttached
.
getNick
());
UserInfoEntity
userInfoEntity
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
null
!=
userInfoEntity
)
{
return
JsonResult
.
buildSuccessResult
(
null
,
userInfoEntity
.
getNickName
());
}
return
JsonResult
.
buildSuccessResult
(
null
,
null
);
}
...
...
@@ -107,43 +102,61 @@ public class UserCenterController {
* @return
*/
@RequestMapping
(
"/saveNick"
)
public
JsonResult
saveUserNick
(
String
phoneNo
,
String
nick
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
saveUserNick
(
String
phoneNo
,
String
nick
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
UserAttached
userAttached
=
userCenterService
.
saveUserNick
(
userId
,
nick
,
tenantId
);
return
JsonResult
.
buildSuccessResult
(
null
,
userAttached
.
getNick
());
UserInfoEntity
userInfoEntity
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userInfoEntity
==
null
){
userInfoEntity
=
new
UserInfoEntity
();
userInfoEntity
.
setUserId
(
userId
);
userInfoEntity
.
setTenantId
(
tenantId
);
}
userInfoEntity
.
setNickName
(
nick
);
userInfoRepository
.
save
(
userInfoEntity
);
return
JsonResult
.
buildSuccessResult
(
null
,
userInfoEntity
.
getNickName
());
}
@RequestMapping
(
"/kdsp/saveNick"
)
public
JsonResult
saveUserNickForKdsp
(
Long
userId
,
String
nick
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
saveUserNickForKdsp
(
Long
userId
,
String
nick
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
UserAttached
userAttached
=
userCenterService
.
saveUserNick
(
userId
,
nick
,
tenantId
);
return
JsonResult
.
buildSuccessResult
(
null
,
userAttached
.
getNick
());
UserInfoEntity
userInfoEntity
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userInfoEntity
==
null
){
userInfoEntity
=
new
UserInfoEntity
();
userInfoEntity
.
setUserId
(
userId
);
userInfoEntity
.
setTenantId
(
tenantId
);
}
userInfoEntity
.
setNickName
(
nick
);
userInfoRepository
.
save
(
userInfoEntity
);
return
JsonResult
.
buildSuccessResult
(
null
,
userInfoEntity
.
getNickName
());
}
@RequestMapping
(
"/kdsp/save/avatar"
)
public
JsonResult
saveUserAvatarAddrForKdsp
(
Long
userId
,
String
avatarUrl
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
saveUserAvatarAddrForKdsp
(
Long
userId
,
String
avatarUrl
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isBlank
(
avatarUrl
))
{
log
.
error
(
"参数不合法:avatarUrl:{}}"
,
avatarUrl
);
log
.
error
(
"参数不合法:avatarUrl:{}}"
,
avatarUrl
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
UserAttached
userAttached
=
userCenterService
.
saveUserAvatar
(
userId
,
avatarUrl
,
tenantId
);
if
(
null
==
userAttached
)
{
log
.
error
(
"保存用户头像昵称失败."
);
return
JsonResult
.
buildErrorStateResult
(
"信息保存失败,请稍后再试."
,
null
);
UserInfoEntity
userInfoEntity
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userInfoEntity
==
null
){
userInfoEntity
=
new
UserInfoEntity
();
userInfoEntity
.
setUserId
(
userId
);
userInfoEntity
.
setTenantId
(
tenantId
);
}
return
JsonResult
.
buildSuccessResult
(
"保存成功"
,
userAttached
);
userInfoEntity
.
setPhoto
(
avatarUrl
);
userInfoRepository
.
save
(
userInfoEntity
);
return
JsonResult
.
buildSuccessResult
(
"保存成功"
,
userInfoEntity
);
}
/**
...
...
@@ -154,24 +167,28 @@ public class UserCenterController {
* @return
*/
@RequestMapping
(
"/save/avatar"
)
public
JsonResult
SaveUserAvatarAddr
(
String
phoneNo
,
String
avatarUrl
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
SaveUserAvatarAddr
(
String
phoneNo
,
String
avatarUrl
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isBlank
(
avatarUrl
)
||
StringUtils
.
isBlank
(
phoneNo
))
{
log
.
error
(
"参数不合法:avatarUrl:{}, phoneNo:{}"
,
avatarUrl
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
if
(
StringUtils
.
isBlank
(
avatarUrl
))
{
avatarUrl
=
Constants
.
UserAvatar
.
AVATAR_DEFAULT
;
}
UserAttached
userAttached
=
userCenterService
.
saveUserAvatar
(
userId
,
avatarUrl
,
tenantId
);
if
(
null
==
userAttached
)
{
log
.
error
(
"保存用户头像昵称失败."
);
return
JsonResult
.
buildErrorStateResult
(
"信息保存失败,请稍后再试."
,
null
);
UserInfoEntity
userInfoEntity
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userInfoEntity
==
null
){
userInfoEntity
=
new
UserInfoEntity
();
userInfoEntity
.
setUserId
(
userId
);
userInfoEntity
.
setTenantId
(
tenantId
);
}
return
JsonResult
.
buildSuccessResult
(
"保存成功"
,
userAttached
);
userInfoEntity
.
setPhoto
(
avatarUrl
);
userInfoRepository
.
save
(
userInfoEntity
);
return
JsonResult
.
buildSuccessResult
(
"保存成功"
,
userInfoEntity
);
}
/**
...
...
@@ -181,16 +198,16 @@ public class UserCenterController {
* @return
*/
@RequestMapping
(
"/query/verified"
)
public
JsonResult
queryVerified
(
String
phoneNo
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
queryVerified
(
String
phoneNo
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
null
!=
userDetail
)
{
return
JsonResult
.
buildSuccessResult
(
null
,
userDetail
);
}
...
...
@@ -207,12 +224,12 @@ public class UserCenterController {
@AccessForbiddenValidator
@PasswordFreeAccessValidator
@RequestMapping
(
"/personalData"
)
public
JsonResult
personalData
(
String
phoneNo
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
personalData
(
String
phoneNo
,
@RequestHeader
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isBlank
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
}
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
Long
userId
=
queryUserId
(
phoneNo
,
tenantId
);
if
(
null
==
userId
||
userId
==
0L
)
{
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
...
...
@@ -229,16 +246,9 @@ public class UserCenterController {
* @param phoneNo
* @return
*/
private
Long
queryUserId
(
String
phoneNo
,
Integer
tenantId
)
{
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
,
tenantId
);
private
Long
queryUserId
(
String
phoneNo
,
Integer
tenantId
)
{
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
,
tenantId
);
return
null
==
user
?
null
:
user
.
getId
();
}
@GetMapping
(
"/attach/listLimit/{id}"
)
public
JsonResult
queryUserAttachListLimit
(
@PathVariable
Long
id
)
{
//默认羊小咩租户
List
<
UserAttached
>
userAttachedList
=
userCenterService
.
queryUserAttachListLimit
(
id
);
return
JsonResult
.
buildSuccessResultGeneric
(
userAttachedList
);
}
}
src/main/java/cn/quantgroup/xyqb/entity/UserInfoEntity.java
View file @
fa5c49d6
...
...
@@ -33,6 +33,9 @@ public class UserInfoEntity extends BaseEntity implements Serializable {
@Column
(
name
=
"name"
)
private
String
name
;
@Column
(
name
=
"nick_name"
)
private
String
nickName
;
@Column
(
name
=
"photo"
)
private
String
photo
;
@Column
(
name
=
"birthday"
)
...
...
src/main/java/cn/quantgroup/xyqb/model/UserInfoRet.java
View file @
fa5c49d6
...
...
@@ -56,7 +56,7 @@ public class UserInfoRet implements Serializable {
userDetailRet
.
setId
(
userInfoEntity
.
getId
());
userDetailRet
.
setUserId
(
userInfoEntity
.
getUserId
());
userDetailRet
.
setPhoneNo
(
userInfoEntity
.
getPhoneNo
());
userDetailRet
.
setNickName
(
userInfoEntity
.
getName
());
userDetailRet
.
setNickName
(
userInfoEntity
.
getN
ickN
ame
());
userDetailRet
.
setGender
(
userInfoEntity
.
getGender
());
userDetailRet
.
setEmail
(
StringUtils
.
defaultIfEmpty
(
userInfoEntity
.
getEmail
(),
""
));
userDetailRet
.
setQq
(
StringUtils
.
defaultIfEmpty
(
userInfoEntity
.
getQq
(),
""
));
...
...
src/main/java/cn/quantgroup/xyqb/repository/IUserAttachedRepository.java
View file @
fa5c49d6
...
...
@@ -10,15 +10,7 @@ import java.util.List;
/**
* Created by 11 on 2017/3/22.
*/
@Deprecated
public
interface
IUserAttachedRepository
extends
JpaRepository
<
UserAttached
,
Long
>
{
UserAttached
findByUserId
(
Long
userId
);
List
<
UserAttached
>
findByUserIdIn
(
List
<
Long
>
userId
);
@Transactional
void
deleteByUserId
(
Long
userId
);
@Query
(
value
=
"select * from user_attached where id>?1 limit 500"
,
nativeQuery
=
true
)
List
<
UserAttached
>
findALlAttached
(
Long
id
);
}
src/main/java/cn/quantgroup/xyqb/service/user/UserCenterService.java
deleted
100644 → 0
View file @
01e0cadc
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
import
cn.quantgroup.xyqb.entity.UserAttached
;
import
java.util.List
;
/**
* Created by 11 on 2017/3/22.
*/
public
interface
UserCenterService
{
/**
* 查询用户附加信息
*
* @param userId
* @return
*/
UserAttached
searchUserAttachedByUserId
(
long
userId
);
/**
* 查询用户附加信息
* @param userIds
* @return
*/
List
<
UserAttached
>
searchUserAttachedListByUserId
(
List
<
Long
>
userIds
,
Integer
tenantId
);
/**
* 保存用户头像
*
* @param userId - 用户主键
* @param avatar - 头像url地址
* @param tenantId 租户ID
* @return
*/
UserAttached
saveUserAvatar
(
long
userId
,
String
avatar
,
Integer
tenantId
);
/**
* 保存用户昵称
*
* @param userId - 用户主键
* @param nick - 昵称
* @param tenantId - 租户ID
* @return
*/
UserAttached
saveUserNick
(
long
userId
,
String
nick
,
Integer
tenantId
);
List
<
UserAttached
>
queryUserAttachListLimit
(
Long
id
);
}
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserCenterServiceImpl.java
deleted
100644 → 0
View file @
01e0cadc
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserAttached
;
import
cn.quantgroup.xyqb.entity.UserInfoEntity
;
import
cn.quantgroup.xyqb.repository.IUserAttachedRepository
;
import
cn.quantgroup.xyqb.repository.IUserInfoRepository
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.UserCenterService
;
import
cn.quantgroup.xyqb.util.EmojiUtil
;
import
cn.quantgroup.xyqb.util.TenantUtil
;
import
com.google.common.collect.Lists
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.hibernate.exception.ConstraintViolationException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* Created by 11 on 2017/3/22.
*/
@Slf4j
@Service
public
class
UserCenterServiceImpl
implements
UserCenterService
{
@Autowired
private
IUserAttachedRepository
userAttachedRepository
;
@Autowired
private
IUserInfoRepository
userInfoRepository
;
@Autowired
private
IUserRepository
userRepository
;
@Override
// @Cacheable(value = "userAttachedCache", key = "'xyqbUserAttached' + #userId", unless = "#result == null", cacheManager = "cacheManager")
public
UserAttached
searchUserAttachedByUserId
(
long
userId
)
{
return
userAttachedRepository
.
findByUserId
(
userId
);
}
@Override
public
List
<
UserAttached
>
searchUserAttachedListByUserId
(
List
<
Long
>
userIds
,
Integer
tenantId
)
{
List
<
UserInfoEntity
>
userInfoEntityList
=
userInfoRepository
.
findByTenantIdAndUserIdIn
(
tenantId
,
userIds
);
if
(
CollectionUtils
.
isEmpty
(
userInfoEntityList
))
{
return
Lists
.
newArrayList
();
}
List
<
UserAttached
>
list
=
Lists
.
newArrayList
();
userInfoEntityList
.
stream
().
forEach
(
e
->
{
UserAttached
userAttached
=
new
UserAttached
();
userAttached
.
setUserId
(
e
.
getUserId
());
userAttached
.
setNick
(
e
.
getName
());
userAttached
.
setAvatar
(
e
.
getPhoto
());
list
.
add
(
userAttached
);
});
return
list
;
}
@Override
@CacheEvict
(
value
=
"userAttachedCache"
,
key
=
"'xyqbUserAttached' + #userId +'-'+#tenantId+'-'+#tenantId"
,
cacheManager
=
"cacheManager"
)
public
UserAttached
saveUserAvatar
(
long
userId
,
String
avatar
,
Integer
tenantId
)
{
UserInfoEntity
userAttached
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
Objects
.
isNull
(
userAttached
))
{
userAttached
=
createUserAttached
(
tenantId
,
userId
,
avatar
,
null
);
}
if
(!
Objects
.
equals
(
avatar
,
userAttached
.
getPhoto
()))
{
userAttached
.
setPhoto
(
avatar
);
userAttached
=
userInfoRepository
.
save
(
userAttached
);
}
UserAttached
attached
=
new
UserAttached
();
attached
.
setUserId
(
userAttached
.
getUserId
());
attached
.
setAvatar
(
userAttached
.
getPhoto
());
attached
.
setNick
(
userAttached
.
getName
());
return
attached
;
}
@Override
@CacheEvict
(
value
=
"userAttachedCache"
,
key
=
"'xyqbUserAttached' + #userId +'-'+#tenantId"
,
cacheManager
=
"cacheManager"
)
public
UserAttached
saveUserNick
(
long
userId
,
String
nick
,
Integer
tenantId
)
{
UserInfoEntity
userAttached
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
nick
=
EmojiUtil
.
filterUnicode4
(
nick
);
if
(
Objects
.
isNull
(
userAttached
))
{
userAttached
=
createUserAttached
(
tenantId
,
userId
,
null
,
nick
);
}
UserAttached
attached
=
null
;
if
(!
Objects
.
equals
(
nick
,
userAttached
.
getName
()))
{
userAttached
.
setName
(
nick
);
try
{
userAttached
=
userInfoRepository
.
save
(
userAttached
);
attached
=
new
UserAttached
();
attached
.
setUserId
(
userAttached
.
getUserId
());
attached
.
setAvatar
(
userAttached
.
getPhoto
());
attached
.
setNick
(
userAttached
.
getName
());
}
catch
(
ConstraintViolationException
e
)
{
// Sql唯一约束异常(诱因是Form重复提交,因为该操作是幂等的,故此不需额外处理,可返回成功)
log
.
error
(
"Sql约束异常[uni_idx_user_id]重复提交Form是幂等操作,不影响处理结果"
,
e
);
}
}
return
attached
;
}
@Override
public
List
<
UserAttached
>
queryUserAttachListLimit
(
Long
id
)
{
return
userAttachedRepository
.
findALlAttached
(
id
);
}
/**
* 创建用户附加信息实体
*
* @param userId - 用户主键
* @param avatar - 头像url地址
* @param nick - 昵称
* @return
*/
private
synchronized
UserInfoEntity
createUserAttached
(
Integer
tenantId
,
Long
userId
,
String
avatar
,
String
nick
)
{
//UserAttached userAttached = userAttachedRepository.findByUserId(userId);
UserInfoEntity
userAttached
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
// 更新实例
userAttached
=
Optional
.
ofNullable
(
userAttached
).
orElse
(
new
UserInfoEntity
());
userAttached
.
setUserId
(
userId
);
if
(
StringUtils
.
isBlank
(
userAttached
.
getPhoto
()))
{
userAttached
.
setPhoto
(
avatar
);
}
if
(
StringUtils
.
isBlank
(
userAttached
.
getName
()))
{
userAttached
.
setName
(
nick
);
}
return
userInfoRepository
.
save
(
userAttached
);
}
}
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
View file @
fa5c49d6
...
...
@@ -95,10 +95,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Autowired
private
IUserDeregisterService
userDeregisterService
;
@Autowired
private
IUserAttachedRepository
userAttachedRepository
;
@Autowired
private
IUserTagRepository
userTagRepository
;
@Autowired
...
...
@@ -509,8 +505,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
/* 删除用户tag*/
userTagRepository
.
deleteByUserIdAndTenantId
(
userId
,
tenantId
);
/* 删除用户附加信息 */
userAttachedRepository
.
deleteByUserId
(
userId
);
/* 删除 user_bt_register 信息 */
userBtRegisterRepository
.
deleteByUserId
(
userId
);
...
...
src/main/java/cn/quantgroup/xyqb/service/v2/PhonePasswordLoginStrategy.java
View file @
fa5c49d6
...
...
@@ -3,7 +3,6 @@ package cn.quantgroup.xyqb.service.v2;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
import
cn.quantgroup.xyqb.model.AuthBean
;
...
...
@@ -13,19 +12,14 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.PhonePasswordLoginParam
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.service.captcha.IGeetestLogService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.user.ILockIpv4Service
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
import
cn.quantgroup.xyqb.util.BctyptPasswordUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 账号密码登录
*/
...
...
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