记得上下班打卡 | 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
e061f0af
Commit
e061f0af
authored
Jun 19, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:bug:#65|#22;
parent
70959b0e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
155 additions
and
90 deletions
+155
-90
AdamMemberCodeParam.java
...a/com/liquidnet/service/adam/dto/AdamMemberCodeParam.java
+1
-1
AdamMemberOrderParam.java
.../com/liquidnet/service/adam/dto/AdamMemberOrderParam.java
+1
-1
CurrentUtil.java
...ain/java/com/liquidnet/commons/lang/util/CurrentUtil.java
+11
-11
AdamMemberOrderController.java
...et/service/adam/controller/AdamMemberOrderController.java
+4
-3
AdamMemberOrderServiceImpl.java
...service/adam/service/impl/AdamMemberOrderServiceImpl.java
+81
-54
AdamRdmServiceImpl.java
...quidnet/service/adam/service/impl/AdamRdmServiceImpl.java
+55
-20
AdamUserMemberServiceImpl.java
.../service/adam/service/impl/AdamUserMemberServiceImpl.java
+2
-0
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamMemberCodeParam.java
View file @
e061f0af
...
...
@@ -12,7 +12,7 @@ public class AdamMemberCodeParam implements Serializable {
private
static
final
long
serialVersionUID
=
-
7273522103593077617L
;
@ApiModelProperty
(
position
=
1
,
required
=
true
,
value
=
"会员类型ID"
,
example
=
"1"
)
private
String
memberId
;
@ApiModelProperty
(
position
=
2
,
required
=
true
,
value
=
"会员价格ID"
,
example
=
"1
01
"
)
@ApiModelProperty
(
position
=
2
,
required
=
true
,
value
=
"会员价格ID"
,
example
=
"1"
)
private
String
memberPriceId
;
@ApiModelProperty
(
position
=
3
,
required
=
true
,
value
=
"类型:0-用户购买兑换码,1-后台生成兑换码"
,
example
=
"1"
)
private
Integer
type
;
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamMemberOrderParam.java
View file @
e061f0af
...
...
@@ -16,7 +16,7 @@ public class AdamMemberOrderParam implements Serializable {
@ApiModelProperty
(
position
=
10
,
required
=
true
,
value
=
"会员ID[50]"
,
example
=
"1"
)
@NotBlank
private
String
memberId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"会员价格ID"
,
example
=
"1
01
"
)
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"会员价格ID"
,
example
=
"1"
)
@NotBlank
private
String
memberPriceId
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"购买方式:0-购买会员,1-购买会员码"
,
allowableValues
=
"0,1"
)
...
...
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/CurrentUtil.java
View file @
e061f0af
...
...
@@ -57,21 +57,21 @@ public class CurrentUtil {
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
CLI_UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
if
(
LOCALHOST_IP1
.
equalsIgnoreCase
(
ip
)
||
LOCALHOST_IP
.
equalsIgnoreCase
(
ip
))
{
// 根据网卡取本机配置的IP
InetAddress
iNet
=
null
;
try
{
iNet
=
InetAddress
.
getLocalHost
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
ip
=
iNet
.
getHostAddress
();
}
//
if (LOCALHOST_IP1.equalsIgnoreCase(ip) || LOCALHOST_IP.equalsIgnoreCase(ip)) {
//
// 根据网卡取本机配置的IP
//
InetAddress iNet = null;
//
try {
//
iNet = InetAddress.getLocalHost();
//
} catch (UnknownHostException e) {
//
e.printStackTrace();
//
}
//
ip = iNet.getHostAddress();
//
}
}
// 使用代理,则获取第一个IP地址
if
(!
StringUtils
.
isEmpty
(
ip
)
&&
ip
.
indexOf
(
IP_UTILS_FLAG
)
>
0
)
{
ip
=
ip
.
substring
(
0
,
ip
.
indexOf
(
IP_UTILS_FLAG
));
}
return
"0:0:0:0:0:0:0:1"
.
equals
(
ip
)
?
"127.0.0.1"
:
ip
;
return
LOCALHOST_IP
.
equals
(
ip
)
?
LOCALHOST_IP1
:
ip
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberOrderController.java
View file @
e061f0af
...
...
@@ -173,9 +173,10 @@ public class AdamMemberOrderController {
public
ResponseDto
<
AdamMemberOrderResult
>
exchangeMemberCode
(
@Valid
@RequestBody
AdamMemberOrderCodeParam
param
)
{
log
.
debug
(
"member/order/exchange:param:{}"
,
JsonUtils
.
toJson
(
param
));
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
if
(
null
!=
adamRdmService
.
getUserMemberVoByUid
(
currentUid
))
{
// 仅限从未购买过会员的用户使用
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10200"
));
}
// TODO: 2021/6/19 关闭该验证(如果已是会员继续兑换则保留原会员号,兑换码对应会员号记录至会员订单)
// if (null != adamRdmService.getUserMemberVoByUid(currentUid)) {// 仅限从未购买过会员的用户使用
// return ResponseDto.failure(ErrorMapping.get("10200"));
// }
// TODO: 2021/6/9 判断黑名单,待定(暂不做)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamMemberOrderServiceImpl.java
View file @
e061f0af
...
...
@@ -34,6 +34,7 @@ import org.springframework.util.StringUtils;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.*
;
@Slf4j
...
...
@@ -140,7 +141,9 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
try
{
String
url
=
env
.
getProperty
(
"liquidnet.url-pay.pay"
)
+
payUri
;
log
.
debug
(
"HttpUtil.resquest.url:{},param:{}"
,
url
,
JsonUtils
.
toJson
(
payParam
));
long
s
=
System
.
currentTimeMillis
();
String
json
=
HttpUtil
.
post
(
url
,
payParam
);
log
.
debug
(
"#PHP.API耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
log
.
debug
(
"HttpUtil.response.body:{}"
,
json
);
Map
payResult
=
JsonUtils
.
fromJson
(
json
,
Map
.
class
);
...
...
@@ -189,7 +192,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
*/
LinkedList
<
String
>
toMqSqls
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
operationObjs
=
new
LinkedList
<>(),
updateMemberOrderObjs
=
new
LinkedList
<>();
// AdamMemberOrderVo updateMemberOrderVo = AdamMemberOrderVo.getNew();
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
0
==
handleMemberOrderVo
.
getMode
())
{
// 购买会员回调
AdamUserMemberVo
existUserMemberVo
=
adamRdmService
.
getUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
());
...
...
@@ -201,13 +203,15 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initUserMemberVo
.
setMemberId
(
handleMemberOrderVo
.
getMemberId
());
initUserMemberVo
.
setMemberNo
(
memberNo
);
initUserMemberVo
.
setState
(
1
);
// 1-正常,2-失效
Date
expiryAt
=
DateUtil
.
getBeforeDayEnd
(
Calendar
.
getInstance
(),
memberPriceVo
.
getDays
());
initUserMemberVo
.
setExpiryAt
(
DateUtil
.
asLocalDateTime
(
expiryAt
));
initUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
memberPriceVo
.
getDays
()).
with
(
LocalTime
.
MAX
));
initUserMemberVo
.
setCreatedAt
(
now
);
// 订单写入MongoDB和Redis中
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
initUserMemberVo
,
AdamUserMemberVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
(),
initUserMemberVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
handleMemberOrderVo
.
setMemberNo
(
memberNo
);
...
...
@@ -216,23 +220,20 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initUserMemberVo
.
getUid
(),
initUserMemberVo
.
getMemberId
(),
initUserMemberVo
.
getMemberNo
(),
initUserMemberVo
.
getState
(),
initUserMemberVo
.
getExpiryAt
(),
initUserMemberVo
.
getCreatedAt
()
});
}
else
{
// 续费
}
else
{
// 续费
LocalDateTime
currentExpiryAt
=
existUserMemberVo
.
getExpiryAt
();
LocalDateTime
expiryAt
=
(
currentExpiryAt
.
isBefore
(
now
)
?
now
:
currentExpiryAt
).
plusDays
(
memberPriceVo
.
getDays
()).
with
(
LocalTime
.
MAX
);
Calendar
calendar
=
Calendar
.
getInstance
();
Date
nowDt
=
DateUtil
.
asDate
(
now
),
currentExpiryAtDate
=
DateUtil
.
asDate
(
currentExpiryAt
);
calendar
.
setTime
(
currentExpiryAtDate
.
before
(
nowDt
)
?
nowDt
:
currentExpiryAtDate
);
LocalDateTime
expiryAt
=
DateUtil
.
asLocalDateTime
(
DateUtil
.
getBeforeDayEnd
(
calendar
,
memberPriceVo
.
getDays
()));
// existUserMemberVo.setExpiryAt(expiryAt);
// existUserMemberVo.setState(1);// 1-正常,2-失效
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
getCollection
(
AdamUserMemberVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
existUserMemberVo
.
getUid
())).
getQueryObject
(),
// new Document("$set", Document.parse(JsonUtils.toJson(existUserMemberVo))));
new
Document
(
"$set"
,
new
Document
(
"expiryAt"
,
expiryAt
).
append
(
"state"
,
1
))
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
existUserMemberVo
.
setExpiryAt
(
expiryAt
);
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
(),
existUserMemberVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
handleMemberOrderVo
.
setMemberNo
(
existUserMemberVo
.
getMemberNo
());
...
...
@@ -257,8 +258,12 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initMemberCodeVo
.
setBuyAt
(
now
);
initMemberCodeVo
.
setCreatedAt
(
now
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
initMemberCodeVo
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setMemberCodeVoByCode
(
initMemberCodeVo
.
getCode
(),
initMemberCodeVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
handleMemberOrderVo
.
setMemberCode
(
initMemberCodeVo
.
getCode
());
handleMemberOrderVo
.
setMemberNo
(
memberNo
);
...
...
@@ -274,7 +279,9 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
handleMemberOrderVo
.
setUpdatedAt
(
now
);
handleMemberOrderVo
.
setState
(
1
);
// 1-已支付
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
handleMemberOrderVo
,
AdamMemberOrderVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_member_order.add"
));
updateMemberOrderObjs
.
add
(
new
Object
[]{
...
...
@@ -285,10 +292,14 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
handleMemberOrderVo
.
getCreatedAt
(),
handleMemberOrderVo
.
getClientIp
(),
handleMemberOrderVo
.
getSource
(),
handleMemberOrderVo
.
getVersion
()
});
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setShotMemberOrderVoByOrderNo
(
handleMemberOrderVo
.
getOrderNo
(),
handleMemberOrderVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
s
=
System
.
currentTimeMillis
();
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SQL_UCENTER
,
MQConst
.
RK_SQL_UMEMBER
,
SqlMapping
.
gets
(
toMqSqls
,
operationObjs
,
updateMemberOrderObjs
));
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
ResponseDto
.
success
();
}
...
...
@@ -307,7 +318,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
}
AdamMemberVo
memberVo
=
adamRdmService
.
getMemberVoByMemberId
(
memberCodeVo
.
getMemberId
());
LocalDateTime
currentDateTime
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
// 创建会员订单
AdamMemberOrderVo
initMemberOrderVo
=
AdamMemberOrderVo
.
getNew
();
initMemberOrderVo
.
setOrderNo
(
IDGenerator
.
nextSnowId
().
toString
().
concat
(
"V"
));
...
...
@@ -325,52 +336,75 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initMemberOrderVo
.
setDeviceFrom
(
param
.
getDeviceFrom
());
initMemberOrderVo
.
setPayType
(
param
.
getMode
()
==
2
?
"vipcode"
:
"giftcode"
);
initMemberOrderVo
.
setPayNo
(
memberCodeVo
.
getCode
());
initMemberOrderVo
.
setPaymentAt
(
currentDateTime
);
initMemberOrderVo
.
setCreatedAt
(
currentDateTime
);
initMemberOrderVo
.
setPaymentAt
(
now
);
initMemberOrderVo
.
setCreatedAt
(
now
);
initMemberOrderVo
.
setClientIp
(
CurrentUtil
.
getCliIpAddr
());
initMemberOrderVo
.
setSource
(
CurrentUtil
.
getCliSource
());
initMemberOrderVo
.
setVersion
(
CurrentUtil
.
getCliVersion
());
initMemberOrderVo
.
setMemberCode
(
param
.
getMemberCode
());
AdamUserMemberVo
initUserMemberVo
=
AdamUserMemberVo
.
getNew
();
initUserMemberVo
.
setUid
(
initMemberOrderVo
.
getUid
());
initUserMemberVo
.
setMemberId
(
memberCodeVo
.
getMemberId
());
initUserMemberVo
.
setMemberNo
(
memberCodeVo
.
getMemberNo
());
initUserMemberVo
.
setState
(
1
);
initUserMemberVo
.
setExpiryAt
(
DateUtil
.
asLocalDateTime
(
DateUtil
.
getBeforeDayEnd
(
Calendar
.
getInstance
(),
initMemberOrderVo
.
getDays
())
));
initUserMemberVo
.
setCreatedAt
(
currentDateTime
);
LinkedList
<
String
>
toMqSqls
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
updateMemberCodeObjs
=
new
LinkedList
<>(),
initMemberOrderObjs
=
new
LinkedList
<>(),
initUserMemberObjs
=
new
LinkedList
<>();
// AdamMemberCodeVo updateMemberCodeVo = AdamMemberCodeVo.getNew();
// updateMemberCodeVo.setState(1);
// updateMemberCodeVo.setUpdatedAt(currentDateTime);
// updateMemberCodeVo.setUseOrderNo(initMemberOrderVo.getOrderNo());
// updateMemberCodeVo.setUseUid(initUserMemberVo.getUid());
// updateMemberCodeVo.setUseAt(currentDateTime);
initMemberOrderObjs
=
new
LinkedList
<>(),
upsertUserMemberObjs
=
new
LinkedList
<>();
AdamUserMemberVo
upsertUserMemberVo
=
adamRdmService
.
getUserMemberVoByUid
(
initMemberOrderVo
.
getUid
());
if
(
null
!=
upsertUserMemberVo
)
{
upsertUserMemberVo
.
setState
(
1
);
LocalDateTime
expiryAt
=
upsertUserMemberVo
.
getExpiryAt
();
upsertUserMemberVo
.
setExpiryAt
(
(
expiryAt
.
isBefore
(
now
)
?
now
:
expiryAt
).
plusDays
(
initMemberOrderVo
.
getDays
()).
with
(
LocalTime
.
MAX
)
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
getCollection
(
AdamUserMemberVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
upsertUserMemberVo
.
getUid
())).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"expiryAt"
,
upsertUserMemberVo
.
getExpiryAt
()).
append
(
"state"
,
1
))
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.update"
));
upsertUserMemberObjs
.
add
(
new
Object
[]{
upsertUserMemberVo
.
getState
(),
upsertUserMemberVo
.
getExpiryAt
(),
now
,
upsertUserMemberVo
.
getUid
()
});
}
else
{
upsertUserMemberVo
=
AdamUserMemberVo
.
getNew
();
upsertUserMemberVo
.
setUid
(
initMemberOrderVo
.
getUid
());
upsertUserMemberVo
.
setMemberId
(
memberCodeVo
.
getMemberId
());
upsertUserMemberVo
.
setMemberNo
(
memberCodeVo
.
getMemberNo
());
upsertUserMemberVo
.
setState
(
1
);
upsertUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
initMemberOrderVo
.
getDays
()).
with
(
LocalTime
.
MAX
));
upsertUserMemberVo
.
setCreatedAt
(
now
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
upsertUserMemberVo
,
AdamUserMemberVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.add"
));
upsertUserMemberObjs
.
add
(
new
Object
[]{
upsertUserMemberVo
.
getUid
(),
upsertUserMemberVo
.
getMemberId
(),
upsertUserMemberVo
.
getMemberNo
(),
upsertUserMemberVo
.
getState
(),
upsertUserMemberVo
.
getExpiryAt
(),
upsertUserMemberVo
.
getCreatedAt
()
});
}
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserMemberVoByUid
(
initMemberOrderVo
.
getUid
(),
upsertUserMemberVo
);
adamRdmService
.
delMemberCodeVoByCode
(
memberCodeVo
.
getCode
());
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
Document
updateMemberCodeVo
=
new
Document
(
"state"
,
1
)
.
append
(
"updatedAt"
,
currentDateTime
)
.
append
(
"updatedAt"
,
now
)
.
append
(
"useOrderNo"
,
initMemberOrderVo
.
getOrderNo
())
.
append
(
"useUid"
,
initUserMemberVo
.
getUid
())
.
append
(
"useAt"
,
currentDateTime
);
.
append
(
"useUid"
,
upsertUserMemberVo
.
getUid
())
.
append
(
"useAt"
,
now
);
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
getCollection
(
AdamMemberCodeVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"code"
).
is
(
memberCodeVo
.
getCode
())).
getQueryObject
(),
// new Document("$set", Document.parse(JsonUtils.toJson(updateMemberCodeVo)))
new
Document
(
"$set"
,
updateMemberCodeVo
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_member_code.exchange"
));
updateMemberCodeObjs
.
add
(
new
Object
[]{
// updateMemberCodeVo.getState(), updateMemberCodeVo.getUpdatedAt(), updateMemberCodeVo.getUseOrderNo(),
// updateMemberCodeVo.getUseUid(), updateMemberCodeVo.getUseAt(), memberCodeVo.getCode()
1
,
currentDateTime
,
initMemberOrderVo
.
getOrderNo
(),
initUserMemberVo
.
getUid
(),
currentDateTime
,
memberCodeVo
.
getCode
()
1
,
now
,
initMemberOrderVo
.
getOrderNo
(),
upsertUserMemberVo
.
getUid
(),
now
,
memberCodeVo
.
getCode
()
});
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
initMemberOrderVo
,
AdamMemberOrderVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_member_order.add"
));
initMemberOrderObjs
.
add
(
new
Object
[]{
initMemberOrderVo
.
getOrderNo
(),
initMemberOrderVo
.
getUid
(),
initMemberOrderVo
.
getMode
(),
initMemberOrderVo
.
getPrice
(),
...
...
@@ -379,18 +413,11 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initMemberOrderVo
.
getDeviceFrom
(),
initMemberOrderVo
.
getPayType
(),
initMemberOrderVo
.
getPayNo
(),
initMemberOrderVo
.
getPaymentAt
(),
initMemberOrderVo
.
getCreatedAt
(),
initMemberOrderVo
.
getClientIp
(),
initMemberOrderVo
.
getSource
(),
initMemberOrderVo
.
getVersion
()
});
mongoTemplate
.
insert
(
initUserMemberVo
,
AdamUserMemberVo
.
class
.
getSimpleName
());
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.add"
));
initUserMemberObjs
.
add
(
new
Object
[]{
initUserMemberVo
.
getUid
(),
initUserMemberVo
.
getMemberId
(),
initUserMemberVo
.
getMemberNo
(),
initUserMemberVo
.
getState
(),
initUserMemberVo
.
getExpiryAt
(),
initUserMemberVo
.
getCreatedAt
()
});
adamRdmService
.
setUserMemberVoByUid
(
initMemberOrderVo
.
getUid
(),
initUserMemberVo
);
adamRdmService
.
delMemberCodeVoByCode
(
memberCodeVo
.
getCode
());
s
=
System
.
currentTimeMillis
();
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SQL_UCENTER
,
MQConst
.
RK_SQL_UMEMBER
,
SqlMapping
.
gets
(
toMqSqls
,
updateMemberCodeObjs
,
initMemberOrderObjs
,
initUserMemberObjs
));
SqlMapping
.
gets
(
toMqSqls
,
updateMemberCodeObjs
,
initMemberOrderObjs
,
upsertUserMemberObjs
));
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
AdamMemberOrderResult
result
=
AdamMemberOrderResult
.
getNew
();
result
.
setOrderNo
(
initMemberOrderVo
.
getOrderNo
());
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamRdmServiceImpl.java
View file @
e061f0af
...
...
@@ -18,6 +18,7 @@ import org.springframework.util.StringUtils;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@Slf4j
...
...
@@ -36,11 +37,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
String
getUidByMobile
(
String
mobile
)
{
String
key
=
AdamRedisConst
.
IDENTITY_MOBILE
.
concat
(
mobile
);
long
s
=
System
.
currentTimeMillis
();
String
val
=
(
String
)
redisUtil
.
get
(
key
);
if
(
StringUtils
.
isEmpty
(
val
))
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"mobile"
).
is
(
mobile
).
and
(
"state"
).
is
(
1
));
query
.
fields
().
include
(
"uid"
);
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
AdamUserInfoVo
vo
=
mongoTemplate
.
findOne
(
query
,
AdamUserInfoVo
.
class
,
AdamUserInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
{
...
...
@@ -48,6 +50,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
redisUtil
.
set
(
key
,
vo
.
getUid
());
}
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
val
;
}
...
...
@@ -64,11 +67,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
String
getUidByPlatformOpenId
(
String
platform
,
String
openId
)
{
String
key
=
AdamRedisConst
.
IDENTITY_THIRD_PARTY
+
platform
+
":"
+
openId
;
long
s
=
System
.
currentTimeMillis
();
String
val
=
(
String
)
redisUtil
.
get
(
key
);
if
(
StringUtils
.
isEmpty
(
val
))
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"openId"
).
is
(
openId
).
and
(
"platform"
).
is
(
platform
).
and
(
"state"
).
is
(
1
));
query
.
fields
().
include
(
"uid"
);
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
AdamThirdPartInfoVo
vo
=
mongoTemplate
.
findOne
(
query
,
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
{
...
...
@@ -76,6 +80,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
redisUtil
.
set
(
key
,
vo
.
getUid
());
}
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
val
;
}
...
...
@@ -92,15 +97,17 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
AdamUserInfoVo
getUserInfoVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_USER
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamUserInfoVo
vo
=
(
AdamUserInfoVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamUserInfoVo
.
class
,
AdamUserInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
redisUtil
.
set
(
rk
,
vo
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -117,9 +124,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
AdamRealInfoVo
getRealInfoVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_REAL_NAME
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamRealInfoVo
vo
=
(
AdamRealInfoVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamRealInfoVo
.
class
,
AdamRealInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -130,6 +138,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
vo
.
setName
(
SensitizeUtil
.
chineseName
(
vo
.
getName
()));
vo
.
setIdCard
(
SensitizeUtil
.
custom
(
vo
.
getIdCard
(),
3
,
2
));
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -146,24 +155,31 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
List
<
AdamThirdPartInfoVo
>
getThirdPartVoListByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_THIRD_PARTY
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamThirdPartInfoVo
>
thirdPartInfoVos
=
(
List
<
AdamThirdPartInfoVo
>)
redisUtil
.
get
(
rk
);
if
(
CollectionUtils
.
isEmpty
(
thirdPartInfoVos
))
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
thirdPartInfoVos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(!
CollectionUtils
.
isEmpty
(
thirdPartInfoVos
))
redisUtil
.
set
(
rk
,
thirdPartInfoVos
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
thirdPartInfoVos
;
}
@Override
public
AdamThirdPartInfoVo
getThirdPartVoByUidPlatform
(
String
uid
,
String
platform
)
{
List
<
AdamThirdPartInfoVo
>
list
=
this
.
getThirdPartVoListByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
for
(
AdamThirdPartInfoVo
r
:
list
)
if
(
platform
.
equals
(
r
.
getPlatform
()))
return
r
;
List
<
AdamThirdPartInfoVo
>
vos
=
this
.
getThirdPartVoListByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
// for (AdamThirdPartInfoVo r : vos)
// if (platform.equals(r.getPlatform())) return r;
Optional
<
AdamThirdPartInfoVo
>
any
=
vos
.
stream
().
filter
(
r
->
r
.
getPlatform
().
equals
(
platform
)).
findAny
();
if
(
any
.
isPresent
())
{
return
any
.
get
();
}
}
return
null
;
}
...
...
@@ -180,9 +196,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
List
<
AdamEntersVo
>
getEntersVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamEntersVo
>
vos
=
(
List
<
AdamEntersVo
>)
redisUtil
.
get
(
rk
);
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)).
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)),
AdamEntersVo
.
class
,
AdamEntersVo
.
class
.
getSimpleName
()
...
...
@@ -191,6 +208,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
if
(!
CollectionUtils
.
isEmpty
(
vos
))
redisUtil
.
set
(
rk
,
vos
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
...
...
@@ -218,9 +236,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
List
<
AdamAddressesVo
>
getAddressesVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_ADDRESSES
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamAddressesVo
>
vos
=
(
List
<
AdamAddressesVo
>)
redisUtil
.
get
(
rk
);
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)).
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)),
AdamAddressesVo
.
class
,
AdamAddressesVo
.
class
.
getSimpleName
()
...
...
@@ -229,6 +248,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
if
(!
CollectionUtils
.
isEmpty
(
vos
))
redisUtil
.
set
(
rk
,
vos
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
...
...
@@ -250,9 +270,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
AdamUserMemberVo
getUserMemberVoByUid
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamUserMemberVo
vo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamUserMemberVo
.
class
,
AdamUserMemberVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -261,6 +282,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
if
(
null
!=
vo
)
{
vo
.
setState
(
vo
.
getState
()
==
1
?
(
vo
.
getExpiryAt
().
isAfter
(
LocalDateTime
.
now
())
?
1
:
2
)
:
vo
.
getState
());
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -290,9 +312,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
AdamMemberVo
getMemberVoByMemberId
(
String
memberId
)
{
String
key
=
AdamRedisConst
.
INFO_MEMBER_CATEGORY
.
concat
(
memberId
);
long
s
=
System
.
currentTimeMillis
();
AdamMemberVo
vo
=
(
AdamMemberVo
)
redisUtil
.
get
(
key
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
).
and
(
"state"
).
is
(
1
)),
AdamMemberVo
.
class
,
AdamMemberVo
.
class
.
getSimpleName
()
...
...
@@ -300,6 +323,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
redisUtil
.
set
(
key
,
vo
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -311,9 +335,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
List
<
AdamMemberPriceVo
>
getMemberPriceVoByMemberId
(
String
memberId
)
{
String
key
=
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
memberId
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamMemberPriceVo
>
vos
=
(
List
<
AdamMemberPriceVo
>)
redisUtil
.
get
(
key
);
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
).
and
(
"state"
).
is
(
1
)),
AdamMemberPriceVo
.
class
,
AdamMemberPriceVo
.
class
.
getSimpleName
()
...
...
@@ -322,17 +347,23 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
if
(!
CollectionUtils
.
isEmpty
(
vos
))
redisUtil
.
set
(
key
,
vos
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
@Override
public
AdamMemberPriceVo
getMemberPriceVoByPriceId
(
String
memberId
,
String
memberPriceId
)
{
long
s
=
System
.
currentTimeMillis
();
List
<
AdamMemberPriceVo
>
vos
=
this
.
getMemberPriceVoByMemberId
(
memberId
);
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
for
(
AdamMemberPriceVo
r
:
vos
)
{
if
(
memberPriceId
.
equals
(
r
.
getMemberPriceId
()))
{
return
r
;
}
// for (AdamMemberPriceVo r : vos) {
// if (memberPriceId.equals(r.getMemberPriceId())) {
// return r;
// }
// }
Optional
<
AdamMemberPriceVo
>
any
=
vos
.
stream
().
filter
(
r
->
r
.
getMemberPriceId
().
equals
(
memberPriceId
)).
findAny
();
if
(
any
.
isPresent
())
{
return
any
.
get
();
}
}
return
null
;
...
...
@@ -381,9 +412,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
AdamMemberOrderVo
getShotMemberOrderVoByOrderNo
(
String
orderNo
)
{
String
key
=
AdamRedisConst
.
SHOT_MEMBER_ORDER
+
orderNo
;
long
s
=
System
.
currentTimeMillis
();
AdamMemberOrderVo
vo
=
(
AdamMemberOrderVo
)
redisUtil
.
get
(
key
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderNo"
).
is
(
orderNo
)),
AdamMemberOrderVo
.
class
,
AdamMemberOrderVo
.
class
.
getSimpleName
()
...
...
@@ -392,6 +424,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
if
(
null
!=
vo
)
redisUtil
.
set
(
key
,
vo
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -424,9 +457,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public
AdamMemberCodeVo
getMemberCodeVoByCode
(
String
memberCode
)
{
String
key
=
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
);
long
s
=
System
.
currentTimeMillis
();
AdamMemberCodeVo
vo
=
(
AdamMemberCodeVo
)
redisUtil
.
get
(
key
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"code"
).
is
(
memberCode
)),
AdamMemberCodeVo
.
class
,
AdamMemberCodeVo
.
class
.
getSimpleName
()
...
...
@@ -434,6 +468,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
&&
vo
.
getState
()
==
0
)
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
),
vo
);
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserMemberServiceImpl.java
View file @
e061f0af
...
...
@@ -31,6 +31,7 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
@Override
public
String
getNextMemberNo
(
String
memberId
)
{
long
s
=
System
.
currentTimeMillis
();
int
memberMaxNo
=
adamRdmService
.
getMaxMemberNo
();
if
(-
1
==
memberMaxNo
)
{
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UMEMBER_NO
,
1
,
3000
))
{
...
...
@@ -58,6 +59,7 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
// 不能是完全相同的数字
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNo
());
}
log
.
debug
(
"#MNO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
nextMemberNoStr
;
}
...
...
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