From 8ee59b57937715be965e4c7257c63e992dc6c1ba Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Wed, 9 Apr 2025 13:38:15 +0800 Subject: [PATCH] =?UTF-8?q?4.8=E4=BF=AE=E6=94=B9=E5=85=85=E5=80=BC?= =?UTF-8?q?=E6=98=8E=E7=BB=86=20=E9=87=91=E5=B8=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/mapper/RechargeMapper.java | 12 ++++- .../java/com/example/demo/mapper/UserMapper.java | 8 +-- .../example/demo/serviceImpl/OtherServiceImpl.java | 60 ++++++++++++++++++++-- .../demo/serviceImpl/RechargeServiceImpl.java | 2 +- src/main/resources/mapper/DetailYMapper.xml | 2 +- 5 files changed, 72 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/example/demo/mapper/RechargeMapper.java b/src/main/java/com/example/demo/mapper/RechargeMapper.java index 0e89b60..3817e5c 100644 --- a/src/main/java/com/example/demo/mapper/RechargeMapper.java +++ b/src/main/java/com/example/demo/mapper/RechargeMapper.java @@ -25,6 +25,16 @@ public interface RechargeMapper { @Insert({ + "INSERT INTO recharge", + "(jwcode,order_code,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag,admin_name)", + "values ", + "(#{jwcode},#{orderCode},#{activityId},#{paidGold}*100,#{freeGold}*100,#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1,#{adminName})" + }) + @Options(useGeneratedKeys = true,keyColumn = "recharge_id",keyProperty = "rechargeId") + int insert1(Recharge recharge); + + + @Insert({ "" diff --git a/src/main/java/com/example/demo/mapper/UserMapper.java b/src/main/java/com/example/demo/mapper/UserMapper.java index 9ef05f1..182fda2 100644 --- a/src/main/java/com/example/demo/mapper/UserMapper.java +++ b/src/main/java/com/example/demo/mapper/UserMapper.java @@ -58,16 +58,12 @@ public interface UserMapper { " SUM(CASE WHEN d.update_type = '0' THEN d.recharge_coin ELSE 0 END) AS total_recharge_gold, \n" + " SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) AS total_spend_gold, \n" + " COUNT(CASE WHEN d.update_type = '0' THEN 1 END) AS recharge_times, \n" + - " COUNT(CASE WHEN d.update_type = '1' THEN 1 END) AS spend_times, \n" + - " COUNT(CASE WHEN a.status = 0 AND d.update_type = '0' THEN 1 END) AS pending_recharge_times, \n" + - " COUNT(CASE WHEN a.status = 0 AND d.update_type = '1' THEN 1 END) AS pending_spend_times \n" + + " COUNT(CASE WHEN d.update_type = '1' THEN 1 END) AS spend_times\n" + "FROM\n" + " user_gold u\n" + "LEFT JOIN user on user.jwcode=u.jwcode", "LEFT JOIN\n" + - " detail d ON u.jwcode = d.jwcode\n" + - "LEFT JOIN\n" + - " audit a ON d.detail_id = a.detail_id AND a.audit_flag = 1\n" + + " detail_y d ON u.jwcode = d.jwcode\n" + "WHERE\n" + " u.jwcode =#{jwcode}" diff --git a/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java index b74ee00..bfb6353 100644 --- a/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java @@ -45,6 +45,7 @@ public class OtherServiceImpl implements OtherService { private static final Set typesToUpdateTwo = new HashSet<>(); private static final Set typesToUpdateThree = new HashSet<>(); private static final Set typesToUpdateFour = new HashSet<>(); + private static final Set typesToUpdateFive = new HashSet<>(); private final OtherMapper otherMapper; private final DetailYMapper detailYMapper; private final UserMapper userMapper; @@ -84,8 +85,8 @@ public class OtherServiceImpl implements OtherService { typesToUpdateZero.add("53"); typesToUpdateZero.add("54"); typesToUpdateZero.add("60"); - typesToUpdateZero.add("64"); - typesToUpdateZero.add("63"); +// typesToUpdateZero.add("64"); +// typesToUpdateZero.add("63"); typesToUpdateOne.add("9"); typesToUpdateOne.add("15"); @@ -121,6 +122,9 @@ public class OtherServiceImpl implements OtherService { typesToUpdateFour.add("65"); + typesToUpdateFive.add("63"); + typesToUpdateFive.add("64"); + } @Override @@ -217,10 +221,59 @@ public class OtherServiceImpl implements OtherService { if (typesToUpdateFour.contains(type)) { - log.info("类型为 65,不写入数据"); + log.info("类型为 金币系统操作,不写入数据"); return 0; // 返回默认值 } + if (typesToUpdateFive.contains(type)) { + System.out.println("金币充值------------------------------------------------------"); + detailY.setUpdateType(0);// 设置 updateType 为 0 + detailY.setJwcode(JwCode); + detailY.setRechargeCoin(rechargeJb); + detailY.setFreeCoin(freeJb); + detailY.setTaskCoin(taskJb); + detailY.setRemark(remark); + detailY.setName(adminName); + detailY.setGtype(Integer.valueOf(type)); +// detailY.setUsername(username); +// detailY.setArea(area); + detailY.setProductName(productName); + detailY.setConsumePlatform(String.valueOf(platform)); + detailY.setRechargeWay(Way); + detailY.setArea(country); + detailY.setCreateTime(erp.getCreateTime()); + detailY.setGold_last(goldLast); + detailY.setUid(uid); + + detailY.setUsername(name); + + + BigDecimal buyJb = userGold.getBuyJb(); + BigDecimal coreJb = userGold.getCoreJb(); + buyJb = buyJb.add(rechargeJb); + coreJb = coreJb.add(taskJb); +// 设置更新后的Sumgold回到user对象 + userGold.setBuyJb(buyJb); + userGold.setCoreJb(coreJb); + LocalDate now = LocalDate.now(); + +// 判断当前日期是在六月之前还是之后 + Month currentMonth = now.getMonth(); + boolean isBeforeJune = currentMonth.getValue() < Month.JUNE.getValue(); + boolean isJune = currentMonth.getValue() == Month.JUNE.getValue(); + boolean isAfterJune = currentMonth.getValue() > Month.JUNE.getValue(); + +// 根据月份更新 free6 或 free12 + if (isBeforeJune || isJune) { + // 如果是六月前,更新 free6 + BigDecimal free6 = userGold.getFree6().add(freeJb); + userGold.setFree6(free6); + } else if (isAfterJune) { + // 如果是六月后,更新 free12 + BigDecimal free12 = userGold.getFree12().add(freeJb); + userGold.setFree12(free12); + } + } if (typesToUpdateZero.contains(type)) { System.out.println("充值------------------------------------------------------"); detailY.setUpdateType(0);// 设置 updateType 为 0 @@ -279,6 +332,7 @@ public class OtherServiceImpl implements OtherService { recharge.setRemark(remark); recharge.setAdminName(adminName); + rechargeMapper.insert(recharge); } else if (typesToUpdateOne.contains(type)) { diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index c0dbb92..1dcf9b1 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -54,7 +54,7 @@ public class RechargeServiceImpl implements RechargeService { String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' recharge.setOrderCode(uuid); - int result = rechargeMapper.insert(recharge); + int result = rechargeMapper.insert1(recharge); if (result != 1) { throw new Exception("Failed to insert recharge data"); } diff --git a/src/main/resources/mapper/DetailYMapper.xml b/src/main/resources/mapper/DetailYMapper.xml index ee154f2..63a6a46 100644 --- a/src/main/resources/mapper/DetailYMapper.xml +++ b/src/main/resources/mapper/DetailYMapper.xml @@ -234,7 +234,7 @@ left join `user` on `user`.jwcode=`user_gold`.jwcode - AND jwcode = #{jwcode} + AND user_gold.jwcode = #{jwcode} AND area = #{area}