记得上下班打卡 | git大法好,push需谨慎

Commit ac10a5a2 authored by 张国柄's avatar 张国柄

fix:去除MONGO;

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