From 9317fed1cea5372d9997a8273c07f041db94f99c Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期二, 28 五月 2024 09:40:11 +0800
Subject: [PATCH] 新增功能
---
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java | 76 ++++++++++++++++++++++++++++++--------
1 files changed, 60 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..dc8cfd9 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,36 @@
@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()));
+ }
+ 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 ? "Mobile Money" : "Paiement mobile");
+ break;
+ case "2":
+ queryHistoricalSettlement.setPayType(language == 1 ? "线上支付" : language == 2 ? "Bank Card" : "Carte bancaire");
+ break;
+ default:
+ queryHistoricalSettlement.setPayType(language == 1 ? "余额支付(" + (balanceType == 1 ? "奖励" : "收入") + ")" : language == 2 ? "Wallet (" + (balanceType == 1 ? "Reward" : "Income") + ")" : "Portefeuille (" + (balanceType == 1 ? "Récompense" : "Revenu") + ")");
+ break;
+ }
+ }
+ datas.add(queryHistoricalSettlement);
}
- return list;
+ return datas;
}
--
Gitblit v1.7.1