From 7f5a5753aa7b6162fa1bc487cff3e22901429b4c Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Tue, 9 Sep 2025 11:39:52 +0800 Subject: [PATCH 1/4] =?UTF-8?q?9.9=20=E9=80=80=E6=AC=BE=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/domain/vo/coin/RefundUser.java | 2 ++ src/main/resources/mapper/RefundMapper.xml | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/domain/vo/coin/RefundUser.java b/src/main/java/com/example/demo/domain/vo/coin/RefundUser.java index f1b52b5..a075a7b 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/RefundUser.java +++ b/src/main/java/com/example/demo/domain/vo/coin/RefundUser.java @@ -77,4 +77,6 @@ public class RefundUser { private List markets; // 地区列表 @ExcelIgnore private Integer flag; //是否为员工号 + @ExcelIgnore + private Integer type; } diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 674f3f9..7632b13 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -270,9 +270,11 @@ ugr.task_gold AS taskGold FROM user_gold_record ugr - ugr.type = 1 - AND ugr.is_refund = 0 + ugr.is_refund = 0 AND ugr.flag = 1 + + AND ugr.type = #{type} + AND ugr.jwcode = #{jwcode} From 21cbfb837d4bfe8d136fb8f5a3c23ed9482412f5 Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Tue, 9 Sep 2025 11:40:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?9.9=20=E9=80=80=E6=AC=BE=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mapper/RefundMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 7632b13..208aadd 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -272,7 +272,7 @@ ugr.is_refund = 0 AND ugr.flag = 1 - + AND ugr.type = #{type} From 4237f51df79831289a4cd95d2bee805e3b91adce Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 9 Sep 2025 11:56:04 +0800 Subject: [PATCH 3/4] =?UTF-8?q?9=E6=9C=889=E6=B6=88=E8=B4=B9=E9=80=80?= =?UTF-8?q?=E6=AC=BEplus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/serviceImpl/coin/RefundServiceImpl.java | 62 +++++++++++++++++----- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java index 0fdd766..bdcc67f 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java +++ b/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); From c181c6a92332aebcd8ba20d8ae49c0aa51b8091c Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 9 Sep 2025 14:18:49 +0800 Subject: [PATCH 4/4] =?UTF-8?q?9=E6=9C=889=E6=B6=88=E8=B4=B9=E9=80=80?= =?UTF-8?q?=E6=AC=BEplus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/coin/RefundController.java | 2 +- .../com/example/demo/mapper/coin/RefundMapper.java | 2 +- .../com/example/demo/service/coin/RefundService.java | 2 +- .../demo/serviceImpl/coin/RefundServiceImpl.java | 20 ++++++++++---------- src/main/resources/mapper/RefundMapper.xml | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/example/demo/controller/coin/RefundController.java b/src/main/java/com/example/demo/controller/coin/RefundController.java index 2b66254..cfda074 100644 --- a/src/main/java/com/example/demo/controller/coin/RefundController.java +++ b/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 list = refundService.selectGoods(refundUser.getJwcode()); + List list = refundService.selectGoods(refundUser); return Result.success(list); } diff --git a/src/main/java/com/example/demo/mapper/coin/RefundMapper.java b/src/main/java/com/example/demo/mapper/coin/RefundMapper.java index 0b99c4a..8312e87 100644 --- a/src/main/java/com/example/demo/mapper/coin/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/coin/RefundMapper.java @@ -33,7 +33,7 @@ public interface RefundMapper { List getRefundType(); //获取商品 - List selectGoods(Integer jwcode); + List selectGoods(RefundUser refundUser); Gold sumGold(RefundUser refundUser); } diff --git a/src/main/java/com/example/demo/service/coin/RefundService.java b/src/main/java/com/example/demo/service/coin/RefundService.java index 5c10024..999728e 100644 --- a/src/main/java/com/example/demo/service/coin/RefundService.java +++ b/src/main/java/com/example/demo/service/coin/RefundService.java @@ -36,5 +36,5 @@ public interface RefundService { List getRefundType(); //查找退款商品 - List selectGoods(Integer jwcode); + List selectGoods(RefundUser refundUser); } diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java index bdcc67f..1d13b53 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java @@ -203,8 +203,8 @@ public class RefundServiceImpl implements RefundService { //查找退款商品 @Override - public List selectGoods(Integer jwcode) { - List refundUsers = refundMapper.selectGoods(jwcode); + public List selectGoods(RefundUser refundUser) { + List refundUsers = refundMapper.selectGoods(refundUser); List list = new ArrayList<>(); for (RefundUser record : refundUsers) { if (record == null) { @@ -216,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; } diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 208aadd..a87d783 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -271,7 +271,7 @@ FROM user_gold_record ugr ugr.is_refund = 0 - AND ugr.flag = 1 + AND ugr.type = 0 AND ugr.type = #{type}