Browse Source

01-10 修改link红包接口业务判断;判断是否为老订单

milestone-20251215-红包修改
lijianlin 21 hours ago
parent
commit
728c7c9d02
  1. 34
      src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java
  2. 7
      src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

34
src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java

@ -253,28 +253,38 @@ public class RedServiceImpl implements RedService {
}
// 解析返回 JSON
JsonNode root = objectMapper.readTree(resp.body());
JsonNode dataNode = root.get("data");
int code = root.path("code").asInt();
if (code==0){
//旧订单
return "old";
}
boolean flag = root.path("data").path("flag").asBoolean();
int num = root.path("data").path("num").asInt(); // 获取 num
if (code == 400) {
// 400 状态码表示参数错误
log.warn("该订单无法处理,status:{},body:{}",
resp.statusCode(), resp.body());
throw new RuntimeException("该订单无法自动处理,请联系工作人员");
throw new RuntimeException("该订单无法自动处理,请联系管理员");
}
boolean flag = root.path("data").path("flag").asBoolean();
int num = root.path("data").path("num").asInt(); // 获取 num
// 业务判断
if (code == 200 && flag) {
return "success";
} else { // flag false
throw new RedCheckException(
"红包校验失败,orderId=" + linkId, num);
if (code == 200 ) {
if (dataNode.asInt() == 1) {
throw new RuntimeException("该订单不符合退款条件,请手动处理!");
}
if (dataNode.asInt() == 0){
return "old";
}
if (flag) {
return "success";
} else {
throw new RedCheckException(
"红包校验失败,orderId=" + linkId, num);
}
}else {
throw new RuntimeException("系统异常,请联系管理员");
}
} catch (IOException | InterruptedException e) {
log.error("调用红包接口失败,orderId:{}", linkId, e);
throw new RuntimeException("调用红包接口异常", e);

7
src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

@ -159,7 +159,6 @@ public class AuditServiceImpl implements AuditService {
"红包退票失败,orderId=%s,还需扣除金币数=%d",
linkId, num
);
log.error(logMsg);
updateOrder.setAuditStatus(4);
updateOrder.setRedDiff(BigDecimal.valueOf(num* 100L));
@ -258,11 +257,13 @@ public class AuditServiceImpl implements AuditService {
consumeUser.setPrice(order.getPrice());
// 执行金币抵扣红包
redService.updateRed(consumeUser);
//link扣除已有红包
redService.consumeRed(linkId);
// 执行审核更新
redMapper.update(order.getJwcode(),type,order.getPrice());
}
if (!redService.checkRed(price, linkId).equals("old")){
//link扣除已有红包
redService.consumeRed(linkId);}
}
}

Loading…
Cancel
Save