From 77e0a6e31f706bfa65b1e9cd812f5f6b3d3f8396 Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Mon, 30 Jun 2025 13:51:43 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E5=8F=8A=E9=99=84=E5=B1=9E=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/RechargeController.java | 2 +- .../example/demo/controller/RefundController.java | 30 +++++++-- .../com/example/demo/domain/vo/RefundUser.java | 1 + .../java/com/example/demo/mapper/RefundMapper.java | 5 ++ .../com/example/demo/service/RefundService.java | 7 ++ .../demo/serviceImpl/RefundServiceImpl.java | 76 +++++++++++++++++++++- src/main/resources/mapper/RefundMapper.xml | 40 +++++++++--- 7 files changed, 147 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/example/demo/controller/RechargeController.java b/src/main/java/com/example/demo/controller/RechargeController.java index 7ecf564..005e08a 100644 --- a/src/main/java/com/example/demo/controller/RechargeController.java +++ b/src/main/java/com/example/demo/controller/RechargeController.java @@ -78,7 +78,7 @@ public class RechargeController { } } - //消耗金币增加 + //充值金币增加 @PostMapping("/add") public Result add(@RequestBody RechargeUser rechargeUser) { try { diff --git a/src/main/java/com/example/demo/controller/RefundController.java b/src/main/java/com/example/demo/controller/RefundController.java index 30c180a..d75573c 100644 --- a/src/main/java/com/example/demo/controller/RefundController.java +++ b/src/main/java/com/example/demo/controller/RefundController.java @@ -1,9 +1,6 @@ package com.example.demo.controller; -import com.example.demo.domain.vo.Gold; -import com.example.demo.domain.vo.Page; -import com.example.demo.domain.vo.RefundUser; -import com.example.demo.domain.vo.Result; +import com.example.demo.domain.vo.*; import com.example.demo.service.ConsumeService; import com.example.demo.service.RefundService; import lombok.RequiredArgsConstructor; @@ -12,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @program: gold-java * @ClassName RefundMapper.xml @@ -76,4 +75,27 @@ public class RefundController { } } + @PostMapping("/refundType") + public Result getRefundType() + { + List list = refundService.getRefundType(); + return Result.success(list); + } + + @PostMapping("/selectGoods") + public Result getSelectGoods(@RequestBody RefundUser refundUser) + { + List list = refundService.selectGoods(refundUser.getJwcode()); + return Result.success(list); + } + + //消耗金币增加 + @PostMapping("/add") + public Result add(@RequestBody RefundUser refundUser) { + try { + return refundService.add(refundUser); + } catch (Exception e) { + return Result.error("接口调用失败"); + } + } } diff --git a/src/main/java/com/example/demo/domain/vo/RefundUser.java b/src/main/java/com/example/demo/domain/vo/RefundUser.java index 6ca6b78..e0e42f6 100644 --- a/src/main/java/com/example/demo/domain/vo/RefundUser.java +++ b/src/main/java/com/example/demo/domain/vo/RefundUser.java @@ -23,6 +23,7 @@ public class RefundUser { private static final long serialVersionUID = 1L; + private String orderCode; // 订单号 private String name; // 客户姓名 private Integer jwcode; // 精网号 private String market; // 所属地区 diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index fd6c184..5f2970a 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -24,4 +24,9 @@ public interface RefundMapper { List selectBy(RefundUser refundUser); void add(UserGoldRecord userGoldRecord); + + List getRefundType(); + + List selectGoods(Integer jwcode); + } diff --git a/src/main/java/com/example/demo/service/RefundService.java b/src/main/java/com/example/demo/service/RefundService.java index 40e0b25..55b856c 100644 --- a/src/main/java/com/example/demo/service/RefundService.java +++ b/src/main/java/com/example/demo/service/RefundService.java @@ -7,6 +7,8 @@ import com.example.demo.domain.vo.RefundUser; import com.example.demo.domain.vo.Result; import com.github.pagehelper.PageInfo; +import java.util.List; + /** * @program: gold-java * @ClassName RefundService @@ -25,4 +27,9 @@ public interface RefundService { PageInfo selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser); Result add(RefundUser refundUser); + + //获取退款类型 + List getRefundType(); + + List selectGoods(Integer jwcode); } diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 200f391..8ff5138 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -1,5 +1,6 @@ package com.example.demo.serviceImpl; +import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.domain.vo.ConsumeUser; import com.example.demo.domain.vo.Gold; import com.example.demo.domain.vo.RefundUser; @@ -13,7 +14,13 @@ import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; /** * @program: gold-java @@ -83,6 +90,73 @@ public class RefundServiceImpl implements RefundService { @Override public Result add(RefundUser refundUser) { - return null; + UserGoldRecord userGoldRecord = new UserGoldRecord(); + String goodsNameWithOrder = refundUser.getGoodsName(); + //订单号生成 + if (goodsNameWithOrder != null && goodsNameWithOrder.contains("_")) { + String[] parts = goodsNameWithOrder.split("_", 2); + if (parts.length >= 2) { + // 提取订单号(保留原始前缀) + String orderCode = parts[0]; // XF202506281545524400006580 + + // 提取商品名(处理可能包含下划线的情况) + String goodsName = parts[1]; // 商品A + + // 设置属性(添加退款前缀) + userGoldRecord.setOrderCode("TK" + orderCode); // TKXF202506281545524400006580 + userGoldRecord.setGoodsName(goodsName); // 商品A + } + } + userGoldRecord.setJwcode(refundUser.getJwcode()); + userGoldRecord.setRefundType(refundUser.getRefundType()); + userGoldRecord.setRefundModel(refundUser.getRefundModel()); + userGoldRecord.setPermanentGold(refundUser.getPermanentGold()); + // 获取当前月份(1-12) + int currentMonth = LocalDate.now().getMonthValue(); + // 根据当前月份设置对应字段 + if (currentMonth >= 1 && currentMonth <= 6) { + // 1-6月:设置6月额度,12月保持默认值 + userGoldRecord.setFreeJune(0); + userGoldRecord.setFreeDecember(refundUser.getFreeGold()); + } else { + // 7-12月:设置12月额度,6月保持默认值 + userGoldRecord.setFreeJune(refundUser.getFreeGold()); + userGoldRecord.setFreeDecember(0); + } + userGoldRecord.setTaskGold(refundUser.getTaskGold()); + userGoldRecord.setSumGold(refundUser.getSumGold()); + userGoldRecord.setPayPlatform("金币系统"); + userGoldRecord.setRemark(refundUser.getRemark()); + userGoldRecord.setAdminId(refundUser.getAdminId()); + userGoldRecord.setType((byte) 2); + userGoldRecord.setAuditStatus(0); + userGoldRecord.setCreateTime(new Date()); + refundMapper.add(userGoldRecord); + return Result.success(); + } + + @Override + public List getRefundType() { + List list = refundMapper.getRefundType(); + return list; + } + + @Override + public List selectGoods(Integer jwcode) { + List userGoldRecords = refundMapper.selectGoods(jwcode); + List list = new ArrayList<>(); + for (UserGoldRecord record : userGoldRecords) { + if (record == null) { + continue; + } + + String orderCode = record.getOrderCode() != null ? record.getOrderCode() : "无订单号"; + String goodsName = record.getGoodsName() != null ? record.getGoodsName() : "无商品名"; + + // 拼接格式:订单号_商品名(例如:XF20250629_商品BC) + String combined = orderCode + "_" + goodsName; + list.add(combined); + } + return list; } } diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 2e70fec..ea654ba 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -7,6 +7,7 @@ SELECT u.name AS name, u.jwcode AS jwcode, u.market AS market, + ugr.order_code AS orderCode, ugr.goods_name AS goodsName, ugr.refund_model AS refundModel, ugr.refund_type AS refundType, @@ -64,6 +65,7 @@ SELECT u.name AS name, u.jwcode AS jwcode, u.market AS market, + ugr.order_code AS orderCode, ugr.goods_name AS goodsName, ugr.refund_model AS refundModel, ugr.refund_type AS refundType, @@ -138,37 +140,59 @@ order_code, jwcode, + refund_type, + refund_model, sum_gold, permanent_gold, free_june, free_december, task_gold, goods_name, + pay_platform, remark, type, - pay_platform, - is_refund, admin_id, - create_time, - pay_time + audit_status, + create_time VALUES #{orderCode}, #{jwcode}, + #{refundType}, + #{refundModel}, #{sumGold}, #{permanentGold}, #{freeJune}, #{freeDecember}, #{taskGold}, #{goodsName}, + #{payPlatform}, #{remark}, #{type}, - #{payPlatform}, - #{isRefund}, #{adminId}, - #{createTime}, - #{payTime} + #{auditStatus}, + #{createTime} + + + + \ No newline at end of file From 979abbd622b4dfb5781f0f95d0360d11ee761286 Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Mon, 30 Jun 2025 15:44:32 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=A5=BC=E4=B8=8A=E6=8E=A5=E5=8F=A3+?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/controller/ConsumeController.java | 8 +++++++- .../com/example/demo/controller/RefundController.java | 2 +- .../java/com/example/demo/mapper/RefundMapper.java | 2 +- .../java/com/example/demo/service/RefundService.java | 2 +- .../example/demo/serviceImpl/ConsumeServiceImpl.java | 6 ++++++ .../example/demo/serviceImpl/RefundServiceImpl.java | 15 ++++++++++----- src/main/resources/application.yml | 6 +++--- src/main/resources/mapper/RechargeMapper.xml | 18 +++++++++--------- src/main/resources/mapper/RefundMapper.xml | 7 +++++-- 9 files changed, 43 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index cb99af9..27039a3 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -84,7 +84,13 @@ public class ConsumeController { @PostMapping("/add") public Result add(@RequestBody ConsumeUser consumeUser) { try { - return consumeService.add(consumeUser); + if(consumeUser.getJwcode().equals(94226013)) + { + return consumeService.add(consumeUser); + }else { + return Result.error("不是测试的精网号,无法添加消费"); + } + } catch (Exception e) { return Result.error("接口调用失败"); } diff --git a/src/main/java/com/example/demo/controller/RefundController.java b/src/main/java/com/example/demo/controller/RefundController.java index d75573c..edd707b 100644 --- a/src/main/java/com/example/demo/controller/RefundController.java +++ b/src/main/java/com/example/demo/controller/RefundController.java @@ -85,7 +85,7 @@ public class RefundController { @PostMapping("/selectGoods") public Result getSelectGoods(@RequestBody RefundUser refundUser) { - List list = refundService.selectGoods(refundUser.getJwcode()); + List list = refundService.selectGoods(refundUser.getJwcode()); return Result.success(list); } diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index 5f2970a..3f8f14c 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -27,6 +27,6 @@ public interface RefundMapper { List getRefundType(); - List selectGoods(Integer jwcode); + List selectGoods(Integer jwcode); } diff --git a/src/main/java/com/example/demo/service/RefundService.java b/src/main/java/com/example/demo/service/RefundService.java index 55b856c..f8cbb41 100644 --- a/src/main/java/com/example/demo/service/RefundService.java +++ b/src/main/java/com/example/demo/service/RefundService.java @@ -31,5 +31,5 @@ public interface RefundService { //获取退款类型 List getRefundType(); - List selectGoods(Integer jwcode); + List selectGoods(Integer jwcode); } diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index 7fb3df7..d8a066c 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -1,5 +1,6 @@ package com.example.demo.serviceImpl; +import com.example.demo.Util.GoldTistV2; import com.example.demo.domain.entity.User; import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.domain.vo.ConsumeUser; @@ -14,6 +15,7 @@ import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -158,6 +160,10 @@ public class ConsumeServiceImpl implements ConsumeService { user.setConsumeNum(gold.getConsumeNum() + 1); user.setSumConsume(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold()); userMapper.updateGold(user); + //对接接口 + GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65, + userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember()+userGoldRecord.getFreeJune()+userGoldRecord.getTaskGold(), + userGoldRecord.getRemark(),userGoldRecord.getPermanentGold(), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName()); return Result.success(); } } diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 8ff5138..680cf05 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -142,10 +142,10 @@ public class RefundServiceImpl implements RefundService { } @Override - public List selectGoods(Integer jwcode) { - List userGoldRecords = refundMapper.selectGoods(jwcode); - List list = new ArrayList<>(); - for (UserGoldRecord record : userGoldRecords) { + public List selectGoods(Integer jwcode) { + List refundUsers = refundMapper.selectGoods(jwcode); + List list = new ArrayList<>(); + for (RefundUser record : refundUsers) { if (record == null) { continue; } @@ -155,7 +155,12 @@ public class RefundServiceImpl implements RefundService { // 拼接格式:订单号_商品名(例如:XF20250629_商品BC) String combined = orderCode + "_" + goodsName; - list.add(combined); + RefundUser refundUser = new RefundUser(); + refundUser.setGoodsName(combined); + refundUser.setPermanentGold(record.getPermanentGold()); + refundUser.setFreeGold(record.getFreeGold()); + refundUser.setTaskGold(record.getTaskGold()); + list.add(refundUser); } return list; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index cbbfb21..704b8fa 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,9 +4,9 @@ spring: fail-on-unknown-properties: false datasource: mysql1: - jdbc-url: jdbc:mysql://192.168.8.220:3306/hwgold?serverTimezone=Asia/Shanghai - username: hwgold - password: 123456 + jdbc-url: jdbc:mysql://18.143.76.3:3306/hwgoldc?serverTimezone=Asia/Shanghai + username: hwgoldc + password: zB48T55wCsHC8KPz driver-class-name: com.mysql.cj.jdbc.Driver hikari: pool-name: mysql1HikariCP diff --git a/src/main/resources/mapper/RechargeMapper.xml b/src/main/resources/mapper/RechargeMapper.xml index 5bec492..99d86ad 100644 --- a/src/main/resources/mapper/RechargeMapper.xml +++ b/src/main/resources/mapper/RechargeMapper.xml @@ -19,7 +19,7 @@ ugr.remark AS remark, ugr.admin_id AS adminId, a.admin_name AS adminName, - ugr.create_time AS createTime + ugr.pay_time AS payTime FROM user u JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode JOIN admin a ON ugr.admin_id = a.id @@ -35,9 +35,9 @@ ugr.permanent_gold (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) - ugr.create_time + ugr.pay_time - ugr.create_time + ugr.pay_time @@ -55,7 +55,7 @@ - ugr.create_time DESC + ugr.pay_time DESC @@ -78,7 +78,7 @@ ugr.remark AS remark, ugr.admin_id AS adminId, a.admin_name AS adminName, - ugr.create_time AS createTime + ugr.pay_time AS payTime FROM user u JOIN user_gold_record ugr ON u.jwcode = ugr.jwcode JOIN admin a ON ugr.admin_id = a.id @@ -98,7 +98,7 @@ AND ugr.pay_platform = #{payPlatform} - AND ugr.create_time BETWEEN #{startTime} AND #{endTime} + AND ugr.pay_time BETWEEN #{startTime} AND #{endTime} @@ -110,9 +110,9 @@ ugr.permanent_gold (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) - ugr.create_time + ugr.pay_time - ugr.create_time + ugr.pay_time @@ -130,7 +130,7 @@ - ugr.create_time DESC + ugr.pay_time DESC diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index ea654ba..0b74202 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -180,10 +180,13 @@ select DISTINCT refund_Type from user_gold_record - SELECT ugr.goods_name AS goodsName, - ugr.order_code AS orderCode + ugr.order_code AS orderCode, + ugr.permanent_gold AS permanentGold, + (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold, + ugr.task_gold AS taskGold FROM user_gold_record ugr ugr.type = 1 From f4f7406fc605210d26e8754be081740591456d4b Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Mon, 30 Jun 2025 17:02:14 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=A5=BC=E4=B8=8A=E6=8E=A5=E5=8F=A3+?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/controller/ConsumeController.java | 15 ++++++++------- .../com/example/demo/serviceImpl/ConsumeServiceImpl.java | 6 +++--- src/main/resources/mapper/RefundMapper.xml | 1 + 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 27039a3..51c2411 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -84,13 +84,14 @@ public class ConsumeController { @PostMapping("/add") public Result add(@RequestBody ConsumeUser consumeUser) { try { - if(consumeUser.getJwcode().equals(94226013)) - { - return consumeService.add(consumeUser); - }else { - return Result.error("不是测试的精网号,无法添加消费"); - } - + return consumeService.add(consumeUser); +// if(consumeUser.getJwcode().equals(94226013)) +// { +// return consumeService.add(consumeUser); +// }else { +// return Result.error("不是测试的精网号,无法添加消费"); +// } +// } catch (Exception e) { return Result.error("接口调用失败"); } diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index d8a066c..7faf332 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -161,9 +161,9 @@ public class ConsumeServiceImpl implements ConsumeService { user.setSumConsume(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold()); userMapper.updateGold(user); //对接接口 - GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65, - userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember()+userGoldRecord.getFreeJune()+userGoldRecord.getTaskGold(), - userGoldRecord.getRemark(),userGoldRecord.getPermanentGold(), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName()); +// GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65, +// (double) (userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getTaskGold()) /100, +// userGoldRecord.getRemark(),((double) userGoldRecord.getPermanentGold() /100), userGoldRecord.getPayPlatform(), userGoldRecord.getGoodsName()); return Result.success(); } } diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 0b74202..c80dac0 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -182,6 +182,7 @@ + select * from user_gold_record where order_code = #{orderCode} + + + + + diff --git a/src/main/resources/mapper/StatisticsMapper.xml b/src/main/resources/mapper/StatisticsMapper.xml index 76dda9d..700ed65 100644 --- a/src/main/resources/mapper/StatisticsMapper.xml +++ b/src/main/resources/mapper/StatisticsMapper.xml @@ -27,13 +27,13 @@ market, current_datetime, current_gold, daily_change, current_permanent, current_free_june, - current_free_december, current_task, + current_free_december, current_task ) VALUES ( #{market}, #{currentDatetime}, #{currentGold}, #{dailyChange}, #{currentPermanent}, #{currentFreeJune}, - #{currentFreeDecember}, #{currentTask}, + #{currentFreeDecember}, #{currentTask} ) From 8bc41b60d66b188d240bb54d0439f2dcfae062bd Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 1 Jul 2025 15:54:34 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=A5=BC=E4=B8=8A=E6=8E=A5=E5=8F=A3+?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 ++++++++++ .../java/com/example/demo/controller/ConsumeController.java | 1 + src/main/java/com/example/demo/domain/vo/ConsumeUser.java | 1 + src/main/resources/mapper/RechargeMapper.xml | 1 + 4 files changed, 13 insertions(+) diff --git a/pom.xml b/pom.xml index 216c74b..cf6eee2 100644 --- a/pom.xml +++ b/pom.xml @@ -89,6 +89,16 @@ pagehelper-spring-boot-starter 1.4.6 + + jakarta.validation + jakarta.validation-api + 3.0.2 + + + org.hibernate.validator + hibernate-validator + 8.0.0.Final + diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 51c2411..9ddf11b 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -6,6 +6,7 @@ import com.example.demo.domain.vo.Gold; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; import com.example.demo.service.ConsumeService; +import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/example/demo/domain/vo/ConsumeUser.java b/src/main/java/com/example/demo/domain/vo/ConsumeUser.java index 40768ea..d2370ce 100644 --- a/src/main/java/com/example/demo/domain/vo/ConsumeUser.java +++ b/src/main/java/com/example/demo/domain/vo/ConsumeUser.java @@ -1,6 +1,7 @@ package com.example.demo.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import jakarta.validation.constraints.PositiveOrZero; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/src/main/resources/mapper/RechargeMapper.xml b/src/main/resources/mapper/RechargeMapper.xml index 99d86ad..e8405f8 100644 --- a/src/main/resources/mapper/RechargeMapper.xml +++ b/src/main/resources/mapper/RechargeMapper.xml @@ -108,6 +108,7 @@ ugr.permanent_gold + ugr.money (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) ugr.pay_time From ba196355204f71205ca1740f8c68fe0635f0cd35 Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 1 Jul 2025 17:21:45 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E9=80=80=E6=AC=BE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/mapper/ConsumeMapper.java | 2 ++ .../java/com/example/demo/serviceImpl/RefundServiceImpl.java | 6 ++++-- src/main/resources/mapper/ConsumeMapper.xml | 11 +++++++++++ src/main/resources/mapper/RefundMapper.xml | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java index 489028a..fd6bf53 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -23,4 +23,6 @@ public interface ConsumeMapper { List selectBy(ConsumeUser consumeUser); void add(UserGoldRecord userGoldRecord); + + void updateIsRefund(String orderCode); } diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 680cf05..2269d4a 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -38,7 +38,7 @@ public class RefundServiceImpl implements RefundService { private RefundMapper refundMapper; @Autowired - private UserMapper userMapper; + private ConsumeMapper consumeMapper; @Override public PageInfo selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) { @@ -92,12 +92,13 @@ public class RefundServiceImpl implements RefundService { public Result add(RefundUser refundUser) { UserGoldRecord userGoldRecord = new UserGoldRecord(); String goodsNameWithOrder = refundUser.getGoodsName(); + String orderCode = ""; //订单号生成 if (goodsNameWithOrder != null && goodsNameWithOrder.contains("_")) { String[] parts = goodsNameWithOrder.split("_", 2); if (parts.length >= 2) { // 提取订单号(保留原始前缀) - String orderCode = parts[0]; // XF202506281545524400006580 + orderCode = parts[0]; // XF202506281545524400006580 // 提取商品名(处理可能包含下划线的情况) String goodsName = parts[1]; // 商品A @@ -132,6 +133,7 @@ public class RefundServiceImpl implements RefundService { userGoldRecord.setAuditStatus(0); userGoldRecord.setCreateTime(new Date()); refundMapper.add(userGoldRecord); + consumeMapper.updateIsRefund(orderCode); return Result.success(); } diff --git a/src/main/resources/mapper/ConsumeMapper.xml b/src/main/resources/mapper/ConsumeMapper.xml index 0098af5..c0d4592 100644 --- a/src/main/resources/mapper/ConsumeMapper.xml +++ b/src/main/resources/mapper/ConsumeMapper.xml @@ -171,4 +171,15 @@ #{payTime} + + + UPDATE user_gold_record + SET is_refund = 1 + + order_code = #{orderCode} + + AND is_refund != 0 + + + \ No newline at end of file diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index c80dac0..faa99a7 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -191,6 +191,7 @@ FROM user_gold_record ugr ugr.type = 1 + AND ugr.is_refund = 0 AND ugr.jwcode = #{jwcode}