|
@ -115,22 +115,58 @@ public class RefundServiceImpl implements RefundService { |
|
|
userGoldRecord.setJwcode(refundUser.getJwcode()); |
|
|
userGoldRecord.setJwcode(refundUser.getJwcode()); |
|
|
userGoldRecord.setRefundType(refundUser.getRefundType()); |
|
|
userGoldRecord.setRefundType(refundUser.getRefundType()); |
|
|
userGoldRecord.setRefundModel(refundUser.getRefundModel()); |
|
|
userGoldRecord.setRefundModel(refundUser.getRefundModel()); |
|
|
userGoldRecord.setPermanentGold(refundUser.getPermanentGold().intValue()); |
|
|
|
|
|
// 获取当前月份(1-12) |
|
|
// 获取当前月份(1-12) |
|
|
int currentMonth = LocalDate.now().getMonthValue(); |
|
|
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.setPayPlatform("金币系统"); |
|
|
userGoldRecord.setRemark(refundUser.getRemark()); |
|
|
userGoldRecord.setRemark(refundUser.getRemark()); |
|
|
userGoldRecord.setAdminId(refundUser.getAdminId()); |
|
|
userGoldRecord.setAdminId(refundUser.getAdminId()); |
|
@ -147,7 +183,7 @@ public class RefundServiceImpl implements RefundService { |
|
|
return Result.error("该订单已被退款"); |
|
|
return Result.error("该订单已被退款"); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
return Result.error("消费订单重复"); |
|
|
|
|
|
|
|
|
return Result.error("订单重复"); |
|
|
} |
|
|
} |
|
|
refundMapper.add(userGoldRecord); |
|
|
refundMapper.add(userGoldRecord); |
|
|
consumeMapper.updateIsRefund(orderCode); |
|
|
consumeMapper.updateIsRefund(orderCode); |
|
@ -167,8 +203,8 @@ public class RefundServiceImpl implements RefundService { |
|
|
|
|
|
|
|
|
//查找退款商品 |
|
|
//查找退款商品 |
|
|
@Override |
|
|
@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<>(); |
|
|
List<RefundUser> list = new ArrayList<>(); |
|
|
for (RefundUser record : refundUsers) { |
|
|
for (RefundUser record : refundUsers) { |
|
|
if (record == null) { |
|
|
if (record == null) { |
|
@ -180,14 +216,14 @@ public class RefundServiceImpl implements RefundService { |
|
|
|
|
|
|
|
|
// 拼接格式:订单号_商品名(例如:XF20250629_商品BC) |
|
|
// 拼接格式:订单号_商品名(例如:XF20250629_商品BC) |
|
|
String combined = orderCode + "_" + goodsName; |
|
|
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; |
|
|
return list; |
|
|
} |
|
|
} |
|
|