From bfa0b11dfbfe5b71e11f4544e688e4d9f325d1b5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 09 六月 2025 10:26:51 +0800
Subject: [PATCH] 修改bug和管理后台报表
---
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java | 74 ++++++++++++++++++++-----------------
1 files changed, 40 insertions(+), 34 deletions(-)
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
index 1b9c440..f3dba7d 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -7,6 +7,7 @@
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.UserInfo;
import com.stylefeng.guns.modular.system.model.Withdrawal;
+import com.stylefeng.guns.modular.system.service.IBalanceUsageRecordService;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.service.IWithdrawalService;
import com.stylefeng.guns.modular.system.util.ResultUtil;
@@ -15,7 +16,6 @@
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -34,17 +34,9 @@
@Autowired
private IDriverService driverService;
-
- /*@Autowired
- private ICBCPayUtil icbcPayUtil;*/
-
- @Autowired
- private RestTemplate internalRestTemplate;
-
-
-
- private Map<String, Timer> timerMap = new HashMap<>();
-
+
+ @Resource
+ private IBalanceUsageRecordService balanceUsageRecordService;
@@ -55,30 +47,25 @@
* @throws Exception
*/
@Override
- public ResultUtil withdrawal(Double money, Integer uid, Integer type, String remark, Integer language) throws Exception {
+ public synchronized ResultUtil withdrawal(Double money, Integer uid, Integer type, String remark, Integer language) throws Exception {
if(money.compareTo(0D) <= 0){
- return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "The withdrawal amount must be greater than 0" : "Le montant du retrait doit être supérieur à 0");
+ return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than zero." : "Le montant du retrait doit être supérieur à zéro.");
}
Driver driver = driverService.selectById(uid);
Integer withdrawalRule = driverService.getWithdrawalRule();
if(withdrawalRule==null){
- return ResultUtil.error(language == 1 ? "暂未设置提现时间,请联系平台" : language == 2 ? "No withdrawal time has been set, please contact the platform" : "Aucune heure de retrait n’a été définie pour le moment. Veuillez contacter la plateforme");
+ return ResultUtil.error(language == 1 ? "暂未设置提现时间,请联系平台" : language == 2 ? "Withdrawal time is not set yet, please contact the platform." : "L’heure de retrait n’est pas encore fixée, veuillez contacter la plateforme.");
}
- String week =withdrawalRule==1?"星期一":
- withdrawalRule==2?"星期二":
- withdrawalRule==3?"星期三":
- withdrawalRule==4?"星期四":
- withdrawalRule==5?"星期五":
- withdrawalRule==6?"星期六":"星期日";
- String weeks = DateUtil.getAfterDayWeek("0");
- if(!weeks.equals(week)){
- return ResultUtil.error((language == 1 ? "每周" : language == 2 ? "Every" : "Chaque") +(withdrawalRule==1? (language == 1 ? "一" : language == 2 ? "Monday" : "lundi") :
+ int weeks = DateUtil.getNowWeekDay();
+
+ if(weeks != withdrawalRule){
+ return ResultUtil.error((language == 1 ? "每周" : language == 2 ? "Apply for withdrawal every " : "Faites une demande de retrait tous les ") +(withdrawalRule==1? (language == 1 ? "一" : language == 2 ? "Monday" : "lundi") :
withdrawalRule==2?(language == 1 ? "二" : language == 2 ? "Tuesday" : "mardi"):
withdrawalRule==3?(language == 1 ? "三" : language == 2 ? "Wednesday" : "mercredi"):
withdrawalRule==4?(language == 1 ? "四" : language == 2 ? "Thursday" : "jeudi"):
withdrawalRule==5?(language == 1 ? "五" : language == 2 ? "Friday" : "vendredi"):
withdrawalRule==6?(language == 1 ? "六" : language == 2 ? "Saturday" : "samedi"):(language == 1 ? "日" : language == 2 ? "Sunday" : "dimanche")) +
- (language == 1 ? "统一申请提现,平台统一处理。" : language == 2 ? "nified application for withdrawal, platform unified processing" : "Demande de retrait unifiée et traitement unifié sur la plateforme"));
+ (language == 1 ? "统一申请提现,平台统一处理。" : language == 2 ? ", the platform will handle them together." : ", la plateforme les traitera ensemble."));
}
if(null == type){
type = 1;
@@ -87,22 +74,22 @@
Withdrawal withdrawal = new Withdrawal();
if(type == 1){
if(null == driver.getLaveActivityMoney()){
- return ResultUtil.error(language == 1 ? "账户没有余额,不能提现" : language == 2 ? "There is no balance in the account, no cash can be withdrawn" : "Le compte n’a pas de solde et ne peut pas être retiré");
+ return ResultUtil.error(language == 1 ? "账户没有余额,不能提现" : language == 2 ? "Insufficient balance, unable to withdraw." : "Solde insuffisant, impossibilité de retirer.");
}
if(driver.getLaveActivityMoney().compareTo(money) < 0){
- return ResultUtil.error(language == 1 ? "提现金额必须小于账户余额" : language == 2 ? "The withdrawal amount must be less than the account balance" : "Le montant du retrait doit être inférieur au solde du compte");
+ return ResultUtil.error(language == 1 ? "提现金额必须小于账户余额" : language == 2 ? "Withdrawal amount must be less than account balance." : "Le montant du retrait doit être inférieur au solde du compte.");
}
withdrawal.setBalance(driver.getLaveActivityMoney());
}
if(type == 2){
if(null == driver.getLaveBusinessMoney()){
- return ResultUtil.error(language == 1 ? "账户没有余额,不能提现" : language == 2 ? "There is no balance in the account, no cash can be withdrawn" : "Le compte n’a pas de solde et ne peut pas être retiré");
+ return ResultUtil.error(language == 1 ? "账户没有余额,不能提现" : language == 2 ? "Insufficient balance, unable to withdraw." : "Solde insuffisant, impossibilité de retirer.");
}
Double money1 = driverService.getThisWeekMoney(uid);
Double laveBusinessMoney =driver.getLaveBusinessMoney()-(money1==null?0d:money1);
if(laveBusinessMoney.compareTo(money) < 0){
- return ResultUtil.error(language == 1 ? "提现金额必须小于账户余额" : language == 2 ? "The withdrawal amount must be less than the account balance" : "Le montant du retrait doit être inférieur au solde du compte");
+ return ResultUtil.error(language == 1 ? "提现金额必须小于账户余额" : language == 2 ? "Withdrawal amount must be less than account balance." : "Le montant du retrait doit être inférieur au solde du compte.");
}
withdrawal.setBalance(driver.getLaveBusinessMoney()-(money1==null?0d:money1));
}
@@ -124,12 +111,13 @@
driver.setLaveActivityMoney(v);
v = new BigDecimal(driver.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
driver.setBalance(v);
+ balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 1, money, 6);
}
if(type == 2){
double v = new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
driver.setLaveBusinessMoney(v);
+ balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, money, 6);
}
- this.insert(withdrawal);
driverService.updateById(driver);
return ResultUtil.success();
}
@@ -144,9 +132,16 @@
* @throws Exception
*/
@Override
- public List<Map<String, Object>> queryWithdrawal(Integer uid, Integer type, Integer pageNum, Integer size) throws Exception {
+ public List<Map<String, Object>> queryWithdrawal(Integer language, Integer uid, Integer type, Integer state, Integer pageNum, Integer size) throws Exception {
pageNum = (pageNum - 1) * size;
- return withdrawalMapper.queryWithdrawal(uid, 2, type, pageNum, size);
+ List<Map<String, Object>> list = withdrawalMapper.queryWithdrawal(uid, 2, type, state, pageNum, size);
+ for (Map<String, Object> map : list) {
+ if(null != map.get("insertTime")){
+ String insertTime = map.get("insertTime").toString();
+ map.put("insertTime", com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(language, insertTime));
+ }
+ }
+ return list;
}
@@ -161,10 +156,10 @@
public ResultUtil withdrawalAudit(Integer id, Integer state, Integer language) throws Exception {
Withdrawal withdrawal = this.selectById(id);
if(withdrawal.getState() == 2){
- return ResultUtil.error(language == 1 ? "申请已审核通过,不能重复提交" : language == 2 ? "The application has been approved and cannot be submitted again" : "La demande a été examinée et approuvée et ne peut pas être soumise en double");
+ return ResultUtil.error(language == 1 ? "申请已审核通过,不能重复提交" : language == 2 ? "Application was approved, do not resubmit." : "La demande a été approuvée, ne pas la soumettre à nouveau.");
}
if(withdrawal.getState() == 3){
- return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "The application has been rejected and cannot be submitted again" : "La demande a été examinée et rejetée, ne peut pas être soumise en double");
+ return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "Plate number is already in use" : "Le numéro de plaque est déjà utilisé");
}
if(withdrawal.getUserType() == 1){//用户
@@ -279,4 +274,15 @@
}
return ResultUtil.success();
}
+
+ /**
+ * 获取提现总额
+ * @param uid
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public Double queryWithdrawalSum(Integer uid, Integer type) throws Exception {
+ return this.baseMapper.queryWithdrawalSum(uid, 2, type);
+ }
}
--
Gitblit v1.7.1