记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
董敬伟
liquidnet-bus-v1
Commits
267f1ac4
Commit
267f1ac4
authored
Apr 15, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~去除数字账号开通逻辑;
parent
2a18a3a9
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
241 additions
and
239 deletions
+241
-239
AdamLoginInfoVo.java
...va/com/liquidnet/service/adam/dto/vo/AdamLoginInfoVo.java
+9
-9
AdamUserProfileVo.java
.../com/liquidnet/service/adam/dto/vo/AdamUserProfileVo.java
+2
-2
IAdamUserBusiAcctService.java
...uidnet/service/adam/service/IAdamUserBusiAcctService.java
+15
-15
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+1
-1
AdamRscController.java
.../liquidnet/service/adam/controller/AdamRscController.java
+13
-13
AdamUserController.java
...liquidnet/service/adam/controller/AdamUserController.java
+43
-41
AdamRdmService.java
...va/com/liquidnet/service/adam/service/AdamRdmService.java
+11
-11
AdamUserBusiAcctServiceImpl.java
...ervice/adam/service/impl/AdamUserBusiAcctServiceImpl.java
+147
-147
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamLoginInfoVo.java
View file @
267f1ac4
...
...
@@ -21,8 +21,8 @@ public class AdamLoginInfoVo implements Serializable, Cloneable {
// private AdamMemberSimpleVo memberVo;
@ApiModelProperty
(
position
=
16
,
value
=
"用户会员信息"
)
private
AdamUserMemberVo
userMemberVo
;
@ApiModelProperty
(
position
=
17
,
value
=
"业务账号信息"
)
private
List
<
AdamUserBizAcctVo
>
bizAcctVoList
;
//
@ApiModelProperty(position = 17, value = "业务账号信息")
//
private List<AdamUserBizAcctVo> bizAcctVoList;
@ApiModelProperty
(
position
=
18
,
value
=
"微信用户openid(微信小程序登录返回,用于给小程序用户推送信息)"
)
private
String
wechatOpenid
;
...
...
@@ -77,13 +77,13 @@ public class AdamLoginInfoVo implements Serializable, Cloneable {
this
.
userMemberVo
=
userMemberVo
;
}
public
List
<
AdamUserBizAcctVo
>
getBizAcctVoList
()
{
return
bizAcctVoList
;
}
public
void
setBizAcctVoList
(
List
<
AdamUserBizAcctVo
>
bizAcctVoList
)
{
this
.
bizAcctVoList
=
bizAcctVoList
;
}
//
public List<AdamUserBizAcctVo> getBizAcctVoList() {
//
return bizAcctVoList;
//
}
//
//
public void setBizAcctVoList(List<AdamUserBizAcctVo> bizAcctVoList) {
//
this.bizAcctVoList = bizAcctVoList;
//
}
public
String
getWechatOpenid
()
{
return
wechatOpenid
;
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserProfileVo.java
View file @
267f1ac4
...
...
@@ -22,8 +22,8 @@ public class AdamUserProfileVo implements java.io.Serializable, Cloneable {
private
AdamUserMemberVo
userMemberVo
;
@ApiModelProperty
(
position
=
16
,
value
=
"会员卡信息"
)
private
AdamMemberJoinusVo
memberJoinusVo
;
@ApiModelProperty
(
position
=
17
,
value
=
"业务账号信息"
)
private
List
<
AdamUserBizAcctVo
>
bizAcctVoList
;
//
@ApiModelProperty(position = 17, value = "业务账号信息")
//
private List<AdamUserBizAcctVo> bizAcctVoList;
private
static
final
AdamUserProfileVo
obj
=
new
AdamUserProfileVo
();
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamUserBusiAcctService.java
View file @
267f1ac4
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo
;
import
com.liquidnet.service.base.ResponseDto
;
/**
* 用户业务账号服务类
*
* @author zhanggb
* Created by IntelliJ IDEA at 2022/3/29
*/
public
interface
IAdamUserBusiAcctService
{
ResponseDto
<
AdamUserBizAcctVo
>
openAccount
(
String
uid
,
String
bizCode
,
String
name
,
String
idCard
,
String
mobile
);
}
//
package com.liquidnet.service.adam.service;
//
//
import com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo;
//
import com.liquidnet.service.base.ResponseDto;
//
/
//
**
//
* 用户业务账号服务类
//
*
//
* @author zhanggb
//
* Created by IntelliJ IDEA at 2022/3/29
//
*/
//
public interface IAdamUserBusiAcctService {
//
//
ResponseDto<AdamUserBizAcctVo> openAccount(String uid, String bizCode, String name, String idCard, String mobile);
//
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
View file @
267f1ac4
...
...
@@ -498,7 +498,7 @@ public class AdamLoginController {
private
ResponseDto
<
AdamLoginInfoVo
>
loginVoResponseProcessing
(
AdamLoginInfoVo
loginInfoVo
)
{
AdamUserInfoVo
userInfo
=
loginInfoVo
.
getUserInfo
();
adamRdmService
.
ratingProvince
(
userInfo
);
loginInfoVo
.
setBizAcctVoList
(
adamRdmService
.
getBizAcctVosByUid
(
userInfo
.
getUid
()));
//
loginInfoVo.setBizAcctVoList(adamRdmService.getBizAcctVosByUid(userInfo.getUid()));
return
ResponseDto
.
success
(
loginInfoVo
.
desensitize
(
reviewUserInfo
).
finalRating
());
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamRscController.java
View file @
267f1ac4
...
...
@@ -96,19 +96,19 @@ public class AdamRscController {
return
ResponseDto
.
success
(
vo
.
getCreateAt
());
}
@ApiOperationSupport
(
order
=
23
)
@ApiOperation
(
value
=
"@API:用户第三方业务账号"
)
@GetMapping
(
"inquire/bizacc"
)
public
ResponseDto
<
AdamUserBizAcctVo
>
queryBizacc
(
@Pattern
(
regexp
=
"\\b(NFT_ZX)\\b"
,
message
=
"业务码无效"
)
@RequestParam
String
bizCode
,
@NotBlank
(
message
=
"用户ID不能为空"
)
@RequestParam
String
uid
)
{
List
<
AdamUserBizAcctVo
>
userBizAcctVoList
=
adamRdmService
.
getBizAcctVosByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
userBizAcctVoList
))
{
Optional
<
AdamUserBizAcctVo
>
optional
=
userBizAcctVoList
.
stream
().
filter
(
r
->
r
.
getBizCode
().
equals
(
bizCode
)).
findAny
();
if
(
optional
.
isPresent
())
return
ResponseDto
.
success
(
optional
.
get
());
}
return
ResponseDto
.
success
();
}
//
@ApiOperationSupport(order = 23)
//
@ApiOperation(value = "@API:用户第三方业务账号")
//
@GetMapping("inquire/bizacc")
//
public ResponseDto<AdamUserBizAcctVo> queryBizacc(@Pattern(regexp = "\\b(NFT_ZX)\\b", message = "业务码无效")
//
@RequestParam String bizCode,
//
@NotBlank(message = "用户ID不能为空") @RequestParam String uid) {
//
List<AdamUserBizAcctVo> userBizAcctVoList = adamRdmService.getBizAcctVosByUid(uid);
//
if (!CollectionUtils.isEmpty(userBizAcctVoList)) {
//
Optional<AdamUserBizAcctVo> optional = userBizAcctVoList.stream().filter(r -> r.getBizCode().equals(bizCode)).findAny();
//
if (optional.isPresent()) return ResponseDto.success(optional.get());
//
}
//
return ResponseDto.success();
//
}
@ApiOperationSupport
(
order
=
30
)
@ApiOperation
(
value
=
"@API:票务下单所需信息查询"
,
notes
=
"包括是否会员、收货地址及入场人信息"
)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserController.java
View file @
267f1ac4
...
...
@@ -2,7 +2,6 @@ package com.liquidnet.service.adam.controller;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.common.third.shumei.util.ShumeiUtil
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.constant.LnsRegex
;
...
...
@@ -15,7 +14,6 @@ import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import
com.liquidnet.service.adam.dto.AdamUserInfoParam
;
import
com.liquidnet.service.adam.dto.vo.*
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamUserBusiAcctService
;
import
com.liquidnet.service.adam.service.IAdamUserInfoService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.liquidnet.service.adam.util.ObjectUtil
;
...
...
@@ -58,8 +56,8 @@ public class AdamUserController {
IAdamUserService
adamUserService
;
@Autowired
IAdamUserInfoService
adamUserInfoService
;
@Autowired
IAdamUserBusiAcctService
adamUserBusiAcctService
;
//
@Autowired
//
IAdamUserBusiAcctService adamUserBusiAcctService;
@Autowired
private
ShumeiUtil
shumeiUtil
;
...
...
@@ -284,9 +282,10 @@ public class AdamUserController {
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"name"
,
value
=
"姓名"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"idCard"
,
value
=
"证件号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"Integer"
,
name
=
"beValid"
,
value
=
"是否校验年满18周岁"
),
})
@PostMapping
(
value
=
{
"identity"
})
public
ResponseDto
<
AdamRealInfoVo
>
identity
(
@RequestParam
String
name
,
@RequestParam
String
idCard
)
{
public
ResponseDto
<
AdamRealInfoVo
>
identity
(
@RequestParam
String
name
,
@RequestParam
String
idCard
,
@RequestParam
(
required
=
false
)
Integer
beValid
)
{
log
.
debug
(
"name:{},idCard:{}"
,
name
,
idCard
);
if
(!
java
.
util
.
regex
.
Pattern
.
matches
(
LnsRegex
.
Valid
.
CN_HANZI
,
name
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10103"
));
...
...
@@ -294,6 +293,9 @@ public class AdamUserController {
if
(!
java
.
util
.
regex
.
Pattern
.
matches
(
LnsRegex
.
Valid
.
CN_ID_CARD_REF
,
idCard
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10104"
));
}
if
(
null
!=
beValid
&&
IDCardUtil
.
getAge
(
idCard
)
<
18
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10100"
));
}
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
AdamRealInfoVo
realInfoVoByUid
=
adamRdmService
.
getRealInfoVoByUid
(
currentUid
);
if
(
null
!=
realInfoVoByUid
)
{
...
...
@@ -410,7 +412,7 @@ public class AdamUserController {
userProfileVo
.
setUserInfo
(
adamRdmService
.
ratingProvince
(
userInfoVo
).
desensitize
(
reviewUserInfo
).
rating
(
userMemberVo
));
userProfileVo
.
setBizAcctVoList
(
adamRdmService
.
getBizAcctVosByUid
(
currentUid
));
//
userProfileVo.setBizAcctVoList(adamRdmService.getBizAcctVosByUid(currentUid));
AdamMemberJoinusVo
memberJoinusVo
;
if
(
org
.
springframework
.
util
.
StringUtils
.
startsWithIgnoreCase
(
userInfoVo
.
getQrCode
(),
"lN"
))
{
...
...
@@ -459,41 +461,41 @@ public class AdamUserController {
}
}
@ApiOperationSupport
(
order
=
11
)
@ApiOperation
(
value
=
"业务账号开通"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"bizCode"
,
value
=
"业务码[NFT_ZX]"
,
allowableValues
=
"NFT_ZX"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"name"
,
value
=
"姓名"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"idCard"
,
value
=
"身份证号"
),
})
@PostMapping
(
value
=
"open/account"
)
public
ResponseDto
<
AdamUserBizAcctVo
>
openAccount
(
@Pattern
(
regexp
=
"\\b(NFT_ZX)\\b"
,
message
=
"业务码无效"
)
@RequestParam
String
bizCode
,
@RequestParam
(
required
=
false
)
String
name
,
@RequestParam
(
required
=
false
)
String
idCard
)
{
if
(
StringUtils
.
isNotBlank
(
name
)
&&
!
name
.
contains
(
"*"
))
{
if
(!
java
.
util
.
regex
.
Pattern
.
matches
(
LnsRegex
.
Valid
.
CN_HANZI
,
name
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10103"
));
}
if
(!
java
.
util
.
regex
.
Pattern
.
matches
(
LnsRegex
.
Valid
.
CN_ID_CARD_REF
,
idCard
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10104"
));
}
if
(
IDCardUtil
.
getAge
(
idCard
)
<
18
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10100"
));
}
}
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
String
mobile
=
(
String
)
CurrentUtil
.
getTokenClaims
().
get
(
CurrentUtil
.
TOKEN_MOBILE
);
try
{
return
adamUserBusiAcctService
.
openAccount
(
currentUid
,
bizCode
,
name
,
idCard
,
mobile
);
}
catch
(
Exception
e
)
{
if
(
e
instanceof
LiquidnetServiceException
)
{
LiquidnetServiceException
lsEx
=
(
LiquidnetServiceException
)
e
;
return
ResponseDto
.
failure
(
lsEx
.
getCode
(),
lsEx
.
getMessage
());
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10113"
));
}
}
//
@ApiOperationSupport(order = 11)
//
@ApiOperation(value = "业务账号开通")
//
@ApiImplicitParams({
//
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "bizCode", value = "业务码[NFT_ZX]", allowableValues = "NFT_ZX"),
//
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "name", value = "姓名"),
//
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "idCard", value = "身份证号"),
//
})
//
@PostMapping(value = "open/account")
//
public ResponseDto<AdamUserBizAcctVo> openAccount(@Pattern(regexp = "\\b(NFT_ZX)\\b", message = "业务码无效")
//
@RequestParam String bizCode,
//
@RequestParam(required = false) String name,
//
@RequestParam(required = false) String idCard) {
//
if (StringUtils.isNotBlank(name) && !name.contains("*")) {
//
if (!java.util.regex.Pattern.matches(LnsRegex.Valid.CN_HANZI, name)) {
//
return ResponseDto.failure(ErrorMapping.get("10103"));
//
}
//
if (!java.util.regex.Pattern.matches(LnsRegex.Valid.CN_ID_CARD_REF, idCard)) {
//
return ResponseDto.failure(ErrorMapping.get("10104"));
//
}
//
if (IDCardUtil.getAge(idCard) < 18) {
//
return ResponseDto.failure(ErrorMapping.get("10100"));
//
}
//
}
//
String currentUid = CurrentUtil.getCurrentUid();
//
String mobile = (String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_MOBILE);
//
try {
//
return adamUserBusiAcctService.openAccount(currentUid, bizCode, name, idCard, mobile);
//
} catch (Exception e) {
//
if (e instanceof LiquidnetServiceException) {
//
LiquidnetServiceException lsEx = (LiquidnetServiceException) e;
//
return ResponseDto.failure(lsEx.getCode(), lsEx.getMessage());
//
}
//
return ResponseDto.failure(ErrorMapping.get("10113"));
//
}
//
}
/* ---------------------------- Internal Method ---------------------------- */
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/AdamRdmService.java
View file @
267f1ac4
...
...
@@ -163,17 +163,17 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <UID, BIZ_ACCT_INFO> */
public
List
<
AdamUserBizAcctVo
>
getBizAcctVosByUid
(
String
uid
)
{
return
(
List
<
AdamUserBizAcctVo
>)
redisUtil
.
get
(
AdamRedisConst
.
INFO_BIZ
.
concat
(
uid
));
}
public
boolean
addBizAcctVoByUid
(
String
uid
,
List
<
AdamUserBizAcctVo
>
befVos
,
AdamUserBizAcctVo
vo
)
{
if
(
null
==
befVos
)
{
befVos
=
ObjectUtil
.
getAdamUserBizAcctVoArrayList
();
}
befVos
.
add
(
vo
);
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_BIZ
.
concat
(
uid
),
befVos
);
}
//
public List<AdamUserBizAcctVo> getBizAcctVosByUid(String uid) {
//
return (List<AdamUserBizAcctVo>) redisUtil.get(AdamRedisConst.INFO_BIZ.concat(uid));
//
}
//
//
public boolean addBizAcctVoByUid(String uid, List<AdamUserBizAcctVo> befVos, AdamUserBizAcctVo vo) {
//
if (null == befVos) {
//
befVos = ObjectUtil.getAdamUserBizAcctVoArrayList();
//
}
//
befVos.add(vo);
//
return redisUtil.set(AdamRedisConst.INFO_BIZ.concat(uid), befVos);
//
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <UID, REAL_INFO> */
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserBusiAcctServiceImpl.java
View file @
267f1ac4
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.constant.AdamEnum
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamUserBusiAcctService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.liquidnet.service.adam.util.QueueUtils
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.env.Environment
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.LinkedMultiValueMap
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Optional
;
@Slf4j
@Service
public
class
AdamUserBusiAcctServiceImpl
implements
IAdamUserBusiAcctService
{
@Autowired
private
QueueUtils
queueUtils
;
@Autowired
private
AdamRdmService
adamRdmService
;
@Autowired
private
IAdamUserService
adamUserService
;
// @Value("${liquidnet.service.galaxy.url}")
// private String serviceGalaxyUrl;
@Value
(
"${liquidnet.service.goblin.url}"
)
private
String
serviceGoblinUrl
;
@Override
public
ResponseDto
<
AdamUserBizAcctVo
>
openAccount
(
String
uid
,
String
bizCode
,
String
name
,
String
idCard
,
String
mobile
)
{
List
<
AdamUserBizAcctVo
>
userBizAcctVoList
=
adamRdmService
.
getBizAcctVosByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
userBizAcctVoList
))
{
Optional
<
AdamUserBizAcctVo
>
optional
=
userBizAcctVoList
.
stream
().
filter
(
r
->
r
.
getBizCode
().
equals
(
bizCode
)).
findAny
();
if
(
optional
.
isPresent
())
return
ResponseDto
.
success
(
optional
.
get
());
}
if
(
AdamEnum
.
BizAcct
.
NFT_ZX
.
name
().
equals
(
bizCode
))
{
boolean
inputNameIdCardInvalidFlg
=
StringUtils
.
isBlank
(
name
)
||
name
.
contains
(
"*"
)
||
StringUtils
.
isBlank
(
idCard
)
||
idCard
.
contains
(
"*"
);
AdamRealInfoVo
realInfoVo
=
adamRdmService
.
getRealInfoVoByUidPlain
(
uid
);
if
(
null
!=
realInfoVo
)
{
// 账号已实名
if
(
realInfoVo
.
getNode
()
==
2
)
{
// 二要素认证的
if
(
inputNameIdCardInvalidFlg
)
{
name
=
realInfoVo
.
getName
();
idCard
=
realInfoVo
.
getIdCard
();
if
(
IDCardUtil
.
getAge
(
idCard
)
<
18
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10100"
));
}
}
adamUserService
.
identityForUpsert
(
uid
,
name
,
idCard
,
mobile
,
true
);
}
else
{
// 三要素认证的
name
=
realInfoVo
.
getName
();
idCard
=
realInfoVo
.
getIdCard
();
}
}
else
{
// 账号未实名
if
(
inputNameIdCardInvalidFlg
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10101"
));
}
adamUserService
.
identityForUpsert
(
uid
,
name
,
idCard
,
mobile
,
false
);
}
ResponseDto
<
AdamUserBizAcctVo
>
responseDto
=
this
.
openAccountForNftZXin
(
uid
,
name
,
idCard
,
mobile
);
if
(
responseDto
.
isSuccess
())
{
AdamUserBizAcctVo
userBizAcctVo
=
responseDto
.
getData
();
adamRdmService
.
addBizAcctVoByUid
(
uid
,
userBizAcctVoList
,
userBizAcctVo
);
// LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
// toMqSqls.add(SqlMapping.get("adam_user_busi_acct.add"));
// LinkedList<Object[]> initUserBusiAcctObjs = CollectionUtil.linkedListObjectArr();
// initUserBusiAcctObjs.add(new Object[]{
// uid, AdamEnum.BizAcct.NFT_ZX.name(), userBizAcctVo.getUuid(), null, null, 1, LocalDateTime.now()
// });
queueUtils
.
sendMsgByRedis
(
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
SqlMapping
.
get
(
"adam_user_busi_acct.add"
,
uid
,
AdamEnum
.
BizAcct
.
NFT_ZX
.
name
(),
userBizAcctVo
.
getUuid
(),
null
,
null
,
1
,
LocalDateTime
.
now
())
);
try
{
LinkedMultiValueMap
<
String
,
String
>
paramsMap
=
CollectionUtil
.
linkedMultiValueMapStringString
();
paramsMap
.
add
(
"userId"
,
uid
);
HttpUtil
.
post
(
serviceGoblinUrl
+
"/goblin/rsc/nft/sync/acc"
,
paramsMap
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Ex.开通业务账号:同步Goblin缓存异常[UID={},URL={}],ex:{}"
,
uid
,
serviceGoblinUrl
,
e
.
getMessage
());
}
}
return
responseDto
;
}
log
.
warn
(
"#开通业务账号:无效的业务码[UID={},bizCode={}]"
,
bizCode
,
uid
);
return
ResponseDto
.
failure
();
}
/**
* 数字藏品账号开通-至信链
*
* @param uid
* @param name
* @param idCard
* @param mobile
* @return ResponseDto<AdamUserBizAcctVo>
*/
private
ResponseDto
<
AdamUserBizAcctVo
>
openAccountForNftZXin
(
String
uid
,
String
name
,
String
idCard
,
String
mobile
)
{
ObjectNode
postBodyNode
=
JsonUtils
.
OM
().
createObjectNode
();
postBodyNode
.
put
(
"routerType"
,
"zxinchain"
);
postBodyNode
.
put
(
"idCardType"
,
"1"
);
postBodyNode
.
put
(
"idCard"
,
idCard
);
postBodyNode
.
put
(
"userName"
,
name
);
postBodyNode
.
put
(
"mobile"
,
mobile
);
postBodyNode
.
put
(
"userId"
,
uid
);
// String postUrl = serviceGalaxyUrl + "/galaxy/user/register", blockChainAddress;
String
postUrl
=
serviceGoblinUrl
+
"/goblin/user/register"
,
blockChainAddress
;
try
{
String
postRespStr
=
HttpUtil
.
postRaw
(
postUrl
,
postBodyNode
.
toString
(),
null
);
JsonNode
postRespJNode
=
JsonUtils
.
fromJson
(
postRespStr
,
JsonNode
.
class
),
postRespCode
;
if
(
null
==
postRespJNode
||
null
==
(
postRespCode
=
postRespJNode
.
get
(
"code"
))
||
!
postRespCode
.
asText
().
equals
(
"0"
))
{
log
.
warn
(
"#开通业务账号:至信数字藏品账号开通失败[postBody={},postRespStr={}]"
,
postBodyNode
,
postRespStr
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10113"
));
}
JsonNode
postRespDataJNode
=
postRespJNode
.
get
(
"data"
);
blockChainAddress
=
postRespDataJNode
.
get
(
"blockChainAddress"
).
asText
();
}
catch
(
Exception
e
)
{
log
.
error
(
"Ex.开通业务账号:至信数字藏品账号开通请求异常[url={},postBody={}],ex:{}"
,
postUrl
,
postBodyNode
,
e
.
getMessage
());
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10113"
));
}
AdamUserBizAcctVo
userBizAcctVo
=
AdamUserBizAcctVo
.
getNew
();
userBizAcctVo
.
setBizCode
(
AdamEnum
.
BizAcct
.
NFT_ZX
.
name
());
userBizAcctVo
.
setState
(
AdamEnum
.
BizAcctStatus
.
OPENED
.
getVal
());
userBizAcctVo
.
setUuid
(
blockChainAddress
);
return
ResponseDto
.
success
(
userBizAcctVo
);
}
}
//
package com.liquidnet.service.adam.service.impl;
//
//
import com.fasterxml.jackson.databind.JsonNode;
//
import com.fasterxml.jackson.databind.node.ObjectNode;
//
import com.liquidnet.commons.lang.util.*;
//
import com.liquidnet.service.adam.constant.AdamEnum;
//
import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
//
import com.liquidnet.service.adam.dto.vo.AdamUserBizAcctVo;
//
import com.liquidnet.service.adam.service.AdamRdmService;
//
import com.liquidnet.service.adam.service.IAdamUserBusiAcctService;
//
import com.liquidnet.service.adam.service.IAdamUserService;
//
import com.liquidnet.service.adam.util.QueueUtils;
//
import com.liquidnet.service.base.ErrorMapping;
//
import com.liquidnet.service.base.ResponseDto;
//
import com.liquidnet.service.base.SqlMapping;
//
import com.liquidnet.service.base.constant.MQConst;
//
import lombok.extern.slf4j.Slf4j;
//
import org.apache.commons.lang3.StringUtils;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.beans.factory.annotation.Value;
//
import org.springframework.core.env.Environment;
//
import org.springframework.stereotype.Service;
//
import org.springframework.util.CollectionUtils;
//
import org.springframework.util.LinkedMultiValueMap;
//
//
import java.time.LocalDateTime;
//
import java.util.List;
//
import java.util.Optional;
//
//
@Slf4j
//
@Service
//
public class AdamUserBusiAcctServiceImpl implements IAdamUserBusiAcctService {
//
@Autowired
//
private QueueUtils queueUtils;
//
@Autowired
//
private AdamRdmService adamRdmService;
//
@Autowired
//
private IAdamUserService adamUserService;
//
//
//
//
@Value("${liquidnet.service.galaxy.url}")
//
//
private String serviceGalaxyUrl;
//
@Value("${liquidnet.service.goblin.url}")
//
private String serviceGoblinUrl;
//
//
@Override
//
public ResponseDto<AdamUserBizAcctVo> openAccount(String uid, String bizCode, String name, String idCard, String mobile) {
//
List<AdamUserBizAcctVo> userBizAcctVoList = adamRdmService.getBizAcctVosByUid(uid);
//
if (!CollectionUtils.isEmpty(userBizAcctVoList)) {
//
Optional<AdamUserBizAcctVo> optional = userBizAcctVoList.stream().filter(r -> r.getBizCode().equals(bizCode)).findAny();
//
if (optional.isPresent()) return ResponseDto.success(optional.get());
//
}
//
//
if (AdamEnum.BizAcct.NFT_ZX.name().equals(bizCode)) {
//
boolean inputNameIdCardInvalidFlg = StringUtils.isBlank(name) || name.contains("*") || StringUtils.isBlank(idCard) || idCard.contains("*");
//
AdamRealInfoVo realInfoVo = adamRdmService.getRealInfoVoByUidPlain(uid);
//
if (null != realInfoVo) {// 账号已实名
//
if (realInfoVo.getNode() == 2) {// 二要素认证的
//
if (inputNameIdCardInvalidFlg) {
//
name = realInfoVo.getName();
//
idCard = realInfoVo.getIdCard();
//
//
if (IDCardUtil.getAge(idCard) < 18) {
//
return ResponseDto.failure(ErrorMapping.get("10100"));
//
}
//
}
//
adamUserService.identityForUpsert(uid, name, idCard, mobile, true);
//
} else {// 三要素认证的
//
name = realInfoVo.getName();
//
idCard = realInfoVo.getIdCard();
//
}
//
} else {// 账号未实名
//
if (inputNameIdCardInvalidFlg) {
//
return ResponseDto.failure(ErrorMapping.get("10101"));
//
}
//
adamUserService.identityForUpsert(uid, name, idCard, mobile, false);
//
}
//
//
ResponseDto<AdamUserBizAcctVo> responseDto = this.openAccountForNftZXin(uid, name, idCard, mobile);
//
if (responseDto.isSuccess()) {
//
AdamUserBizAcctVo userBizAcctVo = responseDto.getData();
//
adamRdmService.addBizAcctVoByUid(uid, userBizAcctVoList, userBizAcctVo);
//
//
//
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
//
//
toMqSqls.add(SqlMapping.get("adam_user_busi_acct.add"));
//
//
LinkedList<Object[]> initUserBusiAcctObjs = CollectionUtil.linkedListObjectArr();
//
//
initUserBusiAcctObjs.add(new Object[]{
//
//
uid, AdamEnum.BizAcct.NFT_ZX.name(), userBizAcctVo.getUuid(), null, null, 1, LocalDateTime.now()
//
//
});
//
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UCENTER.getKey(),
//
SqlMapping.get("adam_user_busi_acct.add", uid, AdamEnum.BizAcct.NFT_ZX.name(), userBizAcctVo.getUuid(), null, null, 1, LocalDateTime.now())
//
);
//
//
try {
//
LinkedMultiValueMap<String, String> paramsMap = CollectionUtil.linkedMultiValueMapStringString();
//
paramsMap.add("userId", uid);
//
HttpUtil.post(serviceGoblinUrl + "/goblin/rsc/nft/sync/acc", paramsMap);
//
} catch (Exception e) {
//
log.error("Ex.开通业务账号:同步Goblin缓存异常[UID={},URL={}],ex:{}", uid, serviceGoblinUrl, e.getMessage());
//
}
//
}
//
return responseDto;
//
}
//
log.warn("#开通业务账号:无效的业务码[UID={},bizCode={}]", bizCode, uid);
//
return ResponseDto.failure();
//
}
//
//
/**
//
* 数字藏品账号开通-至信链
//
*
//
* @param uid
//
* @param name
//
* @param idCard
//
* @param mobile
//
* @return ResponseDto<AdamUserBizAcctVo>
//
*/
//
private ResponseDto<AdamUserBizAcctVo> openAccountForNftZXin(String uid, String name, String idCard, String mobile) {
//
ObjectNode postBodyNode = JsonUtils.OM().createObjectNode();
//
postBodyNode.put("routerType", "zxinchain");
//
postBodyNode.put("idCardType", "1");
//
postBodyNode.put("idCard", idCard);
//
postBodyNode.put("userName", name);
//
postBodyNode.put("mobile", mobile);
//
postBodyNode.put("userId", uid);
//
//
String postUrl = serviceGalaxyUrl + "/galaxy/user/register", blockChainAddress;
//
String postUrl = serviceGoblinUrl + "/goblin/user/register", blockChainAddress;
//
try {
//
String postRespStr = HttpUtil.postRaw(postUrl, postBodyNode.toString(), null);
//
JsonNode postRespJNode = JsonUtils.fromJson(postRespStr, JsonNode.class), postRespCode;
//
if (null == postRespJNode || null == (postRespCode = postRespJNode.get("code")) || !postRespCode.asText().equals("0")) {
//
log.warn("#开通业务账号:至信数字藏品账号开通失败[postBody={},postRespStr={}]", postBodyNode, postRespStr);
//
return ResponseDto.failure(ErrorMapping.get("10113"));
//
}
//
JsonNode postRespDataJNode = postRespJNode.get("data");
//
blockChainAddress = postRespDataJNode.get("blockChainAddress").asText();
//
} catch (Exception e) {
//
log.error("Ex.开通业务账号:至信数字藏品账号开通请求异常[url={},postBody={}],ex:{}", postUrl, postBodyNode, e.getMessage());
//
return ResponseDto.failure(ErrorMapping.get("10113"));
//
}
//
//
AdamUserBizAcctVo userBizAcctVo = AdamUserBizAcctVo.getNew();
//
userBizAcctVo.setBizCode(AdamEnum.BizAcct.NFT_ZX.name());
//
userBizAcctVo.setState(AdamEnum.BizAcctStatus.OPENED.getVal());
//
userBizAcctVo.setUuid(blockChainAddress);
//
return ResponseDto.success(userBizAcctVo);
//
}
//
}
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