Browse Source

Merge branch 'milestone-20250727-金币重构三期' of http://39.101.133.168:8807/huangqizhen/gold-java into lijianlin/feature-20250728171217-三期金豆消费相关

lijianlin/feature-20250728171217-三期金豆消费相关
lijianlin 1 month ago
parent
commit
1e6f1128be
  1. 2
      src/main/java/com/example/demo/controller/coin/RefundController.java
  2. 2
      src/main/java/com/example/demo/domain/vo/coin/RefundUser.java
  3. 2
      src/main/java/com/example/demo/mapper/coin/RefundMapper.java
  4. 2
      src/main/java/com/example/demo/service/coin/RefundService.java
  5. 82
      src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java
  6. 8
      src/main/resources/mapper/RefundMapper.xml

2
src/main/java/com/example/demo/controller/coin/RefundController.java

@ -124,7 +124,7 @@ public class RefundController {
// @Log("筛选商品")
@PostMapping("/selectGoods")
public Result getSelectGoods(@RequestBody RefundUser refundUser) {
List<RefundUser> list = refundService.selectGoods(refundUser.getJwcode());
List<RefundUser> list = refundService.selectGoods(refundUser);
return Result.success(list);
}

2
src/main/java/com/example/demo/domain/vo/coin/RefundUser.java

@ -77,4 +77,6 @@ public class RefundUser {
private List<String> markets; // 地区列表
@ExcelIgnore
private Integer flag; //是否为员工号
@ExcelIgnore
private Integer type;
}

2
src/main/java/com/example/demo/mapper/coin/RefundMapper.java

@ -33,7 +33,7 @@ public interface RefundMapper {
List<String> getRefundType();
//获取商品
List<RefundUser> selectGoods(Integer jwcode);
List<RefundUser> selectGoods(RefundUser refundUser);
Gold sumGold(RefundUser refundUser);
}

2
src/main/java/com/example/demo/service/coin/RefundService.java

@ -36,5 +36,5 @@ public interface RefundService {
List<String> getRefundType();
//查找退款商品
List<RefundUser> selectGoods(Integer jwcode);
List<RefundUser> selectGoods(RefundUser refundUser);
}

82
src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

@ -115,22 +115,58 @@ public class RefundServiceImpl implements RefundService {
userGoldRecord.setJwcode(refundUser.getJwcode());
userGoldRecord.setRefundType(refundUser.getRefundType());
userGoldRecord.setRefundModel(refundUser.getRefundModel());
userGoldRecord.setPermanentGold(refundUser.getPermanentGold().intValue());
// 获取当前月份1-12
int currentMonth = LocalDate.now().getMonthValue();
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
userGoldRecord.setFreeJune(0);
userGoldRecord.setFreeDecember(refundUser.getFreeGold().intValue());
} else {
// 7-12月设置12月额度6月保持默认值
userGoldRecord.setFreeJune(refundUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
if(Objects.equals(refundUser.getRefundType(), "商品退款")){
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
userGoldRecord.setFreeJune(0);
userGoldRecord.setFreeDecember(refundUser.getFreeGold().intValue());
} else {
// 7-12月设置12月额度6月保持默认值
userGoldRecord.setFreeJune(refundUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
}
//信息输入
userGoldRecord.setPermanentGold(refundUser.getPermanentGold().intValue());
userGoldRecord.setTaskGold(refundUser.getTaskGold().intValue());
userGoldRecord.setSumGold(refundUser.getSumGold().intValue());
}else{
GoldUser gold = userMapper.selectGold(refundUser.getJwcode().toString());
if (refundUser.getFreeGold().compareTo(gold.getNowFreeDecember().add(gold.getNowFreeJune())) > 0
|| refundUser.getPermanentGold().compareTo(gold.getNowPermanentGold()) > 0
|| refundUser.getTaskGold().compareTo(gold.getNowTaskGold()) > 0) {
return Result.error("金币数量不足");
}
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
if (refundUser.getFreeGold().compareTo(gold.getNowFreeJune()) > 0) {
userGoldRecord.setFreeJune(-gold.getNowFreeJune().intValue());
userGoldRecord.setFreeDecember(-(refundUser.getFreeGold().subtract(gold.getNowFreeJune())).intValue());
} else {
userGoldRecord.setFreeJune(-refundUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
}
} else {
// 7-12月设置12月额度6月保持默认值
if (refundUser.getFreeGold().compareTo(gold.getNowFreeDecember()) > 0) {
userGoldRecord.setFreeDecember(-gold.getNowFreeDecember().intValue());
userGoldRecord.setFreeJune(-(refundUser.getFreeGold().subtract(gold.getNowFreeDecember())).intValue());
} else {
userGoldRecord.setFreeDecember(-refundUser.getFreeGold().intValue());
userGoldRecord.setFreeJune(0);
}
}
//信息输入
userGoldRecord.setPermanentGold(-refundUser.getPermanentGold().intValue());
userGoldRecord.setTaskGold(-refundUser.getTaskGold().intValue());
userGoldRecord.setSumGold(-refundUser.getSumGold().intValue());
}
//信息输入
userGoldRecord.setTaskGold(refundUser.getTaskGold().intValue());
userGoldRecord.setSumGold(refundUser.getSumGold().intValue());
userGoldRecord.setPayPlatform("金币系统");
userGoldRecord.setRemark(refundUser.getRemark());
userGoldRecord.setAdminId(refundUser.getAdminId());
@ -147,7 +183,7 @@ public class RefundServiceImpl implements RefundService {
return Result.error("该订单已被退款");
}
} else {
return Result.error("消费订单重复");
return Result.error("订单重复");
}
refundMapper.add(userGoldRecord);
consumeMapper.updateIsRefund(orderCode);
@ -167,8 +203,8 @@ public class RefundServiceImpl implements RefundService {
//查找退款商品
@Override
public List<RefundUser> selectGoods(Integer jwcode) {
List<RefundUser> refundUsers = refundMapper.selectGoods(jwcode);
public List<RefundUser> selectGoods(RefundUser refundUser) {
List<RefundUser> refundUsers = refundMapper.selectGoods(refundUser);
List<RefundUser> list = new ArrayList<>();
for (RefundUser record : refundUsers) {
if (record == null) {
@ -180,14 +216,14 @@ public class RefundServiceImpl implements RefundService {
// 拼接格式订单号_商品名例如XF20250629_商品BC
String combined = orderCode + "_" + goodsName;
RefundUser refundUser = new RefundUser();
refundUser.setOrderCode(orderCode);
refundUser.setGoodsName(goodsName);
refundUser.setSumGold(record.getPermanentGold().add(record.getFreeGold()).add(record.getTaskGold()));
refundUser.setPermanentGold(record.getPermanentGold());
refundUser.setFreeGold(record.getFreeGold());
refundUser.setTaskGold(record.getTaskGold());
list.add(refundUser);
RefundUser newRefundUser = new RefundUser();
newRefundUser.setOrderCode(orderCode);
newRefundUser.setGoodsName(goodsName);
newRefundUser.setSumGold(record.getPermanentGold().add(record.getFreeGold()).add(record.getTaskGold()));
newRefundUser.setPermanentGold(record.getPermanentGold());
newRefundUser.setFreeGold(record.getFreeGold());
newRefundUser.setTaskGold(record.getTaskGold());
list.add(newRefundUser);
}
return list;
}

8
src/main/resources/mapper/RefundMapper.xml

@ -270,9 +270,11 @@
ugr.task_gold AS taskGold
FROM user_gold_record ugr
<where>
ugr.type = 1
AND ugr.is_refund = 0
AND ugr.flag = 1
ugr.is_refund = 0
AND ugr.type = 0
<if test="type !=null and type != '' ">
AND ugr.type = #{type}
</if>
<if test="jwcode != null and jwcode != ''">
AND ugr.jwcode = #{jwcode}
</if>

Loading…
Cancel
Save