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

Commit 645d0266 authored by 胡佳晨's avatar 胡佳晨

Merge remote-tracking branch 'origin/dev' into dev

parents 3b7766ac 4cc7cd12
package com.liquidnet.common.exception; package com.liquidnet.common.exception;
import com.liquidnet.common.exception.constant.ServiceErrorCode;
/** /**
* @author AnJiabin <jiabin.an@lightnet.io> * @author AnJiabin <jiabin.an@lightnet.io>
* @version V1.0 * @version V1.0
...@@ -12,44 +10,46 @@ import com.liquidnet.common.exception.constant.ServiceErrorCode; ...@@ -12,44 +10,46 @@ import com.liquidnet.common.exception.constant.ServiceErrorCode;
* @date 2020/9/21 10:37 * @date 2020/9/21 10:37
*/ */
public class LiquidnetServiceException extends RuntimeException { public class LiquidnetServiceException extends RuntimeException {
private ServiceErrorCode errorCode; private static final long serialVersionUID = -4836329430647395511L;
private String code;
private String message; private String message;
private String url; private Object data;
public LiquidnetServiceException() {
}
public LiquidnetServiceException(ServiceErrorCode errorCode) {
this.errorCode = errorCode;
}
public LiquidnetServiceException(String message) { public LiquidnetServiceException(String code, String message) {
super(message); super(message);
this.code = code;
this.message = message; this.message = message;
} }
public LiquidnetServiceException(ServiceErrorCode errorCode, String message) { public LiquidnetServiceException(String code, String message, Object data) {
super(message); super(message);
this.errorCode = errorCode; this.code = code;
this.message = message; this.message = message;
this.data = data;
} }
public ServiceErrorCode errorCode() { public String getCode() {
return errorCode; return code;
} }
public void setCode(String code) {
this.code = code;
}
@Override
public String getMessage() { public String getMessage() {
return message; return message;
} }
public LiquidnetServiceException(ServiceErrorCode errorCode, String message, String url) { public void setMessage(String message) {
super(message);
this.errorCode = errorCode;
this.message = message; this.message = message;
this.url = url;
} }
public String getUrl() { public Object getData() {
return url; return data;
}
public void setData(Object data) {
this.data = data;
} }
} }
...@@ -33,7 +33,7 @@ public class PageControllerAdviceHandler { ...@@ -33,7 +33,7 @@ public class PageControllerAdviceHandler {
model.addAttribute("msg", exception.getMessage()); model.addAttribute("msg", exception.getMessage());
if (exception instanceof LiquidnetServiceException) { if (exception instanceof LiquidnetServiceException) {
LiquidnetServiceException ex = (LiquidnetServiceException) exception; LiquidnetServiceException ex = (LiquidnetServiceException) exception;
logger.error("PageController errorCode:{} errorMsg:{}", ex.errorCode(), ex.getMessage()); logger.error("PageErrorController errorCode:{},errorMsg:{}", ex.getCode(), ex.getMessage());
} }
return "500"; return "500";
} }
......
...@@ -42,35 +42,34 @@ public class RestControllerAdviceHandler { ...@@ -42,35 +42,34 @@ public class RestControllerAdviceHandler {
logger.error("Ex.Handler.RestController:{},ex:{},request:{},param:{}", logger.error("Ex.Handler.RestController:{},ex:{},request:{},param:{}",
rex.getClass().getSimpleName(), rex.getLocalizedMessage(), req.getRequestURI(), JSON.toJSONString(req.getParameterMap())); rex.getClass().getSimpleName(), rex.getLocalizedMessage(), req.getRequestURI(), JSON.toJSONString(req.getParameterMap()));
if (rex instanceof MissingServletRequestParameterException) { if (rex instanceof MissingServletRequestParameterException) {
MissingServletRequestParameterException ygex = ((MissingServletRequestParameterException) rex); MissingServletRequestParameterException ygex = (MissingServletRequestParameterException) rex;
String message = ygex.getMessage(); String message = ygex.getMessage();
return new ResponseEntity<Error>(new Error(ErrorCode.HTTP_PARAM_ERROR.getCode(), message), HttpStatus.OK); return new ResponseEntity<Error>(new Error(ErrorCode.HTTP_PARAM_ERROR.getCode(), message), HttpStatus.OK);
} }
if (rex instanceof ConstraintViolationException) { if (rex instanceof ConstraintViolationException) {
ConstraintViolationException ygex = ((ConstraintViolationException) rex); ConstraintViolationException ygex = (ConstraintViolationException) rex;
ConstraintViolation violation = (ConstraintViolation) ygex.getConstraintViolations().toArray()[0]; ConstraintViolation violation = (ConstraintViolation) ygex.getConstraintViolations().toArray()[0];
String violationNode = violation.getPropertyPath().toString(); String violationNode = violation.getPropertyPath().toString();
String message = violationNode.substring(violationNode.indexOf(".") + 1) + violation.getMessage(); String message = violationNode.substring(violationNode.indexOf(".") + 1) + violation.getMessage();
return new ResponseEntity<Error>(new Error(ErrorCode.HTTP_PARAM_ERROR.getCode(), message), HttpStatus.OK); return new ResponseEntity<Error>(new Error(ErrorCode.HTTP_PARAM_ERROR.getCode(), message), HttpStatus.OK);
} }
if (rex instanceof MethodArgumentNotValidException) { if (rex instanceof MethodArgumentNotValidException) {
MethodArgumentNotValidException ygex = ((MethodArgumentNotValidException) rex); MethodArgumentNotValidException ygex = (MethodArgumentNotValidException) rex;
FieldError fieldError = ygex.getBindingResult().getFieldErrors().get(0); FieldError fieldError = ygex.getBindingResult().getFieldErrors().get(0);
String message = fieldError.getField() + fieldError.getDefaultMessage(); String message = fieldError.getField() + fieldError.getDefaultMessage();
return new ResponseEntity<Error>(new Error(ErrorCode.HTTP_PARAM_ERROR.getCode(), message), HttpStatus.OK); return new ResponseEntity<Error>(new Error(ErrorCode.HTTP_PARAM_ERROR.getCode(), message), HttpStatus.OK);
} }
if (rex instanceof LiquidnetFeignException) { if (rex instanceof LiquidnetFeignException) {
LiquidnetFeignException ygex = ((LiquidnetFeignException) rex); LiquidnetFeignException ygex = (LiquidnetFeignException) rex;
String errorCode = ygex.errorCode().getCode(); String errorCode = ygex.errorCode().getCode();
String message = ygex.getMessage(); String message = ygex.getMessage();
message = message == null ? ygex.errorCode().getMessage() : message; message = message == null ? ygex.errorCode().getMessage() : message;
return new ResponseEntity<Error>(new Error(errorCode, message), HttpStatus.OK); return new ResponseEntity<Error>(new Error(errorCode, message), HttpStatus.OK);
} }
if (rex instanceof LiquidnetServiceException) { if (rex instanceof LiquidnetServiceException) {
LiquidnetServiceException ygex = ((LiquidnetServiceException) rex); LiquidnetServiceException ygex = (LiquidnetServiceException) rex;
String errorCode = ygex.errorCode().getCode(); String errorCode = ygex.getCode();
String message = ygex.getMessage(); String message = ygex.getMessage();
message = message == null ? ygex.errorCode().getMessage() : message;
return new ResponseEntity<Error>(new Error(errorCode, message), HttpStatus.OK); return new ResponseEntity<Error>(new Error(errorCode, message), HttpStatus.OK);
} else { } else {
logger.error("Unprocessed exception", rex); logger.error("Unprocessed exception", rex);
......
...@@ -270,7 +270,6 @@ public class AdamLoginController { ...@@ -270,7 +270,6 @@ public class AdamLoginController {
} }
private String ssoProcess(AdamUserInfoVo userInfoVo) { private String ssoProcess(AdamUserInfoVo userInfoVo) {
long startTime = System.currentTimeMillis();
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = new HashMap<>();
claimsMap.put("sub", userInfoVo.getUid()); claimsMap.put("sub", userInfoVo.getUid());
// TODO: 2021/5/25 修改手机号更新TOKEN // TODO: 2021/5/25 修改手机号更新TOKEN
...@@ -285,7 +284,6 @@ public class AdamLoginController { ...@@ -285,7 +284,6 @@ public class AdamLoginController {
DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)), DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)),
jwtValidator.getExpireTtl() * 60 jwtValidator.getExpireTtl() * 60
); );
log.info(" redis ssoProcess calltime: {}",System.currentTimeMillis() - startTime);
return token; return token;
} }
} }
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.common.mq.constant.MQConst; import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
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.IAdamAddressesService; import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.liquidnet.service.adam.service.IAdamRdmService; import com.liquidnet.service.adam.service.IAdamRdmService;
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;
...@@ -25,6 +27,7 @@ import org.springframework.util.CollectionUtils; ...@@ -25,6 +27,7 @@ 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; import java.util.List;
import java.util.stream.IntStream;
/** /**
* <p> * <p>
...@@ -70,8 +73,8 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -70,8 +73,8 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
) )
); );
vos.add(vo); adamRdmService.delAddressesVoByUid(currentUid);
adamRdmService.setAddressesVoByUid(currentUid, vos);
return vo.getAddressesId(); return vo.getAddressesId();
} }
...@@ -96,8 +99,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -96,8 +99,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
toMqObjs.add(new Object[]{unDeaultVo.getIsDefault(), now, unDefaultVoAfter.getAddressesId()}); toMqObjs.add(new Object[]{unDeaultVo.getIsDefault(), now, unDefaultVoAfter.getAddressesId()});
vos.removeIf(r -> r.getAddressesId().equals(unDefaultVoAfter.getAddressesId())); // vos.removeIf(r -> r.getAddressesId().equals(unDefaultVoAfter.getAddressesId()));
vos.add(unDefaultVoAfter); // vos.add(unDefaultVoAfter);
vos = this.collectionProcess(vos, unDefaultVoAfter.getAddressesId(), unDefaultVoAfter);
} }
} }
{// 设置新默认 {// 设置新默认
...@@ -114,8 +118,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -114,8 +118,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
toMqObjs.add(new Object[]{defaultVo.getIsDefault(), now, addressesId}); toMqObjs.add(new Object[]{defaultVo.getIsDefault(), now, addressesId});
vos.removeIf(r -> r.getAddressesId().equals(defaultVoAfter.getAddressesId())); // vos.removeIf(r -> r.getAddressesId().equals(defaultVoAfter.getAddressesId()));
vos.add(defaultVoAfter); // vos.add(defaultVoAfter);
vos = this.collectionProcess(vos, defaultVoAfter.getAddressesId(), defaultVoAfter);
} }
} }
if (!CollectionUtils.isEmpty(toMqObjs)) { if (!CollectionUtils.isEmpty(toMqObjs)) {
...@@ -150,9 +155,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -150,9 +155,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid); List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
vos.removeIf(r -> r.getAddressesId().equals(parameter.getAddressesId())); // vos.removeIf(r -> r.getAddressesId().equals(parameter.getAddressesId()));
vos.add(updateVo); // vos.add(updateVo);
adamRdmService.setAddressesVoByUid(currentUid, vos); adamRdmService.setAddressesVoByUid(updateVo.getUid(), this.collectionProcess(vos, parameter.getAddressesId(), updateVo));
} }
} }
...@@ -200,4 +205,28 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -200,4 +205,28 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
} }
return null; return null;
} }
/* --------------------------------------------------------------- */
private List<AdamAddressesVo> collectionProcess(List<AdamAddressesVo> vos, String replaceId, AdamAddressesVo updateVo) {
int idx = IntStream.range(0, vos.size())
.filter(i -> vos.get(i).getAddressesId().equals(replaceId))
.findFirst().orElse(-1);
if (idx == -1) {
adamRdmService.delAddressesVoByUid(updateVo.getUid());
List<AdamAddressesVo> addressesVos = adamRdmService.getAddressesVoByUid(updateVo.getUid());
idx = IntStream.range(0, vos.size())
.filter(i -> addressesVos.get(i).getAddressesId().equals(replaceId))
.findFirst().orElse(-1);
if (idx == -1) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10018");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
vos.set(idx, updateVo);
return vos;
}
} }
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.common.mq.constant.MQConst; import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
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 com.liquidnet.service.adam.service.IAdamEntersService; import com.liquidnet.service.adam.service.IAdamEntersService;
import com.liquidnet.service.adam.service.IAdamRdmService; import com.liquidnet.service.adam.service.IAdamRdmService;
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;
...@@ -26,6 +28,7 @@ import org.springframework.util.CollectionUtils; ...@@ -26,6 +28,7 @@ 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; import java.util.List;
import java.util.stream.IntStream;
/** /**
* <p> * <p>
...@@ -72,8 +75,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -72,8 +75,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
) )
); );
vos.add(vo); adamRdmService.delEntersVoByUid(currentUid);
adamRdmService.setEntersVoByUid(currentUid, vos);
return vo.getEntersId(); return vo.getEntersId();
} }
...@@ -99,8 +102,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -99,8 +102,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
toMqObjs.add(new Object[]{unDeaultVo.getIsDefault(), now, unDeaultVoAfter.getEntersId()}); toMqObjs.add(new Object[]{unDeaultVo.getIsDefault(), now, unDeaultVoAfter.getEntersId()});
vos.removeIf(r -> r.getEntersId().equals(unDeaultVoAfter.getEntersId())); // vos.removeIf(r -> r.getEntersId().equals(unDeaultVoAfter.getEntersId()));
vos.add(unDeaultVoAfter); // vos.add(unDeaultVoAfter);
vos = this.collectionProcess(vos, unDeaultVoAfter.getEntersId(), unDeaultVoAfter);
} }
} }
{// 设置新默认 {// 设置新默认
...@@ -117,9 +121,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -117,9 +121,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
toMqObjs.add(new Object[]{defaultVo.getIsDefault(), now, entersId}); toMqObjs.add(new Object[]{defaultVo.getIsDefault(), now, entersId});
vos.removeIf(r -> r.getEntersId().equals(defaultVoAfter.getEntersId())); // vos.removeIf(r -> r.getEntersId().equals(defaultVoAfter.getEntersId()));
// vos.add(defaultVoAfter);
vos.add(defaultVoAfter); vos = this.collectionProcess(vos, defaultVoAfter.getEntersId(), defaultVoAfter);
} }
} }
if (!CollectionUtils.isEmpty(toMqObjs)) { if (!CollectionUtils.isEmpty(toMqObjs)) {
...@@ -154,9 +158,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -154,9 +158,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid); List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
vos.removeIf(r -> r.getEntersId().equals(parameter.getEntersId())); // vos.removeIf(r -> r.getEntersId().equals(parameter.getEntersId()));
vos.add(updateVo); // vos.add(updateVo);
adamRdmService.setEntersVoByUid(currentUid, vos); adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo));
} }
} }
...@@ -206,4 +210,28 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -206,4 +210,28 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
} }
return null; return null;
} }
/* --------------------------------------------------------------- */
private List<AdamEntersVo> collectionProcess(List<AdamEntersVo> vos, String replaceId, AdamEntersVo updateVo) {
int idx = IntStream.range(0, vos.size())
.filter(i -> vos.get(i).getEntersId().equals(replaceId))
.findFirst().orElse(-1);
if (idx == -1) {
adamRdmService.delEntersVoByUid(updateVo.getUid());
List<AdamEntersVo> entersVos = adamRdmService.getEntersVoByUid(updateVo.getUid());
idx = IntStream.range(0, vos.size())
.filter(i -> entersVos.get(i).getEntersId().equals(replaceId))
.findFirst().orElse(-1);
if (idx == -1) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10017");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
vos.set(idx, updateVo);
return vos;
}
} }
...@@ -145,7 +145,8 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -145,7 +145,8 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
List<AdamEntersVo> entersList = (List<AdamEntersVo>) redisUtil.get(rk); List<AdamEntersVo> entersList = (List<AdamEntersVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(entersList)) { if (CollectionUtils.isEmpty(entersList)) {
entersList = mongoTemplate.find( entersList = mongoTemplate.find(
Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEntersVo.class, AdamEntersVo.class.getSimpleName() 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(entersList)) redisUtil.set(rk, entersList);
...@@ -173,11 +174,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService { ...@@ -173,11 +174,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid); String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid);
List<AdamAddressesVo> list = (List<AdamAddressesVo>) redisUtil.get(rk); List<AdamAddressesVo> list = (List<AdamAddressesVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
list = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), list = mongoTemplate.find(
AdamAddressesVo.class, AdamAddressesVo.class.getSimpleName()); 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(list)) redisUtil.set(rk, list);
} }
return list; return list;
} }
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
10014= 10014=
10015=入场人ID不能为空 10015=入场人ID不能为空
10016=收货地址ID不能为空 10016=收货地址ID不能为空
10017=入场人不存在,请核实
10018=收货地址不存在,请核实
10101=姓名或身份证件号无效 10101=姓名或身份证件号无效
......
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