记得上下班打卡 | 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
cc695400
Commit
cc695400
authored
Jul 29, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix;
parent
f1200510
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
211 additions
and
232 deletions
+211
-232
AdamRedisConst.java
...a/com/liquidnet/service/adam/constant/AdamRedisConst.java
+5
-5
AdamMemberCodeAdminServiceImpl.java
...zai/adam/service/impl/AdamMemberCodeAdminServiceImpl.java
+45
-50
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+6
-7
AdamMemberOrderController.java
...et/service/adam/controller/AdamMemberOrderController.java
+8
-13
AdamRdmService.java
...va/com/liquidnet/service/adam/service/AdamRdmService.java
+5
-22
AdamMemberOrderServiceImpl.java
...service/adam/service/impl/AdamMemberOrderServiceImpl.java
+107
-95
AdamUserMemberServiceImpl.java
.../service/adam/service/impl/AdamUserMemberServiceImpl.java
+21
-22
AdamUserServiceImpl.java
...uidnet/service/adam/service/impl/AdamUserServiceImpl.java
+12
-16
errors.properties
...et-service-adam-impl/src/main/resources/errors.properties
+2
-2
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/constant/AdamRedisConst.java
View file @
cc695400
...
@@ -48,12 +48,12 @@ public class AdamRedisConst {
...
@@ -48,12 +48,12 @@ public class AdamRedisConst {
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
public
static
final
String
LOCK_KEY_UMEMBER_NO
=
"adam:lk:member:no"
;
//
public static final String LOCK_KEY_UMEMBER_NO = "adam:lk:member:no";
// // // // // // // // // //
// // // // // // // // // //
public
static
final
String
LOCK_KEY_SMS_CODE_MOBILE
=
"adam:lk:sms:code:mobile:"
;
//
public static final String LOCK_KEY_SMS_CODE_MOBILE = "adam:lk:sms:code:mobile:";
public
static
final
String
LOCK_KEY_UREGISTER
=
"adam:lk:register:"
;
//
public static final String LOCK_KEY_UREGISTER = "adam:lk:register:";
public
static
final
String
LOCK_KEY_UIDENTITY
=
"adam:lk:identity:"
;
//
public static final String LOCK_KEY_UIDENTITY = "adam:lk:identity:";
public
static
final
String
LOCK_KEY_UMEMBER_CODE
=
"adam:lk:member:code:"
;
//
public static final String LOCK_KEY_UMEMBER_CODE = "adam:lk:member:code:";
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/adam/service/impl/AdamMemberCodeAdminServiceImpl.java
View file @
cc695400
...
@@ -3,36 +3,28 @@ package com.liquidnet.client.admin.zhengzai.adam.service.impl;
...
@@ -3,36 +3,28 @@ package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberCodeAdminService
;
import
com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberCodeAdminService
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.
cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.
exception.LiquidnetServiceException
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.AdamMemberCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberCodeParam
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
import
com.liquidnet.service.adam.util.MemberUtil
;
import
com.liquidnet.service.adam.util.MemberUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_UMEMBER_NO
;
@Slf4j
@Slf4j
@Service
@Service
public
class
AdamMemberCodeAdminServiceImpl
extends
ServiceImpl
<
AdamMemberCodeMapper
,
AdamMemberCode
>
implements
IAdamMemberCodeAdminService
{
public
class
AdamMemberCodeAdminServiceImpl
extends
ServiceImpl
<
AdamMemberCodeMapper
,
AdamMemberCode
>
implements
IAdamMemberCodeAdminService
{
@Autowired
@Autowired
AdamMemberCodeMapper
memberCodeMapper
;
AdamMemberCodeMapper
memberCodeMapper
;
@Autowired
//
@Autowired
MongoTemplate
mongoTemplate
;
//
MongoTemplate mongoTemplate;
@Autowired
@Autowired
RedisUtil
redisUtil
;
RedisUtil
redisUtil
;
...
@@ -42,9 +34,10 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -42,9 +34,10 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
boolean
exists
;
boolean
exists
;
do
{
do
{
mCode
=
MemberUtil
.
freeCode
();
mCode
=
MemberUtil
.
freeCode
();
exists
=
mongoTemplate
.
exists
(
// exists = mongoTemplate.exists(
Query
.
query
(
Criteria
.
where
(
"code"
).
is
(
mCode
)),
AdamMemberCodeVo
.
class
.
getSimpleName
()
// Query.query(Criteria.where("code").is(mCode)), AdamMemberCodeVo.class.getSimpleName()
);
// );
exists
=
redisUtil
.
hasKey
(
mCode
);
}
while
(
exists
);
}
while
(
exists
);
// 需要主动生成会员编号
// 需要主动生成会员编号
...
@@ -64,7 +57,7 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -64,7 +57,7 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
memberCodeMapper
.
insert
(
initMemberCode
);
memberCodeMapper
.
insert
(
initMemberCode
);
AdamMemberCodeVo
vo
=
AdamMemberCodeVo
.
getNew
().
copy
(
initMemberCode
);
AdamMemberCodeVo
vo
=
AdamMemberCodeVo
.
getNew
().
copy
(
initMemberCode
);
mongoTemplate
.
insert
(
vo
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
//
mongoTemplate.insert(vo, AdamMemberCodeVo.class.getSimpleName());
setMemberCodeVoByCode
(
mCode
,
vo
);
setMemberCodeVoByCode
(
mCode
,
vo
);
...
@@ -75,25 +68,27 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -75,25 +68,27 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
long
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
int
memberMaxNo
=
getMaxMemberNo
();
int
memberMaxNo
=
getMaxMemberNo
();
if
(-
1
==
memberMaxNo
)
{
if
(-
1
==
memberMaxNo
)
{
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UMEMBER_NO
,
1
,
3
))
{
// TODO: 2021/7/29 降级DB
memberMaxNo
=
getMaxMemberNo
();
throw
new
LiquidnetServiceException
();
if
(-
1
==
memberMaxNo
)
{
// if (RedisLockUtil.tryLock(LOCK_KEY_UMEMBER_NO, 1, 3)) {
Query
query
=
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
)).
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"memberNo"
)).
limit
(
1
);
// memberMaxNo = getMaxMemberNo();
// if (-1 == memberMaxNo) {
AdamUserMemberVo
latestMaxMemberNoVo
=
mongoTemplate
.
findOne
(
query
,
AdamUserMemberVo
.
class
,
AdamUserMemberVo
.
class
.
getSimpleName
());
// Query query = Query.query(Criteria.where("memberId").is(memberId)).with(Sort.by(Sort.Direction.DESC, "memberNo")).limit(1);
//
if
(
null
==
latestMaxMemberNoVo
)
{
// AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
AdamMemberVo
memberVo
=
getMemberVoByMemberId
(
memberId
);
//
// if (null == latestMaxMemberNoVo) {
setMaxMemberNo
(
memberVo
.
getStartNo
());
// AdamMemberVo memberVo = getMemberVoByMemberId(memberId);
}
else
{
//
setMaxMemberNo
(
Integer
.
parseInt
(
latestMaxMemberNoVo
.
getMemberNo
()));
// setMaxMemberNo(memberVo.getStartNo());
}
// } else {
}
// setMaxMemberNo(Integer.parseInt(latestMaxMemberNoVo.getMemberNo()));
RedisLockUtil
.
unlock
(
LOCK_KEY_UMEMBER_NO
);
// }
}
else
{
// }
return
null
;
// RedisLockUtil.unlock(LOCK_KEY_UMEMBER_NO);
}
// } else {
// return null;
// }
}
}
String
nextMemberNoStr
=
String
.
valueOf
(
incrMemberNo
());
String
nextMemberNoStr
=
String
.
valueOf
(
incrMemberNo
());
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
...
@@ -109,22 +104,22 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -109,22 +104,22 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
return
null
==
o
?
-
1
:
(
int
)
o
;
return
null
==
o
?
-
1
:
(
int
)
o
;
}
}
public
AdamMemberVo
getMemberVoByMemberId
(
String
memberId
)
{
//
public AdamMemberVo getMemberVoByMemberId(String memberId) {
String
key
=
AdamRedisConst
.
INFO_MEMBER_CATEGORY
.
concat
(
memberId
);
//
String key = AdamRedisConst.INFO_MEMBER_CATEGORY.concat(memberId);
long
s
=
System
.
currentTimeMillis
();
//
long s = System.currentTimeMillis();
AdamMemberVo
vo
=
(
AdamMemberVo
)
redisUtil
.
get
(
key
);
//
AdamMemberVo vo = (AdamMemberVo) redisUtil.get(key);
if
(
null
==
vo
)
{
//
if (null == vo) {
s
=
System
.
currentTimeMillis
();
//
s = System.currentTimeMillis();
vo
=
mongoTemplate
.
findOne
(
//
vo = mongoTemplate.findOne(
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
).
and
(
"state"
).
is
(
1
)),
//
Query.query(Criteria.where("memberId").is(memberId).and("state").is(1)),
AdamMemberVo
.
class
,
AdamMemberVo
.
class
.
getSimpleName
()
//
AdamMemberVo.class, AdamMemberVo.class.getSimpleName()
);
//
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if
(
null
!=
vo
)
redisUtil
.
set
(
key
,
vo
);
//
if (null != vo) redisUtil.set(key, vo);
}
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
log.debug("#RDM耗时:{}ms", System.currentTimeMillis() - s);
return
vo
;
//
return vo;
}
//
}
public
boolean
setMaxMemberNo
(
int
val
)
{
public
boolean
setMaxMemberNo
(
int
val
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
val
);
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
val
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
View file @
cc695400
...
@@ -9,7 +9,6 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
...
@@ -9,7 +9,6 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.processor.SmsProcessor
;
import
com.liquidnet.common.sms.processor.SmsProcessor
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
...
@@ -49,8 +48,6 @@ import java.util.Arrays;
...
@@ -49,8 +48,6 @@ import java.util.Arrays;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_SMS_CODE_MOBILE
;
@ApiSupport
(
order
=
10010
)
@ApiSupport
(
order
=
10010
)
@Api
(
tags
=
"用户登录"
)
@Api
(
tags
=
"用户登录"
)
@Slf4j
@Slf4j
...
@@ -132,7 +129,6 @@ public class AdamLoginController {
...
@@ -132,7 +129,6 @@ public class AdamLoginController {
@GetMapping
(
value
=
{
"send"
})
@GetMapping
(
value
=
{
"send"
})
public
ResponseDto
<
Object
>
sendSms
(
@Pattern
(
regexp
=
"\\d{11}"
,
message
=
"手机号格式有误"
)
@RequestParam
String
mobile
)
{
public
ResponseDto
<
Object
>
sendSms
(
@Pattern
(
regexp
=
"\\d{11}"
,
message
=
"手机号格式有误"
)
@RequestParam
String
mobile
)
{
log
.
debug
(
"send to mobile:{}"
,
mobile
);
log
.
debug
(
"send to mobile:{}"
,
mobile
);
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_SMS_CODE_MOBILE
+
mobile
,
1
,
5
))
{
// Map<String, Object> respMap = null;
// Map<String, Object> respMap = null;
// String respStr = null;
// String respStr = null;
// try {
// try {
...
@@ -163,6 +159,12 @@ public class AdamLoginController {
...
@@ -163,6 +159,12 @@ public class AdamLoginController {
// return ResponseDto.failure(ErrorMapping.get("10003"));
// return ResponseDto.failure(ErrorMapping.get("10003"));
// }
// }
String
smsCodeByMobile
=
adamRdmService
.
getSmsCodeByMobile
(
mobile
);
if
(
StringUtils
.
isNotEmpty
(
smsCodeByMobile
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10003"
));
}
String
smsCode
=
RandomStringUtils
.
randomNumeric
(
6
);
String
smsCode
=
RandomStringUtils
.
randomNumeric
(
6
);
// SmsMessage smsMessage = SmsMessage.builder().setPhone(mobile).setSignName(SmsEnum.ADSignName.正在现场.name())
// SmsMessage smsMessage = SmsMessage.builder().setPhone(mobile).setSignName(SmsEnum.ADSignName.正在现场.name())
// .setTemplateCode(SmsEnum.ADTemplate.SMS_109535335.name())
// .setTemplateCode(SmsEnum.ADTemplate.SMS_109535335.name())
...
@@ -177,9 +179,6 @@ public class AdamLoginController {
...
@@ -177,9 +179,6 @@ public class AdamLoginController {
return
ResponseDto
.
success
();
return
ResponseDto
.
success
();
}
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10002"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10002"
));
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10000"
));
}
}
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperationSupport
(
order
=
3
)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberOrderController.java
View file @
cc695400
package
com
.
liquidnet
.
service
.
adam
.
controller
;
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.github.pagehelper.PageInfo
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
...
@@ -16,8 +14,8 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
...
@@ -16,8 +14,8 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
import
com.liquidnet.service.adam.dto.vo.*
;
import
com.liquidnet.service.adam.dto.vo.*
;
import
com.liquidnet.service.adam.service.IAdamMemberOrderService
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamMemberOrderService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.base.PagedResult
;
...
@@ -36,11 +34,8 @@ import org.springframework.web.bind.annotation.*;
...
@@ -36,11 +34,8 @@ import org.springframework.web.bind.annotation.*;
import
javax.validation.Valid
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
import
java.util.List
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_UMEMBER_CODE
;
@ApiSupport
(
order
=
10031
)
@ApiSupport
(
order
=
10031
)
@Api
(
tags
=
"购买会员"
)
@Api
(
tags
=
"购买会员"
)
@Slf4j
@Slf4j
...
@@ -225,16 +220,16 @@ public class AdamMemberOrderController {
...
@@ -225,16 +220,16 @@ public class AdamMemberOrderController {
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10000"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10000"
));
}
}
}
}
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UMEMBER_CODE
+
param
.
getMemberCode
(),
1
,
5
))
{
//
if (RedisLockUtil.tryLock(LOCK_KEY_UMEMBER_CODE + param.getMemberCode(), 1, 5)) {
ResponseDto
<
AdamMemberOrderResult
>
responseDto
=
adamMemberOrderService
.
exchangeMemberCode
(
param
);
ResponseDto
<
AdamMemberOrderResult
>
responseDto
=
adamMemberOrderService
.
exchangeMemberCode
(
param
);
if
(!
responseDto
.
isSuccess
())
{
//
if (!responseDto.isSuccess()) {
RedisLockUtil
.
unlock
(
LOCK_KEY_UMEMBER_CODE
+
param
.
getMemberCode
());
//
RedisLockUtil.unlock(LOCK_KEY_UMEMBER_CODE + param.getMemberCode());
}
//
}
return
responseDto
;
return
responseDto
;
}
else
{
//
} else {
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10000"
));
//
return ResponseDto.failure(ErrorMapping.get("10000"));
}
//
}
}
}
@ApiOperationSupport
(
order
=
5
)
@ApiOperationSupport
(
order
=
5
)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/AdamRdmService.java
View file @
cc695400
...
@@ -50,7 +50,8 @@ public class AdamRdmService {
...
@@ -50,7 +50,8 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <Mobile, SMS CODE> */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <Mobile, SMS CODE> */
public
boolean
setSmsCodeByMobile
(
String
mobile
,
String
smsCode
)
{
public
boolean
setSmsCodeByMobile
(
String
mobile
,
String
smsCode
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
VALID_SMS_CODE_MOBILE
+
mobile
,
smsCode
,
15
*
60
);
// TODO: 2021/7/29 改为1分钟
return
redisUtil
.
set
(
AdamRedisConst
.
VALID_SMS_CODE_MOBILE
+
mobile
,
smsCode
,
1
*
60
);
}
}
public
String
getSmsCodeByMobile
(
String
mobile
)
{
public
String
getSmsCodeByMobile
(
String
mobile
)
{
...
@@ -526,28 +527,14 @@ public class AdamRdmService {
...
@@ -526,28 +527,14 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <AdamMemberCodeVo::buyOrderNo, MEMBER_CODE + STATE> */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <AdamMemberCodeVo::buyOrderNo, MEMBER_CODE + STATE> */
public
boolean
setMemberCodeByBuyOrderNo
(
String
buyOrderNo
,
String
memberCode
AndState
)
{
public
boolean
setMemberCodeByBuyOrderNo
(
String
buyOrderNo
,
String
memberCode
)
{
return
redisUtil
.
set
(
buyOrderNo
,
memberCode
AndState
);
return
redisUtil
.
set
(
buyOrderNo
,
memberCode
);
}
}
public
String
getMemberCodeByBuyOrderNo
(
String
buyOrderNo
)
{
public
String
getMemberCodeByBuyOrderNo
(
String
buyOrderNo
)
{
return
(
String
)
redisUtil
.
get
(
buyOrderNo
);
return
(
String
)
redisUtil
.
get
(
buyOrderNo
);
}
}
public
int
getMemberCodeStateByBuyOrderNoVal
(
String
memberCodeAndState
)
{
if
(
StringUtils
.
isEmpty
(
memberCodeAndState
))
{
return
0
;
}
return
Integer
.
parseInt
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
right
(
memberCodeAndState
,
1
));
}
public
String
getMemberCodeByBuyOrderNoVal
(
String
memberCodeAndState
)
{
if
(
StringUtils
.
isEmpty
(
memberCodeAndState
))
{
return
""
;
}
return
memberCodeAndState
.
substring
(
0
,
memberCodeAndState
.
length
()
-
1
);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | */
/**
/**
...
@@ -562,11 +549,7 @@ public class AdamRdmService {
...
@@ -562,11 +549,7 @@ public class AdamRdmService {
// );
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// return vo;
// return vo;
String
memberCodeByBuyOrderNo
=
this
.
getMemberCodeByBuyOrderNo
(
buyOrderNo
);
return
this
.
getMemberCodeVoByCode
(
this
.
getMemberCodeByBuyOrderNo
(
buyOrderNo
));
AdamMemberCodeVo
vo
=
AdamMemberCodeVo
.
getNew
();
vo
.
setCode
(
this
.
getMemberCodeByBuyOrderNoVal
(
memberCodeByBuyOrderNo
));
vo
.
setState
(
this
.
getMemberCodeStateByBuyOrderNoVal
(
memberCodeByBuyOrderNo
));
return
vo
;
}
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | TAGS:List<AdamTagVo> */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | TAGS:List<AdamTagVo> */
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamMemberOrderServiceImpl.java
View file @
cc695400
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserMemberServiceImpl.java
View file @
cc695400
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamUserMemberService
;
import
com.liquidnet.service.adam.service.IAdamUserMemberService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -10,8 +9,6 @@ import org.springframework.stereotype.Service;
...
@@ -10,8 +9,6 @@ import org.springframework.stereotype.Service;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_UMEMBER_NO
;
@Slf4j
@Slf4j
@Service
@Service
public
class
AdamUserMemberServiceImpl
implements
IAdamUserMemberService
{
public
class
AdamUserMemberServiceImpl
implements
IAdamUserMemberService
{
...
@@ -25,25 +22,27 @@ public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
...
@@ -25,25 +22,27 @@ public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
long
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
int
memberMaxNo
=
adamRdmService
.
getMaxMemberNo
();
int
memberMaxNo
=
adamRdmService
.
getMaxMemberNo
();
if
(-
1
==
memberMaxNo
)
{
if
(-
1
==
memberMaxNo
)
{
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UMEMBER_NO
,
1
,
3
))
{
// TODO: 2021/7/29 降级DB
memberMaxNo
=
adamRdmService
.
getMaxMemberNo
();
throw
new
LiquidnetServiceException
();
if
(-
1
==
memberMaxNo
)
{
// if (RedisLockUtil.tryLock(LOCK_KEY_UMEMBER_NO, 1, 3)) {
// Query query = Query.query(Criteria.where("memberId").is(memberId)).with(Sort.by(Sort.Direction.DESC, "memberNo")).limit(1);
// memberMaxNo = adamRdmService.getMaxMemberNo();
//
// if (-1 == memberMaxNo) {
// AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
//// Query query = Query.query(Criteria.where("memberId").is(memberId)).with(Sort.by(Sort.Direction.DESC, "memberNo")).limit(1);
////
//// AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
////
//// if (null == latestMaxMemberNoVo) {
// AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberId);
//
//
// if (null == latestMaxMemberNoVo) {
// adamRdmService.setMaxMemberNo(memberVo.getStartNo());
AdamMemberVo
memberVo
=
adamRdmService
.
getMemberVoByMemberId
(
memberId
);
//// } else {
//// adamRdmService.setMaxMemberNo(Integer.parseInt(latestMaxMemberNoVo.getMemberNo()));
adamRdmService
.
setMaxMemberNo
(
memberVo
.
getStartNo
());
//// }
// } else {
// }
// adamRdmService.setMaxMemberNo(Integer.parseInt(latestMaxMemberNoVo.getMemberNo()));
// RedisLockUtil.unlock(LOCK_KEY_UMEMBER_NO);
// }
// } else {
}
// return null;
RedisLockUtil
.
unlock
(
LOCK_KEY_UMEMBER_NO
);
// }
}
else
{
return
null
;
}
}
}
String
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
String
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
))
{
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserServiceImpl.java
View file @
cc695400
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
...
@@ -34,8 +32,6 @@ import java.time.LocalDateTime;
...
@@ -34,8 +32,6 @@ import java.time.LocalDateTime;
import
java.util.LinkedList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.List
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_UREGISTER
;
/**
/**
* <p>
* <p>
* 用户 服务实现类
* 用户 服务实现类
...
@@ -70,7 +66,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
...
@@ -70,7 +66,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamUserInfoVo
userInfoVo
=
null
;
AdamUserInfoVo
userInfoVo
=
null
;
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UREGISTER
+
mobile
,
1
,
5
))
{
//
if (RedisLockUtil.tryLock(LOCK_KEY_UREGISTER + mobile, 1, 5)) {
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
if
(
StringUtils
.
isEmpty
(
uid
))
{
if
(
StringUtils
.
isEmpty
(
uid
))
{
userInfoVo
=
AdamUserInfoVo
.
getNew
();
userInfoVo
=
AdamUserInfoVo
.
getNew
();
...
@@ -110,8 +106,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
...
@@ -110,8 +106,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
}
else
{
}
else
{
userInfoVo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
userInfoVo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
}
}
RedisLockUtil
.
unlock
(
LOCK_KEY_UREGISTER
+
mobile
);
//
RedisLockUtil.unlock(LOCK_KEY_UREGISTER + mobile);
}
//
}
return
userInfoVo
;
return
userInfoVo
;
}
}
...
@@ -121,7 +117,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
...
@@ -121,7 +117,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamUserInfoVo
userInfoVo
=
null
;
AdamUserInfoVo
userInfoVo
=
null
;
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UREGISTER
+
param
.
getOpenId
()
+
param
.
getPlatform
(),
1
,
5
))
{
//
if (RedisLockUtil.tryLock(LOCK_KEY_UREGISTER + param.getOpenId() + param.getPlatform(), 1, 5)) {
String
uid
=
adamRdmService
.
getUidByPlatformOpenId
(
param
.
getPlatform
(),
param
.
getOpenId
());
String
uid
=
adamRdmService
.
getUidByPlatformOpenId
(
param
.
getPlatform
(),
param
.
getOpenId
());
if
(
StringUtils
.
isEmpty
(
uid
))
{
if
(
StringUtils
.
isEmpty
(
uid
))
{
long
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
...
@@ -188,8 +184,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
...
@@ -188,8 +184,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
}
else
{
}
else
{
userInfoVo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
userInfoVo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
}
}
RedisLockUtil
.
unlock
(
LOCK_KEY_UREGISTER
+
param
.
getOpenId
()
+
param
.
getPlatform
());
//
RedisLockUtil.unlock(LOCK_KEY_UREGISTER + param.getOpenId() + param.getPlatform());
}
//
}
return
userInfoVo
;
return
userInfoVo
;
}
}
...
@@ -377,9 +373,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
...
@@ -377,9 +373,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
AdamRealInfoVo
identity
(
String
uid
,
String
name
,
String
idCard
)
{
public
AdamRealInfoVo
identity
(
String
uid
,
String
name
,
String
idCard
)
{
AdamRealInfoVo
vo
=
null
;
AdamRealInfoVo
vo
=
null
;
if
(
RedisLockUtil
.
tryLock
(
AdamRedisConst
.
LOCK_KEY_UIDENTITY
+
uid
,
1
,
3
))
{
//
if (RedisLockUtil.tryLock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid, 1, 3)) {
vo
=
adamRdmService
.
getRealInfoVoByUid
(
uid
);
//
vo = adamRdmService.getRealInfoVoByUid(uid);
if
(
null
==
vo
)
{
//
if (null == vo) {
if
(!
adamRdmService
.
isCertification
(
1
,
idCard
,
name
))
{
if
(!
adamRdmService
.
isCertification
(
1
,
idCard
,
name
))
{
// String respStr = null;
// String respStr = null;
// try {
// try {
...
@@ -431,9 +427,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
...
@@ -431,9 +427,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService
.
setRealInfoVoByUid
(
uid
,
vo
);
adamRdmService
.
setRealInfoVoByUid
(
uid
,
vo
);
adamRdmService
.
setCertification
(
1
,
idCard
,
name
);
adamRdmService
.
setCertification
(
1
,
idCard
,
name
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
//
}
RedisLockUtil
.
unlock
(
AdamRedisConst
.
LOCK_KEY_UIDENTITY
+
uid
);
//
RedisLockUtil.unlock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid);
}
//
}
return
vo
;
return
vo
;
}
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/errors.properties
View file @
cc695400
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
10000
=
请求频繁,稍后再试
10000
=
请求频繁,稍后再试
10001
=
10001
=
10002
=
验证码发送失败
10002
=
验证码发送失败
10003
=
已超时,请重新获取验证码
10003
=
发送过于频繁,请稍后再试
10004
=
验证码错误,请重新输入
10004
=
验证码错误,请重新输入
10005
=
手机号获取失败,请更换登录方式
10005
=
手机号获取失败,请更换登录方式
10006
=
第三方账号未注册
10006
=
第三方账号未注册
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
10211
=
订单不存在
10211
=
订单不存在
10212
=
订单状态查询失败
10212
=
订单状态查询失败
10213
=
感谢您选择登登登。距您上一次离开不足一年,登登登还没准备好再次邀您加入。不如我们给彼此多一些时间,有缘再相见。
10213
=
感谢您选择登登登。距您上一次离开不足一年,登登登还没准备好再次邀您加入。不如我们给彼此多一些时间,有缘再相见。
10214
=
10214
=
兑换失败
10215
=
本次摩登天空会员购买名额已满
10215
=
本次摩登天空会员购买名额已满
10216
=
10216
=
...
...
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