1.结果集返回中 date 必须是json 格式,返回对象,msg 返回信息。
场景:对外接口,data 返回的是msg,对方解析失败。
示例 :
public static BaseResult successResult(Object data,String msg) {
BaseResult result = new BaseResult();
result.setTimestamp(timestamp());
result.setResultCode(BizExceptionCodeEumn.SUCCESS);
result.setResponse(data);
result.setMsg(msg);
return result;
}
//错误返回
return BaseResult.successResult("已接收到发票申请请求");
2024.02.21 记录
2.并发生成单号、流水号等 不能根据时间戳来生成。可以通过UUID 或其他不会重复的字段
场景:使用时间戳来作为订单号。并发请求的时候导致订单号重复,引起系统异常
正例:
public String generateOrderNo(String userId) {
int count = -1;
String hashCode = String.valueOf(-userId.hashCode());
String num = hashCode.substring(hashCode.length() - 6);
String caseNo = "";
do {
caseNo = "PC" + DateUtils.getDate("yyMMdd") + num + StringUtils.createRandom(true, 8);
count = super.count(Wrappers.<DidiCancelCaseInfo>lambdaQuery().eq(DidiCancelCaseInfo::getInscompanyCaseNo, caseNo));
} while (count != 0);
return caseNo;
}