From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 28 三月 2025 19:57:56 +0800 Subject: [PATCH] 修改bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java | 62 ++++++++++++++++++------------ 1 files changed, 37 insertions(+), 25 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 da6acf4..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,16 +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; @@ -54,25 +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."); } int weeks = DateUtil.getNowWeekDay(); if(weeks != withdrawalRule){ - return ResultUtil.error((language == 1 ? "每周" : language == 2 ? "Every" : "Chaque") +(withdrawalRule==1? (language == 1 ? "一" : language == 2 ? "Monday" : "lundi") : + 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; @@ -81,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)); } @@ -118,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(); } @@ -138,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; } @@ -155,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){//用户 @@ -273,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