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

Commit 919861be authored by 张国柄's avatar 张国柄

fix:+cost;

parent 3d525e46
...@@ -88,6 +88,7 @@ public class AdamLoginController { ...@@ -88,6 +88,7 @@ public class AdamLoginController {
@GetMapping(value = {"send"}) @GetMapping(value = {"send"})
public ResponseDto<Object> sendSms(@Pattern(regexp = "\\d{11}", message = "手机号格式有误") @RequestParam String mobile) { public ResponseDto<Object> sendSms(@Pattern(regexp = "\\d{11}", message = "手机号格式有误") @RequestParam String mobile) {
log.debug("send to mobile:{}", mobile); log.debug("send to mobile:{}", mobile);
long s = System.currentTimeMillis();
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("mobile", mobile); paramsMap.add("mobile", mobile);
...@@ -96,6 +97,7 @@ public class AdamLoginController { ...@@ -96,6 +97,7 @@ public class AdamLoginController {
try { try {
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_SMS_CODE_SEND, paramsMap); respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_SMS_CODE_SEND, paramsMap);
log.debug("###PHP.API[{}].RESP[{}]", PHP_API_SMS_CODE_SEND, respStr); log.debug("###PHP.API[{}].RESP[{}]", PHP_API_SMS_CODE_SEND, respStr);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
Map respMap = JsonUtils.fromJson(respStr, Map.class); Map respMap = JsonUtils.fromJson(respStr, Map.class);
......
...@@ -61,49 +61,49 @@ public class AdamUserController { ...@@ -61,49 +61,49 @@ public class AdamUserController {
// 已选中的性别标签不在系统性别标签库中 // 已选中的性别标签不在系统性别标签库中
return ResponseDto.failure(ErrorMapping.get("10011")); return ResponseDto.failure(ErrorMapping.get("10011"));
} }
List<AdamTagParentVo> tagMeVos = parameter.getTagMe(); // List<AdamTagParentVo> tagMeVos = parameter.getTagMe();
if (null == tagMeVos) { // if (null == tagMeVos) {
return ResponseDto.failure(ErrorMapping.get("10012")); // return ResponseDto.failure(ErrorMapping.get("10012"));
} // }
List<String> chooseTagMeParentVals = tagMeVos.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList()); // List<String> chooseTagMeParentVals = tagMeVos.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList());
List<AdamTagParentVo> existParentVos = this.getTagsForMusic().getData() // List<AdamTagParentVo> existParentVos = this.getTagsForMusic().getData()
.stream().filter(r -> chooseTagMeParentVals.contains(r.getVal())).collect(Collectors.toList()); // .stream().filter(r -> chooseTagMeParentVals.contains(r.getVal())).collect(Collectors.toList());
if (chooseTagMeParentVals.size() != existParentVos.size()) { // if (chooseTagMeParentVals.size() != existParentVos.size()) {
// 已选中的父级标签与系统筛选命中的父级标签数量不同 // // 已选中的父级标签与系统筛选命中的父级标签数量不同
return ResponseDto.failure(ErrorMapping.get("10012")); // return ResponseDto.failure(ErrorMapping.get("10012"));
} // }
List<AdamTagParentVo> tagMeVoList = new ArrayList<>(); // List<AdamTagParentVo> tagMeVoList = new ArrayList<>();
// tagMe子级标签校验处理 // // tagMe子级标签校验处理
for (AdamTagParentVo parentVo : tagMeVos) { // for (AdamTagParentVo parentVo : tagMeVos) {
// 系统对应的父级标签 // // 系统对应的父级标签
AdamTagParentVo existParentVo = existParentVos.stream().filter(r -> r.getVal().equals(parentVo.getVal())).findAny().get(); // AdamTagParentVo existParentVo = existParentVos.stream().filter(r -> r.getVal().equals(parentVo.getVal())).findAny().get();
//
List<AdamTagVo> tagVos = parentVo.getTagVos(); // List<AdamTagVo> tagVos = parentVo.getTagVos();
//
// TODO: 2021/6/13 第一版前端没有分级,暂不开启校验 // // TODO: 2021/6/13 第一版前端没有分级,暂不开启校验
if (CollectionUtils.isEmpty(tagVos)) { // if (CollectionUtils.isEmpty(tagVos)) {
existParentVo.setTagVos(null); // existParentVo.setTagVos(null);
tagMeVoList.add(existParentVo); // tagMeVoList.add(existParentVo);
continue; // continue;
} // }
//
List<AdamTagVo> allTagVos = existParentVo.getTagVos(); // List<AdamTagVo> allTagVos = existParentVo.getTagVos();
//
if (CollectionUtils.isEmpty(allTagVos) || tagVos.size() > allTagVos.size()) { // if (CollectionUtils.isEmpty(allTagVos) || tagVos.size() > allTagVos.size()) {
// 已选中的子级标签数量大于系统对应子级标签数量 // // 已选中的子级标签数量大于系统对应子级标签数量
return ResponseDto.failure(ErrorMapping.get("10012")); // return ResponseDto.failure(ErrorMapping.get("10012"));
} // }
//
// 已选中的子级标签key集合 // // 已选中的子级标签key集合
List<String> chooseTagVoVals = tagVos.stream().map(AdamTagVo::getVal).collect(Collectors.toList()); // List<String> chooseTagVoVals = tagVos.stream().map(AdamTagVo::getVal).collect(Collectors.toList());
//
List<AdamTagVo> existTagVos = allTagVos.stream().filter(r -> chooseTagVoVals.contains(r.getVal())).collect(Collectors.toList()); // List<AdamTagVo> existTagVos = allTagVos.stream().filter(r -> chooseTagVoVals.contains(r.getVal())).collect(Collectors.toList());
if (chooseTagVoVals.size() != existTagVos.size()) { // if (chooseTagVoVals.size() != existTagVos.size()) {
return ResponseDto.failure(ErrorMapping.get("10012")); // return ResponseDto.failure(ErrorMapping.get("10012"));
} // }
existParentVo.setTagVos(existTagVos); // existParentVo.setTagVos(existTagVos);
tagMeVoList.add(existParentVo); // tagMeVoList.add(existParentVo);
} // }
AdamUserInfoVo editUserInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid()); AdamUserInfoVo editUserInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid());
editUserInfoVo.setAvatar(parameter.getAvatar()); editUserInfoVo.setAvatar(parameter.getAvatar());
...@@ -113,7 +113,7 @@ public class AdamUserController { ...@@ -113,7 +113,7 @@ public class AdamUserController {
editUserInfoVo.setBirthday(parameter.getBirthday()); editUserInfoVo.setBirthday(parameter.getBirthday());
editUserInfoVo.setArea(parameter.getArea()); editUserInfoVo.setArea(parameter.getArea());
editUserInfoVo.setSignature(parameter.getSignature()); editUserInfoVo.setSignature(parameter.getSignature());
editUserInfoVo.setTagMe(tagMeVoList); // editUserInfoVo.setTagMe(tagMeVoList);
editUserInfoVo.setUpdatedAt(LocalDateTime.now()); editUserInfoVo.setUpdatedAt(LocalDateTime.now());
editUserInfoVo.setIsComplete(1); editUserInfoVo.setIsComplete(1);
......
...@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping; ...@@ -11,6 +11,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -37,6 +38,7 @@ import java.util.stream.IntStream; ...@@ -37,6 +38,7 @@ import java.util.stream.IntStream;
* @author liquidnet * @author liquidnet
* @since 2021-05-11 * @since 2021-05-11
*/ */
@Slf4j
@Service @Service
public class AdamAddressesServiceImpl implements IAdamAddressesService { public class AdamAddressesServiceImpl implements IAdamAddressesService {
@Autowired @Autowired
...@@ -64,15 +66,21 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -64,15 +66,21 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
vo.setState(1); vo.setState(1);
vo.setCreatedAt(now); vo.setCreatedAt(now);
long s = System.currentTimeMillis();
mongoTemplate.insert(vo, AdamAddressesVo.class.getSimpleName()); mongoTemplate.insert(vo, AdamAddressesVo.class.getSimpleName());
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
adamRdmService.delAddressesVoByUid(currentUid); adamRdmService.delAddressesVoByUid(currentUid);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.add", SqlMapping.get("adam_addresses.add",
vo.getAddressesId(), vo.getUid(), vo.getName(), vo.getPhone(), vo.getProvince(), vo.getCity(), vo.getCounty(), vo.getAddress(), vo.getIsDefault(), vo.getState(), now vo.getAddressesId(), vo.getUid(), vo.getName(), vo.getPhone(), vo.getProvince(), vo.getCity(), vo.getCounty(), vo.getAddress(), vo.getIsDefault(), vo.getState(), now
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
return vo.getAddressesId(); return vo.getAddressesId();
} }
...@@ -86,11 +94,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -86,11 +94,13 @@ 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();
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);
if (null != doc) { if (null != doc) {
AdamAddressesVo unDefaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class); AdamAddressesVo unDefaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
...@@ -103,11 +113,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -103,11 +113,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// AdamAddressesVo defaultVo = AdamAddressesVo.getNew(); // AdamAddressesVo defaultVo = AdamAddressesVo.getNew();
// defaultVo.setIsDefault(true); // defaultVo.setIsDefault(true);
// defaultVo.setUpdatedAt(now); // defaultVo.setUpdatedAt(now);
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);
if (null != doc) { if (null != doc) {
AdamAddressesVo defaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class); AdamAddressesVo defaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
...@@ -117,9 +129,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -117,9 +129,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
} }
} }
if (!CollectionUtils.isEmpty(toMqObjs)) { if (!CollectionUtils.isEmpty(toMqObjs)) {
long s = System.currentTimeMillis();
adamRdmService.setAddressesVoByUid(uid, vos); adamRdmService.setAddressesVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.update.is_default", toMqObjs)); SqlMapping.get("adam_addresses.update.is_default", toMqObjs));
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -130,23 +146,29 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -130,23 +146,29 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
AdamAddressesVo updateVo = AdamAddressesVo.getNew(); AdamAddressesVo updateVo = AdamAddressesVo.getNew();
BeanUtils.copyProperties(parameter, updateVo); BeanUtils.copyProperties(parameter, updateVo);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(parameter.getAddressesId())).getQueryObject(), Query.query(Criteria.where("addressesId").is(parameter.getAddressesId())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)), new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamAddressesVo.class); updateVo = BsonUtil.toBean(doc, AdamAddressesVo.class);
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid); List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
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);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.edit", SqlMapping.get("adam_addresses.edit",
updateVo.getName(), updateVo.getPhone(), updateVo.getProvince(), updateVo.getCity(), updateVo.getCounty(), updateVo.getAddress(), now, updateVo.getAddressesId() updateVo.getName(), updateVo.getPhone(), updateVo.getProvince(), updateVo.getCity(), updateVo.getCounty(), updateVo.getAddress(), now, updateVo.getAddressesId()
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -161,19 +183,25 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -161,19 +183,25 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// removeVo.setUpdatedAt(now); // removeVo.setUpdatedAt(now);
// removeVo.setDeletedAt(now); // removeVo.setDeletedAt(now);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(addressesId)).getQueryObject(), Query.query(Criteria.where("addressesId").is(addressesId)).getQueryObject(),
new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)), new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { if (null != doc) {
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();
adamRdmService.setAddressesVoByUid(uid, vos); adamRdmService.setAddressesVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_addresses.remove", now, now, addressesId) SqlMapping.get("adam_addresses.remove", now, now, addressesId)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -197,6 +225,7 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -197,6 +225,7 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
/* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */
private List<AdamAddressesVo> collectionProcess(List<AdamAddressesVo> vos, String replaceId, AdamAddressesVo updateVo) { private List<AdamAddressesVo> collectionProcess(List<AdamAddressesVo> vos, String replaceId, AdamAddressesVo updateVo) {
long s = System.currentTimeMillis();
int idx = IntStream.range(0, vos.size()) int idx = IntStream.range(0, vos.size())
.filter(i -> vos.get(i).getAddressesId().equals(replaceId)) .filter(i -> vos.get(i).getAddressesId().equals(replaceId))
.findFirst().orElse(-1); .findFirst().orElse(-1);
...@@ -215,6 +244,7 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -215,6 +244,7 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
} }
} }
vos.set(idx, updateVo); vos.set(idx, updateVo);
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
return vos; return vos;
} }
} }
...@@ -71,7 +71,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -71,7 +71,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
String respStr = null; String respStr = null;
try { try {
long s = System.currentTimeMillis();
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap); respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr); log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class); Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) { if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
...@@ -97,15 +99,21 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -97,15 +99,21 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
vo.setState(1); vo.setState(1);
vo.setCreatedAt(now); vo.setCreatedAt(now);
long s = System.currentTimeMillis();
mongoTemplate.insert(vo, AdamEntersVo.class.getSimpleName()); mongoTemplate.insert(vo, AdamEntersVo.class.getSimpleName());
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
adamRdmService.delEntersVoByUid(currentUid); adamRdmService.delEntersVoByUid(currentUid);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.add", SqlMapping.get("adam_enters.add",
vo.getEntersId(), vo.getUid(), vo.getType(), vo.getName(), vo.getMobile(), vo.getIdCard(), vo.getIsDefault(), vo.getState(), now vo.getEntersId(), vo.getUid(), vo.getType(), vo.getName(), vo.getMobile(), vo.getIdCard(), vo.getIsDefault(), vo.getState(), now
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
return vo.getEntersId(); return vo.getEntersId();
} }
...@@ -120,11 +128,13 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -120,11 +128,13 @@ 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();
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);
if (null != doc) { if (null != doc) {
AdamEntersVo unDeaultVoAfter = BsonUtil.toBean(doc, AdamEntersVo.class); AdamEntersVo unDeaultVoAfter = BsonUtil.toBean(doc, AdamEntersVo.class);
...@@ -137,11 +147,13 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -137,11 +147,13 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
// AdamEntersVo defaultVo = AdamEntersVo.getNew(); // AdamEntersVo defaultVo = AdamEntersVo.getNew();
// defaultVo.setIsDefault(true); // defaultVo.setIsDefault(true);
// defaultVo.setUpdatedAt(now); // defaultVo.setUpdatedAt(now);
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);
if (null != doc) { if (null != doc) {
AdamEntersVo defaultVoAfter = BsonUtil.toBean(doc, AdamEntersVo.class); AdamEntersVo defaultVoAfter = BsonUtil.toBean(doc, AdamEntersVo.class);
...@@ -151,9 +163,13 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -151,9 +163,13 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
} }
} }
if (!CollectionUtils.isEmpty(toMqObjs)) { if (!CollectionUtils.isEmpty(toMqObjs)) {
long s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(uid, vos); adamRdmService.setEntersVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.update.is_default", toMqObjs)); SqlMapping.get("adam_enters.update.is_default", toMqObjs));
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -164,23 +180,29 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -164,23 +180,29 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
AdamEntersVo updateVo = AdamEntersVo.getNew(); AdamEntersVo updateVo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, updateVo); BeanUtils.copyProperties(parameter, updateVo);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(parameter.getEntersId())).getQueryObject(), Query.query(Criteria.where("entersId").is(parameter.getEntersId())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)), new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamEntersVo.class); updateVo = BsonUtil.toBean(doc, AdamEntersVo.class);
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid); List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo)); adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo));
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.edit", SqlMapping.get("adam_enters.edit",
updateVo.getType(), updateVo.getName(), updateVo.getMobile(), updateVo.getIdCard(), updateVo.getIsDefault(), updateVo.getState(), now, updateVo.getEntersId() updateVo.getType(), updateVo.getName(), updateVo.getMobile(), updateVo.getIdCard(), updateVo.getIsDefault(), updateVo.getState(), now, updateVo.getEntersId()
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -195,19 +217,25 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -195,19 +217,25 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
// removeVo.setUpdatedAt(now); // removeVo.setUpdatedAt(now);
// removeVo.setDeletedAt(now); // removeVo.setDeletedAt(now);
long s = System.currentTimeMillis();
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate( Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(), Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(),
new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)), new Document("$set", new Document("state", 2).append("isDefault", false).append("updatedAt", now).append("deletedAt", now)),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { if (null != doc) {
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();
adamRdmService.setEntersVoByUid(uid, vos); adamRdmService.setEntersVoByUid(uid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_enters.remove", now, now, entersId) SqlMapping.get("adam_enters.remove", now, now, entersId)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -232,6 +260,7 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -232,6 +260,7 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
/* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */
private List<AdamEntersVo> collectionProcess(List<AdamEntersVo> vos, String replaceId, AdamEntersVo updateVo) { private List<AdamEntersVo> collectionProcess(List<AdamEntersVo> vos, String replaceId, AdamEntersVo updateVo) {
long s = System.currentTimeMillis();
int idx = IntStream.range(0, vos.size()) int idx = IntStream.range(0, vos.size())
.filter(i -> vos.get(i).getEntersId().equals(replaceId)) .filter(i -> vos.get(i).getEntersId().equals(replaceId))
.findFirst().orElse(-1); .findFirst().orElse(-1);
...@@ -250,6 +279,7 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -250,6 +279,7 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
} }
} }
vos.set(idx, updateVo); vos.set(idx, updateVo);
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
return vos; return vos;
} }
} }
...@@ -39,7 +39,9 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -39,7 +39,9 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
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");
long 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);
if (null != vo) redisUtil.set(key, vo.getUid()); if (null != vo) redisUtil.set(key, vo.getUid());
} }
return val; return val;
...@@ -62,7 +64,9 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -62,7 +64,9 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
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");
long 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);
if (null != vo) redisUtil.set(key, vo.getUid()); if (null != vo) redisUtil.set(key, vo.getUid());
} }
return val; return val;
...@@ -83,8 +87,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -83,8 +87,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_USER.concat(uid); String rk = AdamRedisConst.INFO_USER.concat(uid);
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk); AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
if (null == vo) { if (null == vo) {
long 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);
if (null != vo) redisUtil.set(rk, vo); if (null != vo) redisUtil.set(rk, vo);
} }
...@@ -109,8 +115,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -109,8 +115,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_REAL_NAME.concat(uid); String rk = AdamRedisConst.INFO_REAL_NAME.concat(uid);
AdamRealInfoVo vo = (AdamRealInfoVo) redisUtil.get(rk); AdamRealInfoVo vo = (AdamRealInfoVo) redisUtil.get(rk);
if (null == vo) { if (null == vo) {
long 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);
if (null != vo) redisUtil.set(rk, vo); if (null != vo) redisUtil.set(rk, vo);
} }
...@@ -136,8 +144,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -136,8 +144,10 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_THIRD_PARTY.concat(uid); String rk = AdamRedisConst.INFO_THIRD_PARTY.concat(uid);
List<AdamThirdPartInfoVo> thirdPartInfoVos = (List<AdamThirdPartInfoVo>) redisUtil.get(rk); List<AdamThirdPartInfoVo> thirdPartInfoVos = (List<AdamThirdPartInfoVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(thirdPartInfoVos)) { if (CollectionUtils.isEmpty(thirdPartInfoVos)) {
long 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);
if (!CollectionUtils.isEmpty(thirdPartInfoVos)) redisUtil.set(rk, thirdPartInfoVos); if (!CollectionUtils.isEmpty(thirdPartInfoVos)) redisUtil.set(rk, thirdPartInfoVos);
} }
...@@ -168,10 +178,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -168,10 +178,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_ENTERS.concat(uid); String rk = AdamRedisConst.INFO_ENTERS.concat(uid);
List<AdamEntersVo> vos = (List<AdamEntersVo>) redisUtil.get(rk); List<AdamEntersVo> vos = (List<AdamEntersVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(vos)) { if (CollectionUtils.isEmpty(vos)) {
long 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);
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos); if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
} }
...@@ -204,10 +216,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -204,10 +216,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid); String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid);
List<AdamAddressesVo> vos = (List<AdamAddressesVo>) redisUtil.get(rk); List<AdamAddressesVo> vos = (List<AdamAddressesVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(vos)) { if (CollectionUtils.isEmpty(vos)) {
long 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);
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos); if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
} }
...@@ -234,7 +248,9 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -234,7 +248,9 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_USER_MEMBER.concat(uid); String rk = AdamRedisConst.INFO_USER_MEMBER.concat(uid);
AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.get(rk); AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.get(rk);
if (null == adamUserMemberVo) { if (null == adamUserMemberVo) {
long s = System.currentTimeMillis();
adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName()); adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != adamUserMemberVo) redisUtil.set(rk, adamUserMemberVo); if (null != adamUserMemberVo) redisUtil.set(rk, adamUserMemberVo);
} }
...@@ -250,10 +266,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -250,10 +266,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
public AdamMemberSimpleVo getMemberSimpleVo() { public AdamMemberSimpleVo getMemberSimpleVo() {
AdamMemberSimpleVo vo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBER_SIMPLE); AdamMemberSimpleVo vo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBER_SIMPLE);
if (null == vo) { if (null == vo) {
long s = System.currentTimeMillis();
List<AdamMemberSimpleVo> vos = mongoTemplate.find( List<AdamMemberSimpleVo> vos = mongoTemplate.find(
Query.query(Criteria.where("state").is(1)).with(Sort.by(Sort.Direction.ASC, "memberId")), Query.query(Criteria.where("state").is(1)).with(Sort.by(Sort.Direction.ASC, "memberId")),
AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName() AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName()
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
vo = CollectionUtils.isEmpty(vos) ? null : vos.get(0); vo = CollectionUtils.isEmpty(vos) ? null : vos.get(0);
...@@ -267,11 +285,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -267,11 +285,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String key = AdamRedisConst.INFO_MEMBER_CATEGORY.concat(memberId); String key = AdamRedisConst.INFO_MEMBER_CATEGORY.concat(memberId);
AdamMemberVo vo = (AdamMemberVo) redisUtil.get(key); AdamMemberVo vo = (AdamMemberVo) redisUtil.get(key);
if (null == vo) { if (null == vo) {
long 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()
); );
if (null != vo) redisUtil.set(AdamRedisConst.INFO_MEMBER_CATEGORY, vo); log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != vo) redisUtil.set(key, vo);
} }
return vo; return vo;
} }
...@@ -286,10 +306,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -286,10 +306,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String key = AdamRedisConst.INFO_MEMBER_PRICE.concat(memberId); String key = AdamRedisConst.INFO_MEMBER_PRICE.concat(memberId);
List<AdamMemberPriceVo> vos = (List<AdamMemberPriceVo>) redisUtil.get(key); List<AdamMemberPriceVo> vos = (List<AdamMemberPriceVo>) redisUtil.get(key);
if (CollectionUtils.isEmpty(vos)) { if (CollectionUtils.isEmpty(vos)) {
long 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);
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(key, vos); if (!CollectionUtils.isEmpty(vos)) redisUtil.set(key, vos);
} }
...@@ -354,10 +376,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -354,10 +376,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String key = AdamRedisConst.SHOT_MEMBER_ORDER + orderNo; String key = AdamRedisConst.SHOT_MEMBER_ORDER + orderNo;
AdamMemberOrderVo vo = (AdamMemberOrderVo) redisUtil.get(key); AdamMemberOrderVo vo = (AdamMemberOrderVo) redisUtil.get(key);
if (null == vo) { if (null == vo) {
long 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);
if (null != vo) redisUtil.set(key, vo); if (null != vo) redisUtil.set(key, vo);
} }
...@@ -395,10 +419,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -395,10 +419,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String key = AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode); String key = AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode);
AdamMemberCodeVo vo = (AdamMemberCodeVo) redisUtil.get(key); AdamMemberCodeVo vo = (AdamMemberCodeVo) redisUtil.get(key);
if (null == vo) { if (null == vo) {
long 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);
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);
} }
return vo; return vo;
......
...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.entity.AdamRealName; ...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.entity.AdamRealName;
import com.liquidnet.service.adam.mapper.AdamRealNameMapper; import com.liquidnet.service.adam.mapper.AdamRealNameMapper;
import com.liquidnet.service.adam.service.IAdamRealNameService; import com.liquidnet.service.adam.service.IAdamRealNameService;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
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.MongoTemplate;
...@@ -26,6 +27,7 @@ import java.util.List; ...@@ -26,6 +27,7 @@ import java.util.List;
* @author liquidnet * @author liquidnet
* @since 2021-05-10 * @since 2021-05-10
*/ */
@Slf4j
@Service @Service
public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, AdamRealName> implements IAdamRealNameService { public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, AdamRealName> implements IAdamRealNameService {
@Autowired @Autowired
...@@ -38,7 +40,9 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada ...@@ -38,7 +40,9 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada
@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();
mongoTemplate.insert(realName, AdamRealInfoVo.class.getSimpleName()); mongoTemplate.insert(realName, AdamRealInfoVo.class.getSimpleName());
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List<Object> paramList = Arrays.asList( List<Object> paramList = Arrays.asList(
realName.getRealNameId(), realName.getRealNameId(),
...@@ -49,7 +53,9 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada ...@@ -49,7 +53,9 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada
realName.getState(), realName.getState(),
realName.getCreatedAt() realName.getCreatedAt()
); );
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_real_name.add", paramList.toArray())); SqlMapping.get("adam_real_name.add", paramList.toArray()));
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -12,6 +12,7 @@ import com.liquidnet.service.adam.service.IAdamUserInfoService; ...@@ -12,6 +12,7 @@ import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -30,6 +31,7 @@ import java.time.LocalDateTime; ...@@ -30,6 +31,7 @@ import java.time.LocalDateTime;
* @author liquidnet * @author liquidnet
* @since 2021-05-10 * @since 2021-05-10
*/ */
@Slf4j
@Service @Service
public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, AdamUserInfo> implements IAdamUserInfoService { public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, AdamUserInfo> implements IAdamUserInfoService {
@Autowired @Autowired
...@@ -42,16 +44,21 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada ...@@ -42,16 +44,21 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamUserInfoVo userInfoVo) { public void edit(AdamUserInfoVo userInfoVo) {
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(userInfoVo.getUid())).getQueryObject(), Query.query(Criteria.where("uid").is(userInfoVo.getUid())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(userInfoVo))), new Document("$set", Document.parse(JsonUtils.toJson(userInfoVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER) new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
); );
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
if (null != doc) { if (null != doc) {
userInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class); userInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class);
s = System.currentTimeMillis();
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get( SqlMapping.get(
userInfoVo.getIsComplete() == 0 ? "adam_user_info.add" : "adam_user_info.edit", userInfoVo.getIsComplete() == 0 ? "adam_user_info.add" : "adam_user_info.edit",
...@@ -68,6 +75,7 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada ...@@ -68,6 +75,7 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
userInfoVo.getUid() userInfoVo.getUid()
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
...@@ -78,20 +86,27 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada ...@@ -78,20 +86,27 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
// AdamUserInfoVo updateInfoVo = AdamUserInfoVo.getNew(); // AdamUserInfoVo updateInfoVo = AdamUserInfoVo.getNew();
// updateInfoVo.setUpdatedAt(now); // updateInfoVo.setUpdatedAt(now);
// updateInfoVo.setMobile(mobile); // updateInfoVo.setMobile(mobile);
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("edit mobile - before doc:{}", JsonUtils.toJson(doc));
AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class); AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class);
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);
beforeUserInfoVo.setUpdatedAt(now); beforeUserInfoVo.setUpdatedAt(now);
adamRdmService.setUserInfoVoByUid(uid, beforeUserInfoVo); adamRdmService.setUserInfoVoByUid(uid, beforeUserInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER, rabbitTemplate.convertSendAndReceive(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UCENTER,
SqlMapping.get("adam_user.edit.mobile", mobile, now, uid)); SqlMapping.get("adam_user.edit.mobile", mobile, now, uid));
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
} }
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