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
29679ff1
Commit
29679ff1
authored
Dec 16, 2019
by
杨锐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user_hash_mapping && user_hash_phone_no_id_no_mapping 数据一致性。
parent
fa252412
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
57 additions
and
1 deletion
+57
-1
UserHashPhoneNoIdNoMapping.java
...cn/quantgroup/xyqb/entity/UserHashPhoneNoIdNoMapping.java
+7
-0
PhoneHashEventListener.java
...java/cn/quantgroup/xyqb/event/PhoneHashEventListener.java
+25
-1
UserDetailHashEventListener.java
...cn/quantgroup/xyqb/event/UserDetailHashEventListener.java
+23
-0
IUserHashPhoneNoIdNoMappingRepository.java
...yqb/repository/IUserHashPhoneNoIdNoMappingRepository.java
+2
-0
No files found.
src/main/java/cn/quantgroup/xyqb/entity/UserHashPhoneNoIdNoMapping.java
View file @
29679ff1
...
@@ -21,4 +21,11 @@ public class UserHashPhoneNoIdNoMapping {
...
@@ -21,4 +21,11 @@ public class UserHashPhoneNoIdNoMapping {
private
Timestamp
createdAt
;
private
Timestamp
createdAt
;
@Column
(
name
=
"updated_at"
)
@Column
(
name
=
"updated_at"
)
private
Timestamp
updatedAt
;
private
Timestamp
updatedAt
;
public
UserHashPhoneNoIdNoMapping
()
{
}
public
UserHashPhoneNoIdNoMapping
(
Long
userId
)
{
this
.
userId
=
userId
;
}
}
}
src/main/java/cn/quantgroup/xyqb/event/PhoneHashEventListener.java
View file @
29679ff1
package
cn
.
quantgroup
.
xyqb
.
event
;
package
cn
.
quantgroup
.
xyqb
.
event
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.entity.UserHashPhoneNoIdNoMapping
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.repository.IUserHashMappingRepository
;
import
cn.quantgroup.xyqb.repository.IUserHashMappingRepository
;
import
cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.DigestUtils
;
import
javax.annotation.Resource
;
import
javax.persistence.PersistenceException
;
import
javax.persistence.PersistenceException
;
@Component
@Component
...
@@ -18,6 +22,8 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
...
@@ -18,6 +22,8 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
@Autowired
@Autowired
private
IUserHashMappingRepository
userHashMappingRepository
;
private
IUserHashMappingRepository
userHashMappingRepository
;
@Resource
private
IUserHashPhoneNoIdNoMappingRepository
userHashPhoneNoIdNoMappingRepository
;
@Override
@Override
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
...
@@ -25,6 +31,24 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
...
@@ -25,6 +31,24 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
String
phoneNo
=
userRegisterParam
.
getPhoneNo
();
String
phoneNo
=
userRegisterParam
.
getPhoneNo
();
Long
userId
=
userRegisterParam
.
getUser
().
getId
();
Long
userId
=
userRegisterParam
.
getUser
().
getId
();
String
idNo
=
userRegisterParam
.
getIdNo
();
/* modify by yangrui on 2019/12/16 下午5:47 */
UserHashPhoneNoIdNoMapping
userHashPhoneNoIdNoMapping
=
userHashPhoneNoIdNoMappingRepository
.
findByUserId
(
userId
);
if
(
userHashPhoneNoIdNoMapping
==
null
)
{
userHashPhoneNoIdNoMapping
=
new
UserHashPhoneNoIdNoMapping
(
userId
);
}
StringBuilder
phoneNoIdNoMd5
=
new
StringBuilder
(
phoneNo
);
if
(
StringUtils
.
isNotEmpty
(
idNo
))
{
phoneNoIdNoMd5
.
append
(
idNo
);
}
userHashPhoneNoIdNoMapping
.
setPhoneNoIdNoMd5
(
DigestUtils
.
md5DigestAsHex
(
phoneNoIdNoMd5
.
toString
().
toLowerCase
().
getBytes
()));
try
{
userHashPhoneNoIdNoMappingRepository
.
saveAndFlush
(
userHashPhoneNoIdNoMapping
);
}
catch
(
PersistenceException
e
)
{
log
.
error
(
"保存userHashPhoneNoIdNoMapping重复, 无需再保存, userId:{}"
,
userId
);
}
UserHashMapping
userHashMapping
=
userHashMappingRepository
.
findByUserId
(
userId
);
UserHashMapping
userHashMapping
=
userHashMappingRepository
.
findByUserId
(
userId
);
if
(
userHashMapping
!=
null
&&
userHashMapping
.
getIdNoMd5
()
!=
null
)
{
if
(
userHashMapping
!=
null
&&
userHashMapping
.
getIdNoMd5
()
!=
null
)
{
//已存在的用户, 并且已存在身份证号
//已存在的用户, 并且已存在身份证号
...
@@ -37,7 +61,7 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
...
@@ -37,7 +61,7 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
//无论如何都更新手机号
//无论如何都更新手机号
String
phoneNoMd5
=
Md5Util
.
build
(
phoneNo
);
String
phoneNoMd5
=
Md5Util
.
build
(
phoneNo
);
userHashMapping
.
setPhoneNoMd5
(
phoneNoMd5
);
userHashMapping
.
setPhoneNoMd5
(
phoneNoMd5
);
String
idNo
=
userRegisterParam
.
getIdNo
();
//如果有身份证号. 更新一下
//如果有身份证号. 更新一下
if
(
StringUtils
.
isNotEmpty
(
idNo
))
{
if
(
StringUtils
.
isNotEmpty
(
idNo
))
{
...
...
src/main/java/cn/quantgroup/xyqb/event/UserDetailHashEventListener.java
View file @
29679ff1
...
@@ -2,13 +2,17 @@ package cn.quantgroup.xyqb.event;
...
@@ -2,13 +2,17 @@ package cn.quantgroup.xyqb.event;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.entity.UserHashPhoneNoIdNoMapping
;
import
cn.quantgroup.xyqb.repository.IUserHashMappingRepository
;
import
cn.quantgroup.xyqb.repository.IUserHashMappingRepository
;
import
cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.DigestUtils
;
import
javax.annotation.Resource
;
import
javax.persistence.PersistenceException
;
import
javax.persistence.PersistenceException
;
...
@@ -21,6 +25,8 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta
...
@@ -21,6 +25,8 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta
@Autowired
@Autowired
private
IUserHashMappingRepository
userHashMappingRepository
;
private
IUserHashMappingRepository
userHashMappingRepository
;
@Resource
private
IUserHashPhoneNoIdNoMappingRepository
userHashPhoneNoIdNoMappingRepository
;
@Override
@Override
public
void
onApplicationEvent
(
UserDetailUpdateEvent
event
)
{
public
void
onApplicationEvent
(
UserDetailUpdateEvent
event
)
{
...
@@ -45,5 +51,22 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta
...
@@ -45,5 +51,22 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta
}
catch
(
PersistenceException
e
)
{
}
catch
(
PersistenceException
e
)
{
log
.
error
(
"保存userHashMapping重复, 无需再保存, userId:{}"
,
userDetail
.
getUserId
());
log
.
error
(
"保存userHashMapping重复, 无需再保存, userId:{}"
,
userDetail
.
getUserId
());
}
}
/* modify by yangrui on 2019/12/16 下午5:48 */
UserHashPhoneNoIdNoMapping
userHashPhoneNoIdNoMapping
=
userHashPhoneNoIdNoMappingRepository
.
findByUserId
(
userDetail
.
getUserId
());
//如果不存在, 我先保存一下
if
(
userHashPhoneNoIdNoMapping
==
null
)
{
userHashPhoneNoIdNoMapping
=
new
UserHashPhoneNoIdNoMapping
(
userDetail
.
getUserId
());
}
//可能存在手机号、身份证号修改. 搞一下.
userHashPhoneNoIdNoMapping
.
setPhoneNoIdNoMd5
(
DigestUtils
.
md5DigestAsHex
((
userDetail
.
getPhoneNo
()
+
userDetail
.
getIdNo
()).
toLowerCase
().
getBytes
()));
try
{
userHashPhoneNoIdNoMappingRepository
.
save
(
userHashPhoneNoIdNoMapping
);
}
catch
(
PersistenceException
e
)
{
log
.
error
(
"保存userHashPhoneNoIdNoMapping重复, 无需再保存, userId:{}"
,
userDetail
.
getUserId
());
}
}
}
}
}
src/main/java/cn/quantgroup/xyqb/repository/IUserHashPhoneNoIdNoMappingRepository.java
View file @
29679ff1
...
@@ -6,4 +6,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -6,4 +6,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
public
interface
IUserHashPhoneNoIdNoMappingRepository
extends
JpaRepository
<
UserHashPhoneNoIdNoMapping
,
Long
>
{
public
interface
IUserHashPhoneNoIdNoMappingRepository
extends
JpaRepository
<
UserHashPhoneNoIdNoMapping
,
Long
>
{
UserHashPhoneNoIdNoMapping
findFirstByPhoneNoIdNoMd5
(
String
phoneNoIdNoMd5
);
UserHashPhoneNoIdNoMapping
findFirstByPhoneNoIdNoMd5
(
String
phoneNoIdNoMd5
);
UserHashPhoneNoIdNoMapping
findByUserId
(
Long
userId
);
}
}
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