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
3736a462
Commit
3736a462
authored
Jun 21, 2023
by
王亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Feature upgrate 20230621
parent
be2f293a
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
3 additions
and
334 deletions
+3
-334
update-20230621.sql
doc/sql/update-20230621.sql
+0
-0
UserController.java
...n/quantgroup/xyqb/controller/external/UserController.java
+2
-2
InnerController.java
...tgroup/xyqb/controller/internal/user/InnerController.java
+0
-53
UserHashMapping.java
src/main/java/cn/quantgroup/xyqb/entity/UserHashMapping.java
+0
-38
UuidPhoneMapping.java
...main/java/cn/quantgroup/xyqb/entity/UuidPhoneMapping.java
+0
-34
PhoneHashEventListener.java
...java/cn/quantgroup/xyqb/event/PhoneHashEventListener.java
+0
-46
UserDetailHashEventListener.java
...cn/quantgroup/xyqb/event/UserDetailHashEventListener.java
+0
-50
IUserHashMappingRepository.java
...uantgroup/xyqb/repository/IUserHashMappingRepository.java
+0
-19
IUuidPhoneMappingRepository.java
...antgroup/xyqb/repository/IUuidPhoneMappingRepository.java
+0
-17
IMerchantService.java
...cn/quantgroup/xyqb/service/merchant/IMerchantService.java
+0
-2
MerchantServiceImpl.java
...group/xyqb/service/merchant/impl/MerchantServiceImpl.java
+0
-5
IUserService.java
...in/java/cn/quantgroup/xyqb/service/user/IUserService.java
+0
-4
UserServiceImpl.java
...cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
+1
-46
UuidPhoneMappingServiceImpl.java
...p/xyqb/service/user/impl/UuidPhoneMappingServiceImpl.java
+0
-18
No files found.
doc/sql/update-20230621.sql
0 → 100644
View file @
3736a462
src/main/java/cn/quantgroup/xyqb/controller/external/UserController.java
View file @
3736a462
...
...
@@ -181,7 +181,7 @@ public class UserController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"未知的连接"
,
null
);
}
if
(
StringUtils
.
length
(
userId
)
>
Constants
.
UUID_MIN_LENGTH
)
{
return
loginWithUserId
(
channelId
,
appChannel
,
createdFrom
,
userId
,
merchant
,
dimension
,
geetestLogId
,
request
);
return
loginWithUserId
(
channelId
,
appChannel
,
createdFrom
,
userId
,
merchant
,
geetestLogId
,
request
);
}
else
{
return
loginWithHttpBasic
(
channelId
,
appChannel
,
createdFrom
,
merchant
,
dimension
,
geetestLogId
,
request
);
}
...
...
@@ -779,7 +779,7 @@ public class UserController implements IBaseController {
return
user
;
}
private
JsonResult
loginWithUserId
(
Long
channelId
,
String
appChannel
,
Long
createdFrom
,
String
userId
,
Merchant
merchant
,
String
dimension
,
Long
geetestLogId
,
HttpServletRequest
request
)
{
private
JsonResult
loginWithUserId
(
Long
channelId
,
String
appChannel
,
Long
createdFrom
,
String
userId
,
Merchant
merchant
,
Long
geetestLogId
,
HttpServletRequest
request
)
{
//查询用户
User
user
=
userService
.
findByUuidInDb
(
userId
);
if
(
Objects
.
isNull
(
user
)
||
!
user
.
getEnable
())
{
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/InnerController.java
View file @
3736a462
...
...
@@ -161,59 +161,6 @@ public class InnerController implements IBaseController {
return
JsonResult
.
buildSuccessResult
(
""
,
new
UserRet
(
user
));
}
/**
* @yapi http://yapi.quantgroups.com/project/17/interface/api/287
* @Deprecated 20210318
*/
@Deprecated
@GetMapping
(
"/user/search/hash"
)
public
JsonResult
findByUuid
(
@RequestParam
String
md5Value
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
type
)
{
if
(
md5Value
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"参数错误"
,
null
);
}
if
(
md5Value
.
length
()
!=
Constants
.
MD5_LENGTH
)
{
return
JsonResult
.
buildErrorStateResult
(
"参数长度有误"
,
null
);
}
User
user
=
userService
.
findByMd5
(
type
,
md5Value
);
if
(
user
==
null
)
{
return
JsonResult
.
buildSuccessResult
(
""
,
null
);
}
UserRet
userRet
=
new
UserRet
(
user
);
return
JsonResult
.
buildSuccessResult
(
""
,
userRet
);
}
/**
* @yapi unknown
*/
//与旧的区别就是新的如果返回多个的时候只取最新的
@GetMapping
(
"/user/search/hash2"
)
public
JsonResult
findByHash
(
@RequestParam
String
md5Value
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
type
,
@RequestParam
(
required
=
false
)
Integer
tenantId
)
{
if
(
md5Value
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"参数错误"
,
null
);
}
if
(
md5Value
.
length
()
!=
Constants
.
MD5_LENGTH
)
{
return
JsonResult
.
buildErrorStateResult
(
"参数长度有误"
,
null
);
}
User
user
=
userService
.
findByMd5New
(
type
,
md5Value
);
if
(
user
==
null
)
{
return
JsonResult
.
buildSuccessResult
(
""
,
null
);
}
if
(
tenantId
!=
null
&&
!
TenantUtil
.
TENANT_DEFAULT
.
equals
(
tenantId
))
{
// userId 查询对应productLogin 获取手机号和customerId
user
=
tenantService
.
getTenantUser
(
user
,
tenantId
);
if
(
user
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
""
,
null
);
}
}
UserRet
userRet
=
new
UserRet
(
user
);
return
JsonResult
.
buildSuccessResult
(
""
,
userRet
);
}
/**
* @yapi http://yapi.quantgroups.com/project/17/interface/api/229
*/
...
...
src/main/java/cn/quantgroup/xyqb/entity/UserHashMapping.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.xyqb.util.HashUtil
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
@Data
@Entity
@Table
(
name
=
"user_hash_mapping"
)
@NoArgsConstructor
public
class
UserHashMapping
extends
BaseEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
public
UserHashMapping
(
Long
userId
)
{
this
.
userId
=
userId
;
}
@Column
(
name
=
"user_id"
)
private
Long
userId
;
@Column
(
name
=
"phone_no_md5"
)
private
String
phoneNoMd5
;
@Column
(
name
=
"phone_no_md5_short"
)
private
Long
phoneNoMd5Short
;
public
void
setPhoneNoMd5
(
String
phoneNoMd5
)
{
this
.
phoneNoMd5
=
phoneNoMd5
;
this
.
phoneNoMd5Short
=
HashUtil
.
crc32
(
phoneNoMd5
);
}
}
\ No newline at end of file
src/main/java/cn/quantgroup/xyqb/entity/UuidPhoneMapping.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.persistence.*
;
import
java.io.Serializable
;
/**
* Created by Miraculous on 15/10/29.
*/
@Entity
@Table
(
name
=
"uuid_phone_mapping"
,
uniqueConstraints
=
@UniqueConstraint
(
columnNames
=
"uuid"
))
@Getter
@Setter
@ToString
public
class
UuidPhoneMapping
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
@Id
@Column
(
name
=
"id"
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
@Column
(
name
=
"uuid"
)
private
String
uuid
;
@Column
(
name
=
"phone_no"
)
private
String
phoneNo
;
}
src/main/java/cn/quantgroup/xyqb/event/PhoneHashEventListener.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
event
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.repository.IUserHashMappingRepository
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
javax.annotation.Resource
;
import
javax.persistence.PersistenceException
;
//@Component
@Slf4j
public
class
PhoneHashEventListener
implements
ApplicationListener
<
RegisterEvent
>
{
@Autowired
private
IUserHashMappingRepository
userHashMappingRepository
;
@Override
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
UserRegisterParam
userRegisterParam
=
event
.
getUserRegisterParam
();
String
phoneNo
=
userRegisterParam
.
getPhoneNo
();
Long
userId
=
userRegisterParam
.
getUser
().
getId
();
UserHashMapping
userHashMapping
=
userHashMappingRepository
.
findByUserId
(
userId
);
if
(
userHashMapping
!=
null
)
{
//已存在的用户, 并且已存在身份证号
return
;
}
//创建一个新的
userHashMapping
=
new
UserHashMapping
(
userId
);
//无论如何都更新手机号
String
phoneNoMd5
=
Md5Util
.
build
(
phoneNo
);
userHashMapping
.
setPhoneNoMd5
(
phoneNoMd5
);
try
{
userHashMappingRepository
.
saveAndFlush
(
userHashMapping
);
}
catch
(
PersistenceException
e
)
{
// 可能与UserDetailUpdateEvent并发写入问题,暂不优化
log
.
warn
(
"保存userHashMapping重复, 无需再保存, userId:{}"
,
userId
);
}
}
}
src/main/java/cn/quantgroup/xyqb/event/UserDetailHashEventListener.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
event
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.repository.IUserHashMappingRepository
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
javax.persistence.PersistenceException
;
/**
* userDetail 更新时, 保存 hashMapping 数据
*/
@Slf4j
@Component
public
class
UserDetailHashEventListener
implements
ApplicationListener
<
UserDetailUpdateEvent
>
{
@Autowired
private
IUserHashMappingRepository
userHashMappingRepository
;
@Override
public
void
onApplicationEvent
(
UserDetailUpdateEvent
event
)
{
log
.
info
(
"onApplicationEvent cn.quantgroup.xyqb.event.UserDetailHashEventListener start"
);
UserDetail
userDetail
=
event
.
getUserDetail
();
UserHashMapping
userHashMapping
=
userHashMappingRepository
.
findByUserId
(
userDetail
.
getUserId
());
//如果不存在, 我先保存一下
if
(
userHashMapping
==
null
)
{
userHashMapping
=
new
UserHashMapping
(
userDetail
.
getUserId
());
}
//可能存在手机号修改. 搞一下.
String
phoneNo
=
userDetail
.
getPhoneNo
();
userHashMapping
.
setPhoneNoMd5
(
Md5Util
.
build
(
phoneNo
));
//可能存在身份证号修改. 搞一下.
try
{
userHashMappingRepository
.
save
(
userHashMapping
);
}
catch
(
PersistenceException
e
)
{
// 可能与RegisterEvent并发写入问题,暂不优化
log
.
warn
(
"保存userHashMapping重复, 无需再保存, userId:{}"
,
userDetail
.
getUserId
());
}
}
}
src/main/java/cn/quantgroup/xyqb/repository/IUserHashMappingRepository.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
repository
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.transaction.annotation.Transactional
;
public
interface
IUserHashMappingRepository
extends
JpaRepository
<
UserHashMapping
,
Long
>
{
UserHashMapping
findByPhoneNoMd5ShortAndPhoneNoMd5
(
Long
phoneNoMd5Short
,
String
phoneNoMd5
);
// UserHashMapping findByIdNoMd5ShortAndIdNoMd5(Long idNoMd5Short, String idNoMd5);
// List<UserHashMapping> findByIdNoMd5AndIdNoMd5Short(String idNoMd5, Long idNoMd5Short);
UserHashMapping
findByUserId
(
Long
userId
);
@Transactional
void
deleteByUserId
(
Long
userId
);
}
src/main/java/cn/quantgroup/xyqb/repository/IUuidPhoneMappingRepository.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
repository
;
import
cn.quantgroup.xyqb.entity.UuidPhoneMapping
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* Created by Miraculous on 15/10/29.
*/
public
interface
IUuidPhoneMappingRepository
extends
JpaRepository
<
UuidPhoneMapping
,
Long
>
{
UuidPhoneMapping
findByUuid
(
String
uuid
);
@Transactional
void
deleteByUuid
(
String
uuid
);
}
src/main/java/cn/quantgroup/xyqb/service/merchant/IMerchantService.java
View file @
3736a462
...
...
@@ -9,7 +9,5 @@ import cn.quantgroup.xyqb.entity.MerchantConfig;
public
interface
IMerchantService
{
MerchantConfig
findConfigByMerchantIdAndConfigName
(
Long
merchantId
,
String
configName
);
Merchant
findMerchantById
(
Long
merchantId
);
Merchant
findMerchantByName
(
String
name
);
}
src/main/java/cn/quantgroup/xyqb/service/merchant/impl/MerchantServiceImpl.java
View file @
3736a462
...
...
@@ -47,11 +47,6 @@ public class MerchantServiceImpl implements IMerchantService {
return
MERCHANT_ID_CONFIG_MAP
.
getOrDefault
(
key
,
null
);
}
@Override
public
Merchant
findMerchantById
(
Long
merchantId
)
{
return
MERCHANT_ID_MAP
.
getOrDefault
(
merchantId
,
null
);
}
@Override
public
Merchant
findMerchantByName
(
String
name
)
{
if
(
StringUtils
.
isEmpty
(
name
))
{
...
...
src/main/java/cn/quantgroup/xyqb/service/user/IUserService.java
View file @
3736a462
...
...
@@ -58,10 +58,6 @@ public interface IUserService {
List
<
UserInfo
>
findUserInfosByPhones
(
List
<
String
>
phones
);
User
findByMd5
(
Integer
type
,
String
md5Value
);
User
findByMd5New
(
Integer
type
,
String
md5Value
);
/**
* 修改手机号码.
*
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
View file @
3736a462
...
...
@@ -8,7 +8,6 @@ import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.event.PhoneNoUpdateEvent
;
import
cn.quantgroup.xyqb.exception.DataException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
...
...
@@ -68,8 +67,7 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Autowired
private
IUserRepository
userRepository
;
@Autowired
private
IUserHashMappingRepository
userHashMappingRepository
;
@Autowired
private
IUserDetailService
userDetailService
;
...
...
@@ -104,9 +102,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Autowired
private
IUserBtRegisterRepository
userBtRegisterRepository
;
@Autowired
private
IUuidPhoneMappingRepository
uuidPhoneMappingRepository
;
@Resource
private
IWeChatUserRepository
weChatUserRepository
;
...
...
@@ -301,40 +296,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
return
Collections
.
emptyList
();
}
@Override
public
User
findByMd5
(
Integer
type
,
String
md5Value
)
{
md5Value
=
md5Value
.
toLowerCase
();
long
value
=
HashUtil
.
crc32
(
md5Value
);
UserHashMapping
userHashMapping
;
if
(
FindByMd5Enum
.
PHONENO
.
getType
()
==
type
)
{
userHashMapping
=
userHashMappingRepository
.
findByPhoneNoMd5ShortAndPhoneNoMd5
(
value
,
md5Value
);
}
else
{
userHashMapping
=
null
;
}
if
(
userHashMapping
==
null
)
{
return
null
;
}
Long
userId
=
userHashMapping
.
getUserId
();
return
userRepository
.
findById
(
userId
);
}
@Override
public
User
findByMd5New
(
Integer
type
,
String
md5Value
)
{
md5Value
=
md5Value
.
toLowerCase
();
long
value
=
HashUtil
.
crc32
(
md5Value
);
UserHashMapping
userHashMapping
=
null
;
if
(
FindByMd5Enum
.
PHONENO
.
getType
()
==
type
)
{
userHashMapping
=
userHashMappingRepository
.
findByPhoneNoMd5ShortAndPhoneNoMd5
(
value
,
md5Value
);
}
else
{
userHashMapping
=
null
;
}
if
(
userHashMapping
==
null
)
{
return
null
;
}
Long
userId
=
userHashMapping
.
getUserId
();
return
userRepository
.
findById
(
userId
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
User
modifyPhoneNo
(
String
oldPhoneNo
,
String
newPhoneNo
)
{
...
...
@@ -566,12 +527,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
userAttachedRepository
.
deleteByUserId
(
userId
);
/* 删除 user_bt_register 信息 */
userBtRegisterRepository
.
deleteByUserId
(
userId
);
/* 删除用户身份证和手机的hashMapping */
userHashMappingRepository
.
deleteByUserId
(
userId
);
/* 删除用户手机号加身份证hashMapping */
// userHashPhoneNoIdNoMappingRepository.deleteByUserId(userId);
/* 删除用户uuid和手机号mapping */
uuidPhoneMappingRepository
.
deleteByUuid
(
user
.
getUuid
());
/* 清空session */
sessionService
.
deleteByUserId
(
user
.
getId
());
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UuidPhoneMappingServiceImpl.java
deleted
100644 → 0
View file @
be2f293a
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.xyqb.repository.IUuidPhoneMappingRepository
;
import
cn.quantgroup.xyqb.service.user.IUuidPhoneMappingService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* Created by Miraculous on 15/10/29.
*/
@Service
public
class
UuidPhoneMappingServiceImpl
implements
IUuidPhoneMappingService
{
@Autowired
private
IUuidPhoneMappingRepository
uuidPhoneMappingRepository
;
}
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