Browse Source

8月14日类型修改

lijianlin/feature-20250728171217-三期金豆消费相关
sunjiabei 3 days ago
parent
commit
81663dc760
  1. 15
      src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java
  2. 9
      src/main/java/com/example/demo/domain/vo/coin/Gold.java
  3. 21
      src/main/java/com/example/demo/domain/vo/coin/GoldUser.java
  4. 13
      src/main/java/com/example/demo/domain/vo/coin/RechargeUser.java
  5. 15
      src/main/java/com/example/demo/domain/vo/coin/RefundUser.java
  6. 11
      src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java
  7. 54
      src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java
  8. 9
      src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java
  9. 24
      src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java
  10. 57
      src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java
  11. 8
      src/main/resources/mapper/ConsumeMapper.xml
  12. 6
      src/main/resources/mapper/RechargeMapper.xml
  13. 8
      src/main/resources/mapper/RefundMapper.xml

15
src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java

@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -39,13 +40,13 @@ public class ConsumeUser implements Serializable {
@ExcelProperty("消费平台")
private String payPlatform; // 消费平台
@ExcelProperty("金币总数")
private Integer sumGold; // 金币总数
@ExcelProperty("永久金币*100")
private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币*100")
private Integer freeGold; // 免费金币
@ExcelProperty("任务金币*100")
private Integer taskGold; // 任务金币
private BigDecimal sumGold; // 金币总数
@ExcelProperty("永久金币")
private BigDecimal permanentGold; // 永久金币
@ExcelProperty("免费金币")
private BigDecimal freeGold; // 免费金币
@ExcelProperty("任务金币")
private BigDecimal taskGold; // 任务金币
@ExcelProperty("备注")
private String remark; // 备注
@ExcelProperty("提交人ID")

9
src/main/java/com/example/demo/domain/vo/coin/Gold.java

@ -5,6 +5,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @program: gold-java
@ -21,8 +22,8 @@ import java.io.Serializable;
public class Gold implements Serializable {
private static final long serialVersionUID = 1L;
private Integer totalNum; //总条数
private Integer permanentGolds; // 永久金币总数
private Integer freeGolds; // 免费金币总数
private Integer taskGolds; // 任务金币总数
private Integer sumGolds;
private BigDecimal permanentGolds; // 永久金币总数
private BigDecimal freeGolds; // 免费金币总数
private BigDecimal taskGolds; // 任务金币总数
private BigDecimal sumGolds;
}

21
src/main/java/com/example/demo/domain/vo/coin/GoldUser.java

@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -29,25 +30,25 @@ public class GoldUser {
@ExcelProperty("所属地区")
private String market; // 所属地区
@ExcelProperty("当前金币总数")
private Integer NowSumGold; // 当前金币总数
private BigDecimal NowSumGold; // 当前金币总数
@ExcelProperty("当前永久金币")
private Integer NowPermanentGold; // 当前永久金币
private BigDecimal NowPermanentGold; // 当前永久金币
@ExcelProperty("当前免费金币")
private Integer NowFreeGold; // 当前免费金币
private BigDecimal NowFreeGold; // 当前免费金币
@ExcelProperty("当前免费金币6月")
private Integer NowFreeJune; // 免费金币6月
private BigDecimal NowFreeJune; // 免费金币6月
@ExcelProperty("当前免费金币12月")
private Integer NowFreeDecember; // 免费金币12月
private BigDecimal NowFreeDecember; // 免费金币12月
@ExcelProperty("当前任务金币")
private Integer NowTaskGold; // 当前任务金币
private BigDecimal NowTaskGold; // 当前任务金币
@ExcelProperty("历史金币总数")
private Integer historySumGold; // 历史金币总数
private BigDecimal historySumGold; // 历史金币总数
@ExcelProperty("历史永久金币")
private Integer historyPermanentGold; // 历史永久金币
private BigDecimal historyPermanentGold; // 历史永久金币
@ExcelProperty("历史免费金币")
private Integer historyFreeGold; // 历史免费金币
private BigDecimal historyFreeGold; // 历史免费金币
@ExcelProperty("历史任务金币")
private Integer historyTaskGold; // 历史任务金币
private BigDecimal historyTaskGold; // 历史任务金币
@ExcelProperty("充值次数")
private Integer rechargeNum; // 充值次数
@ExcelProperty("消费次数")

13
src/main/java/com/example/demo/domain/vo/coin/RechargeUser.java

@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -43,14 +44,14 @@ public class RechargeUser {
@ExcelProperty("汇率名称")
private String rateName; // 汇率名称
@ExcelProperty("金额[分]")
private Integer money; // 金额[]
@ExcelProperty("金额")
private BigDecimal money; // 金额[]
@ExcelProperty("永久金币*100")
private Integer permanentGold; // 永久金币
@ExcelProperty("永久金币")
private BigDecimal permanentGold; // 永久金币
@ExcelProperty("免费金币*100")
private Integer freeGold; // 免费金币
@ExcelProperty("免费金币")
private BigDecimal freeGold; // 免费金币
@ExcelProperty("支付方式")
private String payModel; // 支付方式

15
src/main/java/com/example/demo/domain/vo/coin/RefundUser.java

@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -41,13 +42,13 @@ public class RefundUser {
@ExcelProperty("退款方式")
private Byte refundModel; // 退款方式0全部/1部分退款
@ExcelProperty("金币总数")
private Integer sumGold; // 金币总数
@ExcelProperty("永久金币*100")
private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币*100")
private Integer freeGold; // 免费金币
@ExcelProperty("任务金币*100")
private Integer taskGold; // 任务金币
private BigDecimal sumGold; // 金币总数
@ExcelProperty("永久金币")
private BigDecimal permanentGold; // 永久金币
@ExcelProperty("免费金币")
private BigDecimal freeGold; // 免费金币
@ExcelProperty("任务金币")
private BigDecimal taskGold; // 任务金币
@ExcelProperty("退款原因")
private String remark; // 退款原因
@ExcelProperty("提交人ID")

11
src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -203,8 +204,8 @@ public class AuditServiceImpl implements AuditService {
totalNum++;
}
// 将累加结果设置到Gold对象
gold.setPermanentGolds(permanentGoldSum);
gold.setFreeGolds(freeGoldSum);
gold.setPermanentGolds(BigDecimal.valueOf(permanentGoldSum));
gold.setFreeGolds(BigDecimal.valueOf(freeGoldSum));
gold.setTotalNum(totalNum);
return gold;
}
@ -246,10 +247,10 @@ public class AuditServiceImpl implements AuditService {
totalNum++;
}
// 将累加结果设置到Gold对象
gold.setPermanentGolds(permanentGoldSum);
gold.setFreeGolds(freeGoldSum);
gold.setPermanentGolds(BigDecimal.valueOf(permanentGoldSum));
gold.setFreeGolds(BigDecimal.valueOf(freeGoldSum));
gold.setTotalNum(totalNum);
gold.setTaskGolds(taskGoldSum);
gold.setTaskGolds(BigDecimal.valueOf(taskGoldSum));
return gold;
}
}

54
src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java

@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@ -70,23 +71,23 @@ public class ConsumeServiceImpl implements ConsumeService {
List<ConsumeUser> consumeUsers = consumeMapper.selectBy(consumeUser);
// 初始化累加器
int permanentGoldSum = 0;
int freeGoldSum = 0;
int taskGoldSum = 0;
BigDecimal permanentGoldSum = BigDecimal.valueOf(0);
BigDecimal freeGoldSum = BigDecimal.valueOf(0);
BigDecimal taskGoldSum = BigDecimal.valueOf(0);
// 遍历消费记录并累加金币
for (ConsumeUser user : consumeUsers) {
// 累加永久金币
if (user.getPermanentGold() != null) {
permanentGoldSum += user.getPermanentGold();
permanentGoldSum = permanentGoldSum.add(user.getPermanentGold());
}
// 累加免费金币
if (user.getFreeGold() != null) {
freeGoldSum += user.getFreeGold();
freeGoldSum = freeGoldSum.add(user.getFreeGold());
}
// 累加任务金币
if (user.getTaskGold() != null) {
taskGoldSum += user.getTaskGold();
taskGoldSum = taskGoldSum.add(user.getTaskGold());
}
}
@ -119,7 +120,7 @@ public class ConsumeServiceImpl implements ConsumeService {
if (consumeUser.getTaskGold() == null || consumeUser.getFreeGold() == null || consumeUser.getPermanentGold() == null) {
return Result.error("金币数量不能为空");
}
if (consumeUser.getTaskGold() < 0 || consumeUser.getFreeGold() < 0 || consumeUser.getPermanentGold() < 0) {
if (consumeUser.getTaskGold().compareTo(BigDecimal.ZERO) < 0 || consumeUser.getFreeGold().compareTo(BigDecimal.ZERO) < 0 || consumeUser.getPermanentGold().compareTo(BigDecimal.ZERO) < 0) {
return Result.error("金币不能为负数");
}
if(consumeUser.getJwcode()<10000000||consumeUser.getJwcode()>99999999)
@ -141,37 +142,38 @@ public class ConsumeServiceImpl implements ConsumeService {
userGoldRecord.setOrderCode("XF" + timestampPart + randomNumber);
userGoldRecord.setJwcode(consumeUser.getJwcode());
userGoldRecord.setGoodsName(consumeUser.getGoodsName());
userGoldRecord.setSumGold(-consumeUser.getSumGold());
userGoldRecord.setPermanentGold(-consumeUser.getPermanentGold());
userGoldRecord.setSumGold(-consumeUser.getSumGold().intValue());
userGoldRecord.setPermanentGold(-consumeUser.getPermanentGold().intValue());
// 获取当前月份1-12
int currentMonth = LocalDate.now().getMonthValue();
GoldUser gold = userMapper.selectGold(consumeUser.getJwcode().toString());
if (consumeUser.getFreeGold() > (gold.getNowFreeDecember() + gold.getNowFreeJune()) || consumeUser.getPermanentGold() > gold.getNowPermanentGold()
|| consumeUser.getTaskGold() > gold.getNowTaskGold()) {
if (consumeUser.getFreeGold().compareTo(gold.getNowFreeDecember().add(gold.getNowFreeJune())) > 0
|| consumeUser.getPermanentGold().compareTo(gold.getNowPermanentGold()) > 0
|| consumeUser.getTaskGold().compareTo(gold.getNowTaskGold()) > 0) {
return Result.error("金币数量不足");
}
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
if (consumeUser.getFreeGold() > gold.getNowFreeJune()) {
userGoldRecord.setFreeJune(-gold.getNowFreeJune());
userGoldRecord.setFreeDecember(-(consumeUser.getFreeGold() - gold.getNowFreeJune()));
if (consumeUser.getFreeGold().compareTo(gold.getNowFreeJune()) > 0) {
userGoldRecord.setFreeJune(-gold.getNowFreeJune().intValue());
userGoldRecord.setFreeDecember(-(consumeUser.getFreeGold().subtract(gold.getNowFreeJune())).intValue());
} else {
userGoldRecord.setFreeJune(-consumeUser.getFreeGold());
userGoldRecord.setFreeJune(-consumeUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
}
} else {
// 7-12月设置12月额度6月保持默认值
if (consumeUser.getFreeGold() > gold.getNowFreeDecember()) {
userGoldRecord.setFreeDecember(-gold.getNowFreeDecember());
userGoldRecord.setFreeJune(-(consumeUser.getFreeGold() - gold.getNowFreeDecember()));
if (consumeUser.getFreeGold().compareTo(gold.getNowFreeDecember()) > 0) {
userGoldRecord.setFreeDecember(-gold.getNowFreeDecember().intValue());
userGoldRecord.setFreeJune(-(consumeUser.getFreeGold().subtract(gold.getNowFreeDecember())).intValue());
} else {
userGoldRecord.setFreeDecember(-consumeUser.getFreeGold());
userGoldRecord.setFreeDecember(-consumeUser.getFreeGold().intValue());
userGoldRecord.setFreeJune(0);
}
}
//信息输入
userGoldRecord.setTaskGold(-consumeUser.getTaskGold());
userGoldRecord.setTaskGold(-consumeUser.getTaskGold().intValue());
userGoldRecord.setRemark(consumeUser.getRemark());
userGoldRecord.setType((byte) 1);
userGoldRecord.setIsRefund((byte) 0);
@ -184,12 +186,12 @@ public class ConsumeServiceImpl implements ConsumeService {
consumeMapper.updateUserGold(userGoldRecord);
User user = new User();
user.setJwcode(userGoldRecord.getJwcode());
user.setCurrentPermanentGold(gold.getNowPermanentGold() - consumeUser.getPermanentGold());
user.setCurrentFreeJune(gold.getNowFreeJune() + userGoldRecord.getFreeJune());
user.setCurrentFreeDecember(gold.getNowFreeDecember() + userGoldRecord.getFreeDecember());
user.setCurrentTaskGold(gold.getNowTaskGold() - consumeUser.getTaskGold());
user.setConsumeNum(gold.getConsumeNum() + 1);
user.setSumConsume(-(consumeUser.getPermanentGold() + consumeUser.getFreeGold() + consumeUser.getTaskGold()));
user.setCurrentPermanentGold(gold.getNowPermanentGold().intValue() - consumeUser.getPermanentGold().intValue());
user.setCurrentFreeJune(gold.getNowFreeJune().intValue() + userGoldRecord.getFreeJune());
user.setCurrentFreeDecember(gold.getNowFreeDecember().intValue() + userGoldRecord.getFreeDecember());
user.setCurrentTaskGold(gold.getNowTaskGold().intValue() - consumeUser.getTaskGold().intValue());
user.setConsumeNum(gold.getConsumeNum().intValue() + 1);
user.setSumConsume(-(consumeUser.getPermanentGold().intValue() + consumeUser.getFreeGold().intValue() + consumeUser.getTaskGold().intValue()));
userMapper.updateGold(user);
// if(consumeUser.getJwcode().equals(94226013)){
GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65,

9
src/main/java/com/example/demo/serviceImpl/coin/GoldDetailServiceImpl.java

@ -21,6 +21,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.example.demo.domain.vo.coin.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
@ -108,11 +109,11 @@ public class GoldDetailServiceImpl implements GoldDetailService {
totalNum++;
}
// 将累加结果设置到Gold对象
gold.setPermanentGolds(permanentGoldSum);
gold.setFreeGolds(freeGoldSum);
gold.setPermanentGolds(BigDecimal.valueOf(permanentGoldSum));
gold.setFreeGolds(BigDecimal.valueOf(freeGoldSum));
gold.setTotalNum(totalNum);
gold.setTaskGolds(taskGoldSum);
gold.setSumGolds(permanentGoldSum+freeGoldSum+taskGoldSum);
gold.setTaskGolds(BigDecimal.valueOf(taskGoldSum));
gold.setSumGolds(BigDecimal.valueOf(permanentGoldSum+freeGoldSum+taskGoldSum));
return gold;
}

24
src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java

@ -13,6 +13,8 @@ import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.domain.vo.coin.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@ -83,18 +85,18 @@ public class RechargeServiceImpl implements RechargeService {
List<RechargeUser> rechargeUsers = rechargeMapper.selectBy(rechargeUser);
// 初始化累加器
int permanentGoldSum = 0;
int freeGoldSum = 0;
BigDecimal permanentGoldSum = new BigDecimal(0);
BigDecimal freeGoldSum = new BigDecimal(0);
// 遍历充值记录并累加金币
for (RechargeUser user : rechargeUsers) {
// 累加永久金币
if (user.getPermanentGold() != null) {
permanentGoldSum += user.getPermanentGold();
permanentGoldSum = permanentGoldSum.add(user.getPermanentGold());
}
// 累加免费金币
if (user.getFreeGold() != null) {
freeGoldSum += user.getFreeGold();
freeGoldSum = freeGoldSum.add(user.getFreeGold());
}
}
@ -112,7 +114,7 @@ public class RechargeServiceImpl implements RechargeService {
if(rechargeUser.getFreeGold()==null||rechargeUser.getPermanentGold()==null||rechargeUser.getMoney()==null){
return Result.error("金币和金额不能为空");
}
if(rechargeUser.getFreeGold()<0||rechargeUser.getPermanentGold()<0||rechargeUser.getMoney()<0){
if(rechargeUser.getFreeGold().compareTo(BigDecimal.ZERO)<0||rechargeUser.getPermanentGold().compareTo(BigDecimal.ZERO)<0||rechargeUser.getMoney().compareTo(BigDecimal.ZERO)<0){
return Result.error("充值不能为0");
}
if(rechargeUser.getJwcode()<10000000||rechargeUser.getJwcode()>99999999)
@ -120,7 +122,7 @@ public class RechargeServiceImpl implements RechargeService {
return Result.error("精网号位数小于8位或大于8位");
}
// 验证免费金币和永久金币是否均为0
if (rechargeUser.getFreeGold() == 0 && rechargeUser.getPermanentGold() == 0) {
if (rechargeUser.getFreeGold().compareTo(BigDecimal.ZERO) == 0 && rechargeUser.getPermanentGold().compareTo(BigDecimal.ZERO) == 0) {
return Result.error("免费金币和永久金币不能同时为0");
}
GoldUser goldUser = userMapper.selectUser(rechargeUser.getJwcode().toString());
@ -141,23 +143,23 @@ public class RechargeServiceImpl implements RechargeService {
userGoldRecord.setOrderCode("CZ" + timestampPart + randomNumber);
userGoldRecord.setJwcode(rechargeUser.getJwcode());
userGoldRecord.setActivity(rechargeUser.getActivity());
userGoldRecord.setPermanentGold(rechargeUser.getPermanentGold());
userGoldRecord.setPermanentGold(rechargeUser.getPermanentGold().intValue());
// 获取当前月份1-12
int currentMonth = LocalDate.now().getMonthValue();
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
userGoldRecord.setFreeJune(0);
userGoldRecord.setFreeDecember(rechargeUser.getFreeGold());
userGoldRecord.setFreeDecember(rechargeUser.getFreeGold().intValue());
} else {
// 7-12月设置12月额度6月保持默认值
userGoldRecord.setFreeJune(rechargeUser.getFreeGold());
userGoldRecord.setFreeJune(rechargeUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
}
//数据输入
userGoldRecord.setSumGold(rechargeUser.getFreeGold()+rechargeUser.getPermanentGold());
userGoldRecord.setSumGold(rechargeUser.getFreeGold().intValue()+rechargeUser.getPermanentGold().intValue());
userGoldRecord.setRateId(rechargeUser.getRateId());
userGoldRecord.setMoney(rechargeUser.getMoney());
userGoldRecord.setMoney(rechargeUser.getMoney().intValue());
userGoldRecord.setVoucher(rechargeUser.getVoucher());
userGoldRecord.setPayPlatform("金币系统");
userGoldRecord.setPayModel(rechargeUser.getPayModel());

57
src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

@ -13,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.example.demo.domain.vo.coin.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
@ -47,7 +49,7 @@ public class RefundServiceImpl implements RefundService {
//查找全部退款
@Override
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception{
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception {
List<String> markets = marketMapper.getMarketIds(refundUser.getMarkets());
refundUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
@ -59,31 +61,32 @@ public class RefundServiceImpl implements RefundService {
@Override
public Gold statsGold(RefundUser refundUser) {
List<String> markets = marketMapper.getMarketIds(refundUser.getMarkets());
if (markets.contains("9") || markets.contains("9999")){
markets=null;
if (markets.contains("9") || markets.contains("9999")) {
markets = null;
}
refundUser.setMarkets(markets);
Gold gold = new Gold();
List<RefundUser> refundUsers = refundMapper.selectBy(refundUser);
// 初始化累加器
int permanentGoldSum = 0;
int freeGoldSum = 0;
int taskGoldSum = 0;
// 遍历推开记录并累加金币
BigDecimal permanentGoldSum = BigDecimal.valueOf(0);
BigDecimal freeGoldSum = BigDecimal.valueOf(0);
BigDecimal taskGoldSum = BigDecimal.valueOf(0);
// 遍历退款记录并累加金币
for (RefundUser user : refundUsers) {
// 累加永久金币
if (user.getPermanentGold() != null) {
permanentGoldSum += user.getPermanentGold();
permanentGoldSum = permanentGoldSum.add(user.getPermanentGold());
}
// 累加免费金币
if (user.getFreeGold() != null) {
freeGoldSum += user.getFreeGold();
freeGoldSum = freeGoldSum.add(user.getFreeGold());
}
// 累加任务金币
if (user.getTaskGold() != null) {
taskGoldSum += user.getTaskGold();
taskGoldSum = taskGoldSum.add(user.getTaskGold());
}
}
@ -97,10 +100,10 @@ public class RefundServiceImpl implements RefundService {
//查找筛选退款
@Override
public PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser)throws Exception {
public PageInfo<RefundUser> selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser) throws Exception {
List<String> markets = marketMapper.getMarketIds(refundUser.getMarkets());
if (markets.contains("9") || markets.contains("9999")){
markets=null;
if (markets.contains("9") || markets.contains("9999")) {
markets = null;
}
refundUser.setMarkets(markets);
PageHelper.startPage(pageNum, pageSize);
@ -115,15 +118,16 @@ public class RefundServiceImpl implements RefundService {
if (refundUser.getTaskGold() == null || refundUser.getFreeGold() == null || refundUser.getPermanentGold() == null) {
return Result.error("金币不能为空");
}
if (refundUser.getTaskGold() < 0 || refundUser.getFreeGold() < 0 || refundUser.getPermanentGold() < 0) {
if (refundUser.getTaskGold().compareTo(BigDecimal.ZERO) < 0 ||
refundUser.getFreeGold().compareTo(BigDecimal.ZERO) < 0 ||
refundUser.getPermanentGold().compareTo(BigDecimal.ZERO) < 0) {
return Result.error("金币不能为负数");
}
if(refundUser.getJwcode()<10000000||refundUser.getJwcode()>99999999)
{
if (refundUser.getJwcode() < 10000000 || refundUser.getJwcode() > 99999999) {
return Result.error("精网号位数小于8位或大于8位");
}
GoldUser goldUser = userMapper.selectUser(refundUser.getJwcode().toString());
if(goldUser==null){
if (goldUser == null) {
return Result.error("用户不存在");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();
@ -147,22 +151,22 @@ public class RefundServiceImpl implements RefundService {
userGoldRecord.setJwcode(refundUser.getJwcode());
userGoldRecord.setRefundType(refundUser.getRefundType());
userGoldRecord.setRefundModel(refundUser.getRefundModel());
userGoldRecord.setPermanentGold(refundUser.getPermanentGold());
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());
userGoldRecord.setFreeDecember(refundUser.getFreeGold().intValue());
} else {
// 7-12月设置12月额度6月保持默认值
userGoldRecord.setFreeJune(refundUser.getFreeGold());
userGoldRecord.setFreeJune(refundUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
}
//信息输入
userGoldRecord.setTaskGold(refundUser.getTaskGold());
userGoldRecord.setSumGold(refundUser.getSumGold());
userGoldRecord.setTaskGold(refundUser.getTaskGold().intValue());
userGoldRecord.setSumGold(refundUser.getSumGold().intValue());
userGoldRecord.setPayPlatform("金币系统");
userGoldRecord.setRemark(refundUser.getRemark());
userGoldRecord.setAdminId(refundUser.getAdminId());
@ -173,13 +177,12 @@ public class RefundServiceImpl implements RefundService {
//消费订单号校验
if (list == null || list.isEmpty()) {
return Result.error("该用户没有该订单号");
}else if(list.size()==1){
} else if (list.size() == 1) {
ConsumeUser consumeUser = list.getFirst();
if(consumeUser.getIsRefund().equals(1))
{
if (consumeUser.getIsRefund().equals(1)) {
return Result.error("该订单已被退款");
}
}else {
} else {
return Result.error("消费订单重复");
}
refundMapper.add(userGoldRecord);
@ -215,7 +218,7 @@ public class RefundServiceImpl implements RefundService {
String combined = orderCode + "_" + goodsName;
RefundUser refundUser = new RefundUser();
refundUser.setGoodsName(combined);
refundUser.setSumGold(record.getPermanentGold() + record.getFreeGold() + record.getTaskGold());
refundUser.setSumGold(record.getPermanentGold().add(record.getFreeGold()).add(record.getTaskGold()));
refundUser.setPermanentGold(record.getPermanentGold());
refundUser.setFreeGold(record.getFreeGold());
refundUser.setTaskGold(record.getTaskGold());

8
src/main/resources/mapper/ConsumeMapper.xml

@ -79,10 +79,10 @@
m.name as market,
ugr.goods_name AS goodsName,
ugr.pay_platform AS payPlatform,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.sum_gold/100 AS sumGold,
ugr.permanent_gold/100 AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))/100 AS freeGold,
ugr.task_gold/100 AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.create_time AS createTime

6
src/main/resources/mapper/RechargeMapper.xml

@ -81,9 +81,9 @@
ugr.activity AS activity,
ugr.rate_id AS rateId,
r.rate_name AS rateName,
ugr.money AS money,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.money/100 AS money,
ugr.permanent_gold/100 AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))/100 AS freeGold,
ugr.pay_model AS payModel,
ugr.pay_platform AS payPlatform,
ugr.remark AS remark,

8
src/main/resources/mapper/RefundMapper.xml

@ -82,10 +82,10 @@
ugr.goods_name AS goodsName,
ugr.refund_model AS refundModel,
ugr.refund_type AS refundType,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.sum_gold/100 AS sumGold,
ugr.permanent_gold/100 AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))/100 AS freeGold,
ugr.task_gold/100 AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.create_time AS createTime,

Loading…
Cancel
Save