Browse Source

4.8修改充值明细 金币明细导出修改

Huang
huangqizhen 1 month ago
parent
commit
8ee59b5793
  1. 12
      src/main/java/com/example/demo/mapper/RechargeMapper.java
  2. 8
      src/main/java/com/example/demo/mapper/UserMapper.java
  3. 60
      src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java
  4. 2
      src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
  5. 2
      src/main/resources/mapper/DetailYMapper.xml

12
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({
"<script>",
"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)",
@ -42,7 +52,7 @@ public interface RechargeMapper {
"<script>",
"UPDATE recharge",
"<set>",
"<if test= 'flag!=null '>flag=#{flag},</if>",
"<if test= 'flag!=null'>flag=#{flag},</if>",
"</set>",
"where recharge_id=#{rechargeId}",
"</script>"

8
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}"

60
src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java

@ -45,6 +45,7 @@ public class OtherServiceImpl implements OtherService {
private static final Set<String> typesToUpdateTwo = new HashSet<>();
private static final Set<String> typesToUpdateThree = new HashSet<>();
private static final Set<String> typesToUpdateFour = new HashSet<>();
private static final Set<String> 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)) {

2
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");
}

2
src/main/resources/mapper/DetailYMapper.xml

@ -234,7 +234,7 @@
left join `user` on `user`.jwcode=`user_gold`.jwcode
<where>
<if test='jwcode != null and jwcode.length > 0'>
AND jwcode = #{jwcode}
AND user_gold.jwcode = #{jwcode}
</if>
<if test='area != null and area.length > 0'>
AND area = #{area}

Loading…
Cancel
Save