记得上下班打卡 | 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
ac10a5a2
Commit
ac10a5a2
authored
Jul 29, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:去除MONGO;
parent
d9fed03f
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
685 additions
and
678 deletions
+685
-678
IAdamAddressesService.java
...liquidnet/service/adam/service/IAdamAddressesService.java
+3
-3
IAdamEntersService.java
...om/liquidnet/service/adam/service/IAdamEntersService.java
+3
-1
AdamSwitchAdminController.java
...b/controller/zhengzai/adam/AdamSwitchAdminController.java
+11
-0
AdamAddressesController.java
...dnet/service/adam/controller/AdamAddressesController.java
+1
-1
AdamEntersController.java
...quidnet/service/adam/controller/AdamEntersController.java
+1
-1
AdamMemberOrderController.java
...et/service/adam/controller/AdamMemberOrderController.java
+1
-1
AdamRdmService.java
...va/com/liquidnet/service/adam/service/AdamRdmService.java
+145
-138
AdamAddressesServiceImpl.java
...t/service/adam/service/impl/AdamAddressesServiceImpl.java
+87
-73
AdamCollectionServiceImpl.java
.../service/adam/service/impl/AdamCollectionServiceImpl.java
+84
-92
AdamDisposedServiceImpl.java
...et/service/adam/service/impl/AdamDisposedServiceImpl.java
+113
-119
AdamEntersServiceImpl.java
...dnet/service/adam/service/impl/AdamEntersServiceImpl.java
+82
-76
AdamMemberOrderServiceImpl.java
...service/adam/service/impl/AdamMemberOrderServiceImpl.java
+59
-64
AdamRealNameServiceImpl.java
...et/service/adam/service/impl/AdamRealNameServiceImpl.java
+6
-8
AdamUserInfoServiceImpl.java
...et/service/adam/service/impl/AdamUserInfoServiceImpl.java
+23
-29
AdamUserMemberServiceImpl.java
.../service/adam/service/impl/AdamUserMemberServiceImpl.java
+10
-15
AdamUserServiceImpl.java
...uidnet/service/adam/service/impl/AdamUserServiceImpl.java
+56
-57
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamAddressesService.java
View file @
ac10a5a2
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.adam.dto.AdamAddressesParam
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.entity.AdamAddresses
;
import
java.util.List
;
/**
* <p>
...
...
@@ -23,5 +23,5 @@ public interface IAdamAddressesService {
void
remove
(
String
uid
,
String
addressesId
);
AdamAddressesVo
queryDefault
(
String
uid
);
AdamAddressesVo
queryDefault
(
List
<
AdamAddressesVo
>
vos
,
String
uid
,
boolean
downgrade
);
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamEntersService.java
View file @
ac10a5a2
...
...
@@ -3,6 +3,8 @@ package com.liquidnet.service.adam.service;
import
com.liquidnet.service.adam.dto.AdamEntersParam
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
java.util.List
;
/**
* <p>
* 入场人 服务类
...
...
@@ -20,5 +22,5 @@ public interface IAdamEntersService {
void
remove
(
String
uid
,
String
entersId
);
AdamEntersVo
queryDefault
(
String
uid
);
AdamEntersVo
queryDefault
(
List
<
AdamEntersVo
>
vos
,
String
uid
,
boolean
downgrade
);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/adam/AdamSwitchAdminController.java
View file @
ac10a5a2
...
...
@@ -39,6 +39,17 @@ public class AdamSwitchAdminController {
return
ResponseDto
.
success
(
redisUtil
.
get
(
AdamRedisConst
.
SWITCH_BUY_MEMBER
));
}
@RequiresPermissions
(
"adam:switch:max:memberno"
)
@ApiOperation
(
value
=
"会员用户最大ID_NO"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"int"
,
name
=
"opt"
,
value
=
"会员用户最大ID_NO"
,
example
=
"15000"
),
})
@PostMapping
(
"set/memberno"
)
public
ResponseDto
<
Object
>
purchaseStartMemberNo
(
@Max
(
1
)
@Min
(
0
)
@RequestParam
int
opt
)
{
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
,
opt
);
return
ResponseDto
.
success
(
redisUtil
.
get
(
AdamRedisConst
.
INCR_MEMBER_NO
));
}
@RequiresPermissions
(
"adam:switch:gray:login"
)
@ApiOperation
(
value
=
"开放/限制校验证码"
)
@ApiImplicitParams
({
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamAddressesController.java
View file @
ac10a5a2
...
...
@@ -124,7 +124,7 @@ public class AdamAddressesController {
@ApiOperation
(
value
=
"获取默认收货地址"
)
@PostMapping
(
"query/def"
)
public
ResponseDto
<
AdamAddressesVo
>
queryDef
()
{
AdamAddressesVo
vo
=
adamAddressesService
.
queryDefault
(
CurrentUtil
.
getCurrentUid
()
);
AdamAddressesVo
vo
=
adamAddressesService
.
queryDefault
(
null
,
CurrentUtil
.
getCurrentUid
(),
true
);
if
(
null
!=
vo
)
{
vo
.
setPhone
(
SensitizeUtil
.
custom
(
vo
.
getPhone
(),
3
,
4
));
}
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamEntersController.java
View file @
ac10a5a2
...
...
@@ -180,7 +180,7 @@ public class AdamEntersController {
@ApiOperation
(
value
=
"获取默认入场人"
)
@PostMapping
(
"query/def"
)
public
ResponseDto
<
AdamEntersVo
>
queryDef
()
{
AdamEntersVo
vo
=
adamEntersService
.
queryDefault
(
CurrentUtil
.
getCurrentUid
()
);
AdamEntersVo
vo
=
adamEntersService
.
queryDefault
(
null
,
CurrentUtil
.
getCurrentUid
(),
true
);
if
(
null
!=
vo
)
{
vo
.
setName
(
SensitizeUtil
.
chineseName
(
vo
.
getName
()));
vo
.
setIdCard
(
SensitizeUtil
.
custom
(
vo
.
getIdCard
(),
3
,
2
));
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberOrderController.java
View file @
ac10a5a2
...
...
@@ -248,7 +248,7 @@ public class AdamMemberOrderController {
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"会员订单详情"
)
@GetMapping
(
"info/{orderNo}"
)
public
ResponseDto
<
AdamMemberOrderVo
>
getMemberOrder
List
(
@NotBlank
(
message
=
"订单号不能为空"
)
@PathVariable
String
orderNo
)
{
public
ResponseDto
<
AdamMemberOrderVo
>
getMemberOrder
(
@NotBlank
(
message
=
"订单号不能为空"
)
@PathVariable
String
orderNo
)
{
AdamMemberOrderVo
mOrderVo
=
adamRdmService
.
getShotMemberOrderVoByOrderNo
(
orderNo
);
if
(
null
!=
mOrderVo
)
{
AdamMemberVo
memberVo
=
adamRdmService
.
getMemberVoByMemberId
(
mOrderVo
.
getMemberId
());
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/AdamRdmService.java
View file @
ac10a5a2
...
...
@@ -9,10 +9,6 @@ import com.liquidnet.service.kylin.constant.KylinRedisConst;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
lombok.extern.slf4j.Slf4j
;
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.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
...
...
@@ -27,8 +23,8 @@ import java.util.stream.Collectors;
@Slf4j
@Service
public
class
AdamRdmService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
RedisUtil
redisUtil
;
...
...
@@ -71,17 +67,17 @@ public class AdamRdmService {
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"
);
s
=
System
.
currentTimeMillis
();
AdamUserInfoVo
vo
=
mongoTemplate
.
findOne
(
query
,
AdamUserInfoVo
.
class
,
AdamUserInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
{
val
=
vo
.
getUid
();
redisUtil
.
set
(
key
,
vo
.
getUid
());
}
}
//
if (StringUtils.isEmpty(val)) {
//
Query query = Query.query(Criteria.where("mobile").is(mobile).and("state").is(1));
//
query.fields().include("uid");
//
s = System.currentTimeMillis();
//
AdamUserInfoVo vo = mongoTemplate.findOne(query, AdamUserInfoVo.class, AdamUserInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (null != vo) {
//
val = vo.getUid();
//
redisUtil.set(key, vo.getUid());
//
}
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
val
;
}
...
...
@@ -98,17 +94,17 @@ public class AdamRdmService {
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"
);
s
=
System
.
currentTimeMillis
();
AdamThirdPartInfoVo
vo
=
mongoTemplate
.
findOne
(
query
,
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
{
val
=
vo
.
getUid
();
redisUtil
.
set
(
key
,
vo
.
getUid
());
}
}
//
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");
//
s = System.currentTimeMillis();
//
AdamThirdPartInfoVo vo = mongoTemplate.findOne(query, AdamThirdPartInfoVo.class, AdamThirdPartInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (null != vo) {
//
val = vo.getUid();
//
redisUtil.set(key, vo.getUid());
//
}
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
val
;
}
...
...
@@ -127,14 +123,14 @@ public class AdamRdmService {
String
rk
=
AdamRedisConst
.
INFO_USER
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamUserInfoVo
vo
=
(
AdamUserInfoVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
vo
)
{
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
);
}
//
if (null == vo) {
//
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
;
}
...
...
@@ -153,14 +149,14 @@ public class AdamRdmService {
String
rk
=
AdamRedisConst
.
INFO_REAL_NAME
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamRealInfoVo
vo
=
(
AdamRealInfoVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
vo
)
{
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
);
if
(
null
!=
vo
)
redisUtil
.
set
(
rk
,
vo
);
}
//
if (null == vo) {
//
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);
//
//
if (null != vo) redisUtil.set(rk, vo);
//
}
if
(
null
!=
vo
)
{
vo
.
setName
(
SensitizeUtil
.
chineseName
(
vo
.
getName
()));
vo
.
setIdCard
(
SensitizeUtil
.
custom
(
vo
.
getIdCard
(),
3
,
2
));
...
...
@@ -190,14 +186,14 @@ public class AdamRdmService {
String
rk
=
AdamRedisConst
.
INFO_THIRD_PARTY
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamThirdPartInfoVo
>
thirdPartInfoVos
=
(
List
<
AdamThirdPartInfoVo
>)
redisUtil
.
get
(
rk
);
if
(
CollectionUtils
.
isEmpty
(
thirdPartInfoVos
))
{
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
);
}
//
if (CollectionUtils.isEmpty(thirdPartInfoVos)) {
//
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
;
}
...
...
@@ -229,20 +225,24 @@ public class AdamRdmService {
String
rk
=
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamEntersVo
>
vos
=
(
List
<
AdamEntersVo
>)
redisUtil
.
get
(
rk
);
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
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
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(!
CollectionUtils
.
isEmpty
(
vos
))
redisUtil
.
set
(
rk
,
vos
);
}
//
if (CollectionUtils.isEmpty(vos)) {
//
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()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
//
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
public
AdamEntersVo
getEntersVoByUidEntersId
(
List
<
AdamEntersVo
>
vos
,
String
entersId
)
{
return
vos
.
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
}
public
AdamEntersVo
getEntersVoByUidEntersId
(
String
uid
,
String
entersId
)
{
return
this
.
getEntersVoByUid
(
uid
).
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
}
...
...
@@ -266,20 +266,24 @@ public class AdamRdmService {
String
rk
=
AdamRedisConst
.
INFO_ADDRESSES
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamAddressesVo
>
vos
=
(
List
<
AdamAddressesVo
>)
redisUtil
.
get
(
rk
);
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
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
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(!
CollectionUtils
.
isEmpty
(
vos
))
redisUtil
.
set
(
rk
,
vos
);
}
//
if (CollectionUtils.isEmpty(vos)) {
//
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()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
//
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
public
AdamAddressesVo
getAddressesVoByUidAddressesId
(
List
<
AdamAddressesVo
>
vos
,
String
addressesId
)
{
return
vos
.
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
}
public
AdamAddressesVo
getAddressesVoByUidAddressesId
(
String
uid
,
String
addressesId
)
{
return
this
.
getAddressesVoByUid
(
uid
).
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
}
...
...
@@ -308,13 +312,13 @@ public class AdamRdmService {
String
rk
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
uid
);
long
s
=
System
.
currentTimeMillis
();
AdamUserMemberVo
vo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
vo
)
{
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
);
if
(
null
!=
vo
)
redisUtil
.
set
(
rk
,
vo
);
}
//
if (null == vo) {
//
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);
//
//
if (null != vo) redisUtil.set(rk, vo);
//
}
if
(
null
!=
vo
)
{
vo
.
setState
(
vo
.
getState
()
==
1
?
(
vo
.
getExpiryAt
().
isAfter
(
LocalDateTime
.
now
())
?
1
:
2
)
:
vo
.
getState
());
}
...
...
@@ -329,19 +333,21 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <MEMBER_SIMPLE_INFO> */
public
AdamMemberSimpleVo
getMemberSimpleVo
()
{
AdamMemberSimpleVo
vo
=
(
AdamMemberSimpleVo
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_SIMPLE
);
if
(
null
==
vo
)
{
long
s
=
System
.
currentTimeMillis
();
List
<
AdamMemberSimpleVo
>
vos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"state"
).
is
(
1
)).
with
(
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"memberId"
)),
AdamMemberSimpleVo
.
class
,
AdamMemberVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
vo
=
CollectionUtils
.
isEmpty
(
vos
)
?
null
:
vos
.
get
(
0
);
if
(
null
!=
vo
)
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_SIMPLE
,
vo
);
}
AdamMemberSimpleVo
vo
=
(
AdamMemberSimpleVo
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_SIMPLE
);
// if (null == vo) {
// long s = System.currentTimeMillis();
// List<AdamMemberSimpleVo> vos = mongoTemplate.find(
// Query.query(Criteria.where("state").is(1)).with(Sort.by(Sort.Direction.ASC, "memberId")),
// AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName()
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// vo = CollectionUtils.isEmpty(vos) ? null : vos.get(0);
//
// if (null != vo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, vo);
// }
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -355,15 +361,15 @@ public class AdamRdmService {
String
key
=
AdamRedisConst
.
INFO_MEMBER_CATEGORY
.
concat
(
memberId
);
long
s
=
System
.
currentTimeMillis
();
AdamMemberVo
vo
=
(
AdamMemberVo
)
redisUtil
.
get
(
key
);
if
(
null
==
vo
)
{
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
).
and
(
"state"
).
is
(
1
)),
AdamMemberVo
.
class
,
AdamMemberVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
redisUtil
.
set
(
key
,
vo
);
}
//
if (null == vo) {
//
s = System.currentTimeMillis();
//
vo = mongoTemplate.findOne(
//
Query.query(Criteria.where("memberId").is(memberId).and("state").is(1)),
//
AdamMemberVo.class, AdamMemberVo.class.getSimpleName()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (null != vo) redisUtil.set(key, vo);
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -382,22 +388,21 @@ public class AdamRdmService {
String
key
=
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
memberId
);
long
s
=
System
.
currentTimeMillis
();
List
<
AdamMemberPriceVo
>
vos
=
(
List
<
AdamMemberPriceVo
>)
redisUtil
.
get
(
key
);
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
s
=
System
.
currentTimeMillis
();
vos
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
).
and
(
"state"
).
is
(
1
)),
AdamMemberPriceVo
.
class
,
AdamMemberPriceVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(!
CollectionUtils
.
isEmpty
(
vos
))
redisUtil
.
set
(
key
,
vos
);
}
//
if (CollectionUtils.isEmpty(vos)) {
//
s = System.currentTimeMillis();
//
vos = mongoTemplate.find(
//
Query.query(Criteria.where("memberId").is(memberId).and("state").is(1)),
//
AdamMemberPriceVo.class, AdamMemberPriceVo.class.getSimpleName()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
//
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(key, vos);
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vos
;
}
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) {
...
...
@@ -459,16 +464,16 @@ public class AdamRdmService {
String
key
=
AdamRedisConst
.
SHOT_MEMBER_ORDER
+
orderNo
;
long
s
=
System
.
currentTimeMillis
();
AdamMemberOrderVo
vo
=
(
AdamMemberOrderVo
)
redisUtil
.
get
(
key
);
if
(
null
==
vo
)
{
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderNo"
).
is
(
orderNo
)),
AdamMemberOrderVo
.
class
,
AdamMemberOrderVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
)
redisUtil
.
set
(
key
,
vo
);
}
//
if (null == vo) {
//
s = System.currentTimeMillis();
//
vo = mongoTemplate.findOne(
//
Query.query(Criteria.where("orderNo").is(orderNo)),
//
AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
//
if (null != vo) redisUtil.set(key, vo);
//
}
log
.
debug
(
"#RDM耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
}
...
...
@@ -502,15 +507,15 @@ public class AdamRdmService {
String
key
=
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
);
long
s
=
System
.
currentTimeMillis
();
AdamMemberCodeVo
vo
=
(
AdamMemberCodeVo
)
redisUtil
.
get
(
key
);
if
(
null
==
vo
)
{
s
=
System
.
currentTimeMillis
();
vo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"code"
).
is
(
memberCode
)),
AdamMemberCodeVo
.
class
,
AdamMemberCodeVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
vo
&&
vo
.
getState
()
==
0
)
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
),
vo
);
}
//
if (null == vo) {
//
s = System.currentTimeMillis();
//
vo = mongoTemplate.findOne(
//
Query.query(Criteria.where("code").is(memberCode)),
//
AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName()
//
);
//
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
;
}
...
...
@@ -525,14 +530,16 @@ public class AdamRdmService {
* Temporarily connect Mongo
*/
public
AdamMemberCodeVo
getMemberCodeVoByBuyOrderNo
(
String
buyOrderNo
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"buyOrderNo"
).
is
(
buyOrderNo
));
query
.
fields
().
include
(
"code"
).
include
(
"memberNo"
).
include
(
"state"
).
include
(
"type"
);
long
s
=
System
.
currentTimeMillis
();
AdamMemberCodeVo
vo
=
mongoTemplate
.
findOne
(
query
,
AdamMemberCodeVo
.
class
,
AdamMemberCodeVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
vo
;
// Query query = Query.query(Criteria.where("buyOrderNo").is(buyOrderNo));
// query.fields().include("code").include("memberNo").include("state").include("type");
// long s = System.currentTimeMillis();
// AdamMemberCodeVo vo = mongoTemplate.findOne(
// query, AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName()
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// return vo;
// TODO: 2021/7/29 降级查取,此处只用于用户购买会员码时使用
return
AdamMemberCodeVo
.
getNew
();
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | TAGS:List<AdamTagVo> */
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamAddressesServiceImpl.java
View file @
ac10a5a2
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.adam.dto.AdamAddressesParam
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
...
...
@@ -10,16 +12,9 @@ import com.liquidnet.service.adam.util.QueueUtils;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
com.mongodb.client.result.DeleteResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.util.CollectionUtils
;
...
...
@@ -39,8 +34,8 @@ import java.util.stream.IntStream;
@Slf4j
@Service
public
class
AdamAddressesServiceImpl
implements
IAdamAddressesService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
QueueUtils
queueUtils
;
@Autowired
...
...
@@ -62,11 +57,11 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
vo
.
setState
(
1
);
vo
.
setCreatedAt
(
now
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
vo
,
AdamAddressesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
mongoTemplate.insert(vo, AdamAddressesVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
delAddressesVoByUid
(
currentUid
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -91,39 +86,45 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// AdamAddressesVo unDeaultVo = AdamAddressesVo.getNew();
// unDeaultVo.setIsDefault(false);
// unDeaultVo.setUpdatedAt(now);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamAddressesVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
).
and
(
"isDefault"
).
is
(
true
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"isDefault"
,
false
).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
AdamAddressesVo
unDefaultVoAfter
=
BsonUtil
.
toBean
(
doc
,
AdamAddressesVo
.
class
);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("state").is(1).and("isDefault").is(true)).getQueryObject(),
// new Document("$set", new Document("isDefault", false).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// AdamAddressesVo unDefaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
AdamAddressesVo
defaultVo
=
queryDefault
(
vos
,
uid
,
false
);
defaultVo
.
setIsDefault
(
false
);
defaultVo
.
setUpdatedAt
(
now
);
toMqObjs
.
add
(
new
Object
[]{
false
,
now
,
unDefaultVoAfter
.
getAddressesId
()});
toMqObjs
.
add
(
new
Object
[]{
false
,
now
,
defaultVo
.
getAddressesId
()});
vos
=
this
.
collectionProcess
(
vos
,
unDefaultVoAfter
.
getAddressesId
(),
unDefaultVoAfter
);
}
this
.
collectionProcess
(
vos
,
defaultVo
.
getAddressesId
(),
defaultVo
);
//
}
}
{
// 设置新默认
// AdamAddressesVo defaultVo = AdamAddressesVo.getNew();
// defaultVo.setIsDefault(true);
// defaultVo.setUpdatedAt(now);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamAddressesVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"addressesId"
).
is
(
addressesId
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"isDefault"
,
true
).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
AdamAddressesVo
defaultVoAfter
=
BsonUtil
.
toBean
(
doc
,
AdamAddressesVo
.
class
);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("addressesId").is(addressesId)).getQueryObject(),
// new Document("$set", new Document("isDefault", true).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// AdamAddressesVo defaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
AdamAddressesVo
defaultVoAfter
=
adamRdmService
.
getAddressesVoByUidAddressesId
(
vos
,
addressesId
);
defaultVoAfter
.
setIsDefault
(
true
);
defaultVoAfter
.
setUpdatedAt
(
now
);
toMqObjs
.
add
(
new
Object
[]{
true
,
now
,
addressesId
});
vos
=
this
.
collectionProcess
(
vos
,
defaultVoAfter
.
getAddressesId
(),
defaultVoAfter
);
}
this
.
collectionProcess
(
vos
,
defaultVoAfter
.
getAddressesId
(),
defaultVoAfter
);
//
}
}
if
(!
CollectionUtils
.
isEmpty
(
toMqObjs
))
{
long
s
=
System
.
currentTimeMillis
();
...
...
@@ -144,20 +145,29 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamAddressesVo
updateVo
=
AdamAddressesVo
.
getNew
();
BeanUtils
.
copyProperties
(
parameter
,
updateVo
);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamAddressesVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
currentUid
).
and
(
"addressesId"
).
is
(
parameter
.
getAddressesId
())).
getQueryObject
(),
new
Document
(
"$set"
,
Document
.
parse
(
JsonUtils
.
toJson
(
updateVo
)).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
updateVo
=
BsonUtil
.
toBean
(
doc
,
AdamAddressesVo
.
class
);
List
<
AdamAddressesVo
>
vos
=
adamRdmService
.
getAddressesVoByUid
(
currentUid
);
s
=
System
.
currentTimeMillis
();
AdamAddressesVo
updateVo
=
adamRdmService
.
getAddressesVoByUidAddressesId
(
vos
,
parameter
.
getAddressesId
());
updateVo
.
setName
(
parameter
.
getName
());
updateVo
.
setPhone
(
parameter
.
getPhone
());
updateVo
.
setProvince
(
parameter
.
getProvince
());
updateVo
.
setCity
(
parameter
.
getCity
());
updateVo
.
setCounty
(
parameter
.
getCounty
());
updateVo
.
setAddress
(
parameter
.
getAddress
());
updateVo
.
setUpdatedAt
(
now
);
// AdamAddressesVo updateVo = AdamAddressesVo.getNew();
// BeanUtils.copyProperties(parameter, updateVo);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(currentUid).and("addressesId").is(parameter.getAddressesId())).getQueryObject(),
// new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// updateVo = BsonUtil.toBean(doc, AdamAddressesVo.class);
//
// List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setAddressesVoByUid
(
updateVo
.
getUid
(),
this
.
collectionProcess
(
vos
,
parameter
.
getAddressesId
(),
updateVo
));
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -169,13 +179,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
//
}
}
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
void
remove
(
String
uid
,
String
addressesId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
//
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime
now
=
LocalDateTime
.
now
();
// AdamAddressesVo removeVo = AdamAddressesVo.getNew();
...
...
@@ -184,14 +194,14 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// removeVo.setUpdatedAt(now);
// removeVo.setDeletedAt(now);
long
s
=
System
.
currentTimeMillis
();
DeleteResult
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
currentUid
).
and
(
"addressesId"
).
is
(
addressesId
)),
AdamAddressesVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
DeleteResult deleteResult = mongoTemplate.remove(
//
Query.query(Criteria.where("uid").is(currentUid).and("addressesId").is(addressesId)), AdamAddressesVo.class.getSimpleName()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List
<
AdamAddressesVo
>
vos
=
adamRdmService
.
getAddressesVoByUid
(
uid
);
vos
.
removeIf
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
));
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setAddressesVoByUid
(
uid
,
vos
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -204,17 +214,21 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
}
@Override
public
AdamAddressesVo
queryDefault
(
String
uid
)
{
List
<
AdamAddressesVo
>
vos
=
adamRdmService
.
getAddressesVoByUid
(
uid
);
public
AdamAddressesVo
queryDefault
(
List
<
AdamAddressesVo
>
vos
,
String
uid
,
boolean
downgrade
)
{
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
vos
=
adamRdmService
.
getAddressesVoByUid
(
uid
);
}
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
AdamAddressesVo
defaultVo
=
null
;
for
(
AdamAddressesVo
vo
:
vos
)
{
if
(
vo
.
getIsDefault
())
{
return
vo
;
}
if
(
downgrade
)
{
defaultVo
=
null
==
defaultVo
?
vo
:
vo
.
getCreatedAt
().
compareTo
(
defaultVo
.
getCreatedAt
())
>
0
?
vo
:
defaultVo
;
}
}
return
defaultVo
;
}
return
null
;
...
...
@@ -228,18 +242,18 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
.
filter
(
i
->
vos
.
get
(
i
).
getAddressesId
().
equals
(
replaceId
))
.
findFirst
().
orElse
(-
1
);
if
(
idx
==
-
1
)
{
adamRdmService
.
delAddressesVoByUid
(
updateVo
.
getUid
());
List
<
AdamAddressesVo
>
addressesVos
=
adamRdmService
.
getAddressesVoByUid
(
updateVo
.
getUid
());
idx
=
IntStream
.
range
(
0
,
vos
.
size
())
.
filter
(
i
->
addressesVos
.
get
(
i
).
getAddressesId
().
equals
(
replaceId
))
.
findFirst
().
orElse
(-
1
);
if
(
idx
==
-
1
)
{
//
adamRdmService.delAddressesVoByUid(updateVo.getUid());
//
//
List<AdamAddressesVo> addressesVos = adamRdmService.getAddressesVoByUid(updateVo.getUid());
//
//
idx = IntStream.range(0, vos.size())
//
.filter(i -> addressesVos.get(i).getAddressesId().equals(replaceId))
//
.findFirst().orElse(-1);
//
//
if (idx == -1) {
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"10018"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
//
}
}
vos
.
set
(
idx
,
updateVo
);
log
.
debug
(
"#collect.process耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamCollectionServiceImpl.java
View file @
ac10a5a2
...
...
@@ -2,7 +2,6 @@ package com.liquidnet.service.adam.service.impl;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo
;
import
com.liquidnet.service.adam.dto.vo.AdamCollectInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamCollectVo
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamCollectionService
;
...
...
@@ -11,22 +10,12 @@ import com.liquidnet.service.adam.util.QueueUtils;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.mongodb.client.result.DeleteResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
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.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
/**
* <p>
...
...
@@ -39,8 +28,8 @@ import java.util.List;
@Slf4j
@Service
public
class
AdamCollectionServiceImpl
implements
IAdamCollectionService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
QueueUtils
queueUtils
;
@Autowired
...
...
@@ -53,7 +42,7 @@ public class AdamCollectionServiceImpl implements IAdamCollectionService {
vo
.
setState
(
1
);
vo
.
setCreatedAt
(
now
);
mongoTemplate
.
insert
(
vo
,
AdamCollectBaseVo
.
class
.
getSimpleName
());
//
mongoTemplate.insert(vo, AdamCollectBaseVo.class.getSimpleName());
queueUtils
.
sendMsgByRedis
(
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
...
...
@@ -65,21 +54,22 @@ public class AdamCollectionServiceImpl implements IAdamCollectionService {
@Override
public
boolean
exists
(
String
uid
,
String
type
,
String
contentId
)
{
return
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"contentId"
).
is
(
contentId
).
and
(
"type"
).
is
(
type
).
and
(
"state"
).
is
(
1
)),
AdamCollectBaseVo
.
class
.
getSimpleName
()
);
return
false
;
// return mongoTemplate.exists(
// Query.query(Criteria.where("uid").is(uid).and("contentId").is(contentId).and("type").is(type).and("state").is(1)),
// AdamCollectBaseVo.class.getSimpleName()
// );
}
@Override
public
void
del
(
String
uid
,
String
type
,
String
...
contentIds
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
DeleteResult
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"type"
).
is
(
type
).
and
(
"contentId"
).
in
(
contentIds
)),
AdamCollectBaseVo
.
class
.
getSimpleName
()
);
if
(
deleteResult
.
getDeletedCount
()
>
0
)
{
//
DeleteResult deleteResult = mongoTemplate.remove(
//
Query.query(Criteria.where("uid").is(uid).and("type").is(type).and("contentId").in(contentIds)),
//
AdamCollectBaseVo.class.getSimpleName()
//
);
//
if (deleteResult.getDeletedCount() > 0) {
LinkedList
<
Object
[]>
toMqObjs
=
CollectionUtil
.
linkedListObjectArr
();
for
(
String
c
:
contentIds
)
{
toMqObjs
.
add
(
new
Object
[]{
now
,
uid
,
c
});
...
...
@@ -88,86 +78,88 @@ public class AdamCollectionServiceImpl implements IAdamCollectionService {
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
SqlMapping
.
get
(
"adam_collection.del"
,
toMqObjs
)
);
}
//
}
}
@Override
public
boolean
queryState
(
String
uid
,
String
type
,
String
contentId
)
{
return
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"contentId"
).
is
(
contentId
).
and
(
"type"
).
is
(
type
).
and
(
"state"
).
is
(
1
)),
AdamCollectBaseVo
.
class
.
getSimpleName
()
);
return
false
;
// return mongoTemplate.exists(
// Query.query(Criteria.where("uid").is(uid).and("contentId").is(contentId).and("type").is(type).and("state").is(1)),
// AdamCollectBaseVo.class.getSimpleName()
// );
}
@Override
public
PagedResult
<
AdamCollectVo
>
queryPage
(
String
uid
,
String
type
,
int
pageNo
,
int
pageSize
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"type"
).
is
(
type
).
and
(
"state"
).
is
(
1
));
long
s
=
System
.
currentTimeMillis
();
long
count
=
mongoTemplate
.
count
(
query
,
AdamCollectBaseVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
PagedResult
<
AdamCollectVo
>
pagedResult
=
ObjectUtil
.
getAdamCollectVoPagedResult
();
if
(
count
>
0
)
{
Pageable
pageable
=
PageRequest
.
of
(
pageNo
-
1
,
pageSize
,
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
));
query
.
with
(
pageable
);
s
=
System
.
currentTimeMillis
();
List
<
AdamCollectVo
>
collectVoList
=
mongoTemplate
.
find
(
query
,
AdamCollectVo
.
class
,
AdamCollectBaseVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(!
CollectionUtils
.
isEmpty
(
collectVoList
))
{
// try {
// String[] contentIds = collectVoList.stream().map(AdamCollectVo::getContentId).toArray(a -> new String[collectVoList.size()]);
// Query query = Query.query(Criteria.where("uid").is(uid).and("type").is(type).and("state").is(1));
//
// ResponseDto<List<KylinPerformanceVo>> performanceVoListDto = feignKylinPerformanceClient.performanceList(contentIds);
// long s = System.currentTimeMillis();
// long count = mongoTemplate.count(query, AdamCollectBaseVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// if (performanceVoListDto.isSuccess()) {
// List<KylinPerformanceVo> kylinPerformanceVoList = performanceVoListDto.getData();
// PagedResult<AdamCollectVo> pagedResult = ObjectUtil.getAdamCollectVoPagedResult();
// if (count > 0) {
// Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt"));
//
// collectVoList.forEach(v -> {
// kylinPerformanceVoList.forEach(vl -> {
// if (vl.getPerformancesId().equals(v.getContentId())) {
// AdamCollectInfoVo collectInfoVo = AdamCollectInfoVo.getNew();
// BeanUtils.copyProperties(vl, collectInfoVo);
// v.setContentInfo(collectInfoVo);
// query.with(pageable);
//
// s = System.currentTimeMillis();
// List<AdamCollectVo> collectVoList = mongoTemplate.find(query, AdamCollectVo.class, AdamCollectBaseVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// if (!CollectionUtils.isEmpty(collectVoList)) {
//// try {
//// String[] contentIds = collectVoList.stream().map(AdamCollectVo::getContentId).toArray(a -> new String[collectVoList.size()]);
////
//// ResponseDto<List<KylinPerformanceVo>> performanceVoListDto = feignKylinPerformanceClient.performanceList(contentIds);
////
//// if (performanceVoListDto.isSuccess()) {
//// List<KylinPerformanceVo> kylinPerformanceVoList = performanceVoListDto.getData();
////
//// collectVoList.forEach(v -> {
//// kylinPerformanceVoList.forEach(vl -> {
//// if (vl.getPerformancesId().equals(v.getContentId())) {
//// AdamCollectInfoVo collectInfoVo = AdamCollectInfoVo.getNew();
//// BeanUtils.copyProperties(vl, collectInfoVo);
//// v.setContentInfo(collectInfoVo);
//// }
//// });
//// });
//// } else {
//// log.info("Failed:{}.API.performanceList(...) for AdamCollection:{}", feignKylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson());
//// }
//// } catch (Exception e) {
//// log.error("Exception:{}.API.performanceList(...) for AdamCollection", feignKylinPerformanceClient.getClass().getSimpleName(), e);
//// }
// s = System.currentTimeMillis();
// collectVoList.forEach(r -> {
// AdamCollectInfoVo vo = AdamCollectInfoVo.getNew();
// KylinPerformanceVo performanceVo = adamRdmService.kylinPerformanceVo(r.getContentId());
// if (null != performanceVo) {
//// BeanUtils.copyProperties(performanceVo, vo);
// vo.setPerformancesId(performanceVo.getPerformancesId());
// vo.setTitle(performanceVo.getTitle());
// vo.setImgPoster(performanceVo.getImgPoster());
// vo.setType(performanceVo.getType());
// vo.setTimeStart(performanceVo.getTimeStart());
// vo.setPrice(performanceVo.getPrice());
// vo.setCityName(performanceVo.getCityName());
// vo.setFieldName(performanceVo.getFieldName());
// vo.setIsMember(performanceVo.getIsMember());
// vo.setIsExclusive(performanceVo.getIsExclusive());
// vo.setIsDiscount(performanceVo.getIsDiscount());
// vo.setIsAdvance(performanceVo.getIsAdvance());
// }
// r.setContentInfo(vo);
// });
// });
// } else {
// log.info("Failed:{}.API.performanceList(...) for AdamCollection:{}", feignKylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson());
// log.debug("#COL.RDS.K耗时:{}ms", System.currentTimeMillis() - s);
// }
//
} catch (Exception e) {
//
log.error("Exception:{}.API.performanceList(...) for AdamCollection", feignKylinPerformanceClient.getClass().getSimpleName(),
e);
//
//
pagedResult.setList(collectVoList).setTotal(count, pageSiz
e);
// }
s
=
System
.
currentTimeMillis
();
collectVoList
.
forEach
(
r
->
{
AdamCollectInfoVo
vo
=
AdamCollectInfoVo
.
getNew
();
KylinPerformanceVo
performanceVo
=
adamRdmService
.
kylinPerformanceVo
(
r
.
getContentId
());
if
(
null
!=
performanceVo
)
{
// BeanUtils.copyProperties(performanceVo, vo);
vo
.
setPerformancesId
(
performanceVo
.
getPerformancesId
());
vo
.
setTitle
(
performanceVo
.
getTitle
());
vo
.
setImgPoster
(
performanceVo
.
getImgPoster
());
vo
.
setType
(
performanceVo
.
getType
());
vo
.
setTimeStart
(
performanceVo
.
getTimeStart
());
vo
.
setPrice
(
performanceVo
.
getPrice
());
vo
.
setCityName
(
performanceVo
.
getCityName
());
vo
.
setFieldName
(
performanceVo
.
getFieldName
());
vo
.
setIsMember
(
performanceVo
.
getIsMember
());
vo
.
setIsExclusive
(
performanceVo
.
getIsExclusive
());
vo
.
setIsDiscount
(
performanceVo
.
getIsDiscount
());
vo
.
setIsAdvance
(
performanceVo
.
getIsAdvance
());
}
r
.
setContentInfo
(
vo
);
});
log
.
debug
(
"#COL.RDS.K耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
pagedResult
.
setList
(
collectVoList
).
setTotal
(
count
,
pageSize
);
}
return
pagedResult
;
//
// return pagedResult;
return
ObjectUtil
.
getAdamCollectVoPagedResult
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamDisposedServiceImpl.java
View file @
ac10a5a2
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.adam.dto.vo.AdamCollectInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamDisposedBaseVo
;
import
com.liquidnet.service.adam.dto.vo.AdamDisposedUserVo
;
import
com.liquidnet.service.adam.dto.vo.AdamDisposedVo
;
...
...
@@ -12,21 +11,12 @@ import com.liquidnet.service.adam.util.QueueUtils;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.mongodb.client.result.DeleteResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
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.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
/**
* <p>
...
...
@@ -39,8 +29,8 @@ import java.util.List;
@Slf4j
@Service
public
class
AdamDisposedServiceImpl
implements
IAdamDisposedService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
QueueUtils
queueUtils
;
@Autowired
...
...
@@ -58,7 +48,7 @@ public class AdamDisposedServiceImpl implements IAdamDisposedService {
vo
.
setState
(
1
);
vo
.
setCreatedAt
(
now
);
mongoTemplate
.
insert
(
vo
,
AdamDisposedBaseVo
.
class
.
getSimpleName
());
//
mongoTemplate.insert(vo, AdamDisposedBaseVo.class.getSimpleName());
queueUtils
.
sendMsgByRedis
(
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
...
...
@@ -70,21 +60,22 @@ public class AdamDisposedServiceImpl implements IAdamDisposedService {
@Override
public
boolean
exists
(
String
uid
,
String
type
,
String
contentId
)
{
return
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"contentId"
).
is
(
contentId
).
and
(
"type"
).
is
(
type
).
and
(
"state"
).
is
(
1
)),
AdamDisposedBaseVo
.
class
.
getSimpleName
()
);
return
false
;
// return mongoTemplate.exists(
// Query.query(Criteria.where("uid").is(uid).and("contentId").is(contentId).and("type").is(type).and("state").is(1)),
// AdamDisposedBaseVo.class.getSimpleName()
// );
}
@Override
public
void
del
(
String
uid
,
String
type
,
String
...
contentIds
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
DeleteResult
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"type"
).
is
(
type
).
and
(
"contentId"
).
in
(
contentIds
)),
AdamDisposedBaseVo
.
class
.
getSimpleName
()
);
if
(
deleteResult
.
getDeletedCount
()
>
0
)
{
//
DeleteResult deleteResult = mongoTemplate.remove(
//
Query.query(Criteria.where("uid").is(uid).and("type").is(type).and("contentId").in(contentIds)),
//
AdamDisposedBaseVo.class.getSimpleName()
//
);
//
if (deleteResult.getDeletedCount() > 0) {
LinkedList
<
Object
[]>
toMqObjs
=
CollectionUtil
.
linkedListObjectArr
();
for
(
String
c
:
contentIds
)
{
toMqObjs
.
add
(
new
Object
[]{
now
,
uid
,
c
});
...
...
@@ -93,120 +84,123 @@ public class AdamDisposedServiceImpl implements IAdamDisposedService {
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
SqlMapping
.
get
(
"adam_disposed.del"
,
toMqObjs
)
);
}
//
}
}
@Override
public
boolean
queryState
(
String
uid
,
String
type
,
String
contentId
)
{
return
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"contentId"
).
is
(
contentId
).
and
(
"type"
).
is
(
type
).
and
(
"state"
).
is
(
1
)),
AdamDisposedBaseVo
.
class
.
getSimpleName
()
);
return
false
;
// return mongoTemplate.exists(
// Query.query(Criteria.where("uid").is(uid).and("contentId").is(contentId).and("type").is(type).and("state").is(1)),
// AdamDisposedBaseVo.class.getSimpleName()
// );
}
@Override
public
PagedResult
<
AdamDisposedVo
>
queryPage
(
String
uid
,
String
type
,
int
pageNo
,
int
pageSize
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"type"
).
is
(
type
).
and
(
"state"
).
is
(
1
));
long
s
=
System
.
currentTimeMillis
();
long
count
=
mongoTemplate
.
count
(
query
,
AdamDisposedBaseVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
PagedResult
<
AdamDisposedVo
>
pagedResult
=
ObjectUtil
.
getAdamDisposedVoPagedResult
();
if
(
count
>
0
)
{
query
.
with
(
PageRequest
.
of
(
pageNo
-
1
,
pageSize
,
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)));
s
=
System
.
currentTimeMillis
();
List
<
AdamDisposedVo
>
disposedVoList
=
mongoTemplate
.
find
(
query
,
AdamDisposedVo
.
class
,
AdamDisposedBaseVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(!
CollectionUtils
.
isEmpty
(
disposedVoList
))
{
// List<KylinPerformanceVo> kylinPerformanceVoList = null;
// try {
// String[] contentIds = disposedVoList.stream().map(AdamDisposedVo::getContentId).toArray(a -> new String[disposedVoList.size()]);
// Query query = Query.query(Criteria.where("uid").is(uid).and("type").is(type).and("state").is(1));
//
// ResponseDto<List<KylinPerformanceVo>> performanceVoListDto = kylinPerformanceClient.performanceList(contentIds);
// long s = System.currentTimeMillis();
// long count = mongoTemplate.count(query, AdamDisposedBaseVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// if (performanceVoListDto.isSuccess()) {
// kylinPerformanceVoList = performanceVoListDto.getData();
// } else {
// log.info("Failed:{}.API.performanceList(...) for AdamDisposedVo:{}", kylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson());
// }
// } catch (Exception e) {
// log.error("Exception:{}.API.performanceList(...) for AdamDisposedVo >> {}", kylinPerformanceClient.getClass().getSimpleName(), e.getLocalizedMessage());
// }
// PagedResult<AdamDisposedVo> pagedResult = ObjectUtil.getAdamDisposedVoPagedResult();
// if (count > 0) {
// query.with(PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")));
//
// if (!CollectionUtils.isEmpty(kylinPerformanceVoList)) {
// kylinPerformanceVoList.forEach(pv -> {
// disposedVoList.forEach(v -> {
// if (pv.getPerformancesId().equals(v.getContentId())) {
// AdamCollectInfoVo collectInfoVo = AdamCollectInfoVo.getNew();
// BeanUtils.copyProperties(pv, collectInfoVo);
// v.setContentInfo(collectInfoVo);
// }
// s = System.currentTimeMillis();
// List<AdamDisposedVo> disposedVoList = mongoTemplate.find(query, AdamDisposedVo.class, AdamDisposedBaseVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// PageInfo<AdamDisposedUserVo> disposedUserVoPageInfo = this.queryDisposedUsers(type, v.getContentId(), 1, 3);
//
// if (disposedUserVoPageInfo.getTotal() > 0) v.setUserVos(disposedUserVoPageInfo.getList());
// });
// if (!CollectionUtils.isEmpty(disposedVoList)) {
//// List<KylinPerformanceVo> kylinPerformanceVoList = null;
//// try {
//// String[] contentIds = disposedVoList.stream().map(AdamDisposedVo::getContentId).toArray(a -> new String[disposedVoList.size()]);
////
//// ResponseDto<List<KylinPerformanceVo>> performanceVoListDto = kylinPerformanceClient.performanceList(contentIds);
////
//// if (performanceVoListDto.isSuccess()) {
//// kylinPerformanceVoList = performanceVoListDto.getData();
//// } else {
//// log.info("Failed:{}.API.performanceList(...) for AdamDisposedVo:{}", kylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson());
//// }
//// } catch (Exception e) {
//// log.error("Exception:{}.API.performanceList(...) for AdamDisposedVo >> {}", kylinPerformanceClient.getClass().getSimpleName(), e.getLocalizedMessage());
//// }
////
//// if (!CollectionUtils.isEmpty(kylinPerformanceVoList)) {
//// kylinPerformanceVoList.forEach(pv -> {
//// disposedVoList.forEach(v -> {
//// if (pv.getPerformancesId().equals(v.getContentId())) {
//// AdamCollectInfoVo collectInfoVo = AdamCollectInfoVo.getNew();
//// BeanUtils.copyProperties(pv, collectInfoVo);
//// v.setContentInfo(collectInfoVo);
//// }
////
//// PageInfo<AdamDisposedUserVo> disposedUserVoPageInfo = this.queryDisposedUsers(type, v.getContentId(), 1, 3);
////
//// if (disposedUserVoPageInfo.getTotal() > 0) v.setUserVos(disposedUserVoPageInfo.getList());
//// });
//// });
//// } else {
//// disposedVoList.forEach(v -> {
//// PageInfo<AdamDisposedUserVo> disposedUserVoPageInfo = this.queryDisposedUsers(type, v.getContentId(), 1, 3);
////
//// if (disposedUserVoPageInfo.getTotal() > 0) v.setUserVos(disposedUserVoPageInfo.getList());
//// });
//// }
// s = System.currentTimeMillis();
// disposedVoList.forEach(r -> {
// AdamCollectInfoVo vo = AdamCollectInfoVo.getNew();
// KylinPerformanceVo performanceVo = adamRdmService.kylinPerformanceVo(r.getContentId());
// if (null != performanceVo) {
//// BeanUtils.copyProperties(performanceVo, vo);
// vo.setPerformancesId(performanceVo.getPerformancesId());
// vo.setTitle(performanceVo.getTitle());
// vo.setImgPoster(performanceVo.getImgPoster());
// vo.setType(performanceVo.getType());
// vo.setTimeStart(performanceVo.getTimeStart());
// vo.setPrice(performanceVo.getPrice());
// vo.setCityName(performanceVo.getCityName());
// vo.setFieldName(performanceVo.getFieldName());
// vo.setIsMember(performanceVo.getIsMember());
// vo.setIsExclusive(performanceVo.getIsExclusive());
// vo.setIsDiscount(performanceVo.getIsDiscount());
// vo.setIsAdvance(performanceVo.getIsAdvance());
// }
// r.setContentInfo(vo);
// PagedResult<AdamDisposedUserVo> disposedUserVoPagedResult = this.queryDisposedUsers(type, r.getContentId(), 1, 3);
// if (disposedUserVoPagedResult.getTotal() > 0) r.setUserVos(disposedUserVoPagedResult.getList());
// });
// } else {
// disposedVoList.forEach(v -> {
// PageInfo<AdamDisposedUserVo> disposedUserVoPageInfo = this.queryDisposedUsers(type, v.getContentId(), 1, 3);
// log.debug("#DIS.RDS.MDB.K耗时:{}ms", System.currentTimeMillis() - s);
// }
//
// if (disposedUserVoPageInfo.getTotal() > 0) v.setUserVos(disposedUserVoPageInfo.getList());
// });
// pagedResult.setList(disposedVoList).setTotal(count, pageSize);
// }
s
=
System
.
currentTimeMillis
();
disposedVoList
.
forEach
(
r
->
{
AdamCollectInfoVo
vo
=
AdamCollectInfoVo
.
getNew
();
KylinPerformanceVo
performanceVo
=
adamRdmService
.
kylinPerformanceVo
(
r
.
getContentId
());
if
(
null
!=
performanceVo
)
{
// BeanUtils.copyProperties(performanceVo, vo);
vo
.
setPerformancesId
(
performanceVo
.
getPerformancesId
());
vo
.
setTitle
(
performanceVo
.
getTitle
());
vo
.
setImgPoster
(
performanceVo
.
getImgPoster
());
vo
.
setType
(
performanceVo
.
getType
());
vo
.
setTimeStart
(
performanceVo
.
getTimeStart
());
vo
.
setPrice
(
performanceVo
.
getPrice
());
vo
.
setCityName
(
performanceVo
.
getCityName
());
vo
.
setFieldName
(
performanceVo
.
getFieldName
());
vo
.
setIsMember
(
performanceVo
.
getIsMember
());
vo
.
setIsExclusive
(
performanceVo
.
getIsExclusive
());
vo
.
setIsDiscount
(
performanceVo
.
getIsDiscount
());
vo
.
setIsAdvance
(
performanceVo
.
getIsAdvance
());
}
r
.
setContentInfo
(
vo
);
PagedResult
<
AdamDisposedUserVo
>
disposedUserVoPagedResult
=
this
.
queryDisposedUsers
(
type
,
r
.
getContentId
(),
1
,
3
);
if
(
disposedUserVoPagedResult
.
getTotal
()
>
0
)
r
.
setUserVos
(
disposedUserVoPagedResult
.
getList
());
});
log
.
debug
(
"#DIS.RDS.MDB.K耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
pagedResult
.
setList
(
disposedVoList
).
setTotal
(
count
,
pageSize
);
}
return
pagedResult
;
//
// return pagedResult;
return
ObjectUtil
.
getAdamDisposedVoPagedResult
();
}
@Override
public
PagedResult
<
AdamDisposedUserVo
>
queryDisposedUsers
(
String
type
,
String
contentId
,
int
pageNo
,
int
pageSize
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"type"
).
is
(
type
).
and
(
"contentId"
).
is
(
contentId
).
and
(
"state"
).
is
(
1
));
long
s
=
System
.
currentTimeMillis
();
long
count
=
mongoTemplate
.
count
(
query
,
AdamDisposedBaseVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
PagedResult
<
AdamDisposedUserVo
>
pagedResult
=
ObjectUtil
.
getAdamDisposedUserVoPagedResult
();
if
(
count
>
0
)
{
query
.
with
(
PageRequest
.
of
(
pageNo
-
1
,
pageSize
,
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)));
s
=
System
.
currentTimeMillis
();
List
<
AdamDisposedUserVo
>
disposedUserVoList
=
mongoTemplate
.
find
(
query
,
AdamDisposedUserVo
.
class
,
AdamDisposedBaseVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
pagedResult
.
setList
(
disposedUserVoList
).
setTotal
(
count
,
pageSize
);
}
return
pagedResult
;
// Query query = Query.query(Criteria.where("type").is(type).and("contentId").is(contentId).and("state").is(1));
//
// long s = System.currentTimeMillis();
// long count = mongoTemplate.count(query, AdamDisposedBaseVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// PagedResult<AdamDisposedUserVo> pagedResult = ObjectUtil.getAdamDisposedUserVoPagedResult();
// if (count > 0) {
// query.with(PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")));
//
// s = System.currentTimeMillis();
// List<AdamDisposedUserVo> disposedUserVoList = mongoTemplate.find(query, AdamDisposedUserVo.class, AdamDisposedBaseVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// pagedResult.setList(disposedUserVoList).setTotal(count, pageSize);
// }
// return pagedResult;
return
ObjectUtil
.
getAdamDisposedUserVoPagedResult
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamEntersServiceImpl.java
View file @
ac10a5a2
...
...
@@ -11,26 +11,16 @@ import com.liquidnet.service.adam.util.QueueUtils;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
com.mongodb.client.result.DeleteResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.bson.Document
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.env.Environment
;
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.util.CollectionUtils
;
import
org.springframework.util.LinkedMultiValueMap
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.IntStream
;
/**
...
...
@@ -46,8 +36,8 @@ import java.util.stream.IntStream;
public
class
AdamEntersServiceImpl
implements
IAdamEntersService
{
@Autowired
Environment
env
;
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
QueueUtils
queueUtils
;
@Autowired
...
...
@@ -80,11 +70,11 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
vo
.
setState
(
1
);
vo
.
setCreatedAt
(
now
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
vo
,
AdamEntersVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
mongoTemplate.insert(vo, AdamEntersVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
delEntersVoByUid
(
currentUid
);
if
(
1
==
parameter
.
getType
())
{
adamRdmService
.
setCertification
(
1
,
parameter
.
getIdCard
(),
parameter
.
getName
());
...
...
@@ -117,39 +107,44 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
// AdamEntersVo unDeaultVo = AdamEntersVo.getNew();
// unDeaultVo.setIsDefault(false);
// unDeaultVo.setUpdatedAt(now);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEntersVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
).
and
(
"isDefault"
).
is
(
true
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"isDefault"
,
false
).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
AdamEntersVo
unDeaultVoAfter
=
BsonUtil
.
toBean
(
doc
,
AdamEntersVo
.
class
);
toMqObjs
.
add
(
new
Object
[]{
false
,
now
,
unDeaultVoAfter
.
getEntersId
()});
vos
=
this
.
collectionProcess
(
vos
,
unDeaultVoAfter
.
getEntersId
(),
unDeaultVoAfter
);
}
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("state").is(1).and("isDefault").is(true)).getQueryObject(),
// new Document("$set", new Document("isDefault", false).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// AdamEntersVo defaultVo = BsonUtil.toBean(doc, AdamEntersVo.class);
AdamEntersVo
defaultVo
=
queryDefault
(
vos
,
uid
,
false
);
defaultVo
.
setIsDefault
(
false
);
defaultVo
.
setUpdatedAt
(
now
);
toMqObjs
.
add
(
new
Object
[]{
false
,
now
,
defaultVo
.
getEntersId
()});
vos
=
this
.
collectionProcess
(
vos
,
defaultVo
.
getEntersId
(),
defaultVo
);
// }
}
{
// 设置新默认
// AdamEntersVo defaultVo = AdamEntersVo.getNew();
// defaultVo.setIsDefault(true);
// defaultVo.setUpdatedAt(now);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEntersVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"entersId"
).
is
(
entersId
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"isDefault"
,
true
).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
AdamEntersVo
defaultVoAfter
=
BsonUtil
.
toBean
(
doc
,
AdamEntersVo
.
class
);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("entersId").is(entersId)).getQueryObject(),
// new Document("$set", new Document("isDefault", true).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
AdamEntersVo
defaultVoAfter
=
adamRdmService
.
getEntersVoByUidEntersId
(
vos
,
entersId
);
defaultVoAfter
.
setIsDefault
(
true
);
defaultVoAfter
.
setUpdatedAt
(
now
);
toMqObjs
.
add
(
new
Object
[]{
true
,
now
,
entersId
});
vos
=
this
.
collectionProcess
(
vos
,
defaultVoAfter
.
getEntersId
(),
defaultVoAfter
);
}
//
}
}
if
(!
CollectionUtils
.
isEmpty
(
toMqObjs
))
{
long
s
=
System
.
currentTimeMillis
();
...
...
@@ -176,20 +171,27 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
}
}
AdamEntersVo
updateVo
=
AdamEntersVo
.
getNew
();
BeanUtils
.
copyProperties
(
parameter
,
updateVo
);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamEntersVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
currentUid
).
and
(
"entersId"
).
is
(
parameter
.
getEntersId
())).
getQueryObject
(),
new
Document
(
"$set"
,
Document
.
parse
(
JsonUtils
.
toJson
(
updateVo
)).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
updateVo
=
BsonUtil
.
toBean
(
doc
,
AdamEntersVo
.
class
);
List
<
AdamEntersVo
>
vos
=
adamRdmService
.
getEntersVoByUid
(
currentUid
);
s
=
System
.
currentTimeMillis
();
AdamEntersVo
updateVo
=
adamRdmService
.
getEntersVoByUidEntersId
(
vos
,
parameter
.
getEntersId
());
updateVo
.
setType
(
parameter
.
getType
());
updateVo
.
setName
(
parameter
.
getName
());
updateVo
.
setMobile
(
parameter
.
getMobile
());
updateVo
.
setIdCard
(
parameter
.
getIdCard
());
updateVo
.
setUpdatedAt
(
now
);
// AdamEntersVo updateVo = AdamEntersVo.getNew();
// BeanUtils.copyProperties(parameter, updateVo);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(currentUid).and("entersId").is(parameter.getEntersId())).getQueryObject(),
// new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// updateVo = BsonUtil.toBean(doc, AdamEntersVo.class);
//
// List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setEntersVoByUid
(
currentUid
,
this
.
collectionProcess
(
vos
,
parameter
.
getEntersId
(),
updateVo
));
if
(
1
==
parameter
.
getType
())
{
adamRdmService
.
setCertification
(
1
,
parameter
.
getIdCard
(),
parameter
.
getName
());
...
...
@@ -204,22 +206,22 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
//
}
}
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
void
remove
(
String
uid
,
String
entersId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
//
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime
now
=
LocalDateTime
.
now
();
long
s
=
System
.
currentTimeMillis
();
DeleteResult
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
currentUid
).
and
(
"entersId"
).
is
(
entersId
)),
AdamEntersVo
.
class
.
getSimpleName
()
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
DeleteResult deleteResult = mongoTemplate.remove(
//
Query.query(Criteria.where("uid").is(currentUid).and("entersId").is(entersId)), AdamEntersVo.class.getSimpleName()
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List
<
AdamEntersVo
>
vos
=
adamRdmService
.
getEntersVoByUid
(
uid
);
vos
.
removeIf
(
r
->
r
.
getEntersId
().
equals
(
entersId
));
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setEntersVoByUid
(
uid
,
vos
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -232,8 +234,10 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
}
@Override
public
AdamEntersVo
queryDefault
(
String
uid
)
{
List
<
AdamEntersVo
>
vos
=
adamRdmService
.
getEntersVoByUid
(
uid
);
public
AdamEntersVo
queryDefault
(
List
<
AdamEntersVo
>
vos
,
String
uid
,
boolean
downgrade
)
{
if
(
CollectionUtils
.
isEmpty
(
vos
))
{
vos
=
adamRdmService
.
getEntersVoByUid
(
uid
);
}
if
(!
CollectionUtils
.
isEmpty
(
vos
))
{
AdamEntersVo
defaultVo
=
null
;
...
...
@@ -241,9 +245,11 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if
(
vo
.
getIsDefault
())
{
return
vo
;
}
if
(
downgrade
)
{
defaultVo
=
null
==
defaultVo
?
vo
:
vo
.
getCreatedAt
().
compareTo
(
defaultVo
.
getCreatedAt
())
>
0
?
vo
:
defaultVo
;
}
}
return
defaultVo
;
}
return
null
;
...
...
@@ -257,18 +263,18 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
.
filter
(
i
->
vos
.
get
(
i
).
getEntersId
().
equals
(
replaceId
))
.
findFirst
().
orElse
(-
1
);
if
(
idx
==
-
1
)
{
adamRdmService
.
delEntersVoByUid
(
updateVo
.
getUid
());
List
<
AdamEntersVo
>
entersVos
=
adamRdmService
.
getEntersVoByUid
(
updateVo
.
getUid
());
idx
=
IntStream
.
range
(
0
,
vos
.
size
())
.
filter
(
i
->
entersVos
.
get
(
i
).
getEntersId
().
equals
(
replaceId
))
.
findFirst
().
orElse
(-
1
);
if
(
idx
==
-
1
)
{
//
adamRdmService.delEntersVoByUid(updateVo.getUid());
//
//
List<AdamEntersVo> entersVos = adamRdmService.getEntersVoByUid(updateVo.getUid());
//
//
idx = IntStream.range(0, vos.size())
//
.filter(i -> entersVos.get(i).getEntersId().equals(replaceId))
//
.findFirst().orElse(-1);
//
//
if (idx == -1) {
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"10017"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
//
}
}
vos
.
set
(
idx
,
updateVo
);
log
.
debug
(
"#collect.process耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamMemberOrderServiceImpl.java
View file @
ac10a5a2
...
...
@@ -19,14 +19,8 @@ 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.bson.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.env.Environment
;
import
org.springframework.data.domain.PageRequest
;
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.util.LinkedMultiValueMap
;
import
org.springframework.util.StringUtils
;
...
...
@@ -35,15 +29,14 @@ import java.math.BigDecimal;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.LinkedList
;
import
java.util.List
;
@Slf4j
@Service
public
class
AdamMemberOrderServiceImpl
implements
IAdamMemberOrderService
{
@Autowired
Environment
env
;
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
QueueUtils
queueUtils
;
@Autowired
...
...
@@ -215,10 +208,10 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initUserMemberVo
.
setExpiryAt
(
now
.
plusDays
(
memberPriceVo
.
getDays
()).
with
(
LocalTime
.
MAX
));
initUserMemberVo
.
setCreatedAt
(
now
);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(initUserMemberVo, AdamUserMemberVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
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
);
...
...
@@ -233,15 +226,15 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
LocalDateTime
currentExpiryAt
=
existUserMemberVo
.
getExpiryAt
();
LocalDateTime
expiryAt
=
(
currentExpiryAt
.
isBefore
(
now
)
?
now
:
currentExpiryAt
).
plusDays
(
memberPriceVo
.
getDays
()).
with
(
LocalTime
.
MAX
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
getCollection
(
AdamUserMemberVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
existUserMemberVo
.
getUid
())).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"expiryAt"
,
expiryAt
).
append
(
"state"
,
1
))
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
mongoTemplate.getCollection(AdamUserMemberVo.class.getSimpleName()).updateOne(
//
Query.query(Criteria.where("uid").is(existUserMemberVo.getUid())).getQueryObject(),
//
new Document("$set", new Document("expiryAt", expiryAt).append("state", 1))
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
existUserMemberVo
.
setState
(
1
);
existUserMemberVo
.
setExpiryAt
(
expiryAt
);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
(),
existUserMemberVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -268,10 +261,10 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberCodeVo
.
setBuyAt
(
handleMemberOrderVo
.
getCreatedAt
());
initMemberCodeVo
.
setCreatedAt
(
now
);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(initMemberCodeVo, AdamMemberCodeVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
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
);
...
...
@@ -286,9 +279,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
handleMemberOrderVo
.
setUpdatedAt
(
now
);
handleMemberOrderVo
.
setState
(
1
);
// 1-已支付
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
handleMemberOrderVo
,
AdamMemberOrderVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
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
[]{
...
...
@@ -299,7 +292,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
handleMemberOrderVo
.
getCreatedAt
(),
handleMemberOrderVo
.
getClientIp
(),
handleMemberOrderVo
.
getSource
(),
handleMemberOrderVo
.
getVersion
()
});
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setShotMemberOrderVoByOrderNo
(
handleMemberOrderVo
.
getOrderNo
(),
handleMemberOrderVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -363,12 +356,12 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
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
);
//
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
()
...
...
@@ -382,9 +375,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
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
);
//
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
(),
...
...
@@ -396,25 +389,25 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
adamRdmService
.
delMemberCodeVoByCode
(
memberCodeVo
.
getCode
());
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
Document
updateMemberCodeVo
=
new
Document
(
"state"
,
1
)
.
append
(
"updatedAt"
,
now
)
.
append
(
"useOrderNo"
,
initMemberOrderVo
.
getOrderNo
())
.
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"
,
updateMemberCodeVo
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
Document updateMemberCodeVo = new Document("state", 1)
//
.append("updatedAt", now)
//
.append("useOrderNo", initMemberOrderVo.getOrderNo())
//
.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", updateMemberCodeVo)
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_member_code.exchange"
));
updateMemberCodeObjs
.
add
(
new
Object
[]{
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
);
//
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
(),
...
...
@@ -438,20 +431,22 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
@Override
public
PagedResult
<
AdamMemberOrderSimpleVo
>
queryPage
(
String
uid
,
int
pageNo
,
int
pageSize
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
in
(
1
,
5
));
long
count
=
mongoTemplate
.
count
(
query
,
AdamMemberOrderVo
.
class
.
getSimpleName
());
PagedResult
<
AdamMemberOrderSimpleVo
>
pagedResult
=
ObjectUtil
.
getAdamMemberOrderSimpleVoPagedResult
();
if
(
count
>
0
)
{
query
.
with
(
PageRequest
.
of
(
pageNo
-
1
,
pageSize
,
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createdAt"
)));
List
<
AdamMemberOrderSimpleVo
>
voList
=
mongoTemplate
.
find
(
query
,
AdamMemberOrderSimpleVo
.
class
,
AdamMemberOrderVo
.
class
.
getSimpleName
()
);
pagedResult
.
setList
(
voList
).
setTotal
(
count
,
pageSize
);
}
return
pagedResult
;
// Query query = Query.query(Criteria.where("uid").is(uid).and("state").in(1,5));
//
// long count = mongoTemplate.count(query, AdamMemberOrderVo.class.getSimpleName());
//
// PagedResult<AdamMemberOrderSimpleVo> pagedResult = ObjectUtil.getAdamMemberOrderSimpleVoPagedResult();
// if (count > 0) {
// query.with(PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")));
//
// List<AdamMemberOrderSimpleVo> voList = mongoTemplate.find(
// query, AdamMemberOrderSimpleVo.class, AdamMemberOrderVo.class.getSimpleName()
// );
//
// pagedResult.setList(voList).setTotal(count, pageSize);
// }
// return pagedResult;
// TODO: 2021/7/29 会员订单列表查取
return
ObjectUtil
.
getAdamMemberOrderSimpleVoPagedResult
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamRealNameServiceImpl.java
View file @
ac10a5a2
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.liquidnet.service.adam.service.IAdamRealNameService
;
import
com.liquidnet.service.adam.util.QueueUtils
;
...
...
@@ -9,7 +8,6 @@ import com.liquidnet.service.base.SqlMapping;
import
com.liquidnet.service.base.constant.MQConst
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
...
...
@@ -26,8 +24,8 @@ import java.util.List;
@Slf4j
@Service
public
class
AdamRealNameServiceImpl
implements
IAdamRealNameService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
RedisUtil
redisUtil
;
@Autowired
...
...
@@ -36,9 +34,9 @@ public class AdamRealNameServiceImpl implements IAdamRealNameService {
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
void
add
(
AdamRealName
realName
)
{
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
realName
,
AdamRealInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
mongoTemplate.insert(realName, AdamRealInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List
<
Object
>
paramList
=
Arrays
.
asList
(
realName
.
getRealNameId
(),
...
...
@@ -49,7 +47,7 @@ public class AdamRealNameServiceImpl implements IAdamRealNameService {
realName
.
getState
(),
realName
.
getCreatedAt
()
);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
AdamQueue
.
SQL_UCENTER
.
getKey
(),
SqlMapping
.
get
(
"adam_real_name.add"
,
paramList
.
toArray
())
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserInfoServiceImpl.java
View file @
ac10a5a2
...
...
@@ -2,7 +2,6 @@ package com.liquidnet.service.adam.service.impl;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.core.JwtValidator
;
import
com.liquidnet.commons.lang.util.BsonUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
...
...
@@ -11,15 +10,9 @@ import com.liquidnet.service.adam.service.IAdamUserInfoService;
import
com.liquidnet.service.adam.util.QueueUtils
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.util.DigestUtils
;
...
...
@@ -39,8 +32,8 @@ import java.util.Map;
@Slf4j
@Service
public
class
AdamUserInfoServiceImpl
implements
IAdamUserInfoService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
AdamRdmService
adamRdmService
;
@Autowired
...
...
@@ -56,17 +49,17 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
userInfoVo
.
setCreateAt
(
null
);
Document
updateDoc
=
Document
.
parse
(
JsonUtils
.
toJson
(
userInfoVo
));
updateDoc
.
replace
(
"updatedAt"
,
userInfoVo
.
getUpdatedAt
());
long
s
=
System
.
currentTimeMillis
();
UpdateResult
updateResult
=
mongoTemplate
.
getCollection
(
AdamUserInfoVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
userInfoVo
.
getUid
())).
getQueryObject
(),
new
Document
(
"$set"
,
updateDoc
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
updateResult
.
getModifiedCount
()
<=
0
)
{
log
.
warn
(
"Invalid update MDB.AdamUserInfoVo:{}"
,
JsonUtils
.
toJson
(
userInfoVo
));
}
//
long s = System.currentTimeMillis();
//
UpdateResult updateResult = mongoTemplate.getCollection(AdamUserInfoVo.class.getSimpleName()).updateOne(
//
Query.query(Criteria.where("uid").is(userInfoVo.getUid())).getQueryObject(),
//
new Document("$set", updateDoc)
//
);
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (updateResult.getModifiedCount() <= 0) {
//
log.warn("Invalid update MDB.AdamUserInfoVo:{}", JsonUtils.toJson(userInfoVo));
//
}
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserInfoVoByUid
(
userInfoVo
.
getUid
(),
userInfoVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -105,17 +98,18 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
// AdamUserInfoVo updateInfoVo = AdamUserInfoVo.getNew();
// updateInfoVo.setUpdatedAt(now);
// updateInfoVo.setMobile(mobile);
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamUserInfoVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"mobile"
,
mobile
).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
BEFORE
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
log
.
debug
(
"edit mobile - before doc:{}"
,
JsonUtils
.
toJson
(
doc
));
AdamUserInfoVo
beforeUserInfoVo
=
BsonUtil
.
toBean
(
doc
,
AdamUserInfoVo
.
class
);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamUserInfoVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid)).getQueryObject(),
// new Document("$set", new Document("mobile", mobile).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.BEFORE)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// log.debug("edit mobile - before doc:{}", JsonUtils.toJson(doc));
// AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class);
AdamUserInfoVo
beforeUserInfoVo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
delUidByMobile
(
beforeUserInfoVo
.
getMobile
());
adamRdmService
.
setUidByMobile
(
mobile
,
uid
);
beforeUserInfoVo
.
setMobile
(
mobile
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserMemberServiceImpl.java
View file @
ac10a5a2
...
...
@@ -2,15 +2,10 @@ package com.liquidnet.service.adam.service.impl;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamUserMemberService
;
import
lombok.extern.slf4j.Slf4j
;
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
java.util.regex.Pattern
;
...
...
@@ -20,8 +15,8 @@ import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UMEMBE
@Slf4j
@Service
public
class
AdamUserMemberServiceImpl
implements
IAdamUserMemberService
{
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
AdamRdmService
adamRdmService
;
...
...
@@ -33,17 +28,17 @@ public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_UMEMBER_NO
,
1
,
3
))
{
memberMaxNo
=
adamRdmService
.
getMaxMemberNo
();
if
(-
1
==
memberMaxNo
)
{
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
)
{
//
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
);
adamRdmService
.
setMaxMemberNo
(
memberVo
.
getStartNo
());
}
else
{
adamRdmService
.
setMaxMemberNo
(
Integer
.
parseInt
(
latestMaxMemberNoVo
.
getMemberNo
()));
}
//
} else {
//
adamRdmService.setMaxMemberNo(Integer.parseInt(latestMaxMemberNoVo.getMemberNo()));
//
}
}
RedisLockUtil
.
unlock
(
LOCK_KEY_UMEMBER_NO
);
}
else
{
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserServiceImpl.java
View file @
ac10a5a2
...
...
@@ -6,8 +6,9 @@ import com.liquidnet.common.exception.LiquidnetServiceException;
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.vo.*
;
import
com.liquidnet.service.adam.entity.AdamEnters
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.liquidnet.service.adam.service.AdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamEntersService
;
...
...
@@ -17,28 +18,21 @@ import com.liquidnet.service.adam.util.QueueUtils;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
com.mongodb.client.result.DeleteResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.RandomStringUtils
;
import
org.apache.commons.lang3.RandomUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.bson.Document
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.env.Environment
;
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.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.LinkedMultiValueMap
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.LinkedList
;
import
java.util.List
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_UREGISTER
;
...
...
@@ -55,8 +49,8 @@ import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UREGIS
public
class
AdamUserServiceImpl
implements
IAdamUserService
{
@Autowired
Environment
env
;
@Autowired
MongoTemplate
mongoTemplate
;
//
@Autowired
//
MongoTemplate mongoTemplate;
@Autowired
QueueUtils
queueUtils
;
@Autowired
...
...
@@ -89,11 +83,11 @@ public class AdamUserServiceImpl implements IAdamUserService {
userInfoVo
.
setQrCode
(
"lN"
.
concat
(
userInfoVo
.
getUid
()).
concat
(
RandomStringUtils
.
randomAlphanumeric
(
5
).
toUpperCase
()));
userInfoVo
.
setCreateAt
(
now
);
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
userInfoVo
,
AdamUserInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUidByMobile
(
mobile
,
userInfoVo
.
getUid
());
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -148,9 +142,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
userInfoVo
.
setQrCode
(
"lN"
.
concat
(
userInfoVo
.
getUid
()).
concat
(
RandomStringUtils
.
randomAlphanumeric
(
5
).
toUpperCase
()));
userInfoVo
.
setCreateAt
(
now
);
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
userInfoVo
,
AdamUserInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
s = System.currentTimeMillis();
//
mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
userInfoVo
.
setMobile
(
SensitizeUtil
.
custom
(
param
.
getMobile
(),
3
,
4
));
...
...
@@ -172,9 +166,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
thirdPartInfoVo
.
setUid
(
userInfoVo
.
getUid
());
thirdPartInfoVo
.
setState
(
1
);
// 1-绑定
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
thirdPartInfoVo
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
s = System.currentTimeMillis();
//
mongoTemplate.insert(thirdPartInfoVo, AdamThirdPartInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_third_party.add"
));
initThirdPartObjs
.
add
(
new
Object
[]{
thirdPartInfoVo
.
getUid
(),
thirdPartInfoVo
.
getOpenId
(),
thirdPartInfoVo
.
getAvatar
(),
thirdPartInfoVo
.
getNickname
(),
thirdPartInfoVo
.
getPlatform
(),
thirdPartInfoVo
.
getState
(),
thirdPartInfoVo
.
getCreatedAt
()});
...
...
@@ -207,11 +201,11 @@ public class AdamUserServiceImpl implements IAdamUserService {
thirdPartInfoVo
.
setUid
(
uid
);
thirdPartInfoVo
.
setState
(
1
);
// 1-绑定
long
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
thirdPartInfoVo
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
long s = System.currentTimeMillis();
//
mongoTemplate.insert(thirdPartInfoVo, AdamThirdPartInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
s
=
System
.
currentTimeMillis
();
long
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUidByPlatformOpenId
(
param
.
getPlatform
(),
param
.
getOpenId
(),
uid
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -242,7 +236,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
thirdPartInfoVo
.
setUid
(
bindUid
);
thirdPartInfoVo
.
setState
(
1
);
// 1-绑定
mongoTemplate
.
insert
(
thirdPartInfoVo
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
//
mongoTemplate.insert(thirdPartInfoVo, AdamThirdPartInfoVo.class.getSimpleName());
adamRdmService
.
setUidByPlatformOpenId
(
param
.
getPlatform
(),
param
.
getOpenId
(),
bindUid
);
...
...
@@ -269,17 +263,22 @@ public class AdamUserServiceImpl implements IAdamUserService {
// unBindThirdPartInfoVo.setUpdatedAt(now);
// unBindThirdPartInfoVo.setState(2);// 2-解绑
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamThirdPartInfoVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("platform").is(platform).and("state").is(1)).getQueryObject(),
// new Document("$set", new Document("state", 2).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// s = System.currentTimeMillis();
// if (null != doc) {
// adamRdmService.delUidByPlatformOpenId(platform, doc.getString("openId"));
// }
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamThirdPartInfoVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"platform"
).
is
(
platform
).
and
(
"state"
).
is
(
1
)).
getQueryObject
(),
new
Document
(
"$set"
,
new
Document
(
"state"
,
2
).
append
(
"updatedAt"
,
now
)),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
s
=
System
.
currentTimeMillis
();
if
(
null
!=
doc
)
{
adamRdmService
.
delUidByPlatformOpenId
(
platform
,
doc
.
getString
(
"openId"
));
AdamThirdPartInfoVo
unBindTpaVo
=
adamRdmService
.
getThirdPartVoByUidPlatform
(
uid
,
platform
);
if
(
null
!=
unBindTpaVo
)
{
adamRdmService
.
delUidByPlatformOpenId
(
platform
,
unBindTpaVo
.
getOpenId
());
}
adamRdmService
.
delThirdPartVoListByUid
(
uid
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
@@ -323,45 +322,45 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService
.
delEntersVoByUid
(
uid
);
log
.
debug
(
"##RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
DeleteResult
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamUserInfoVo
.
class
.
getSimpleName
());
//
DeleteResult deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamUserInfoVo.class.getSimpleName());
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user.close"
));
objsUser
.
add
(
new
Object
[]{
now
,
now
,
uid
});
/* ---------------------- 三方账号信息 */
if
(!
CollectionUtils
.
isEmpty
(
thirdPartInfoVos
))
{
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
//
s = System.currentTimeMillis();
//
mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamThirdPartInfoVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_third_party.close"
));
objsThirdPart
.
add
(
new
Object
[]{
now
,
uid
});
}
/* ---------------------- 用户会员信息 */
s
=
System
.
currentTimeMillis
();
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamUserMemberVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
deleteResult
.
getDeletedCount
()
>
0
)
{
//
s = System.currentTimeMillis();
//
deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (deleteResult.getDeletedCount() > 0) {
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.close"
));
objsThirdPart
.
add
(
new
Object
[]{
now
,
uid
});
}
//
}
/* ---------------------- 收货地址信息 */
s
=
System
.
currentTimeMillis
();
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamAddressesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
deleteResult
.
getDeletedCount
()
>
0
)
{
//
s = System.currentTimeMillis();
//
deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamAddressesVo.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (deleteResult.getDeletedCount() > 0) {
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_addresses.close"
));
objsAddresses
.
add
(
new
Object
[]{
now
,
now
,
uid
});
}
//
}
/* ---------------------- 入场人信息 */
s
=
System
.
currentTimeMillis
();
deleteResult
=
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)).
getQueryObject
(),
AdamEnters
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
deleteResult
.
getDeletedCount
()
>
0
)
{
//
s = System.currentTimeMillis();
//
deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)).getQueryObject(), AdamEnters.class.getSimpleName());
//
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
if (deleteResult.getDeletedCount() > 0) {
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_enters.close"
));
objsAddresses
.
add
(
new
Object
[]{
now
,
now
,
uid
});
}
//
}
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
...
...
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