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

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

fix:sensitize.handler;

parent 714522a4
......@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.dto.AdamAddressesParam;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.service.IAdamAddressesService;
......@@ -14,6 +15,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -52,7 +54,13 @@ public class AdamAddressesController {
@ApiOperation(value = "收货地址列表")
@GetMapping("list")
public ResponseDto<List<AdamAddressesVo>> list() {
return ResponseDto.success(adamRdmService.getAddressesVoByUid(CurrentUtil.getCurrentUid()));
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(CurrentUtil.getCurrentUid());
if (!CollectionUtils.isEmpty(vos)) {
for (AdamAddressesVo vo : vos) {
vo.setPhone(SensitizeUtil.custom(vo.getPhone(), 3, 4));
}
}
return ResponseDto.success(vos);
}
@ApiOperationSupport(order = 3)
......@@ -104,14 +112,23 @@ public class AdamAddressesController {
@PostMapping("query/{id}")
public ResponseDto<AdamAddressesVo> query(@NotBlank @PathVariable(name = "id") String addrId) {
AdamAddressesVo vo = adamRdmService.getAddressesVoByUidAddressesId(CurrentUtil.getCurrentUid(), addrId);
return null == vo ? ResponseDto.failure(ErrorMapping.get("10106")) : ResponseDto.success(vo);
if (null != vo) {
vo.setPhone(SensitizeUtil.custom(vo.getPhone(), 3, 4));
return ResponseDto.success(vo);
}
return ResponseDto.failure(ErrorMapping.get("10106"));
}
@ApiOperationSupport(order = 7)
@ApiOperation(value = "获取默认收货地址")
@PostMapping("query/def")
public ResponseDto<AdamAddressesVo> queryDef() {
return ResponseDto.success(adamAddressesService.queryDefault(CurrentUtil.getCurrentUid()));
AdamAddressesVo vo = adamAddressesService.queryDefault(CurrentUtil.getCurrentUid());
if (null != vo) {
vo.setPhone(SensitizeUtil.custom(vo.getPhone(), 3, 4));
}
return ResponseDto.success(vo);
}
@GetMapping("query/depth")
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.dto.AdamEntersParam;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.service.IAdamEntersService;
......@@ -53,7 +54,15 @@ public class AdamEntersController {
@ApiOperation(value = "入场人列表")
@GetMapping("list")
public ResponseDto<List<AdamEntersVo>> list() {
return ResponseDto.success(adamRdmService.getEntersVoByUid(CurrentUtil.getCurrentUid()));
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(CurrentUtil.getCurrentUid());
if (!CollectionUtils.isEmpty(vos)) {
for (AdamEntersVo vo : vos) {
vo.setName(SensitizeUtil.chineseName(vo.getName()));
vo.setIdCard(SensitizeUtil.custom(vo.getIdCard(), 3, 2));
vo.setMobile(SensitizeUtil.custom(vo.getMobile(), 3, 4));
}
}
return ResponseDto.success(vos);
}
@ApiOperationSupport(order = 3)
......@@ -106,6 +115,13 @@ public class AdamEntersController {
@PostMapping("query")
public ResponseDto<List<AdamEntersVo>> query(@NotBlank @RequestParam String entersIds) {
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUidEntersIds(CurrentUtil.getCurrentUid(), entersIds.split(","));
if (!CollectionUtils.isEmpty(vos)) {
for (AdamEntersVo vo : vos) {
vo.setName(SensitizeUtil.chineseName(vo.getName()));
vo.setIdCard(SensitizeUtil.custom(vo.getIdCard(), 3, 2));
vo.setMobile(SensitizeUtil.custom(vo.getMobile(), 3, 4));
}
}
return CollectionUtils.isEmpty(vos) ? ResponseDto.failure(ErrorMapping.get("10105")) : ResponseDto.success(vos);
}
......@@ -113,7 +129,13 @@ public class AdamEntersController {
@ApiOperation(value = "获取默认入场人")
@PostMapping("query/def")
public ResponseDto<AdamEntersVo> queryDef() {
return ResponseDto.success(adamEntersService.queryDefault(CurrentUtil.getCurrentUid()));
AdamEntersVo vo = adamEntersService.queryDefault(CurrentUtil.getCurrentUid());
if (null != vo) {
vo.setName(SensitizeUtil.chineseName(vo.getName()));
vo.setIdCard(SensitizeUtil.custom(vo.getIdCard(), 3, 2));
vo.setMobile(SensitizeUtil.custom(vo.getMobile(), 3, 4));
}
return ResponseDto.success(vo);
}
@GetMapping("query/depth")
......
......@@ -3,10 +3,7 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.constant.LnsRegex;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.*;
......@@ -211,6 +208,9 @@ public class AdamUserController {
AdamRealInfoVo infoVo = adamUserService.identity(CurrentUtil.getCurrentUid(), name, idCard);
infoVo.setName(SensitizeUtil.chineseName(infoVo.getName()));
infoVo.setIdCard(SensitizeUtil.custom(infoVo.getIdCard(), 3, 2));
return ResponseDto.success(infoVo);
}
......
......@@ -12,10 +12,12 @@ import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
......@@ -24,10 +26,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.IntStream;
/**
......@@ -42,7 +46,7 @@ import java.util.stream.IntStream;
@Service
public class AdamEntersServiceImpl implements IAdamEntersService {
@Autowired
MongoConverter mongoConverter;
Environment env;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
......@@ -50,12 +54,38 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
@Autowired
IAdamRdmService adamRdmService;
private static final String PHP_API_REAL_NAME = "/IdCardCheckVerification";
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public String add(AdamEntersParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
if (1 == parameter.getType()) {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("realName", parameter.getName());
paramsMap.add("cardNo", parameter.getIdCard());
String respStr = null;
try {
respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", currentUid, parameter.getName(), parameter.getIdCard(), respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} catch (Exception e) {
log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", currentUid, parameter.getName(), parameter.getIdCard(), respStr, e);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
......@@ -83,7 +113,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void def(String uid, String entersId) {
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
LinkedList<Object[]> toMqObjs = new LinkedList<>();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
......
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.service.IAdamRdmService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Field;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -82,14 +81,17 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public AdamUserInfoVo getUserInfoVoByUid(String uid) {
String rk = AdamRedisConst.INFO_USER.concat(uid);
AdamUserInfoVo userInfoVo = (AdamUserInfoVo) redisUtil.get(rk);
if (null == userInfoVo) {
userInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
if (null == vo) {
vo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamUserInfoVo.class, AdamUserInfoVo.class.getSimpleName());
if (null != userInfoVo) redisUtil.set(rk, userInfoVo);
if (null != vo) redisUtil.set(rk, vo);
}
if (null != vo) {
vo.setMobile(SensitizeUtil.custom(vo.getMobile(), 3, 4));
}
return userInfoVo;
return vo;
}
@Override
......@@ -105,14 +107,18 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public AdamRealInfoVo getRealInfoVoByUid(String uid) {
String rk = AdamRedisConst.INFO_REAL_NAME.concat(uid);
AdamRealInfoVo realInfoVo = (AdamRealInfoVo) redisUtil.get(rk);
if (null == realInfoVo) {
realInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamRealInfoVo vo = (AdamRealInfoVo) redisUtil.get(rk);
if (null == vo) {
vo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamRealInfoVo.class, AdamRealInfoVo.class.getSimpleName());
if (null != realInfoVo) redisUtil.set(rk, realInfoVo);
if (null != vo) redisUtil.set(rk, vo);
}
return realInfoVo;
if (null != vo) {
vo.setName(SensitizeUtil.chineseName(vo.getName()));
vo.setIdCard(SensitizeUtil.custom(vo.getIdCard(), 3, 2));
}
return vo;
}
@Override
......@@ -160,16 +166,16 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public List<AdamEntersVo> getEntersVoByUid(String uid) {
String rk = AdamRedisConst.INFO_ENTERS.concat(uid);
List<AdamEntersVo> entersList = (List<AdamEntersVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(entersList)) {
entersList = mongoTemplate.find(
List<AdamEntersVo> vos = (List<AdamEntersVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(vos)) {
vos = mongoTemplate.find(
Query.query(Criteria.where("uid").is(uid).and("state").is(1)).with(Sort.by(Sort.Direction.DESC, "createdAt")),
AdamEntersVo.class, AdamEntersVo.class.getSimpleName()
);
if (!CollectionUtils.isEmpty(entersList)) redisUtil.set(rk, entersList);
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
}
return entersList;
return vos;
}
@Override
......@@ -196,17 +202,16 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public List<AdamAddressesVo> getAddressesVoByUid(String uid) {
String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid);
List<AdamAddressesVo> list = (List<AdamAddressesVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(list)) {
list = mongoTemplate.find(
List<AdamAddressesVo> vos = (List<AdamAddressesVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(vos)) {
vos = mongoTemplate.find(
Query.query(Criteria.where("uid").is(uid).and("state").is(1)).with(Sort.by(Sort.Direction.DESC, "createdAt")),
AdamAddressesVo.class, AdamAddressesVo.class.getSimpleName()
);
if (!CollectionUtils.isEmpty(list)) redisUtil.set(rk, list);
if (!CollectionUtils.isEmpty(vos)) redisUtil.set(rk, vos);
}
return list;
return vos;
}
@Override
......
......@@ -2,10 +2,7 @@ package com.liquidnet.service.adam.service.impl;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamEnters;
......@@ -87,6 +84,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService.setUidByMobile(mobile, userInfoVo.getUid());
userInfoVo.setMobile(SensitizeUtil.custom(mobile, 3, 4));
return userInfoVo;
}
......@@ -111,6 +110,8 @@ public class AdamUserServiceImpl implements IAdamUserService {
mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
userInfoVo.setMobile(SensitizeUtil.custom(param.getMobile(), 3, 4));
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), now});
} else {
......
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