From 9b68c6e4d6a3659443280fe261447d18d84ba62a Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 13 五月 2024 11:01:58 +0800 Subject: [PATCH] 新增加接口 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java | 77 ++++++++++++++++++++++++++++++-------- 1 files changed, 61 insertions(+), 16 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java index 662c4eb..c2738ae 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java @@ -15,10 +15,12 @@ import com.stylefeng.guns.modular.system.warpper.QueryHistoricalSettlement; import com.stylefeng.guns.modular.system.warpper.QuerySettlementAmount; import com.stylefeng.guns.modular.system.warpper.QuerySettlementAmountDetails; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -47,6 +49,9 @@ @Value("${callbackPath}") private String callbackPath;//支付回调网关地址 + + @Resource + private IBalanceUsageRecordService balanceUsageRecordService; @@ -151,23 +156,40 @@ Double laveActivityMoney = driver1.getLaveActivityMoney(); Double laveBusinessMoney = driver1.getLaveBusinessMoney(); - if(laveBusinessMoney.compareTo(payMoney) < 0){ - driver1.setLaveBusinessMoney(0D); - BigDecimal m = new BigDecimal(payMoney).subtract(new BigDecimal(laveBusinessMoney)); - driver1.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(m).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + if(laveActivityMoney.compareTo(payMoney) < 0){ + driver1.setLaveActivityMoney(0D); + BigDecimal m = new BigDecimal(payMoney).subtract(new BigDecimal(laveActivityMoney)); + driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(m).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + settlementRecord.setPayMoney(laveActivityMoney); + settlementRecord.setPaymentStatus(2); + settlementRecord.setPayType(payType); + settlementRecord.setBalanceType(1); + settlementRecord.setPayTime(new Date()); + this.updateById(settlementRecord); + balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, laveActivityMoney, settlementRecord.getType() + 2); + balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, m.doubleValue(), settlementRecord.getType() + 2); + + SettlementRecord settlementRecord1 = new SettlementRecord(); + BeanUtils.copyProperties(settlementRecord, settlementRecord1); + settlementRecord1.setId(null); + settlementRecord1.setPayMoney(m.doubleValue()); + settlementRecord1.setBalanceType(2); + this.insert(settlementRecord1); + }else{ - driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver1.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + settlementRecord.setPaymentStatus(2); + settlementRecord.setPayType(payType); + settlementRecord.setBalanceType(1); + settlementRecord.setPayTime(new Date()); + this.updateById(settlementRecord); + balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney, settlementRecord.getType() + 2); } driver1.setBalance(new BigDecimal(driver1.getBalance()).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); //添加交易明细 transactionDetailsService.saveData(driverId, "线下结算", payMoney, 2, 1, 2, null, null); driverService.updateById(driver1); - - settlementRecord.setPaymentStatus(2); - settlementRecord.setPayType(payType); - settlementRecord.setPayTime(new Date()); - this.updateById(settlementRecord); return ResultUtil.success(""); } return resultUtil; @@ -182,14 +204,37 @@ @Override public List<QueryHistoricalSettlement> queryHistoricalSettlement(Integer language, Integer driverId, Integer pageNum, Integer size) { pageNum = (pageNum - 1) * size; - List<QueryHistoricalSettlement> list = this.baseMapper.queryHistoricalSettlement(driverId, pageNum, size); - for (QueryHistoricalSettlement queryHistoricalSettlement : list) { - if(ToolUtil.isNotEmpty(queryHistoricalSettlement.getCreateTime())){ - String createTime = queryHistoricalSettlement.getCreateTime(); - queryHistoricalSettlement.setCreateTime(DateUtil.conversionFormat(language, createTime)); + List<Map<String, Object>> list = this.baseMapper.queryHistoricalSettlement(driverId, pageNum, size); + List<QueryHistoricalSettlement> datas = new ArrayList<>(); + for (Map<String, Object> map : list) { + QueryHistoricalSettlement queryHistoricalSettlement = new QueryHistoricalSettlement(); + if(null != map.get("createTime")){ + queryHistoricalSettlement.setCreateTime(DateUtil.conversionFormat(language, map.get("createTime").toString())); } + if(null != map.get("price")){ + queryHistoricalSettlement.setPrice(Double.valueOf(map.get("price").toString())); + } + if(null != map.get("type")){ + queryHistoricalSettlement.setType(Integer.valueOf(map.get("type").toString())); + } + // TODO 待翻译 + if(null != map.get("payType")){ + Integer balanceType = Integer.valueOf(map.get("balanceType").toString()); + switch (map.get("payType").toString()){ + case "1": + queryHistoricalSettlement.setPayType(language == 1 ? "手机支付" : language == 2 ? "" : ""); + break; + case "2": + queryHistoricalSettlement.setPayType(language == 1 ? "线上支付" : language == 2 ? "" : ""); + break; + default: + queryHistoricalSettlement.setPayType(language == 1 ? "余额支付(" + (balanceType == 1 ? "奖励" : "收入") + ")" : language == 2 ? "" : ""); + break; + } + } + datas.add(queryHistoricalSettlement); } - return list; + return datas; } -- Gitblit v1.7.1