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
57e9afca
Commit
57e9afca
authored
Jun 29, 2018
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成研发,提交自测
parent
d491a5c4
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
393 additions
and
980 deletions
+393
-980
pom.xml
pom.xml
+5
-0
SwaggerConfig.java
...java/cn/quantgroup/xyqb/config/swagger/SwaggerConfig.java
+3
-19
AppController.java
...antgroup/xyqb/controller/external/user/AppController.java
+18
-33
InnerController.java
...tgroup/xyqb/controller/external/user/InnerController.java
+44
-32
WeChatController.java
...group/xyqb/controller/external/user/WeChatController.java
+32
-25
AuthInfoController.java
...up/xyqb/controller/internal/login/AuthInfoController.java
+1
-1
UserController.java
...ntgroup/xyqb/controller/internal/user/UserController.java
+29
-32
DetailRegisteredEventListener.java
.../quantgroup/xyqb/event/DetailRegisteredEventListener.java
+20
-10
MQRegisteredEventListener.java
...a/cn/quantgroup/xyqb/event/MQRegisteredEventListener.java
+14
-2
RegisterEvent.java
src/main/java/cn/quantgroup/xyqb/event/RegisterEvent.java
+4
-4
StatisticsEvent.java
src/main/java/cn/quantgroup/xyqb/event/StatisticsEvent.java
+54
-0
JsonResult.java
src/main/java/cn/quantgroup/xyqb/model/JsonResult.java
+34
-45
LoginProperties.java
src/main/java/cn/quantgroup/xyqb/model/LoginProperties.java
+20
-2
UserRegisterParam.java
...main/java/cn/quantgroup/xyqb/model/UserRegisterParam.java
+6
-5
UserRet.java
src/main/java/cn/quantgroup/xyqb/model/UserRet.java
+7
-2
AbstractUserRegisterService.java
...up/xyqb/service/register/AbstractUserRegisterService.java
+0
-112
IUserRegisterService.java
...uantgroup/xyqb/service/register/IUserRegisterService.java
+2
-21
AbstractUserRegisterHandler.java
...service/register/handler/AbstractUserRegisterHandler.java
+0
-18
AddressUserRegisterHandler.java
...ice/register/handler/impl/AddressUserRegisterHandler.java
+0
-46
BaseUserRegisterHandler.java
...ervice/register/handler/impl/BaseUserRegisterHandler.java
+0
-103
BtUserRegisterHandler.java
.../service/register/handler/impl/BtUserRegisterHandler.java
+0
-55
ContactUserRegisterHandler.java
...ice/register/handler/impl/ContactUserRegisterHandler.java
+0
-76
DetailUserRegisterHandler.java
...vice/register/handler/impl/DetailUserRegisterHandler.java
+0
-79
MqUserRegisterHandler.java
.../service/register/handler/impl/MqUserRegisterHandler.java
+0
-55
SmsUserRegisterHandler.java
...service/register/handler/impl/SmsUserRegisterHandler.java
+0
-96
UserRegisterServiceImpl.java
...p/xyqb/service/register/impl/UserRegisterServiceImpl.java
+19
-27
ISessionService.java
...a/cn/quantgroup/xyqb/service/session/ISessionService.java
+3
-15
UserBtRegisterFillAspect.java
...xyqb/service/session/aspect/UserBtRegisterFillAspect.java
+1
-1
SessionServiceImpl.java
...ntgroup/xyqb/service/session/impl/SessionServiceImpl.java
+52
-43
UserServiceImpl.java
...cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
+19
-16
MqUtils.java
src/main/java/cn/quantgroup/xyqb/util/MqUtils.java
+6
-5
No files found.
pom.xml
View file @
57e9afca
...
@@ -325,6 +325,11 @@
...
@@ -325,6 +325,11 @@
<artifactId>
aspectjweaver
</artifactId>
<artifactId>
aspectjweaver
</artifactId>
<version>
1.8.13
</version>
<version>
1.8.13
</version>
</dependency>
</dependency>
<dependency>
<groupId>
rulai-acolyte
</groupId>
<artifactId>
acolyte-buddhistscriptures
</artifactId>
<version>
1.1
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/cn/quantgroup/xyqb/config/swagger/SwaggerConfig.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
config
.
swagger
;
package
cn
.
quantgroup
.
xyqb
.
config
.
swagger
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.databind.DeserializationFeature
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.SerializationFeature
;
import
com.google.common.base.Predicates
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Component
;
import
com.google.common.base.Predicates
;
import
io.swagger.annotations.ApiOperation
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
...
@@ -54,16 +49,5 @@ public class SwaggerConfig {
...
@@ -54,16 +49,5 @@ public class SwaggerConfig {
.
build
();
.
build
();
}
}
@Component
@Primary
public
class
CustomObjectMapper
extends
ObjectMapper
{
public
CustomObjectMapper
()
{
setSerializationInclusion
(
JsonInclude
.
Include
.
NON_NULL
);
configure
(
SerializationFeature
.
FAIL_ON_EMPTY_BEANS
,
false
);
configure
(
SerializationFeature
.
WRITE_DATES_AS_TIMESTAMPS
,
false
);
configure
(
DeserializationFeature
.
FAIL_ON_UNKNOWN_PROPERTIES
,
false
);
enable
(
SerializationFeature
.
INDENT_OUTPUT
);
}
}
}
}
src/main/java/cn/quantgroup/xyqb/controller/external/user/AppController.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
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.model.*
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.UserRet
;
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.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
...
@@ -12,17 +26,7 @@ import cn.quantgroup.xyqb.service.register.IUserRegisterService;
...
@@ -12,17 +26,7 @@ import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.IPUtil
;
import
cn.quantgroup.xyqb.util.IPUtil
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
static
cn
.
quantgroup
.
xyqb
.
constant
.
UserConstant
.
USER_ERROR_OR_PASSWORD_ERROR
;
import
static
cn
.
quantgroup
.
xyqb
.
constant
.
UserConstant
.
USER_ERROR_OR_PASSWORD_ERROR
;
...
@@ -90,11 +94,7 @@ public class AppController implements IBaseController {
...
@@ -90,11 +94,7 @@ public class AppController implements IBaseController {
if
(
merchant
==
null
)
{
if
(
merchant
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"无效的商户"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"无效的商户"
,
null
);
}
}
LoginProperties
loginProperties
=
new
LoginProperties
();
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
channelId
,
registerFrom
,
appChannel
,
merchant
.
getId
(),
merchant
.
getName
());
loginProperties
.
setMerchantName
(
merchant
.
getName
());
loginProperties
.
setChannelId
(
channelId
);
loginProperties
.
setCreatedFrom
(
registerFrom
);
loginProperties
.
setAppChannel
(
appChannel
);
SessionStruct
sessionStruct
=
sessionService
.
createSessionAndPersist
(
user
,
loginProperties
);
SessionStruct
sessionStruct
=
sessionService
.
createSessionAndPersist
(
user
,
loginProperties
);
AuthBean
bean
=
new
AuthBean
();
AuthBean
bean
=
new
AuthBean
();
bean
.
setToken
(
sessionStruct
.
getSid
());
bean
.
setToken
(
sessionStruct
.
getSid
());
...
@@ -148,11 +148,7 @@ public class AppController implements IBaseController {
...
@@ -148,11 +148,7 @@ public class AppController implements IBaseController {
if
(
merchant
==
null
)
{
if
(
merchant
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"无效的商户"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"无效的商户"
,
null
);
}
}
LoginProperties
loginProperties
=
new
LoginProperties
();
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
channelId
,
registerFrom
,
appChannel
,
merchant
.
getId
(),
merchant
.
getName
());
loginProperties
.
setMerchantName
(
merchant
.
getName
());
loginProperties
.
setChannelId
(
channelId
);
loginProperties
.
setCreatedFrom
(
registerFrom
);
loginProperties
.
setAppChannel
(
appChannel
);
SessionStruct
sessionStruct
=
sessionService
.
createSessionAndPersist
(
user
,
loginProperties
);
SessionStruct
sessionStruct
=
sessionService
.
createSessionAndPersist
(
user
,
loginProperties
);
LoginInfo
loginInfo
=
new
LoginInfo
();
LoginInfo
loginInfo
=
new
LoginInfo
();
loginInfo
.
setUser
(
new
UserRet
(
user
));
loginInfo
.
setUser
(
new
UserRet
(
user
));
...
@@ -163,14 +159,6 @@ public class AppController implements IBaseController {
...
@@ -163,14 +159,6 @@ public class AppController implements IBaseController {
context
.
setAppChannel
(
appChannel
);
context
.
setAppChannel
(
appChannel
);
loginInfo
.
setLoginContext
(
context
);
loginInfo
.
setLoginContext
(
context
);
LOGGER
.
info
(
"第三方用户获取信息登录成功 [AppController] loginSuper --> loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}"
,
registerFrom
,
phoneNo
,
appChannel
,
channelId
);
LOGGER
.
info
(
"第三方用户获取信息登录成功 [AppController] loginSuper --> loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}"
,
registerFrom
,
phoneNo
,
appChannel
,
channelId
);
/*
* 部分免密渠道登录统计,用户中心不需识别,由统计平台来过滤
* 贷款导航(84660);壹账通H5(159384)
*/
user
.
setRegisteredFrom
(
registerFrom
);
UserStatistics
statistics
=
new
UserStatistics
(
user
,
null
,
4
,
channelId
);
//增加登陆统计发送
MqUtils
.
sendLoanVest
(
statistics
);
return
JsonResult
.
buildSuccessResult
(
""
,
loginInfo
);
return
JsonResult
.
buildSuccessResult
(
""
,
loginInfo
);
}
}
...
@@ -207,10 +195,7 @@ public class AppController implements IBaseController {
...
@@ -207,10 +195,7 @@ public class AppController implements IBaseController {
if
(!
user
.
getEnable
())
{
if
(!
user
.
getEnable
())
{
return
JsonResult
.
buildErrorStateResult
(
"登录失败"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"登录失败"
,
null
);
}
}
LoginProperties
loginProperties
=
new
LoginProperties
();
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
channelId
,
registerFrom
,
appChannel
,
null
,
""
);
loginProperties
.
setChannelId
(
channelId
);
loginProperties
.
setCreatedFrom
(
registerFrom
);
loginProperties
.
setAppChannel
(
appChannel
);
SessionStruct
sessionStruct
=
sessionService
.
createSessionAndPersist
(
user
,
loginProperties
);
SessionStruct
sessionStruct
=
sessionService
.
createSessionAndPersist
(
user
,
loginProperties
);
AuthBean
bean
=
new
AuthBean
();
AuthBean
bean
=
new
AuthBean
();
bean
.
setToken
(
sessionStruct
.
getSid
());
bean
.
setToken
(
sessionStruct
.
getSid
());
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/InnerController.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
import
java.io.UnsupportedEncodingException
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.constraints.Min
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.http.HttpStatus
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.google.common.base.MoreObjects
;
import
com.google.common.collect.Maps
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.Login
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.tech.db.DSType
;
import
cn.quantgroup.tech.db.DSType
;
import
cn.quantgroup.tech.db.TargetDataSource
;
import
cn.quantgroup.tech.db.TargetDataSource
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.user.enums.Relation
;
...
@@ -7,6 +41,7 @@ import cn.quantgroup.xyqb.Constants;
...
@@ -7,6 +41,7 @@ import cn.quantgroup.xyqb.Constants;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.entity.*
;
import
cn.quantgroup.xyqb.entity.*
;
import
cn.quantgroup.xyqb.entity.enumerate.*
;
import
cn.quantgroup.xyqb.entity.enumerate.*
;
import
cn.quantgroup.xyqb.event.StatisticsEvent
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.service.api.IUserApiService
;
import
cn.quantgroup.xyqb.service.api.IUserApiService
;
...
@@ -21,31 +56,6 @@ import cn.quantgroup.xyqb.service.wechat.IWechatService;
...
@@ -21,31 +56,6 @@ import cn.quantgroup.xyqb.service.wechat.IWechatService;
import
cn.quantgroup.xyqb.util.*
;
import
cn.quantgroup.xyqb.util.*
;
import
cn.quantgroup.xyqb.util.encrypt.MD5Util
;
import
cn.quantgroup.xyqb.util.encrypt.MD5Util
;
import
cn.quantgroup.xyqb.validator.ChineseName
;
import
cn.quantgroup.xyqb.validator.ChineseName
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.google.common.base.MoreObjects
;
import
com.google.common.collect.Maps
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.http.HttpStatus
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.constraints.Min
;
import
java.io.UnsupportedEncodingException
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -85,6 +95,8 @@ public class InnerController implements IBaseController {
...
@@ -85,6 +95,8 @@ public class InnerController implements IBaseController {
private
ISmsService
smsService
;
private
ISmsService
smsService
;
@Autowired
@Autowired
private
IUserRegisterService
userRegisterService
;
private
IUserRegisterService
userRegisterService
;
@Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
private
static
final
char
[]
PWD_BASE
=
{
private
static
final
char
[]
PWD_BASE
=
{
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
...
@@ -213,11 +225,7 @@ public class InnerController implements IBaseController {
...
@@ -213,11 +225,7 @@ public class InnerController implements IBaseController {
user
.
setUuid
(
uuid
);
user
.
setUuid
(
uuid
);
user
.
setPassword
(
password
);
user
.
setPassword
(
password
);
user
=
userService
.
saveUser
(
user
);
user
=
userService
.
saveUser
(
user
);
UserRet
userRet
=
null
;
return
JsonResult
.
buildSuccessResult
(
null
,
new
UserRet
(
user
));
if
(
user
!=
null
)
{
userRet
=
MqUtils
.
sendRegisterMessage
(
registeredFrom
,
null
,
user
);
}
return
JsonResult
.
buildSuccessResult
(
null
,
userRet
);
}
}
/**
/**
...
@@ -1093,7 +1101,7 @@ public class InnerController implements IBaseController {
...
@@ -1093,7 +1101,7 @@ public class InnerController implements IBaseController {
}
}
/**
/**
* 验证手机号和验证码是否匹配
*
技术网关 -
验证手机号和验证码是否匹配
* 仅供可信任的内部服务调用,不执行限次记数、销毁等安全策略
* 仅供可信任的内部服务调用,不执行限次记数、销毁等安全策略
* 注意:只使用于快速登录类似场景调用
* 注意:只使用于快速登录类似场景调用
*
*
...
@@ -1145,9 +1153,13 @@ public class InnerController implements IBaseController {
...
@@ -1145,9 +1153,13 @@ public class InnerController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"用户不存在"
,
""
);
return
JsonResult
.
buildErrorStateResult
(
"用户不存在"
,
""
);
}
}
}
}
//
增加登陆统计发送
//
推送老的登陆统计信息
UserStatistics
statistics
=
new
UserStatistics
(
user
,
dimension
,
3
,
channelId
);
UserStatistics
statistics
=
new
UserStatistics
(
user
,
dimension
,
3
,
channelId
);
MqUtils
.
sendLoanVest
(
statistics
);
MqUtils
.
sendLoanVest
(
statistics
);
// 发布新的登录统计信息事件
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
Login
login
=
new
Login
(
user
.
getId
(),
createdFrom
,
channelId
,
IPUtil
.
getRemoteIP
(
request
),
3
,
System
.
currentTimeMillis
());
applicationEventPublisher
.
publishEvent
(
new
StatisticsEvent
(
this
,
login
));
return
JsonResult
.
buildSuccessResult
(
"校验成功"
,
new
UserRet
(
user
));
return
JsonResult
.
buildSuccessResult
(
"校验成功"
,
new
UserRet
(
user
));
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/WeChatController.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
external
.
user
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.google.common.base.Joiner
;
import
com.google.common.collect.ImmutableList
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
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.WechatUserInfo
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.webchat.AccessTokenResponse
;
import
cn.quantgroup.xyqb.model.webchat.AccessTokenResponse
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
...
@@ -13,28 +40,6 @@ import cn.quantgroup.xyqb.service.session.ISessionService;
...
@@ -13,28 +40,6 @@ import cn.quantgroup.xyqb.service.session.ISessionService;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.util.EmojiUtil
;
import
cn.quantgroup.xyqb.util.EmojiUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.google.common.base.Joiner
;
import
com.google.common.collect.ImmutableList
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.*
;
/**
/**
* Created by 11 on 2017/1/17.
* Created by 11 on 2017/1/17.
...
@@ -291,19 +296,20 @@ public class WeChatController implements IBaseController {
...
@@ -291,19 +296,20 @@ public class WeChatController implements IBaseController {
private
String
createUserSession
(
User
user
,
Merchant
merchant
,
String
redirect
,
String
domain
,
Long
registerFrom
)
{
private
String
createUserSession
(
User
user
,
Merchant
merchant
,
String
redirect
,
String
domain
,
Long
registerFrom
)
{
LOGGER
.
info
(
"[WeChatController][createUserSession]微信授权及跳转:user:{},merchant:{},redirect:{},domain:{},registerFrom:{}"
,
user
,
merchant
,
redirect
,
domain
,
registerFrom
);
LOGGER
.
info
(
"[WeChatController][createUserSession]微信授权及跳转:user:{},merchant:{},redirect:{},domain:{},registerFrom:{}"
,
user
,
merchant
,
redirect
,
domain
,
registerFrom
);
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
Constants
.
Channel
.
WECHAT
,
registerFrom
,
String
.
valueOf
(
Constants
.
Channel
.
WECHAT
),
merchant
.
getId
(),
merchant
.
getName
());
if
(
StringUtils
.
isEmpty
(
redirect
)
||
"redirect"
.
equals
(
redirect
))
{
if
(
StringUtils
.
isEmpty
(
redirect
)
||
"redirect"
.
equals
(
redirect
))
{
LOGGER
.
info
(
"微信登录:redirect为null,走正常流程."
);
LOGGER
.
info
(
"微信登录:redirect为null,走正常流程."
);
if
(
"baitiao"
.
equals
(
merchant
.
getName
()))
{
if
(
"baitiao"
.
equals
(
merchant
.
getName
()))
{
return
loginInWechatWithSessionCreated
(
user
,
merchant
,
"cashTarget5"
,
Constants
.
Channel
.
BAITIAO
,
domain
,
Constants
.
Channel
.
WECHAT
);
return
loginInWechatWithSessionCreated
(
user
,
merchant
,
"cashTarget5"
,
Constants
.
Channel
.
BAITIAO
,
domain
,
Constants
.
Channel
.
WECHAT
);
}
else
if
(
"wechat-pay"
.
equals
(
merchant
.
getName
()))
{
}
else
if
(
"wechat-pay"
.
equals
(
merchant
.
getName
()))
{
AuthBean
authBean
=
sessionService
.
createSession
(
Constants
.
Channel
.
WECHAT
,
registerFrom
,
""
,
user
,
merchant
);
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
);
return
domain
+
"/landing?token="
+
authBean
.
getToken
()
+
"®isterFrom="
+
registerFrom
+
"&channelId="
+
Constants
.
Channel
.
WECHAT
+
"&key="
+
merchant
.
getName
()
+
"&target=cashTarget5"
;
return
domain
+
"/landing?token="
+
authBean
.
getToken
()
+
"®isterFrom="
+
registerFrom
+
"&channelId="
+
Constants
.
Channel
.
WECHAT
+
"&key="
+
merchant
.
getName
()
+
"&target=cashTarget5"
;
}
else
{
}
else
{
return
loginInWechatWithSessionCreated
(
user
,
merchant
,
"cashTarget4"
,
1L
,
domain
,
registerFrom
);
return
loginInWechatWithSessionCreated
(
user
,
merchant
,
"cashTarget4"
,
1L
,
domain
,
registerFrom
);
}
}
}
else
if
(
"local"
.
equals
(
redirect
))
{
}
else
if
(
"local"
.
equals
(
redirect
))
{
LOGGER
.
info
(
"微信登录:redirect不为null,创建session跳到指定前端页面."
);
LOGGER
.
info
(
"微信登录:redirect不为null,创建session跳到指定前端页面."
);
AuthBean
authBean
=
sessionService
.
createSession
(
Constants
.
Channel
.
WECHAT
,
Constants
.
Channel
.
WECHAT
,
""
,
user
,
merchant
);
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
);
LOGGER
.
info
(
"微信登录:跳转地址{}"
,
domain
+
"/weixin/callback?phoneNo="
+
user
.
getPhoneNo
()
+
"&token="
+
authBean
.
getToken
());
LOGGER
.
info
(
"微信登录:跳转地址{}"
,
domain
+
"/weixin/callback?phoneNo="
+
user
.
getPhoneNo
()
+
"&token="
+
authBean
.
getToken
());
Long
channelId
=
"baitiao"
.
equals
(
merchant
.
getName
())
?
222L
:
1L
;
Long
channelId
=
"baitiao"
.
equals
(
merchant
.
getName
())
?
222L
:
1L
;
String
target
=
"baitiao"
.
equals
(
merchant
.
getName
())
?
"cashTarget5"
:
"cashTarget4"
;
String
target
=
"baitiao"
.
equals
(
merchant
.
getName
())
?
"cashTarget5"
:
"cashTarget4"
;
...
@@ -314,7 +320,8 @@ public class WeChatController implements IBaseController {
...
@@ -314,7 +320,8 @@ public class WeChatController implements IBaseController {
}
}
private
String
loginInWechatWithSessionCreated
(
User
user
,
Merchant
merchant
,
String
target
,
Long
channelId
,
String
domain
,
Long
registerFrom
)
{
private
String
loginInWechatWithSessionCreated
(
User
user
,
Merchant
merchant
,
String
target
,
Long
channelId
,
String
domain
,
Long
registerFrom
)
{
AuthBean
authBean
=
sessionService
.
createSession
(
channelId
,
registerFrom
,
""
,
user
,
merchant
);
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
channelId
,
registerFrom
,
String
.
valueOf
(
Constants
.
Channel
.
WECHAT
),
merchant
.
getId
(),
merchant
.
getName
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
);
LOGGER
.
info
(
"[WeChatController][loginInWechatWithSessionCreated]微信授权及跳转:user:{},merchant:{},target:{},channelId:{},domain:{},registerFrom:{}"
,
user
,
merchant
,
target
,
channelId
,
domain
,
registerFrom
);
LOGGER
.
info
(
"[WeChatController][loginInWechatWithSessionCreated]微信授权及跳转:user:{},merchant:{},target:{},channelId:{},domain:{},registerFrom:{}"
,
user
,
merchant
,
target
,
channelId
,
domain
,
registerFrom
);
return
domain
+
"/landing?token="
+
authBean
.
getToken
()
+
"®isterFrom="
+
registerFrom
+
"&channelId="
+
channelId
+
"&key="
+
merchant
.
getName
()
+
"&target="
+
target
;
return
domain
+
"/landing?token="
+
authBean
.
getToken
()
+
"®isterFrom="
+
registerFrom
+
"&channelId="
+
channelId
+
"&key="
+
merchant
.
getName
()
+
"&target="
+
target
;
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/login/AuthInfoController.java
View file @
57e9afca
...
@@ -36,7 +36,7 @@ public class AuthInfoController implements IBaseController {
...
@@ -36,7 +36,7 @@ public class AuthInfoController implements IBaseController {
context
.
setChannelId
(
sessionStruct
.
getValues
().
getLoginProperties
().
getChannelId
());
context
.
setChannelId
(
sessionStruct
.
getValues
().
getLoginProperties
().
getChannelId
());
context
.
setCreatedFrom
(
sessionStruct
.
getValues
().
getLoginProperties
().
getCreatedFrom
());
context
.
setCreatedFrom
(
sessionStruct
.
getValues
().
getLoginProperties
().
getCreatedFrom
());
context
.
setAppChannel
(
sessionStruct
.
getValues
().
getLoginProperties
().
getAppChannel
());
context
.
setAppChannel
(
sessionStruct
.
getValues
().
getLoginProperties
().
getAppChannel
());
context
.
setBtMerchantId
(
sessionStruct
.
getValues
().
getLoginProperties
().
get
Bt
MerchantId
());
context
.
setBtMerchantId
(
sessionStruct
.
getValues
().
getLoginProperties
().
getMerchantId
());
//有ThreadLocal不释放的问题,不可再使用原来方式了
//有ThreadLocal不释放的问题,不可再使用原来方式了
loginInfo
.
setLoginContext
(
context
);
loginInfo
.
setLoginContext
(
context
);
log
.
info
(
"[/auth/info/login] SessionStruct数据:{}, LoginInfo数据:{}"
,
JSONObject
.
toJSONString
(
sessionStruct
),
JSONObject
.
toJSONString
(
loginInfo
));
log
.
info
(
"[/auth/info/login] SessionStruct数据:{}, LoginInfo数据:{}"
,
JSONObject
.
toJSONString
(
sessionStruct
),
JSONObject
.
toJSONString
(
loginInfo
));
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/UserController.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
import
java.io.UnsupportedEncodingException
;
import
java.nio.charset.Charset
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.tech.util.TechEnvironment
;
import
cn.quantgroup.tech.util.TechEnvironment
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator
;
import
cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator
;
...
@@ -11,8 +33,8 @@ import cn.quantgroup.xyqb.entity.UserDetail;
...
@@ -11,8 +33,8 @@ import cn.quantgroup.xyqb.entity.UserDetail;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.VerificationCodeErrorException
;
import
cn.quantgroup.xyqb.exception.VerificationCodeErrorException
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.UserModel
;
import
cn.quantgroup.xyqb.model.UserModel
;
import
cn.quantgroup.xyqb.model.UserStatistics
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
...
@@ -25,24 +47,6 @@ import cn.quantgroup.xyqb.util.IPUtil;
...
@@ -25,24 +47,6 @@ import cn.quantgroup.xyqb.util.IPUtil;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.UnsupportedEncodingException
;
import
java.nio.charset.Charset
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
/**
/**
* Http服务接口:用户注册、登录、重置密码
* Http服务接口:用户注册、登录、重置密码
...
@@ -198,10 +202,8 @@ public class UserController implements IBaseController {
...
@@ -198,10 +202,8 @@ public class UserController implements IBaseController {
if
(!
wechatRelateUserIfNecessary
(
user
,
request
))
{
if
(!
wechatRelateUserIfNecessary
(
user
,
request
))
{
return
JsonResult
.
buildErrorStateResult
(
"登录时微信关联失败"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"登录时微信关联失败"
,
null
);
}
}
//增加登陆统计发送
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
3
,
channelId
,
createdFrom
,
appChannel
,
merchant
.
getId
(),
merchant
.
getName
());
UserStatistics
statistics
=
new
UserStatistics
(
user
,
dimension
,
3
,
channelId
);
return
new
JsonResult
(
sessionService
.
createSession
(
user
,
loginProperties
));
MqUtils
.
sendLoanVest
(
statistics
);
return
new
JsonResult
(
sessionService
.
createSession
(
channelId
,
createdFrom
,
appChannel
,
user
,
merchant
));
}
}
/**
/**
...
@@ -391,11 +393,8 @@ public class UserController implements IBaseController {
...
@@ -391,11 +393,8 @@ public class UserController implements IBaseController {
}
else
if
(!
wechatRelateUserIfNecessary
(
user
,
request
))
{
}
else
if
(!
wechatRelateUserIfNecessary
(
user
,
request
))
{
return
JsonResult
.
buildErrorStateResult
(
"登录时微信关联失败"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"登录时微信关联失败"
,
null
);
}
}
//增加登陆统计发送
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
1
,
channelId
,
createdFrom
,
appChannel
,
merchant
.
getId
(),
merchant
.
getName
());
UserStatistics
statistics
=
new
UserStatistics
(
user
,
dimension
,
1
,
channelId
);
return
new
JsonResult
(
sessionService
.
createSession
(
user
,
loginProperties
));
MqUtils
.
sendLoanVest
(
statistics
);
log
.
info
(
"用户登陆成功phonNo:{},当前ip:{},用户登陆信息:{}"
,
user
.
getPhoneNo
(),
IPUtil
.
getRemoteIP
(
request
),
statistics
);
return
new
JsonResult
(
sessionService
.
createSession
(
channelId
,
createdFrom
,
appChannel
,
user
,
merchant
));
}
}
private
User
verificateUserNameAndPassword
(
HttpServletRequest
request
)
{
private
User
verificateUserNameAndPassword
(
HttpServletRequest
request
)
{
...
@@ -455,11 +454,9 @@ public class UserController implements IBaseController {
...
@@ -455,11 +454,9 @@ public class UserController implements IBaseController {
}
else
if
(!
wechatRelateUserIfNecessary
(
user
,
request
))
{
}
else
if
(!
wechatRelateUserIfNecessary
(
user
,
request
))
{
return
JsonResult
.
buildErrorStateResult
(
"登录时微信关联失败"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"登录时微信关联失败"
,
null
);
}
}
//增加登陆统计发送
LoginProperties
loginProperties
=
new
LoginProperties
(
""
,
4
,
channelId
,
createdFrom
,
appChannel
,
merchant
.
getId
(),
merchant
.
getName
());
UserStatistics
statistics
=
new
UserStatistics
(
user
,
dimension
,
4
,
channelId
);
MqUtils
.
sendLoanVest
(
statistics
);
//更新session
//更新session
return
new
JsonResult
(
sessionService
.
createSession
(
channelId
,
createdFrom
,
appChannel
,
user
,
merchant
));
return
new
JsonResult
(
sessionService
.
createSession
(
user
,
loginProperties
));
}
}
/**
/**
...
...
src/main/java/cn/quantgroup/xyqb/event/DetailRegisteredEventListener.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
event
;
package
cn
.
quantgroup
.
xyqb
.
event
;
import
java.sql.Timestamp
;
import
javax.annotation.Resource
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.UserRealInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.model.IdCardInfo
;
import
cn.quantgroup.xyqb.model.IdCardInfo
;
...
@@ -8,23 +21,17 @@ import cn.quantgroup.xyqb.model.UserRegisterParam;
...
@@ -8,23 +21,17 @@ import cn.quantgroup.xyqb.model.UserRegisterParam;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
java.sql.Timestamp
;
@Slf4j
@Slf4j
@Component
@Component
public
class
DetailRegisteredEventListener
implements
ApplicationListener
<
RegisterEvent
>
{
public
class
DetailRegisteredEventListener
implements
ApplicationListener
<
RegisterEvent
>
{
@Resource
@Autowired
private
IIdCardService
idCardService
;
private
IIdCardService
idCardService
;
@
Autowired
@
Resource
private
IUserDetailService
userDetailService
;
private
IUserDetailService
userDetailService
;
@Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
@Override
@Override
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
...
@@ -54,5 +61,8 @@ public class DetailRegisteredEventListener implements ApplicationListener<Regist
...
@@ -54,5 +61,8 @@ public class DetailRegisteredEventListener implements ApplicationListener<Regist
userDetail
.
setUserId
(
user
.
getId
());
userDetail
.
setUserId
(
user
.
getId
());
userDetail
.
setGender
(
cardInfo
.
getGender
());
userDetail
.
setGender
(
cardInfo
.
getGender
());
userDetailService
.
saveUserDetail
(
userDetail
);
userDetailService
.
saveUserDetail
(
userDetail
);
// 发送实名登记统计消息
UserRealInfo
userRealInfo
=
new
UserRealInfo
(
userDetail
.
getUserId
(),
userDetail
.
getName
(),
userDetail
.
getIdNo
(),
userDetail
.
getIdType
().
ordinal
());
applicationEventPublisher
.
publishEvent
(
new
StatisticsEvent
(
this
,
userRealInfo
));
}
}
}
}
src/main/java/cn/quantgroup/xyqb/event/MQRegisteredEventListener.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
event
;
package
cn
.
quantgroup
.
xyqb
.
event
;
import
javax.annotation.Resource
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.Register
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
/**
/**
* 发mq, 目前只有数据可视化分析系统需要这个
* 发mq, 目前只有数据可视化分析系统需要这个
...
@@ -13,6 +19,9 @@ import org.springframework.stereotype.Component;
...
@@ -13,6 +19,9 @@ import org.springframework.stereotype.Component;
*/
*/
@Component
@Component
public
class
MQRegisteredEventListener
implements
ApplicationListener
<
RegisterEvent
>
{
public
class
MQRegisteredEventListener
implements
ApplicationListener
<
RegisterEvent
>
{
@Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
@Override
@Override
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
public
void
onApplicationEvent
(
RegisterEvent
event
)
{
UserRegisterParam
userRegisterParam
=
event
.
getUserRegisterParam
();
UserRegisterParam
userRegisterParam
=
event
.
getUserRegisterParam
();
...
@@ -23,7 +32,10 @@ public class MQRegisteredEventListener implements ApplicationListener<RegisterEv
...
@@ -23,7 +32,10 @@ public class MQRegisteredEventListener implements ApplicationListener<RegisterEv
String
dimension
=
userRegisterParam
.
getDimension
();
String
dimension
=
userRegisterParam
.
getDimension
();
User
user
=
userRegisterParam
.
getUser
();
User
user
=
userRegisterParam
.
getUser
();
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
// 发送注册成功统计消息
MqUtils
.
sendRegisterMessage
(
channelId
,
dimension
,
user
);
MqUtils
.
sendRegisterMessage
(
channelId
,
dimension
,
user
);
Register
register
=
new
Register
(
user
.
getUuid
(),
user
.
getId
(),
user
.
getPhoneNo
(),
user
.
getRegisteredFrom
(),
channelId
,
dimension
,
user
.
getCreatedAt
().
getTime
());
applicationEventPublisher
.
publishEvent
(
new
StatisticsEvent
(
this
,
register
));
}
}
}
}
}
}
src/main/java/cn/quantgroup/xyqb/event/RegisterEvent.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
event
;
package
cn
.
quantgroup
.
xyqb
.
event
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
org.springframework.context.ApplicationEvent
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.context.ApplicationEvent
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
/**
/**
* 注册成功发送事件
* 注册成功发送事件
...
@@ -13,8 +15,6 @@ import org.springframework.context.ApplicationEvent;
...
@@ -13,8 +15,6 @@ import org.springframework.context.ApplicationEvent;
@Getter
@Getter
@Setter
@Setter
public
class
RegisterEvent
extends
ApplicationEvent
{
public
class
RegisterEvent
extends
ApplicationEvent
{
private
UserRegisterParam
userRegisterParam
;
private
UserRegisterParam
userRegisterParam
;
/**
/**
...
...
src/main/java/cn/quantgroup/xyqb/event/StatisticsEvent.java
0 → 100644
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
event
;
import
org.springframework.context.ApplicationEvent
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.Login
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.Register
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.UserRealInfo
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* 统计事件
*
* @author renwc
* @date 2018-06-26
*/
@Getter
@Setter
public
class
StatisticsEvent
extends
ApplicationEvent
{
/**
* 登录统计
*/
private
Login
login
;
/**
* 注册统计
*/
private
Register
register
;
/**
* 实名统计
*/
private
UserRealInfo
userRealInfo
;
/**
* Create a new ApplicationEvent.
*
* @param source the object on which the event initially occurred (never {@code null})
*/
public
StatisticsEvent
(
Object
source
)
{
super
(
source
);
}
public
StatisticsEvent
(
Object
source
,
Login
login
)
{
super
(
source
);
this
.
login
=
login
;
}
public
StatisticsEvent
(
Object
source
,
Register
register
)
{
super
(
source
);
this
.
register
=
register
;
}
public
StatisticsEvent
(
Object
source
,
UserRealInfo
userRealInfo
)
{
super
(
source
);
this
.
userRealInfo
=
userRealInfo
;
}
}
src/main/java/cn/quantgroup/xyqb/model/JsonResult.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
model
;
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.xyqb.Constants
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
lombok.Data
;
import
cn.quantgroup.xyqb.Constants
;
/**
/**
* Created by Miraculous on 15/7/5.
* Created by Miraculous on 15/7/5.
*/
*/
public
class
JsonResult
implements
Serializable
{
@Data
public
class
JsonResult
<
T
>
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
private
static
final
Long
SUCCESS_CODE
=
0L
;
private
static
final
Long
SUCCESS_CODE
=
0L
;
...
@@ -25,33 +30,33 @@ public class JsonResult implements Serializable {
...
@@ -25,33 +30,33 @@ public class JsonResult implements Serializable {
// 业务错误码
// 业务错误码
private
String
businessCode
=
"0000"
;
private
String
businessCode
=
"0000"
;
private
Object
data
=
null
;
private
T
data
=
null
;
public
JsonResult
()
{
public
JsonResult
()
{
}
}
public
JsonResult
(
T
data
)
{
this
.
data
=
data
;
}
/**
/**
* @param msg
* @param msg
* @param code
* @param code
* @param data
* @param data
*/
*/
public
JsonResult
(
String
msg
,
Long
code
,
Object
data
)
{
public
JsonResult
(
String
msg
,
Long
code
,
T
data
)
{
this
.
msg
=
msg
;
this
.
msg
=
msg
;
this
.
code
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
code
);
this
.
code
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
code
);
this
.
data
=
data
;
this
.
data
=
data
;
}
}
public
JsonResult
(
String
msg
,
Long
code
,
Object
data
,
Long
businessCode
)
{
public
JsonResult
(
String
msg
,
Long
code
,
T
data
,
Long
businessCode
)
{
this
.
msg
=
msg
;
this
.
msg
=
msg
;
this
.
code
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
code
);
this
.
code
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
code
);
this
.
data
=
data
;
this
.
data
=
data
;
this
.
businessCode
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
businessCode
);
this
.
businessCode
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
businessCode
);
}
}
public
JsonResult
(
Object
data
)
{
this
.
data
=
data
;
}
/**
/**
* 构造成功的JsonResult
* 构造成功的JsonResult
*
*
...
@@ -59,14 +64,18 @@ public class JsonResult implements Serializable {
...
@@ -59,14 +64,18 @@ public class JsonResult implements Serializable {
* @param data Object
* @param data Object
* @return JsonResult
* @return JsonResult
*/
*/
public
static
JsonResult
buildSuccessResult
(
String
msg
,
Object
data
)
{
public
static
<
T
>
JsonResult
<
T
>
buildSuccessResult
(
String
msg
,
T
data
)
{
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
SUCCESS_BUSSINESS_CODE
);
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
SUCCESS_BUSSINESS_CODE
);
}
}
public
static
JsonResult
buildSuccessResult
(
String
msg
,
Object
data
,
Long
businessCode
)
{
public
static
<
T
>
JsonResult
<
T
>
buildSuccessResult
(
String
msg
,
T
data
,
Long
businessCode
)
{
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
businessCode
);
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
businessCode
);
}
}
public
static
<
T
>
JsonResult
<
T
>
buildSuccessResult
(
String
msg
)
{
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
null
,
SUCCESS_BUSSINESS_CODE
);
}
/**
/**
* 构造状态不正确的JsonResult
* 构造状态不正确的JsonResult
*
*
...
@@ -74,48 +83,27 @@ public class JsonResult implements Serializable {
...
@@ -74,48 +83,27 @@ public class JsonResult implements Serializable {
* @param data Object
* @param data Object
* @return JsonResult
* @return JsonResult
*/
*/
public
static
JsonResult
buildErrorStateResult
(
String
msg
,
Object
data
)
{
public
static
<
T
>
JsonResult
<
T
>
buildErrorStateResult
(
String
msg
,
T
data
)
{
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
ERROR_BUSSINESS_CODE
);
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
ERROR_BUSSINESS_CODE
);
}
}
public
static
JsonResult
buildErrorStateResult
(
String
msg
,
Object
data
,
Long
businessCode
)
{
public
static
<
T
>
JsonResult
<
T
>
buildErrorStateResult
(
String
msg
,
T
data
,
Long
businessCode
)
{
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
businessCode
);
return
new
JsonResult
(
msg
,
SUCCESS_CODE
,
data
,
businessCode
);
}
}
public
static
JsonResult
buildFatalErrorStateResult
(
String
msg
,
Object
data
,
Long
businessCode
)
{
public
static
<
T
>
JsonResult
<
T
>
buildFatalErrorStateResult
(
String
msg
,
T
data
,
Long
businessCode
)
{
return
new
JsonResult
(
msg
,
ERROR_STATE_CODE
,
data
,
businessCode
);
return
new
JsonResult
(
msg
,
ERROR_STATE_CODE
,
data
,
businessCode
);
}
}
public
String
getMsg
()
{
/**
return
msg
;
* 判断当前JsonResult是否是成功
}
*
* @return true=是成功,false=失败
public
void
setMsg
(
String
msg
)
{
*/
this
.
msg
=
msg
;
public
boolean
isSuccess
()
{
}
boolean
codeSuccess
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
SUCCESS_CODE
).
equals
(
this
.
getCode
());
boolean
bussSuccess
=
String
.
format
(
Constants
.
ZERO_FILL_TEMPLATE
,
SUCCESS_BUSSINESS_CODE
).
equals
(
this
.
getBusinessCode
());
public
Object
getData
()
{
return
bussSuccess
&&
codeSuccess
;
return
data
;
}
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getBusinessCode
()
{
return
businessCode
;
}
public
void
setBusinessCode
(
String
businessCode
)
{
this
.
businessCode
=
businessCode
;
}
}
@Override
@Override
...
@@ -127,4 +115,5 @@ public class JsonResult implements Serializable {
...
@@ -127,4 +115,5 @@ public class JsonResult implements Serializable {
", data="
+
data
+
", data="
+
data
+
'}'
;
'}'
;
}
}
}
}
src/main/java/cn/quantgroup/xyqb/model/LoginProperties.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
model
;
package
cn
.
quantgroup
.
xyqb
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
/**
/**
* Created by Miraculous on 2017/1/6.
* Created by Miraculous on 2017/1/6.
*/
*/
@Data
@Data
@AllArgsConstructor
public
class
LoginProperties
{
public
class
LoginProperties
{
/**
* 维度
* 形如:"app|app名称|平台|应用市场名字"
* 示例:"dimension":"app|shandiandai|IOS|sdd-Appstore"
*/
private
String
dimension
;
/**
* 1-登录
* 2-注册
* 3-快捷登录
* 4-免密登录
*/
private
int
action
;
/**
* 注册渠道号
*/
private
Long
channelId
=
1L
;
private
Long
channelId
=
1L
;
private
Long
createdFrom
=
1L
;
private
Long
createdFrom
=
1L
;
private
String
appChannel
=
""
;
private
String
appChannel
=
""
;
private
String
merchantName
;
private
Long
merchantId
=
1L
;
private
Long
btMerchantId
=
1L
;
private
String
merchantName
=
""
;
}
}
src/main/java/cn/quantgroup/xyqb/model/UserRegisterParam.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
model
;
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.xyqb.entity.Address
;
import
java.util.List
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.User
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.User
;
/**
/**
* Created by liqing on 2017/12/4 0004.
* Created by liqing on 2017/12/4 0004.
...
@@ -29,7 +30,7 @@ public class UserRegisterParam {
...
@@ -29,7 +30,7 @@ public class UserRegisterParam {
private
String
name
;
// 姓名
private
String
name
;
// 姓名
private
Long
channelId
;
// 业务渠道
private
Long
channelId
;
// 业务渠道
private
Long
btRegisterChannelId
;
// 白条渠道
private
Long
btRegisterChannelId
;
// 白条渠道
private
String
dimension
;
private
String
dimension
;
// 维度
private
Address
address
;
// 地址
private
Address
address
;
// 地址
private
String
contacts
;
// 联系人
private
String
contacts
;
// 联系人
private
User
user
;
// 注册生成的用户,也是返回结果
private
User
user
;
// 注册生成的用户,也是返回结果
...
...
src/main/java/cn/quantgroup/xyqb/model/UserRet.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
model
;
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.xyqb.entity.User
;
import
java.io.Serializable
;
import
java.util.Objects
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
cn.quantgroup.xyqb.entity.User
;
/**
/**
* Created by 11 on 2016/12/20.
* Created by 11 on 2016/12/20.
...
@@ -35,6 +37,9 @@ public class UserRet implements Serializable {
...
@@ -35,6 +37,9 @@ public class UserRet implements Serializable {
private
Long
updatedAt
;
private
Long
updatedAt
;
public
UserRet
(
User
user
)
{
public
UserRet
(
User
user
)
{
if
(
Objects
.
isNull
(
user
)){
return
;
}
Long
createTimeStamp
=
user
.
getCreatedAt
().
getTime
();
Long
createTimeStamp
=
user
.
getCreatedAt
().
getTime
();
Long
updateTimeStamp
=
user
.
getUpdatedAt
().
getTime
();
Long
updateTimeStamp
=
user
.
getUpdatedAt
().
getTime
();
this
.
setId
(
user
.
getId
());
this
.
setId
(
user
.
getId
());
...
...
src/main/java/cn/quantgroup/xyqb/service/register/AbstractUserRegisterService.java
deleted
100644 → 0
View file @
d491a5c4
package
cn
.
quantgroup
.
xyqb
.
service
.
register
;
import
cn.quantgroup.xyqb.service.register.handler.AbstractUserRegisterHandler
;
import
cn.quantgroup.xyqb.util.ApplicationContextHolder
;
import
com.google.common.collect.Maps
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
java.util.Map
;
/**
* Created by liqing on 2017/12/5 0005.
*/
@Slf4j
public
abstract
class
AbstractUserRegisterService
implements
IUserRegisterService
,
ApplicationContextAware
{
private
static
Map
<
String
,
AbstractUserRegisterHandler
>
userRegisterHandlerMap
=
Maps
.
newConcurrentMap
();
private
static
final
String
USER_REGISTER_HANDLER_DEFAULT_KEY
=
"register_default"
;
private
static
final
String
USER_REGISTER_HANDLER_EXT_KEY
=
"register_ext"
;
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
// 创建默认注册流程
createDefaultUserRegisterHandler
(
applicationContext
);
// 创建扩展注册流程
createExtUserRegisterHandler
(
applicationContext
);
}
/**
* 创建默认注册流程
* 1、保存基本信息 - 2、保存用户详情 - 3、保存白条信息 - 4、发送短信 - 5、发送mq
*
* @param applicationContext
*/
protected
AbstractUserRegisterHandler
createDefaultUserRegisterHandler
(
ApplicationContext
applicationContext
)
{
AbstractUserRegisterHandler
baseUserRegisterHandler
=
applicationContext
.
getBean
(
"baseUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
detailUserRegisterHandler
=
applicationContext
.
getBean
(
"detailUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
btUserRegisterHandler
=
applicationContext
.
getBean
(
"btUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
smsUserRegisterHandler
=
applicationContext
.
getBean
(
"smsUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
mqUserRegisterHandler
=
applicationContext
.
getBean
(
"mqUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
baseUserRegisterHandler
.
setSuccessor
(
detailUserRegisterHandler
);
detailUserRegisterHandler
.
setSuccessor
(
btUserRegisterHandler
);
btUserRegisterHandler
.
setSuccessor
(
smsUserRegisterHandler
);
smsUserRegisterHandler
.
setSuccessor
(
mqUserRegisterHandler
);
userRegisterHandlerMap
.
put
(
USER_REGISTER_HANDLER_DEFAULT_KEY
,
baseUserRegisterHandler
);
return
baseUserRegisterHandler
;
}
/**
* 创建扩展注册流程
* 1、保存基本信息 - 2、保存用户详情 - 3、保存白条信息 - 4、保存用户地址 - 5、保存联系人
* 5、发送短信 - 6、发送mq
*
* @param applicationContext
*/
protected
AbstractUserRegisterHandler
createExtUserRegisterHandler
(
ApplicationContext
applicationContext
)
{
AbstractUserRegisterHandler
baseUserRegisterHandler
=
applicationContext
.
getBean
(
"baseUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
detailUserRegisterHandler
=
applicationContext
.
getBean
(
"detailUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
btUserRegisterHandler
=
applicationContext
.
getBean
(
"btUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
smsUserRegisterHandler
=
applicationContext
.
getBean
(
"smsUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
mqUserRegisterHandler
=
applicationContext
.
getBean
(
"mqUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
addressUserRegisterHandler
=
applicationContext
.
getBean
(
"addressUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
AbstractUserRegisterHandler
contactUserRegisterHandler
=
applicationContext
.
getBean
(
"contactUserRegisterHandler"
,
AbstractUserRegisterHandler
.
class
);
baseUserRegisterHandler
.
setSuccessor
(
detailUserRegisterHandler
);
detailUserRegisterHandler
.
setSuccessor
(
btUserRegisterHandler
);
btUserRegisterHandler
.
setSuccessor
(
addressUserRegisterHandler
);
addressUserRegisterHandler
.
setSuccessor
(
contactUserRegisterHandler
);
contactUserRegisterHandler
.
setSuccessor
(
smsUserRegisterHandler
);
smsUserRegisterHandler
.
setSuccessor
(
mqUserRegisterHandler
);
userRegisterHandlerMap
.
put
(
USER_REGISTER_HANDLER_EXT_KEY
,
baseUserRegisterHandler
);
return
baseUserRegisterHandler
;
}
/**
* 获取默认注册流程
*
* @return
*/
protected
AbstractUserRegisterHandler
getDefaultUserRegisterHandler
()
{
AbstractUserRegisterHandler
curUserRegisterHandler
=
userRegisterHandlerMap
.
get
(
USER_REGISTER_HANDLER_DEFAULT_KEY
);
if
(
curUserRegisterHandler
==
null
)
{
synchronized
(
USER_REGISTER_HANDLER_DEFAULT_KEY
)
{
curUserRegisterHandler
=
userRegisterHandlerMap
.
get
(
USER_REGISTER_HANDLER_DEFAULT_KEY
);
if
(
curUserRegisterHandler
==
null
)
{
curUserRegisterHandler
=
createDefaultUserRegisterHandler
(
ApplicationContextHolder
.
getApplicationContext
());
}
}
}
return
curUserRegisterHandler
;
}
/**
* 获取扩展注册流程
*
* @return
*/
protected
AbstractUserRegisterHandler
getExtUserRegisterHandler
()
{
AbstractUserRegisterHandler
curUserRegisterHandler
=
userRegisterHandlerMap
.
get
(
USER_REGISTER_HANDLER_EXT_KEY
);
if
(
curUserRegisterHandler
==
null
)
{
synchronized
(
USER_REGISTER_HANDLER_EXT_KEY
)
{
curUserRegisterHandler
=
userRegisterHandlerMap
.
get
(
USER_REGISTER_HANDLER_EXT_KEY
);
if
(
curUserRegisterHandler
==
null
)
{
curUserRegisterHandler
=
createExtUserRegisterHandler
(
ApplicationContextHolder
.
getApplicationContext
());
}
}
}
return
curUserRegisterHandler
;
}
}
src/main/java/cn/quantgroup/xyqb/service/register/IUserRegisterService.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
service
.
register
;
package
cn
.
quantgroup
.
xyqb
.
service
.
register
;
import
java.util.List
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
java.util.List
;
/**
/**
* @author liqing
* @author liqing
...
@@ -13,24 +12,6 @@ import java.util.List;
...
@@ -13,24 +12,6 @@ import java.util.List;
*/
*/
public
interface
IUserRegisterService
{
public
interface
IUserRegisterService
{
/**
* 以默认流程注册
*
* @param userRegisterParam
* @return
* @throws Exception
*/
User
registerDefault
(
UserRegisterParam
userRegisterParam
);
/**
* 以扩展流程注册
*
* @param userRegisterParam
* @return
* @throws Exception
*/
User
registerExt
(
UserRegisterParam
userRegisterParam
);
/**
/**
* 替换AppController.register
* 替换AppController.register
* /app/login,/app/login_super
* /app/login,/app/login_super
...
...
src/main/java/cn/quantgroup/xyqb/service/register/handler/AbstractUserRegisterHandler.java
deleted
100644 → 0
View file @
d491a5c4
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
handler
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
/**
* 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
);
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/AddressUserRegisterHandler.java
deleted
100644 → 0
View file @
d491a5c4
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
)
{
Address
address
=
userRegisterParam
.
getAddress
();
if
(
address
!=
null
)
{
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
deleted
100644 → 0
View file @
d491a5c4
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.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.Objects
;
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
)
{
String
uuid
=
UUID
.
randomUUID
().
toString
();
// 保存user信息
User
user
=
saveUser
(
uuid
,
userRegisterParam
);
// user保存成功后同步用户信息到Lkb
pushUserToLkb
(
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
(
Objects
.
isNull
(
registerFrom
))
{
registerFrom
=
1L
;
}
Long
channelId
=
userRegisterParam
.
getChannelId
();
if
(
Objects
.
equals
(
channelId
,
222L
))
{
user
.
setRegisteredFrom
(
channelId
);
}
else
{
user
.
setRegisteredFrom
(
registerFrom
);
}
String
password
=
StringUtils
.
defaultString
(
userRegisterParam
.
getPassword
(),
""
);
// 如果需要生成随机密码
if
(
userRegisterParam
.
isGenerateRandomPwd
())
{
password
=
PasswordUtil
.
generateRandomPwd
(
Constants
.
RANDOM_PWD_LEN
);
}
user
.
setPassword
(
PasswordUtil
.
MD5
(
password
.
toLowerCase
()
+
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
)
{
log
.
info
(
"[pushUserToLkb]同步用户信息到Lkb,phoneNo : {}"
,
userRegisterParam
.
getPhoneNo
());
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
deleted
100644 → 0
View file @
d491a5c4
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
;
import
java.util.Objects
;
/**
* 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
)
{
Long
channelId
=
userRegisterParam
.
getChannelId
();
User
user
=
userRegisterParam
.
getUser
();
Long
btRegisterChannelId
=
userRegisterParam
.
getBtRegisterChannelId
();
if
(!
Objects
.
isNull
(
user
)
&&
Objects
.
equals
(
channelId
,
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
(!
Objects
.
isNull
(
successor
))
{
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/ContactUserRegisterHandler.java
deleted
100644 → 0
View file @
d491a5c4
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
)
{
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
))
{
convertContactList
(
user
.
getId
(),
contactList
,
2
);
contactRepository
.
save
(
contactList
);
}
}
if
(
successor
!=
null
)
{
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
/**
* 转换联系人信息
*
* @param userId 用户id
* @param contacts 联系人列表
* @param number 允许的联系人数量
*/
private
void
convertContactList
(
Long
userId
,
List
<
Contact
>
contacts
,
int
number
)
{
Timestamp
now
=
new
Timestamp
(
System
.
currentTimeMillis
());
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
deleted
100644 → 0
View file @
d491a5c4
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
cn.quantgroup.xyqb.util.ValidationUtil
;
import
lombok.extern.slf4j.Slf4j
;
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
;
/**
* 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
)
{
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
{
if
(
StringUtils
.
isAnyBlank
(
userRegisterParam
.
getIdNo
(),
userRegisterParam
.
getName
())
||
!
ValidationUtil
.
validateChinese
(
userRegisterParam
.
getName
()))
{
return
;
}
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
deleted
100644 → 0
View file @
d491a5c4
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.JsonUtil
;
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.
* 注册 - 发送mq
* 失败不影响注册流程
*/
@Component
(
"mqUserRegisterHandler"
)
@Scope
(
ConfigurableBeanFactory
.
SCOPE_PROTOTYPE
)
@Slf4j
public
class
MqUserRegisterHandler
extends
AbstractUserRegisterHandler
{
@Override
public
User
handleRegister
(
UserRegisterParam
userRegisterParam
)
{
try
{
doHandleMqUserRegister
(
userRegisterParam
);
}
catch
(
Exception
e
)
{
// 发送Mq失败不影响注册流程
log
.
error
(
"[exception][mqUserRegisterHandler_exception]userRegisterParam={},error={}"
,
JsonUtil
.
toJson
(
userRegisterParam
),
e
);
}
if
(
successor
!=
null
)
{
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
/**
* 执行注册发送mq
*
* @param userRegisterParam
*/
private
void
doHandleMqUserRegister
(
UserRegisterParam
userRegisterParam
)
{
if
(!
userRegisterParam
.
isSendSuccessMq
())
{
return
;
}
Long
channelId
=
userRegisterParam
.
getChannelId
();
String
dimension
=
userRegisterParam
.
getDimension
();
User
user
=
userRegisterParam
.
getUser
();
if
(
user
!=
null
)
{
MqUtils
.
sendRegisterMessage
(
channelId
,
dimension
,
user
);
}
}
}
src/main/java/cn/quantgroup/xyqb/service/register/handler/impl/SmsUserRegisterHandler.java
deleted
100644 → 0
View file @
d491a5c4
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
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
;
/**
* 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
)
{
try
{
doHandleSmsUserRegister
(
userRegisterParam
);
}
catch
(
Exception
e
)
{
// 发送短信失败不影响注册流程
log
.
error
(
"[exception][smsUserRegisterHandler_exception]userRegisterParam={},error={}"
,
JsonUtil
.
toJson
(
userRegisterParam
),
e
);
}
if
(
successor
!=
null
)
{
return
successor
.
handleRegister
(
userRegisterParam
);
}
return
userRegisterParam
.
getUser
();
}
/**
* 执行发送短信
*
* @param userRegisterParam
*/
private
void
doHandleSmsUserRegister
(
UserRegisterParam
userRegisterParam
)
{
// 发送注册成功短信
try
{
//doHandleSendSuccessSms(userRegisterParam);
}
catch
(
Exception
e
)
{
// 发送短信失败不影响注册流程
log
.
error
(
"[exception][smsUserRegisterHandler_doHandleSendSuccessSms_exception]userRegisterParam={},error={}"
,
JsonUtil
.
toJson
(
userRegisterParam
),
e
);
}
// 发送推送app短信
try
{
doHandleSendAppSms
(
userRegisterParam
);
}
catch
(
Exception
e
)
{
// 发送短信失败不影响注册流程
log
.
error
(
"[exception][smsUserRegisterHandler_doHandleSendAppSms_exception]userRegisterParam={},error={}"
,
JsonUtil
.
toJson
(
userRegisterParam
),
e
);
}
}
/**
* 执行发送推送app短信 TODO
*
* @param userRegisterParam
*/
private
void
doHandleSendAppSms
(
UserRegisterParam
userRegisterParam
)
{
if
(!
userRegisterParam
.
isSendAppSms
())
{
}
}
/**
* 执行发送注册成功短信
*
* @param userRegisterParam
*/
private
void
doHandleSendSuccessSms
(
UserRegisterParam
userRegisterParam
)
{
if
(!
userRegisterParam
.
isSendSuccessSms
())
{
return
;
}
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
);
}
}
}
src/main/java/cn/quantgroup/xyqb/service/register/impl/UserRegisterServiceImpl.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
register
.
impl
;
import
java.sql.Timestamp
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
import
javax.annotation.Resource
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.event.RegisterEvent
;
import
cn.quantgroup.xyqb.event.RegisterEvent
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.model.UserRegisterParam
;
import
cn.quantgroup.xyqb.service.register.
Abstract
UserRegisterService
;
import
cn.quantgroup.xyqb.service.register.
I
UserRegisterService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.sql.Timestamp
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
/**
/**
* @author liqing
* @author liqing
...
@@ -27,26 +31,14 @@ import java.util.UUID;
...
@@ -27,26 +31,14 @@ import java.util.UUID;
*/
*/
@Service
(
"userRegisterService"
)
@Service
(
"userRegisterService"
)
@Slf4j
@Slf4j
public
class
UserRegisterServiceImpl
extends
Abstract
UserRegisterService
{
public
class
UserRegisterServiceImpl
implements
I
UserRegisterService
{
@
Autowired
@
Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
private
ApplicationEventPublisher
applicationEventPublisher
;
@
Autowired
@
Resource
private
IUserService
userService
;
private
IUserService
userService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
User
registerDefault
(
UserRegisterParam
userRegisterParam
)
{
return
getDefaultUserRegisterHandler
().
handleRegister
(
userRegisterParam
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
User
registerExt
(
UserRegisterParam
userRegisterParam
)
{
return
getExtUserRegisterHandler
().
handleRegister
(
userRegisterParam
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
)
{
public
User
register
(
Long
registerFrom
,
String
phoneNo
,
String
idNo
,
String
name
,
Long
channelId
,
Long
btRegisterChannelId
)
{
...
...
src/main/java/cn/quantgroup/xyqb/service/session/ISessionService.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
service
.
session
;
package
cn
.
quantgroup
.
xyqb
.
service
.
session
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
...
@@ -17,27 +16,16 @@ public interface ISessionService {
...
@@ -17,27 +16,16 @@ public interface ISessionService {
* 用户信息存在,更新session中的最后访问时间,重新写入缓存.
* 用户信息存在,更新session中的最后访问时间,重新写入缓存.
* 存在则保存用户session信息,userId为uuid
* 存在则保存用户session信息,userId为uuid
*
*
* @param channelId
* @param user - 登录用户
* @param createdFrom
* @param loginProperties - 登录参数
* @param appChannel
* @param user
* @param merchant
* @return
* @return
*/
*/
AuthBean
createSession
(
Long
channelId
,
Long
createdFrom
,
String
appChannel
,
User
user
,
Merchant
merchant
);
AuthBean
createSession
(
User
user
,
LoginProperties
loginProperties
);
SessionStruct
createSessionAndPersist
(
User
user
,
LoginProperties
loginProperties
);
SessionStruct
createSessionAndPersist
(
User
user
,
LoginProperties
loginProperties
);
String
findSessionIdByUserIdLoginProperties
(
Long
userId
,
LoginProperties
properties
);
String
findSessionValueBySessionId
(
String
sessionId
);
SessionStruct
newSession
(
User
user
,
LoginProperties
properties
);
void
persistSession
(
String
token
,
SessionValue
sessionValue
);
void
persistSession
(
String
token
,
SessionValue
sessionValue
);
SessionStruct
findSessionBySessionId
(
String
sessionId
);
void
deleteByUserId
(
long
userId
);
void
deleteByUserId
(
long
userId
);
void
deleteUserCatch
(
User
user
);
void
deleteUserCatch
(
User
user
);
...
...
src/main/java/cn/quantgroup/xyqb/service/session/aspect/UserBtRegisterFillAspect.java
View file @
57e9afca
...
@@ -48,7 +48,7 @@ public class UserBtRegisterFillAspect {
...
@@ -48,7 +48,7 @@ public class UserBtRegisterFillAspect {
SessionValue
value
=
(
SessionValue
)
obj
;
SessionValue
value
=
(
SessionValue
)
obj
;
UserBtRegister
userBtRegister
=
userBtRegisterService
.
findByUserId
(
value
.
getUser
().
getId
());
UserBtRegister
userBtRegister
=
userBtRegisterService
.
findByUserId
(
value
.
getUser
().
getId
());
if
(
null
!=
userBtRegister
&&
null
!=
value
.
getLoginProperties
())
{
if
(
null
!=
userBtRegister
&&
null
!=
value
.
getLoginProperties
())
{
value
.
getLoginProperties
().
set
Bt
MerchantId
(
userBtRegister
.
getRegisterBtMerchantId
());
value
.
getLoginProperties
().
setMerchantId
(
userBtRegister
.
getRegisterBtMerchantId
());
}
}
}
}
}
}
...
...
src/main/java/cn/quantgroup/xyqb/service/session/impl/SessionServiceImpl.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
service
.
session
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
session
.
impl
;
import
java.sql.Timestamp
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Caching
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.alibaba.fastjson.JSON
;
import
com.quantgroup.acolyte.buddhistscriptures.pojo.Login
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.event.StatisticsEvent
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.AuthBean
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.LoginProperties
;
import
cn.quantgroup.xyqb.model.UserStatistics
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.session.SessionValue
;
import
cn.quantgroup.xyqb.model.session.SessionValue
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill
;
import
cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
com.alibaba.fastjson.JSON
;
import
cn.quantgroup.xyqb.util.IPUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Caching
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.sql.Timestamp
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
/**
/**
* Created by 11 on 2016/12/28.
* Created by 11 on 2016/12/28.
...
@@ -32,33 +43,23 @@ import java.util.concurrent.TimeUnit;
...
@@ -32,33 +43,23 @@ import java.util.concurrent.TimeUnit;
@Service
@Service
public
class
SessionServiceImpl
implements
ISessionService
{
public
class
SessionServiceImpl
implements
ISessionService
{
@Autowired
@Resource
@Qualifier
(
"stringRedisTemplate"
)
private
RedisTemplate
<
String
,
String
>
stringRedisTemplate
;
private
RedisTemplate
<
String
,
String
>
stringRedisTemplate
;
@
Autowired
@
Resource
private
IUserService
userService
;
private
IUserService
userService
;
@Resource
private
ApplicationEventPublisher
applicationEventPublisher
;
/**
/**
* 更新session
* 更新session
* 用户信息存在,更新session中的最后访问时间,重新写入缓存.
* 用户信息存在,更新session中的最后访问时间,重新写入缓存.
* 存在则保存用户session信息,userId为uuid
* 存在则保存用户session信息,userId为uuid
*
*
* @param channelId
* @param createdFrom
* @param appChannel
* @param user
* @param user
* @param merchant
* @return
* @return
*/
*/
@Override
@Override
public
AuthBean
createSession
(
Long
channelId
,
Long
createdFrom
,
String
appChannel
,
User
user
,
Merchant
merchant
)
{
public
AuthBean
createSession
(
User
user
,
LoginProperties
properties
)
{
LoginProperties
properties
=
new
LoginProperties
();
properties
.
setAppChannel
(
appChannel
);
if
(
null
!=
merchant
)
{
properties
.
setMerchantName
(
merchant
.
getName
());
}
properties
.
setChannelId
(
channelId
);
properties
.
setCreatedFrom
(
createdFrom
);
//找到用户
//找到用户
String
sessionId
=
findSessionIdByUserIdLoginProperties
(
user
.
getId
(),
properties
);
String
sessionId
=
findSessionIdByUserIdLoginProperties
(
user
.
getId
(),
properties
);
SessionStruct
sessionStruct
=
null
;
SessionStruct
sessionStruct
=
null
;
...
@@ -66,9 +67,9 @@ public class SessionServiceImpl implements ISessionService {
...
@@ -66,9 +67,9 @@ public class SessionServiceImpl implements ISessionService {
sessionStruct
=
findSessionBySessionId
(
sessionId
);
sessionStruct
=
findSessionBySessionId
(
sessionId
);
}
}
if
(
Objects
.
nonNull
(
sessionStruct
))
{
if
(
Objects
.
nonNull
(
sessionStruct
))
{
sessionStruct
.
setAttribute
(
"channelId"
,
String
.
valueOf
(
channelId
));
sessionStruct
.
setAttribute
(
"channelId"
,
String
.
valueOf
(
properties
.
getChannelId
()
));
sessionStruct
.
setAttribute
(
"createdFrom"
,
String
.
valueOf
(
createdFrom
));
sessionStruct
.
setAttribute
(
"createdFrom"
,
String
.
valueOf
(
properties
.
getCreatedFrom
()
));
sessionStruct
.
setAttribute
(
"appChannel"
,
String
.
valueOf
(
appChannel
));
sessionStruct
.
setAttribute
(
"appChannel"
,
String
.
valueOf
(
properties
.
getAppChannel
()
));
sessionStruct
.
getValues
().
setLoginProperties
(
properties
);
sessionStruct
.
getValues
().
setLoginProperties
(
properties
);
persistSession
(
sessionStruct
.
getSid
(),
sessionStruct
.
getValues
());
persistSession
(
sessionStruct
.
getSid
(),
sessionStruct
.
getValues
());
}
else
{
}
else
{
...
@@ -77,7 +78,7 @@ public class SessionServiceImpl implements ISessionService {
...
@@ -77,7 +78,7 @@ public class SessionServiceImpl implements ISessionService {
AuthBean
authBean
=
new
AuthBean
();
AuthBean
authBean
=
new
AuthBean
();
authBean
.
setPhoneNo
(
user
.
getPhoneNo
());
authBean
.
setPhoneNo
(
user
.
getPhoneNo
());
authBean
.
setToken
(
sessionStruct
.
getSid
());
authBean
.
setToken
(
sessionStruct
.
getSid
());
log
.
info
(
"用户登录成功, loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}"
,
createdFrom
,
user
.
getPhoneNo
(),
appChannel
,
channelId
);
log
.
info
(
"用户登录成功, loginFrom:{}, phoneNo:{},appChannel:{},channelId:{}"
,
properties
.
getCreatedFrom
(),
user
.
getPhoneNo
(),
properties
.
getAppChannel
(),
properties
.
getChannelId
()
);
return
authBean
;
return
authBean
;
}
}
...
@@ -97,12 +98,24 @@ public class SessionServiceImpl implements ISessionService {
...
@@ -97,12 +98,24 @@ public class SessionServiceImpl implements ISessionService {
}
else
{
}
else
{
sessionStruct
=
newSession
(
user
,
properties
);
sessionStruct
=
newSession
(
user
,
properties
);
persistSession
(
sessionStruct
.
getSid
(),
sessionStruct
.
getValues
());
persistSession
(
sessionStruct
.
getSid
(),
sessionStruct
.
getValues
());
// 发送登陆成功统计消息
/*
* 部分免密渠道登录统计,用户中心不需识别,由统计平台来过滤
* 贷款导航(84660);壹账通H5(159384)
*/
user
.
setRegisteredFrom
(
properties
.
getCreatedFrom
());
UserStatistics
statistics
=
new
UserStatistics
(
user
,
null
,
properties
.
getAction
(),
properties
.
getChannelId
());
// 推送老的登陆统计信息
MqUtils
.
sendLoanVest
(
statistics
);
// 发布新的登录统计信息事件
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
Login
login
=
new
Login
(
user
.
getId
(),
properties
.
getCreatedFrom
(),
properties
.
getChannelId
(),
IPUtil
.
getRemoteIP
(
request
),
properties
.
getAction
(),
System
.
currentTimeMillis
());
applicationEventPublisher
.
publishEvent
(
new
StatisticsEvent
(
this
,
login
));
}
}
return
sessionStruct
;
return
sessionStruct
;
}
}
@Override
private
String
findSessionIdByUserIdLoginProperties
(
Long
userId
,
LoginProperties
properties
)
{
public
String
findSessionIdByUserIdLoginProperties
(
Long
userId
,
LoginProperties
properties
)
{
return
stringRedisTemplate
.
opsForValue
().
get
(
generateLoginPropertiesKey
(
userId
,
properties
));
return
stringRedisTemplate
.
opsForValue
().
get
(
generateLoginPropertiesKey
(
userId
,
properties
));
}
}
...
@@ -114,14 +127,12 @@ public class SessionServiceImpl implements ISessionService {
...
@@ -114,14 +127,12 @@ public class SessionServiceImpl implements ISessionService {
}
}
}
}
@Override
private
String
findSessionValueBySessionId
(
String
sessionId
)
{
public
String
findSessionValueBySessionId
(
String
sessionId
)
{
String
result
=
stringRedisTemplate
.
opsForValue
().
get
(
Constants
.
Session
.
USER_SESSION_CACHE
+
sessionId
);
String
result
=
stringRedisTemplate
.
opsForValue
().
get
(
Constants
.
Session
.
USER_SESSION_CACHE
+
sessionId
);
return
StringUtils
.
defaultString
(
result
,
""
);
return
StringUtils
.
defaultString
(
result
,
""
);
}
}
@Override
private
SessionStruct
newSession
(
User
user
,
LoginProperties
loginProperties
)
{
public
SessionStruct
newSession
(
User
user
,
LoginProperties
loginProperties
)
{
Timestamp
now
=
new
Timestamp
(
System
.
currentTimeMillis
());
Timestamp
now
=
new
Timestamp
(
System
.
currentTimeMillis
());
SessionStruct
sessionStruct
=
new
SessionStruct
();
SessionStruct
sessionStruct
=
new
SessionStruct
();
SessionValue
sessionValue
=
new
SessionValue
();
SessionValue
sessionValue
=
new
SessionValue
();
...
@@ -170,9 +181,7 @@ public class SessionServiceImpl implements ISessionService {
...
@@ -170,9 +181,7 @@ public class SessionServiceImpl implements ISessionService {
}
}
}
}
private
SessionStruct
findSessionBySessionId
(
String
sessionId
)
{
@Override
public
SessionStruct
findSessionBySessionId
(
String
sessionId
)
{
String
sessionValue
=
findSessionValueBySessionId
(
sessionId
);
String
sessionValue
=
findSessionValueBySessionId
(
sessionId
);
if
(
StringUtils
.
isEmpty
(
sessionValue
))
{
if
(
StringUtils
.
isEmpty
(
sessionValue
))
{
log
.
warn
(
"[SessionServiceImpl][findSessionBySessionId] session data 未找到:sid:{}"
,
sessionId
);
log
.
warn
(
"[SessionServiceImpl][findSessionBySessionId] session data 未找到:sid:{}"
,
sessionId
);
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.xyqb.Constants
;
import
java.sql.Timestamp
;
import
cn.quantgroup.xyqb.entity.User
;
import
java.util.Collections
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
java.util.List
;
import
cn.quantgroup.xyqb.model.UserInfo
;
import
java.util.Map
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
java.util.concurrent.TimeUnit
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
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.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.cache.annotation.Cacheable
;
...
@@ -19,11 +15,18 @@ import org.springframework.data.redis.core.RedisTemplate;
...
@@ -19,11 +15,18 @@ import org.springframework.data.redis.core.RedisTemplate;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.sql.Timestamp
;
import
com.google.common.collect.Lists
;
import
java.util.Collections
;
import
com.google.common.collect.Maps
;
import
java.util.List
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.model.UserInfo
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
/**
/**
* Created by Miraculous on 15/7/5.
* Created by Miraculous on 15/7/5.
...
...
src/main/java/cn/quantgroup/xyqb/util/MqUtils.java
View file @
57e9afca
package
cn
.
quantgroup
.
xyqb
.
util
;
package
cn
.
quantgroup
.
xyqb
.
util
;
import
org.apache.commons.lang.StringUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.UserRegisterMqMessage
;
import
cn.quantgroup.xyqb.model.UserRegisterMqMessage
;
import
cn.quantgroup.xyqb.model.UserRet
;
import
cn.quantgroup.xyqb.model.UserRet
;
import
cn.quantgroup.xyqb.model.UserStatistics
;
import
cn.quantgroup.xyqb.model.UserStatistics
;
import
cn.quantgroup.xyqb.service.mq.IRegisterMqService
;
import
cn.quantgroup.xyqb.service.mq.IRegisterMqService
;
import
cn.quantgroup.xyqb.service.mq.IVestService
;
import
cn.quantgroup.xyqb.service.mq.IVestService
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
/**
/**
* Created by xuran on 2017/6/23.
* Created by xuran on 2017/6/23.
...
@@ -46,13 +48,12 @@ public class MqUtils {
...
@@ -46,13 +48,12 @@ public class MqUtils {
}
}
public
static
UserRet
sendRegisterMessage
(
Long
registeredFrom
,
String
demension
,
User
user
)
{
public
static
UserRet
sendRegisterMessage
(
Long
registeredFrom
,
String
demension
,
User
user
)
{
UserRet
userRet
;
UserStatistics
statistics
=
new
UserStatistics
(
user
,
demension
,
2
,
registeredFrom
);
UserStatistics
statistics
=
new
UserStatistics
(
user
,
demension
,
2
,
registeredFrom
);
MqUtils
.
sendLoanVest
(
statistics
);
MqUtils
.
sendLoanVest
(
statistics
);
userRet
=
new
UserRet
(
user
);
//增加用户注册广播
//增加用户注册广播
UserRegisterMqMessage
registerMqMessage
=
new
UserRegisterMqMessage
(
user
);
UserRegisterMqMessage
registerMqMessage
=
new
UserRegisterMqMessage
(
user
);
MqUtils
.
sendRegisterMessage
(
registerMqMessage
);
MqUtils
.
sendRegisterMessage
(
registerMqMessage
);
UserRet
userRet
=
new
UserRet
(
user
);
return
userRet
;
return
userRet
;
}
}
...
...
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