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