This commit is contained in:
磷叶 2025-01-19 18:09:07 +08:00
parent c1ac775e19
commit 2d4eab011a
3 changed files with 93 additions and 326 deletions
smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service
smart-switch-web/src/main/java/com/ruoyi/web/controller/ss

View File

@ -303,17 +303,6 @@ public interface TransactionBillService
*/
TransactionBillVO selectLastOne(TransactionBillQuery query);
/**
* 修复订单数据
*/
int fix(Long billId);
/**
* 修复所有订单数据
* @return
*/
int fixAll();
/**
* 收取商户查看用户手机号的价格
* @param bill

View File

@ -9,7 +9,6 @@ import com.ruoyi.common.domain.vo.LongDecimalVO;
import com.ruoyi.common.enums.ServiceCode;
import com.ruoyi.common.enums.WithdrawServiceType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.pay.wx.service.WxPayService;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ServiceUtil;
import com.ruoyi.common.utils.SnowFlakeUtil;
@ -27,7 +26,6 @@ import com.ruoyi.ss.bonus.domain.Bonus;
import com.ruoyi.ss.bonus.domain.BonusVO;
import com.ruoyi.ss.bonus.domain.enums.BonusArrivalType;
import com.ruoyi.ss.bonus.domain.enums.BonusStatus;
import com.ruoyi.ss.bonus.service.BonusConverter;
import com.ruoyi.ss.bonus.service.BonusService;
import com.ruoyi.ss.channelWithdraw.domain.ChannelWithdrawVO;
import com.ruoyi.ss.channelWithdraw.service.ChannelWithdrawService;
@ -45,8 +43,6 @@ import com.ruoyi.ss.receiveBill.domain.ReceiveBill;
import com.ruoyi.ss.receiveBill.domain.enums.ReceiveBillStatus;
import com.ruoyi.ss.receiveBill.domain.enums.ReceiveBillType;
import com.ruoyi.ss.receiveBill.service.ReceiveBillService;
import com.ruoyi.ss.record.time.service.IRecordTimeService;
import com.ruoyi.ss.record.time.service.RecordTimeConverter;
import com.ruoyi.ss.recordBalance.domain.enums.RecordBalanceBstType;
import com.ruoyi.ss.risk.service.RiskService;
import com.ruoyi.ss.store.domain.StoreVo;
@ -66,7 +62,10 @@ import com.ruoyi.ss.transactionBill.domain.vo.TransactionBillVO;
import com.ruoyi.ss.transactionBill.domain.vo.TransactionDailyAmountVO;
import com.ruoyi.ss.transactionBill.domain.vo.UserWithdrawServiceVO;
import com.ruoyi.ss.transactionBill.mapper.TransactionBillMapper;
import com.ruoyi.ss.transactionBill.service.*;
import com.ruoyi.ss.transactionBill.service.TransactionAssembler;
import com.ruoyi.ss.transactionBill.service.TransactionBillService;
import com.ruoyi.ss.transactionBill.service.TransactionBillValidator;
import com.ruoyi.ss.transactionBill.service.WithdrawValidator;
import com.ruoyi.ss.transfer.domain.TransferVO;
import com.ruoyi.ss.transfer.interfaces.AfterTransfer;
import com.ruoyi.ss.transfer.service.TransferConverter;
@ -78,7 +77,6 @@ import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.task.bill.BillDelayedManager;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
@ -112,9 +110,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
@Autowired
private DeviceService deviceService;
@Autowired
private WxPayService wxPayService;
@Autowired
private UserService userService;
@ -134,18 +129,9 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
@Autowired
private ScheduledExecutorService scheduledExecutorService;
@Value("${sm.withdraw.password.enable}")
private Boolean smWithdrawPasswordEnable; // 是否开启提现密码
@Autowired
private TransactionTemplate transactionTemplate;
@Autowired
private IRecordTimeService recordTimeService;
@Autowired
private RecordTimeConverter recordTimeConverter;
@Autowired
private PayBillService payBillService;
@ -158,15 +144,9 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
@Autowired
private ISysConfigService sysConfigService;
@Autowired
private TransactionBillConverter transactionBillConverter;
@Autowired
private WithdrawValidator withdrawValidator;
@Autowired
private BonusConverter bonusConverter;
@Autowired
private BonusService bonusService;
@ -304,33 +284,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
}
}
@Override
public int fix(Long billId) {
TransactionBillVO bill = selectSmTransactionBillByBillId(billId);
return fix(bill);
}
@Override
public int fixAll() {
TransactionBillQuery query = new TransactionBillQuery();
query.setStatusList(TransactionBillStatus.payedOrder());
query.setVersion(1);
List<TransactionBillVO> list = selectSmTransactionBillList(query);
if (CollectionUtils.isEmptyElement(list)) {
return 0;
}
for (TransactionBillVO bill : list) {
try {
this.fix(bill);
} catch (Exception e) {
log.error("修复订单数据失败:{}, {}", bill.getBillNo(), e.getMessage());
}
}
return 1;
}
@Override
public int receiveMchShowMobileAmount(TransactionBillVO bill) {
ServiceUtil.assertion(bill == null, "订单不存在");
@ -414,36 +367,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
return transactionBillMapper.selectCountGroupBy(query, groupBy);
}
private int fix(TransactionBillVO bill) {
return 0;
// if (bill == null || bill.getBillId() == null) {
// log.warn("修复订单数据失败订单不存在或订单ID为空");
// return 0;
// }
// // 仅可以修复旧订单
// ServiceUtil.assertion(bill.getVersion() == null || bill.getVersion() != 1, "该订单版本无法修复");
// ServiceUtil.assertion(!TransactionBillStatus.payedOrder().contains(bill.getStatus()), "订单未支付,无法修复");
//
// // 获取订单分成数据判断是否已有分成数据
// BonusQuery query = new BonusQuery();
// query.setBillId(bill.getBillId());
// int bonusCount = bonusService.selectCount(query);
// ServiceUtil.assertion(bonusCount > 0, "订单已存在分成数据,无法重复修复");
//
// // 根据订单生成新的分成数据
// List<Bonus> bonusList = bonusConverter.toPo(bill);
// ServiceUtil.assertion(CollectionUtils.isEmptyElement(bonusList), "订单生成分成数据失败");
//
// // 插入数据
// Integer result = transactionTemplate.execute(status -> {
// int insert = bonusService.batchInsert(bonusList);
// ServiceUtil.assertion(insert != bonusList.size(), "订单分成数据插入失败");
// return insert;
// });
//
// return result == null ? 0 : result;
}
// 转换为订单所需的数据
private TransactionBill parseToOrder(RechargeBO bo) {
// 校验
@ -994,60 +917,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
return transactionBillMapper.updateSmTransactionBill(data);
}
// @Override
// public DoPayVO payDeposit(RechargePayDepositBO bo) {
// // 校验
// ServiceUtil.assertion(transactionBillValidator.prePayDeposit(bo));
// //
// Long lockKey = bo.getOrder().getBillId();
// ServiceUtil.assertion(!redisLock.lock(RedisLockKey.PREPAY_DEPOSIT, lockKey), "当前订单押金正在支付,请稍后重试");
// try {
// // 创建支付订单并发起支付
// return payBillService.createPayBill(payBillConverter.toPoByRechargeDeposit(bo));
// } finally {
// redisLock.unlock(RedisLockKey.PREPAY_DEPOSIT, lockKey);
// }
// }
// private int endTimingUse(EndUseBO bo) {
// if (bo == null) {
// return 0;
// }
// TransactionBillVO order = bo.getOrder();
// DeviceVO device = bo.getDevice();
// ServiceUtil.assertion(order == null, "订单不存在");
// ServiceUtil.assertion(!TransactionBillStatus.SUCCESS_DEPOSIT.getStatus().equals(order.getStatus()), "当前订单状态不允许结束");
// ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作");
// ServiceUtil.assertion(device == null, "设备不存在");
//
// LocalDateTime endTime = LocalDateTime.now(); // 结束使用的时间
//
// // 结束使用的电量若蓝牙传过来的值为空或者小于当前电量则使用当前电量否则使用蓝牙传输的电量
// BigDecimal totalEle = this.calcTotalEle(device, bo.getTotalEle());
//
// // 计算金额
// BigDecimal money = this.calcTimingAmount(order, endTime, totalEle);
//
// Integer result = transactionTemplate.execute(status -> {
// // 修改订单信息
// TransactionBill data = new TransactionBill();
// data.setSuitEndEle(totalEle);
// data.setSuitEndTime(endTime);
// data.setStatus(TransactionBillStatus.UNPAID.getStatus());
// data.setMoney(money);
// TransactionBillQuery query = new TransactionBillQuery();
// query.setStatus(TransactionBillStatus.SUCCESS_DEPOSIT.getStatus());
// query.setBillId(order.getBillId());
// query.setIsFinished(false);
// int update = this.updateByQuery(data, query);
// ServiceUtil.assertion(update != 1, "修改订单状态失败,请刷新后重试");
//
// return update;
// });
//
// return result == null ? 0 : result;
// }
private BigDecimal calcTotalEle(DeviceVO device, BigDecimal totalEle) {
if (totalEle == null || totalEle.compareTo(device.getTotalElectriQuantity()) < 0) {
return device.getTotalElectriQuantity();
@ -1186,40 +1055,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
return transactionBillMapper.selectSumOfMoney(query);
}
private int endUseSingle(EndUseBO bo) {
if (bo == null) {
return 0;
}
TransactionBillVO order = bo.getOrder();
DeviceVO device = bo.getDevice();
ServiceUtil.assertion(order == null, "订单不存在");
ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作");
// ServiceUtil.assertion(!TransactionBillStatus.SUCCESS.getStatus().equals(order.getStatus()), "当前订单状态不允许结束");
ServiceUtil.assertion(device == null, "设备不存在");
LocalDateTime endTime = LocalDateTime.now(); // 结束使用的时间
// 结束使用的电量若蓝牙传过来的值为空或者小于当前电量则使用当前电量否则使用蓝牙传输的电量谁大用谁
BigDecimal totalEle = this.calcTotalEle(device, bo.getTotalEle());
Integer result = transactionTemplate.execute(status -> {
// 修改结束使用的时间
TransactionBill data = new TransactionBill();
data.setSuitEndTime(endTime);
data.setSuitEndEle(totalEle);
TransactionBillQuery query = new TransactionBillQuery();
query.setBillId(order.getBillId());
query.setStatus(TransactionBillStatus.SUCCESS.getStatus());
query.setIsFinished(false);
int update = this.updateByQuery(data, query);
ServiceUtil.assertion(update != 1, "修改订单信息失败,请重试:" + order.getBillNo());
return update;
});
return result == null ? 0 : result;
}
/**
* 计算退款金额
*/
@ -1308,12 +1143,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
// 计算分时段计量金额
private BigDecimal calcTimingCountAmount(TransactionBillVO order) {
//---旧的
// BigDecimal startEle = order.getSuitStartEle() == null ? BigDecimal.ZERO : order.getSuitStartEle(); // 起始电量
// BigDecimal usedEle = totalEle == null ? BigDecimal.ZERO : totalEle.subtract(startEle); // 本次用电量
// return calcTimingCountAmount(order.getSuitGearAmount(), order.getSuitGearTime(), order.getSuitStartTime(), endTime, usedEle);
// 旧的 ---
BillEleRecordQuery query = new BillEleRecordQuery();
query.setBillId(order.getBillId());
BigDecimal amount = billEleRecordService.selectSumOfTotalPrice(query);
@ -1321,76 +1150,8 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
return BigDecimal.ZERO;
}
return amount;
// 查询订单电量记录
// BillEleRecordQuery query = new BillEleRecordQuery();
// query.setBillId(order.getBillId());
// List<BillEleRecordVO> recordList = billEleRecordService.selectBillEleRecordList(query);
// // 拟创建新的记录
// LocalDateTime now = LocalDateTime.now();
// DeviceVO device = deviceService.selectById(order.getDeviceId());
// deviceService.pullDeviceInfo(device, null);
// BillEleRecord newRecord = billEleRecordConverter.toPo(order, device, now, now);
// recordList.add((BillEleRecordVO) newRecord);
//
// // 记录根据记录时间排序
// recordList.sort(Comparator.comparing(BillEleRecordVO::getRecordTime));
//
// // 计算每个记录的金额
// BigDecimal lastEle = order.getSuitStartEle();
// BigDecimal totalPrice = BigDecimal.ZERO;
// for (BillEleRecordVO record : recordList) {
//
//
// totalPrice.add(record.getPrice() * )
// }
}
// 计算分时段计量金额
private BigDecimal calcTimingCountAmount(List<BigDecimal> suitGearAmount, List<Integer> suitGearTime, LocalDateTime startTime, LocalDateTime endTime, BigDecimal usedEle) {
if (startTime == null) {
startTime = LocalDateTime.now();
}
BigDecimal total = BigDecimal.ZERO;
// 计算每小时平均用电量
Duration betweenAvg = Duration.between(startTime, endTime);
long minutes = betweenAvg.toMinutes();
if (minutes == 0) {
minutes = 1;
}
BigDecimal avgEle = usedEle.divide(BigDecimal.valueOf(minutes), 6, RoundingMode.HALF_UP); // 平均每分钟的用电量 4.6
// 初始时间
LocalDateTime time = startTime ;
// 计算每分钟的金额
while(endTime.isAfter(time)) {
int hour = time.getHour();
BigDecimal minuteAmount = suitGearAmount.get(suitGearTime.get(hour)).multiply(avgEle);
total = total.add(minuteAmount);
time = time.plusMinutes(1);
}
return total;
}
// 测试总用电量
// public static void main(String[] args) {
// List<BigDecimal> suitGearAmount = Arrays.asList(new BigDecimal(0.22), new BigDecimal("0.39"), new BigDecimal("0.59"), new BigDecimal("0.89"));
// List<Integer> suitGearTime = Arrays.stream("1,1,1,1,1,1,1,2,2,2,1,0,0,0,1,2,3,3,3,2,2,2,2,1".split(",")).map(Integer::parseInt).collect(Collectors.toList());
// LocalDateTime startTime = DateUtils.toLocalDateTime("2024-12-19 12:45:31");
// LocalDateTime endTime = DateUtils.toLocalDateTime("2024-12-20 14:58:35");
// BigDecimal usedEle = new BigDecimal(13.8); // 总用电量 13.8
//
// TransactionBillServiceImpl service = new TransactionBillServiceImpl();
// BigDecimal total = service.calcTimingCountAmount(suitGearAmount, suitGearTime, startTime, endTime, usedEle);
// System.out.println(total);
// }
// 计算分时段计时金额
private BigDecimal calcTimingTimeAmount(TransactionBillVO order, LocalDateTime endTime) {
// 订单不存在 或者 开始时间为空则表示未开始使用返回0
@ -1623,11 +1384,10 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
ServiceUtil.assertion(CollectionUtils.isEmptyElement(bonusList), "订单编号为%s的订单没有收益信息无法退款", bill.getBillNo());
Integer result = transactionTemplate.execute(status -> {
// 分成方余额按照比例扣减
// 按比例计算退款金额
// 分成方按照比例扣减余额
BigDecimal refundAmount = dto.getRefundAmount(); // 总退款金额
int updateRefundBonus = this.updateRefundBonus(bonusList, refundAmount, bill.getMoney());
ServiceUtil.assertion(updateRefundBonus != bonusList.size(), "商户余额更新失败");
ServiceUtil.assertion(updateRefundBonus == 0 || updateRefundBonus > bonusList.size(), "商户余额更新失败");
// 发起退款
PayBillRefundDTO refundDto = new PayBillRefundDTO();
@ -1654,22 +1414,32 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
return 0;
}
// FIXME 构建退款列表
// FIXME 多次退款有问题比如商户已经退款0.3元剩余0.2元第二次退款的时候还是给商户分配了0.3元的退款此时退款会失败
// FIXME 需要重新考虑一下退款金额的分配规则
List<Bonus> refundList = new ArrayList<>(); // 退款的列表
// 构建退款列表
List<Bonus> refundList = new ArrayList<>();
BigDecimal dividedAmount = BigDecimal.ZERO; // 已分配金额
for (BonusVO bonus : bonusList) {
if (bonus == null) {
continue;
}
// 计算扣减金额 = 退款金额 * 分配金额 / 总金额
BigDecimal bonusRefundAmount = refundAmount.multiply(bonus.getAmount()).divide(billAmount, 2, RoundingMode.HALF_UP);
// 计算该分成记录的可退金额 = 分配金额 - 已退金额
BigDecimal availableRefund = bonus.getAmount().subtract(bonus.getRefundAmount() == null ? BigDecimal.ZERO : bonus.getRefundAmount());
if (availableRefund.compareTo(BigDecimal.ZERO) <= 0) {
continue; // 跳过已无可退金额的记录
}
// 按原始比例计算本次应退金额 = 本次退款总额 * (原始分配金额/订单总额)
BigDecimal proportion = bonus.getAmount().divide(billAmount, 6, RoundingMode.HALF_UP);
BigDecimal shouldRefund = refundAmount.multiply(proportion).setScale(2, RoundingMode.HALF_UP);
// 实际退款金额取可退金额与应退金额的较小值
BigDecimal actualRefund = shouldRefund.min(availableRefund);
Bonus refundBonus = new Bonus();
refundBonus.setId(bonus.getId());
refundBonus.setStatus(bonus.getStatus());
refundBonus.setRefundAmount(bonusRefundAmount);
refundBonus.setRefundAmount(actualRefund);
refundBonus.setArrivalId(bonus.getArrivalId());
refundBonus.setArrivalType(bonus.getArrivalType());
refundBonus.setBillNo(bonus.getBillNo());
@ -1677,60 +1447,110 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
refundBonus.setToBalance(bonus.getToBalance());
refundList.add(refundBonus);
dividedAmount = dividedAmount.add(bonusRefundAmount);
dividedAmount = dividedAmount.add(actualRefund);
}
// 若存在误差则平台吃掉误差
if (dividedAmount.compareTo(refundAmount) != 0) {
Bonus platform = refundList.stream().filter(bonus -> bonus.getArrivalType().equals(BonusArrivalType.PLATFORM.getType())).findFirst().orElse(null);
ServiceUtil.assertion(platform == null, "平台不存在");
BigDecimal subtract = refundAmount.subtract(dividedAmount); // 误差值
platform.setRefundAmount(platform.getRefundAmount().add(subtract));
}
// 处理误差
handleRefundAmountDiff(refundList, bonusList, dividedAmount, refundAmount);
// 校验金额
for (Bonus bonus : refundList) {
ServiceUtil.assertion(bonus.getRefundAmount().compareTo(BigDecimal.ZERO) < 0, "退款金额不允许小于0");
}
BigDecimal sum = refundList.stream().map(Bonus::getRefundAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal sum = CollectionUtils.sumDecimal(refundList, Bonus::getRefundAmount);
ServiceUtil.assertion(sum.compareTo(refundAmount) != 0, "退款金额分配出错");
// 执行退款逻辑
return executeRefund(refundList);
}
/**
* 处理退款金额分配的误差
* @param refundList 退款列表
* @param bonusList 原始分成列表
* @param dividedAmount 已分配金额
* @param refundAmount 需要退款总金额
*/
private void handleRefundAmountDiff(List<Bonus> refundList, List<BonusVO> bonusList, BigDecimal dividedAmount, BigDecimal refundAmount) {
if (dividedAmount.compareTo(refundAmount) == 0) {
return;
}
// 误差值
BigDecimal diff = refundAmount.subtract(dividedAmount);
// 多个分成方共同承担误差
BigDecimal remainingDiff = diff;
for (Bonus refundBonus : refundList) {
// 获取原始分成记录
BonusVO originalBonus = bonusList.stream()
.filter(b -> b.getId().equals(refundBonus.getId()))
.findFirst()
.orElse(null);
if (originalBonus == null) {
continue;
}
// 计算当前分成方的剩余可退金额
BigDecimal availableRefund = originalBonus.getAmount()
.subtract(originalBonus.getRefundAmount() == null ? BigDecimal.ZERO : originalBonus.getRefundAmount())
.subtract(refundBonus.getRefundAmount());
// 如果剩余可退金额足够承担误差
if (availableRefund.compareTo(BigDecimal.ZERO) > 0) {
// 取可用退款金额与剩余误差中的较小值
BigDecimal adjustAmount = availableRefund.min(remainingDiff);
refundBonus.setRefundAmount(refundBonus.getRefundAmount().add(adjustAmount));
remainingDiff = remainingDiff.subtract(adjustAmount);
// 如果误差已经分配完毕则退出
if (remainingDiff.compareTo(BigDecimal.ZERO) == 0) {
return;
}
}
}
// 如果仍然无法完全分配误差,抛出异常
if (remainingDiff.compareTo(BigDecimal.ZERO) > 0) {
throw new ServiceException("退款金额分配出错:无法处理误差金额");
}
}
// 执行分成退款
private int executeRefund(List<Bonus> refundList) {
Integer result = transactionTemplate.execute(status -> {
int update = 0;
for (Bonus bonus : refundList) {
// 根据分成状态来决定是否扣减用户余额给用户加余额前需要判断分成状态是否为待分成
if (BonusStatus.WAIT_DIVIDE.getStatus().equals(bonus.getStatus())) {
// 待分成扣减待分成金额加上退款金额
int refund = bonusService.refundWhenWaitDivide(bonus.getId(), bonus.getRefundAmount());
ServiceUtil.assertion(refund != 1, "可退款金额不足");
} else if (BonusStatus.DIVIDEND.getStatus().equals(bonus.getStatus())) {
// 已分成扣减已分成金额加上退款金额
int refund = bonusService.refundWhenDividend(bonus.getId(), bonus.getRefundAmount());
ServiceUtil.assertion(refund != 1, "可退款金额不足");
// 扣减分成方余额
ServiceUtil.assertion(bonus.getToBalance() == null, "数据异常,请联系管理员处理");
if (bonus.getToBalance() != null && bonus.getToBalance()) {
if (BonusArrivalType.userList().contains(bonus.getArrivalType())) {
userService.subtractBalance(bonus.getArrivalId(), bonus.getRefundAmount(), String.format("订单退款:%s", bonus.getBillNo()), RecordBalanceBstType.RECHARGE, bonus.getBillId());
userService.subtractBalance(
bonus.getArrivalId(),
bonus.getRefundAmount(),
String.format("订单退款:%s", bonus.getBillNo()),
RecordBalanceBstType.RECHARGE,
bonus.getBillId()
);
} else if (BonusArrivalType.deptList().contains(bonus.getArrivalType())) {
// deptService.subtractBalance(bonus.getArrivalId(), bonus.getRefundAmount(), String.format("订单退款:%s", bonus.getBillNo()), RecordBalanceBstType.RECHARGE, bonus.getBillId());
// deptService相关逻辑暂时不处理
}
}
}
update++;
}
return update;
});
return result == null ? 0 : result;
}
@Override
public int updateByQuery(TransactionBill data, TransactionBillQuery query) {
if (query == null) {
@ -1809,33 +1629,6 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
return 0;
}
// 结束使用订单
// @Override
// public int endUse(EndUseBO bo) {
// if (bo == null) {
// return 0;
// }
//
// return this.endSmartUse(bo);
// 智能订单
// if (SuitFeeMode.SMART.getMode().equals(bill.getSuitFeeMode())) {
// // 单次智能
//// if (SuitFeeType.singleList().contains(bill.getSuitFeeType())) {
//// }
//// // 分时段智能
//// else if (SuitFeeType.timingList().contains(bill.getSuitFeeType())){
//// return this.endTimingUse(bo);
//// }
// }
// // 单次订单
// else if (SuitFeeMode.SINGLE.getMode().equals(bill.getSuitFeeMode())) {
// return this.endUseSingle(bo);
// }
//
// return 0;
// }
@Override
public <T> List<TransactionAmountVO<T>> selectCommonSumOfMoney(TransactionBillQuery query, String groupBy) {
return transactionBillMapper.selectCommonSumOfMoney(query, groupBy);

View File

@ -180,19 +180,4 @@ public class SmTransactionBillController extends BaseController
return error("暂不支持该订单类型");
}
// 修复订单数据
@PutMapping("/{billId}/fix")
@Log(title = "修复订单数据", businessType = BusinessType.UPDATE)
@PreAuthorize("@ss.hasPermi('system:bill:fix')")
public AjaxResult fix(@PathVariable Long billId) {
return toAjax(transactionBillService.fix(billId));
}
@PutMapping("/fixAll")
@Log(title = "修复所有订单数据", businessType = BusinessType.UPDATE)
@PreAuthorize("@ss.hasPermi('system:bill:fix')")
public AjaxResult fixAll() {
return toAjax(transactionBillService.fixAll());
}
}