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
c548ffe7
Commit
c548ffe7
authored
Dec 05, 2017
by
Java—KA—李 青
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户注册功能重构
parent
a01e06a5
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
920 additions
and
51 deletions
+920
-51
Constants.java
src/main/java/cn/quantgroup/xyqb/Constants.java
+5
-0
MotanUserServiceImpl.java
.../xyqb/controller/external/motan/MotanUserServiceImpl.java
+1
-0
AppController.java
...antgroup/xyqb/controller/external/user/AppController.java
+0
-6
PushUserToLkbException.java
.../cn/quantgroup/xyqb/exception/PushUserToLkbException.java
+26
-0
UserRegisterParam.java
...main/java/cn/quantgroup/xyqb/model/UserRegisterParam.java
+35
-0
AbstractUserRegisterService.java
...up/xyqb/service/register/AbstractUserRegisterService.java
+44
-0
IUserRegisterService.java
...uantgroup/xyqb/service/register/IUserRegisterService.java
+107
-0
AbstractUserRegisterHandler.java
...service/register/handler/AbstractUserRegisterHandler.java
+20
-0
AddressUserRegisterHandler.java
...ice/register/handler/impl/AddressUserRegisterHandler.java
+43
-0
BaseUserRegisterHandler.java
...ervice/register/handler/impl/BaseUserRegisterHandler.java
+97
-0
BtUserRegisterHandler.java
.../service/register/handler/impl/BtUserRegisterHandler.java
+54
-0
ContactUserRegisterHandler.java
...ice/register/handler/impl/ContactUserRegisterHandler.java
+75
-0
DetailUserRegisterHandler.java
...vice/register/handler/impl/DetailUserRegisterHandler.java
+73
-0
MqUserRegisterHandler.java
.../service/register/handler/impl/MqUserRegisterHandler.java
+32
-0
SmsUserRegisterHandler.java
...service/register/handler/impl/SmsUserRegisterHandler.java
+41
-0
UserRegisterServiceImpl.java
...p/xyqb/service/register/impl/UserRegisterServiceImpl.java
+128
-0
ILkbUserService.java
...java/cn/quantgroup/xyqb/service/user/ILkbUserService.java
+18
-0
LkbUserviceImpl.java
...cn/quantgroup/xyqb/service/user/impl/LkbUserviceImpl.java
+79
-44
JsonUtil.java
src/main/java/cn/quantgroup/xyqb/util/JsonUtil.java
+38
-0
xyqb.properties
src/main/resources/config/dev/xyqb.properties
+2
-1
xyqb.properties
src/main/resources/config/release01/xyqb.properties
+1
-0
xyqb.properties
src/main/resources/config/test/xyqb.properties
+1
-0
No files found.
src/main/java/cn/quantgroup/xyqb/Constants.java
View file @
c548ffe7
...
@@ -63,6 +63,11 @@ public interface Constants {
...
@@ -63,6 +63,11 @@ public interface Constants {
String
SESSION_PREFIX
=
"spring:session:sessions:"
;
String
SESSION_PREFIX
=
"spring:session:sessions:"
;
Long
ONE_DAY
=
24
*
60
*
60L
;
Long
ONE_DAY
=
24
*
60
*
60L
;
/**
* 默认随机密码长度
*/
int
RANDOM_PWD_LEN
=
15
;
interface
Channel
{
interface
Channel
{
long
LKB
=
1
;
// 量化派
long
LKB
=
1
;
// 量化派
long
JR58
=
175
;
// 58金融
long
JR58
=
175
;
// 58金融
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/motan/MotanUserServiceImpl.java
View file @
c548ffe7
...
@@ -98,6 +98,7 @@ public class MotanUserServiceImpl implements UserMotanService {
...
@@ -98,6 +98,7 @@ public class MotanUserServiceImpl implements UserMotanService {
@Autowired
@Autowired
private
IUserApiService
userApiService
;
private
IUserApiService
userApiService
;
@Override
@Override
public
UserSysResult
<
XUser
>
saveUserRelatedInfo
(
UserRelatedBean
userRelatedBean
)
{
public
UserSysResult
<
XUser
>
saveUserRelatedInfo
(
UserRelatedBean
userRelatedBean
)
{
return
null
;
return
null
;
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/AppController.java
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.logcaller.LogHttpCaller
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserBtRegister
;
import
cn.quantgroup.xyqb.entity.UserBtRegister
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.exception.NullUserException
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.model.session.LoginInfo
;
import
cn.quantgroup.xyqb.model.session.LoginInfo
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.repository.IUserBtRegisterRepository
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
...
@@ -35,8 +32,6 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -35,8 +32,6 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.util.Objects
;
import
java.util.Random
;
import
java.util.Random
;
import
static
cn
.
quantgroup
.
xyqb
.
constant
.
UserConstant
.
USER_ERROR_OR_PASSWORD_ERROR
;
import
static
cn
.
quantgroup
.
xyqb
.
constant
.
UserConstant
.
USER_ERROR_OR_PASSWORD_ERROR
;
...
@@ -88,7 +83,6 @@ public class AppController implements IBaseController {
...
@@ -88,7 +83,6 @@ public class AppController implements IBaseController {
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
);
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
);
if
(
user
==
null
)
{
if
(
user
==
null
)
{
user
=
register
(
registerFrom
,
phoneNo
,
idNo
,
name
,
channelId
,
btRegisterChannelId
);
user
=
register
(
registerFrom
,
phoneNo
,
idNo
,
name
,
channelId
,
btRegisterChannelId
);
}
}
if
(
user
==
null
)
{
if
(
user
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
USER_ERROR_OR_PASSWORD_ERROR
,
null
);
return
JsonResult
.
buildErrorStateResult
(
USER_ERROR_OR_PASSWORD_ERROR
,
null
);
...
...
src/main/java/cn/quantgroup/xyqb/exception/PushUserToLkbException.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
exception
;
/**
* Created by liqing on 2017/12/5 0005.
* 同步用户信息至Lkb异常
*/
public
class
PushUserToLkbException
extends
RuntimeException
{
public
PushUserToLkbException
()
{
}
public
PushUserToLkbException
(
String
message
)
{
super
(
message
);
}
public
PushUserToLkbException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
public
PushUserToLkbException
(
Throwable
cause
)
{
super
(
cause
);
}
public
PushUserToLkbException
(
String
message
,
Throwable
cause
,
boolean
enableSuppression
,
boolean
writableStackTrace
)
{
super
(
message
,
cause
,
enableSuppression
,
writableStackTrace
);
}
}
src/main/java/cn/quantgroup/xyqb/model/UserRegisterParam.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.User
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* Created by liqing on 2017/12/4 0004.
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
UserRegisterParam
{
private
Long
registerFrom
;
private
String
phoneNo
;
private
String
password
;
private
String
idNo
;
private
String
name
;
private
Long
channelId
;
private
Long
btRegisterChannelId
;
private
String
dimension
;
private
Address
address
;
private
String
contacts
;
private
boolean
generateRandomPwd
=
false
;
// 是否生成随机密码
private
boolean
sendSms
=
true
;
// 是否发送短信
private
boolean
sendMq
=
true
;
// 是否发送mq
private
User
user
;
}
src/main/java/cn/quantgroup/xyqb/service/register/AbstractUserRegisterService.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.util.ApplicationContextHolder
;
import
javax.annotation.PostConstruct
;
/**
* Created by liqing on 2017/12/5 0005.
*/
public
abstract
class
AbstractUserRegisterService
implements
IUserRegisterService
{
protected
AbstractUserRegisterHandler
getDefaultUserRegisterHandler
(){
AbstractUserRegisterHandler
baseUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"baseUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
detailUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"detailUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
btUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"btUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
smsUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"smsUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
mqUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"mqUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
baseUserRegisterHandler
.
setSuccessor
(
detailUserRegisterHandler
);
detailUserRegisterHandler
.
setSuccessor
(
btUserRegisterHandler
);
btUserRegisterHandler
.
setSuccessor
(
smsUserRegisterHandler
);
smsUserRegisterHandler
.
setSuccessor
(
mqUserRegisterHandler
);
return
baseUserRegisterHandler
;
}
protected
AbstractUserRegisterHandler
getExtUserRegisterHandler
(){
AbstractUserRegisterHandler
baseUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"baseUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
detailUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"detailUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
btUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"btUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
smsUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"smsUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
mqUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"mqUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
addressUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"addressUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
contactUserRegisterHandler
=
ApplicationContextHolder
.
getBean
(
"contactUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
baseUserRegisterHandler
.
setSuccessor
(
btUserRegisterHandler
);
/*detailUserRegisterHandler.setSuccessor(btUserRegisterHandler);
btUserRegisterHandler.setSuccessor(addressUserRegisterHandler);*/
btUserRegisterHandler
.
setSuccessor
(
detailUserRegisterHandler
);
detailUserRegisterHandler
.
setSuccessor
(
addressUserRegisterHandler
);
addressUserRegisterHandler
.
setSuccessor
(
contactUserRegisterHandler
);
contactUserRegisterHandler
.
setSuccessor
(
smsUserRegisterHandler
);
smsUserRegisterHandler
.
setSuccessor
(
mqUserRegisterHandler
);
return
baseUserRegisterHandler
;
}
}
src/main/java/cn/quantgroup/xyqb/service/register/IUserRegisterService.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
/**
* Created by liqing on 2017/12/4 0004.
*/
public
interface
IUserRegisterService
{
/**
* 以默认流程注册
* @param userRegisterParam
* @return
* @throws Exception
*/
User
registerDefault
(
UserRegisterParam
userRegisterParam
)
throws
Exception
;
/**
* 以扩展流程注册
* @param userRegisterParam
* @return
* @throws Exception
*/
User
registerExt
(
UserRegisterParam
userRegisterParam
)
throws
Exception
;
/**
* 替换AppController.register
* /app/login,/app/login_super
* @param registerFrom
* @param phoneNo
* @param idNo
* @param name
* @param channelId
* @param btRegisterChannelId
* @return
*/
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
)
throws
Exception
;
/**
* 替换InnerController里的userService.registerAndReturn
* /innerapi/user/register
* @param phoneNo
* @param password
* @param registerFrom
* @return
*/
User
register
(
String
phoneNo
,
String
password
,
Long
registerFrom
)
throws
Exception
;
/**
* 替换UserController.register里的userService.register
* /user/register
* @param phoneNo
* @param password
* @param registerFrom
* @param ip
* @param channelId
* @param btRegisterChannelId
* @param dimension
* @return
*/
boolean
register
(
String
phoneNo
,
String
password
,
Long
registerFrom
,
String
ip
,
Long
channelId
,
Long
btRegisterChannelId
,
String
dimension
)
throws
Exception
;
/**
* 替换UserController.loginFast里的registerFastWhenLogin
* /user/login/fast
* @param phoneNo
* @param channelId
* @param registerFrom
* @param appChannel
* @param btRegisterChannelId
* @param dimension
* @return
*/
User
register
(
String
phoneNo
,
Long
channelId
,
Long
registerFrom
,
String
appChannel
,
Long
btRegisterChannelId
,
String
dimension
)
throws
Exception
;
/**
* 替换InnerController.saveMulti里的userService.registerAndReturn
* /innserapi/user/save_multi
* @param registeredFrom
* @param channelId
* @param phoneNo
* @param name
* @param idNo
* @param provinceCode
* @param province
* @param cityCode
* @param city
* @param districtCode
* @param district
* @param address
* @param contacts
* @return
*/
User
register
(
Long
registeredFrom
,
Long
channelId
,
String
phoneNo
,
String
name
,
String
idNo
,
String
provinceCode
,
String
province
,
String
cityCode
,
String
city
,
String
districtCode
,
String
district
,
String
address
,
String
contacts
)
throws
Exception
;
/**
* 替换MotanUserServiceImpl.appLoginAndFetchLoginInfo和MotanUserServiceImpl.appLogin里的register
* @param registerFrom
* @param phoneNo
* @param idNo
* @param name
* @param channelId
* @return
*/
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
)
throws
Exception
;
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/AbstractUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
java.text.ParseException
;
/**
* Created by liqing on 2017/12/4 0004.
*/
public
abstract
class
AbstractUserRegisterHandler
{
protected
AbstractUserRegisterHandler
successor
;
public
void
setSuccessor
(
AbstractUserRegisterHandler
successor
)
{
this
.
successor
=
successor
;
}
public
abstract
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
;
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/AddressUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.repository.IAddressRepository
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
import
java.sql.Timestamp
;
/**
* Created by liqing on 2017/12/5 0005.
* 注册 - 地址信息
* 失败影响注册流程
*/
@Component
(
"addressUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
AddressUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Autowired
private
IAddressRepository
addressRepository
;
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
Address
address
=
userRegisterParam
.
getAddress
();
User
user
=
userRegisterParam
.
getUser
();
address
.
setUserId
(
user
.
getId
());
Timestamp
currentTime
=
new
Timestamp
(
System
.
currentTimeMillis
());
address
.
setCreatedAt
(
currentTime
);
address
.
setUpdateAt
(
currentTime
);
addressRepository
.
save
(
address
);
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/BaseUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.exception.PushUserToLkbException
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.service.user.ILkbUserService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.JsonUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
import
java.sql.Timestamp
;
import
java.util.UUID
;
/**
* Created by liqing on 2017/12/4 0004.
* 注册 - 基本信息
* 失败影响注册流程
*/
@Component
(
"baseUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
BaseUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Autowired
private
ILkbUserService
lkbUserService
;
@Autowired
private
IUserService
userService
;
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
String
uuid
=
UUID
.
randomUUID
().
toString
();
// 同步用户信息到Lkb
pushUserToLkb
(
uuid
,
userRegisterParam
);
// 保存user信息
User
user
=
saveUser
(
uuid
,
userRegisterParam
);
userRegisterParam
.
setUser
(
user
);
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
/**
* 保存用户user信息
* @param uuid
* @param userRegisterParam
* @return
*/
private
User
saveUser
(
String
uuid
,
UserRegisterParam
userRegisterParam
)
{
User
user
=
new
User
();
user
.
setUuid
(
uuid
);
user
.
setEnable
(
true
);
user
.
setPhoneNo
(
userRegisterParam
.
getPhoneNo
());
Long
registerFrom
=
userRegisterParam
.
getRegisterFrom
();
if
(
null
==
registerFrom
)
{
registerFrom
=
1L
;
}
Long
channelId
=
userRegisterParam
.
getChannelId
();
if
(
channelId
==
222L
)
{
user
.
setRegisteredFrom
(
channelId
);
}
else
{
user
.
setRegisteredFrom
(
registerFrom
);
}
String
password
=
userRegisterParam
.
getPassword
();
if
(
userRegisterParam
.
isGenerateRandomPwd
()){
// 如果需要生成随机密码
password
=
PasswordUtil
.
generateRandomPwd
(
Constants
.
RANDOM_PWD_LEN
);
}
user
.
setPassword
(
PasswordUtil
.
MD5
(
password
+
Constants
.
PASSWORD_SALT
));
Timestamp
currentTime
=
new
Timestamp
(
System
.
currentTimeMillis
());
user
.
setUpdatedAt
(
currentTime
);
user
.
setCreatedAt
(
currentTime
);
userService
.
saveUser
(
user
);
return
user
;
}
/**
* 同步用户信息到Lkb,失败影响注册流程
* @param uuid
* @param userRegisterParam
*/
private
void
pushUserToLkb
(
String
uuid
,
UserRegisterParam
userRegisterParam
)
{
boolean
pushResult
=
lkbUserService
.
pushUser
(
uuid
,
userRegisterParam
.
getPhoneNo
(),
userRegisterParam
.
getName
(),
userRegisterParam
.
getIdNo
());
if
(!
pushResult
){
log
.
error
(
"[userRegisterHandler][baseUserRegisterHandler]同步用户至Lkb出错,userRegisterParam:{}"
,
JsonUtil
.
toJson
(
userRegisterParam
));
throw
new
PushUserToLkbException
(
"同步用户至Lkb出错"
);
}
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/BtUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserBtRegister
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.service.user.IUserBtRegisterService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
import
java.sql.Timestamp
;
/**
* Created by liqing on 2017/12/4 0004.
* 用户注册 - 白条
* 失败影响注册流程
*/
@Component
(
"btUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
BtUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Autowired
private
IUserBtRegisterService
userBtRegisterService
;
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
Long
channelId
=
userRegisterParam
.
getChannelId
();
User
user
=
userRegisterParam
.
getUser
();
Long
btRegisterChannelId
=
userRegisterParam
.
getBtRegisterChannelId
();
if
(
null
!=
user
&&
channelId
.
equals
(
222L
)){
UserBtRegister
userBtRegister
=
new
UserBtRegister
();
userBtRegister
.
setUserId
(
user
.
getId
());
if
(
null
==
btRegisterChannelId
){
userBtRegister
.
setRegisterBtMerchantId
(
0L
);
}
else
{
userBtRegister
.
setRegisterBtMerchantId
(
btRegisterChannelId
);
}
userBtRegister
.
setIsActive
(
true
);
Timestamp
currentTime
=
new
Timestamp
(
System
.
currentTimeMillis
());
userBtRegister
.
setCreatedAt
(
currentTime
);
userBtRegister
.
setUpdatedAt
(
currentTime
);
userBtRegisterService
.
save
(
userBtRegister
);
}
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/ContactUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.repository.IContactRepository
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
import
java.sql.Timestamp
;
import
java.util.List
;
/**
* Created by liqing on 2017/12/5 0005.
* 注册 - 联系人信息
* 失败影响注册流程
*/
@Component
(
"contactUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
ContactUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Autowired
private
IContactRepository
contactRepository
;
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
String
contact_str
=
userRegisterParam
.
getContacts
();
User
user
=
userRegisterParam
.
getUser
();
if
(
StringUtils
.
isNotBlank
(
contact_str
))
{
List
<
Contact
>
contactList
=
JSONObject
.
parseObject
(
contact_str
,
new
TypeReference
<
List
<
Contact
>>()
{});
if
(
CollectionUtils
.
isNotEmpty
(
contactList
))
{
Timestamp
now
=
new
Timestamp
(
System
.
currentTimeMillis
());
convertContactList
(
user
.
getId
(),
contactList
,
2
,
now
);
contactRepository
.
save
(
contactList
);
}
}
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
/**
* 转换联系人信息
* @param userId
* @param contacts
* @param number
* @param now
*/
private
void
convertContactList
(
Long
userId
,
List
<
Contact
>
contacts
,
int
number
,
Timestamp
now
)
{
int
count
=
1
;
for
(
Contact
c
:
contacts
)
{
if
(
count
>
number
)
{
break
;
}
c
.
setId
(
null
);
c
.
setUserId
(
userId
);
c
.
setRelation
(
c
.
getRelation
()
==
null
?
Relation
.
OTHER
:
c
.
getRelation
());
c
.
setCreatedAt
(
now
);
c
.
setUpdateAt
(
now
);
count
++;
}
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/DetailUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.model.IdCardInfo
;
import
cn.quantgroup.xyqb.model.IdType
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.util.JsonUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
/**
* Created by liqing on 2017/12/4 0004.
* 注册 - 用户详情
* 失败不影响注册流程
*/
@Component
(
"detailUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
DetailUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Autowired
private
IIdCardService
idCardService
;
@Autowired
private
IUserDetailService
userDetailService
;
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
try
{
doHandleUserDetailRegister
(
userRegisterParam
);
}
catch
(
Exception
e
)
{
// 用户详情注册失败不影响主流程
log
.
error
(
"[exception][detailUserRegisterHandler_exception]userRegisterParam={},error={}"
,
JsonUtil
.
toJson
(
userRegisterParam
),
e
);
}
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
/**
* 执行用户详情注册
* @param userRegisterParam
*/
private
void
doHandleUserDetailRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
String
phoneNo
=
userRegisterParam
.
getPhoneNo
();
String
name
=
userRegisterParam
.
getName
();
String
idNo
=
userRegisterParam
.
getIdNo
();
IdCardInfo
cardInfo
=
idCardService
.
getIdCardInfoWithExceptions
(
idNo
);
UserDetail
userDetail
=
new
UserDetail
();
userDetail
.
setIdNo
(
cardInfo
.
getIdNo
());
userDetail
.
setPhoneNo
(
phoneNo
);
userDetail
.
setName
(
name
);
userDetail
.
setIdType
(
IdType
.
ID_CARD
);
Timestamp
currentTime
=
new
Timestamp
(
System
.
currentTimeMillis
());
userDetail
.
setCreatedAt
(
currentTime
);
userDetail
.
setUpdatedAt
(
currentTime
);
User
user
=
userRegisterParam
.
getUser
();
userDetail
.
setUserId
(
user
.
getId
());
userDetail
.
setGender
(
cardInfo
.
getGender
());
userDetailService
.
saveUserDetail
(
userDetail
);
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/MqUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
/**
* Created by liqing on 2017/12/4 0004.
*/
@Component
(
"mqUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
MqUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
Long
channelId
=
userRegisterParam
.
getChannelId
();
String
dimension
=
userRegisterParam
.
getDimension
();
User
user
=
userRegisterParam
.
getUser
();
MqUtils
.
sendRegisterMessage
(
channelId
,
dimension
,
user
);
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/SmsUserRegisterHandler.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
.
impl
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.service.sms.ISmsService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.stereotype.Component
;
/**
* Created by liqing on 2017/12/4 0004.
*/
@Component
(
"smsUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
SmsUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Autowired
private
ISmsService
smsService
;
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
Long
registerFrom
=
userRegisterParam
.
getRegisterFrom
();
String
phoneNo
=
userRegisterParam
.
getPhoneNo
();
if
(
registerFrom
!=
645L
&&
registerFrom
!=
900L
&&
registerFrom
!=
158412L
)
{
smsService
.
sendAfterRegister
(
phoneNo
);
log
.
info
(
"第三方登录用户注册成功,registerFrom:{}, phoneNo:{},并且已发送短信通知"
,
registerFrom
,
phoneNo
);
}
else
if
(
registerFrom
==
900L
){
smsService
.
sendAfterRegister
(
phoneNo
,
"123"
);
log
.
info
(
"第三方(聚美)登录用户注册成功,registerFrom:{},phoneNo:{},并且已发送短信通知"
,
registerFrom
,
phoneNo
);
}
if
(
successor
!=
null
){
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
}
src/main/java/cn/quantgroup/xyqb/service/register/impl/UserRegisterServiceImpl.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
impl
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.AbstractUserRegisterService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
/**
* Created by liqing on 2017/12/4 0004.
*/
@Service
(
"userRegisterService"
)
@Slf4j
public
class
UserRegisterServiceImpl
extends
AbstractUserRegisterService
{
@Override
public
User
registerDefault
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
return
getDefaultUserRegisterHandler
().
handleRegister
(
userRegisterParam
);
}
@Override
public
User
registerExt
(
UserRegisterParam
userRegisterParam
)
throws
Exception
{
return
getExtUserRegisterHandler
().
handleRegister
(
userRegisterParam
);
}
@Override
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
)
throws
Exception
{
// 1、生成6位随机密码
// 2、同步lkb
// 3、保存user
// 4、发送短信
// 5、保存userDetail
// 6、发送mq
// 7、保存bt
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
).
phoneNo
(
phoneNo
).
idNo
(
idNo
).
name
(
name
)
.
channelId
(
channelId
).
btRegisterChannelId
(
btRegisterChannelId
)
.
generateRandomPwd
(
true
).
sendSms
(
true
).
sendMq
(
true
)
.
build
();
return
registerDefault
(
userRegisterParam
);
}
@Override
public
User
register
(
String
phoneNo
,
String
password
,
Long
registerFrom
)
throws
Exception
{
// 1、同步lkb
// 2、保存user
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
).
phoneNo
(
phoneNo
).
password
(
password
)
.
generateRandomPwd
(
false
).
sendSms
(
false
).
sendMq
(
false
)
.
build
();
return
registerDefault
(
userRegisterParam
);
}
@Override
public
boolean
register
(
String
phoneNo
,
String
password
,
Long
registerFrom
,
String
ip
,
Long
channelId
,
Long
btRegisterChannelId
,
String
dimension
)
throws
Exception
{
// 1、同步lkb
// 2、保存user
// 3、保存bt
// 4、发送短信
// 5、发送mq
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
).
phoneNo
(
phoneNo
).
password
(
password
)
.
channelId
(
channelId
).
btRegisterChannelId
(
btRegisterChannelId
)
.
dimension
(
dimension
)
.
generateRandomPwd
(
false
).
sendSms
(
true
).
sendMq
(
true
)
.
build
();
User
user
=
registerDefault
(
userRegisterParam
);
return
user
!=
null
;
}
@Override
public
User
register
(
String
phoneNo
,
Long
channelId
,
Long
registerFrom
,
String
appChannel
,
Long
btRegisterChannelId
,
String
dimension
)
throws
Exception
{
// 1、生成15位随机密码
// 2、同步lkb
// 3、保存user
// 4、保存bt
// 5、发送mq
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
).
phoneNo
(
phoneNo
)
.
channelId
(
channelId
).
btRegisterChannelId
(
btRegisterChannelId
)
.
dimension
(
dimension
)
.
generateRandomPwd
(
true
).
sendSms
(
false
).
sendMq
(
true
)
.
build
();
return
registerDefault
(
userRegisterParam
);
}
@Override
public
User
register
(
Long
registeredFrom
,
Long
channelId
,
String
phoneNo
,
String
name
,
String
idNo
,
String
provinceCode
,
String
province
,
String
cityCode
,
String
city
,
String
districtCode
,
String
district
,
String
address
,
String
contacts
)
throws
Exception
{
// 1、生成6位随机密码
// 2、同步lkb
// 3、保存user
// 4、保存bt:btRegisterChannelId = registeredFrom
// 5、保存address
// 6、保存userDetail
// 7、保存联系人
Address
addressObj
=
new
Address
();
addressObj
.
setProvinceCode
(
Long
.
valueOf
(
provinceCode
));
addressObj
.
setProvince
(
province
);
addressObj
.
setCityCode
(
Long
.
valueOf
(
cityCode
));
addressObj
.
setCity
(
city
);
addressObj
.
setDistrictCode
(
Long
.
valueOf
(
districtCode
));
addressObj
.
setDistrict
(
district
);
addressObj
.
setAddress
(
address
);
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registeredFrom
).
phoneNo
(
phoneNo
).
idNo
(
idNo
).
name
(
name
)
.
channelId
(
channelId
).
btRegisterChannelId
(
registeredFrom
)
.
address
(
addressObj
).
contacts
(
contacts
)
.
generateRandomPwd
(
true
).
sendSms
(
false
).
sendMq
(
false
)
.
build
();
return
registerExt
(
userRegisterParam
);
}
@Override
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
)
throws
Exception
{
// 1、生成6位随机密码
// 2、同步lkb
// 3、保存user
// 4、发送短信
// 5、保存userDetail
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registerFrom
).
phoneNo
(
phoneNo
).
idNo
(
idNo
).
name
(
name
)
.
channelId
(
channelId
)
.
generateRandomPwd
(
true
).
sendSms
(
true
).
sendMq
(
false
)
.
build
();
return
registerDefault
(
userRegisterParam
);
}
}
src/main/java/cn/quantgroup/xyqb/service/user/ILkbUserService.java
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
import
cn.quantgroup.xyqb.model.JsonResult
;
/**
/**
* @author mengfan.feng
* @author mengfan.feng
* @time 2015-08-19 17:44
* @time 2015-08-19 17:44
...
@@ -23,4 +25,20 @@ public interface ILkbUserService {
...
@@ -23,4 +25,20 @@ public interface ILkbUserService {
* @param idNo
* @param idNo
*/
*/
void
userUpdate
(
String
uuid
,
String
name
,
String
idNo
);
void
userUpdate
(
String
uuid
,
String
name
,
String
idNo
);
/**
* 同步用户信息
* @param uuid
* @param phoneNo
*/
boolean
pushUser
(
String
uuid
,
String
phoneNo
);
/**
* 同步用戶信息
* @param uuid
* @param phoneNo
* @param name
* @param idNo
*/
boolean
pushUser
(
String
uuid
,
String
phoneNo
,
String
name
,
String
idNo
);
}
}
src/main/java/cn/quantgroup/xyqb/service/user/impl/LkbUserviceImpl.java
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.user.ILkbUserService
;
import
cn.quantgroup.xyqb.service.user.ILkbUserService
;
import
cn.quantgroup.xyqb.util.JsonUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.ImmutableMap
;
import
com.google.common.collect.ImmutableMap
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -14,6 +17,7 @@ import org.springframework.scheduling.annotation.Async;
...
@@ -14,6 +17,7 @@ import org.springframework.scheduling.annotation.Async;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Optional
;
/**
/**
...
@@ -21,60 +25,91 @@ import java.util.Map;
...
@@ -21,60 +25,91 @@ import java.util.Map;
* @time 2015-08-19 18:20
* @time 2015-08-19 18:20
*/
*/
@Service
@Service
@Slf4j
public
class
LkbUserviceImpl
implements
ILkbUserService
{
public
class
LkbUserviceImpl
implements
ILkbUserService
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
LkbUserviceImpl
.
class
);
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
LkbUserviceImpl
.
class
);
private
static
final
String
TOKEN_PATTERN
=
"timeunit=%sappkey=lkb010203#$%%"
;
private
static
final
String
TOKEN_PATTERN
=
"timeunit=%sappkey=lkb010203#$%%"
;
@Autowired
@Autowired
private
IHttpService
httpService
;
private
IHttpService
httpService
;
@Value
(
"${lkb.client.url}"
)
@Value
(
"${lkb.client.url}"
)
private
String
clientUrl
;
private
String
clientUrl
;
@Value
(
"${lkb.client.user.register.app}"
)
@Value
(
"${lkb.client.user.register.app}"
)
private
String
registerApp
;
private
String
registerApp
;
@Value
(
"${lkb.client.user.update}"
)
@Value
(
"${lkb.client.user.update}"
)
private
String
userUpdate
;
private
String
userUpdate
;
@Override
@Value
(
"${lkb.client.user.push}"
)
public
String
registerApp
(
String
phoneNo
,
String
password
)
{
private
String
userPushPath
;
String
timeunit
=
System
.
currentTimeMillis
()
+
""
;
String
token
=
PasswordUtil
.
MD5
(
String
.
format
(
TOKEN_PATTERN
,
timeunit
));
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
@Override
.
put
(
"appId"
,
Constants
.
Channel
.
LKB_CODE
)
public
String
registerApp
(
String
phoneNo
,
String
password
)
{
.
put
(
"timeunit"
,
timeunit
)
String
timeunit
=
System
.
currentTimeMillis
()
+
""
;
.
put
(
"token"
,
token
)
String
token
=
PasswordUtil
.
MD5
(
String
.
format
(
TOKEN_PATTERN
,
timeunit
));
.
put
(
"userName"
,
phoneNo
)
.
put
(
"password"
,
password
)
.
build
();
String
response
=
httpService
.
get
(
clientUrl
+
registerApp
,
parameters
);
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
Map
<
String
,
String
>
result
=
JSONObject
.
parseObject
(
response
,
Map
.
class
);
.
put
(
"appId"
,
Constants
.
Channel
.
LKB_CODE
)
if
(
result
==
null
||
"0"
.
equals
(
result
.
get
(
"flag"
)))
{
.
put
(
"timeunit"
,
timeunit
)
LOGGER
.
warn
(
"向LKB注册用户失败, phoneNo:{}, password:{}"
,
phoneNo
,
password
);
.
put
(
"token"
,
token
)
return
""
;
.
put
(
"userName"
,
phoneNo
)
.
put
(
"password"
,
password
)
.
build
();
String
response
=
httpService
.
get
(
clientUrl
+
registerApp
,
parameters
);
Map
<
String
,
String
>
result
=
JSONObject
.
parseObject
(
response
,
Map
.
class
);
if
(
result
==
null
||
"0"
.
equals
(
result
.
get
(
"flag"
)))
{
LOGGER
.
warn
(
"向LKB注册用户失败, phoneNo:{}, password:{}"
,
phoneNo
,
password
);
return
""
;
}
return
result
.
get
(
"uid"
);
}
@Override
@Async
public
void
userUpdate
(
String
uuid
,
String
name
,
String
idNo
)
{
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
.
put
(
"userId"
,
uuid
)
.
put
(
"realName"
,
name
)
.
put
(
"idcard"
,
idNo
)
.
build
();
String
response
=
httpService
.
get
(
clientUrl
+
userUpdate
,
parameters
);
//Map<String, String> result = GSON.fromJson(response, Map.class);
Map
<
String
,
String
>
result
=
JSONObject
.
parseObject
(
response
,
Map
.
class
);
if
(
result
==
null
||
"false"
.
equals
(
result
.
get
(
"flag"
)))
{
LOGGER
.
warn
(
"向LKB-Client同步用户信息失败, result: {}"
,
result
);
}
}
}
return
result
.
get
(
"uid"
);
}
@Override
public
boolean
pushUser
(
String
uuid
,
String
phoneNo
)
{
@Override
return
pushUser
(
uuid
,
phoneNo
,
null
,
null
);
@Async
}
public
void
userUpdate
(
String
uuid
,
String
name
,
String
idNo
)
{
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
@Override
.
put
(
"userId"
,
uuid
)
public
boolean
pushUser
(
String
uuid
,
String
phoneNo
,
String
name
,
String
idNo
)
{
.
put
(
"realName"
,
name
)
String
timeunit
=
System
.
currentTimeMillis
()
+
""
;
.
put
(
"idcard"
,
idNo
)
String
token
=
PasswordUtil
.
MD5
(
String
.
format
(
TOKEN_PATTERN
,
timeunit
));
.
build
();
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
.
put
(
"appId"
,
Constants
.
Channel
.
LKB_CODE
)
String
response
=
httpService
.
get
(
clientUrl
+
userUpdate
,
parameters
);
.
put
(
"timeunit"
,
timeunit
)
//Map<String, String> result = GSON.fromJson(response, Map.class);
.
put
(
"token"
,
token
)
Map
<
String
,
String
>
result
=
JSONObject
.
parseObject
(
response
,
Map
.
class
);
.
put
(
"userId"
,
uuid
)
if
(
result
==
null
||
"false"
.
equals
(
result
.
get
(
"flag"
)))
{
.
put
(
"loginName"
,
phoneNo
)
LOGGER
.
warn
(
"向LKB-Client同步用户信息失败, result: {}"
,
result
);
.
put
(
"realName"
,
name
)
.
put
(
"idCardNo"
,
idNo
)
.
build
();
String
response
=
httpService
.
get
(
clientUrl
+
userPushPath
,
parameters
);
Optional
<
Map
>
resultOptional
=
JsonUtil
.
fromJson
(
response
,
Map
.
class
);
if
(!
resultOptional
.
isPresent
()
||
"0"
.
equals
(
resultOptional
.
get
().
get
(
"code"
)))
{
LOGGER
.
error
(
"[lkb_user][lkb_user_push]向LKB同步用户失败, phoneNo:{},response={}"
,
phoneNo
,
response
);
return
false
;
}
return
true
;
}
}
}
}
}
src/main/java/cn/quantgroup/xyqb/util/JsonUtil.java
0 → 100644
View file @
c548ffe7
package
cn
.
quantgroup
.
xyqb
.
util
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Optional
;
/**
* Created by liqing on 2017/12/4 0004.
*/
@Slf4j
public
class
JsonUtil
{
/**
* 转换json为对象
* @param jsonStr
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
Optional
<
T
>
fromJson
(
String
jsonStr
,
Class
<
T
>
clazz
)
{
try
{
return
Optional
.
ofNullable
(
JSONObject
.
parseObject
(
jsonStr
,
clazz
));
}
catch
(
Exception
e
)
{
log
.
error
(
"[exception][fromJson_exception]error={}"
,
e
);
}
return
Optional
.
empty
();
}
/**
* 将对象转成json字符串
* @param object
* @return
*/
public
static
String
toJson
(
Object
object
)
{
return
JSONObject
.
toJSONString
(
object
);
}
}
src/main/resources/config/dev/xyqb.properties
View file @
c548ffe7
...
@@ -31,9 +31,10 @@ xyqb.redis.sentinel3.port=0
...
@@ -31,9 +31,10 @@ xyqb.redis.sentinel3.port=0
sms.is.debug
=
1
sms.is.debug
=
1
# LKB client
# LKB client
lkb.client.url
=
http://192.168.4.193:808
3
/LKBClient/openapi
lkb.client.url
=
http://192.168.4.193:808
2
/LKBClient/openapi
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.update
=
/new/register/updateUser.json
lkb.client.user.update
=
/new/register/updateUser.json
lkb.client.user.push
=
/user/push.json
# LKB import
# LKB import
...
...
src/main/resources/config/release01/xyqb.properties
View file @
c548ffe7
...
@@ -21,6 +21,7 @@ sms.is.debug=0
...
@@ -21,6 +21,7 @@ sms.is.debug=0
lkb.client.url
=
http://openapi.quantgroup.cn/LKBClient/openapi
lkb.client.url
=
http://openapi.quantgroup.cn/LKBClient/openapi
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.update
=
/new/register/updateUser.json
lkb.client.user.update
=
/new/register/updateUser.json
lkb.client.user.push
=
/user/push.json
# LKB import
# LKB import
lkb.import.url
=
http://spider.quantgroup.cn
lkb.import.url
=
http://spider.quantgroup.cn
# LKB
# LKB
...
...
src/main/resources/config/test/xyqb.properties
View file @
c548ffe7
...
@@ -24,6 +24,7 @@ sms.is.debug=1
...
@@ -24,6 +24,7 @@ sms.is.debug=1
lkb.client.url
=
http://192.168.192.251:8082/LKBClient/openapi
lkb.client.url
=
http://192.168.192.251:8082/LKBClient/openapi
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.update
=
/new/register/updateUser.json
lkb.client.user.update
=
/new/register/updateUser.json
lkb.client.user.push
=
/user/push.json
# LKB import
# LKB import
lkb.import.url
=
http://spider.quantgroup.cn
lkb.import.url
=
http://spider.quantgroup.cn
# LKB
# LKB
...
...
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