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}