From d6af8c450e89d515f7f77a2b4b4ddf9c5f9ad4db Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 03 七月 2023 22:09:23 +0800 Subject: [PATCH] 修改bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java | 39 +++++++++++++++++++++++++++++---------- 1 files changed, 29 insertions(+), 10 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java index e2672e5..1b6aab8 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java @@ -8,6 +8,10 @@ import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.service.IWithdrawalService; import com.stylefeng.guns.modular.system.util.ResultUtil; +import com.stylefeng.guns.modular.system.util.Tingg.TinggPayoutUtil; +import com.stylefeng.guns.modular.system.util.Tingg.model.AuthStatus; +import com.stylefeng.guns.modular.system.util.Tingg.model.PayoutResponse; +import com.stylefeng.guns.modular.system.util.Tingg.model.Results; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; @@ -29,8 +33,8 @@ @Autowired private IUserInfoService userInfoService; - /* @Autowired - private ICBCPayUtil icbcPayUtil;*/ + @Autowired + private TinggPayoutUtil tinggPayoutUtil; private Map<String, Timer> timerMap = new HashMap<>(); @@ -46,16 +50,17 @@ * @throws Exception */ @Override - public ResultUtil withdrawal(Double money, String code, String name, Integer uid) throws Exception { + public ResultUtil withdrawal(Double money, String code, String name, Integer uid, Integer language) throws Exception { + language = userInfoService.queryLanguage(uid, language); if(money.compareTo(0D) <= 0){ - return ResultUtil.error("提现金额必须大于0"); + return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than 0" : "Le montant du retrait doit être supérieur à 0"); } UserInfo userInfo = userInfoService.selectById(uid); if(null == userInfo.getBalance()){ - return ResultUtil.error("账户没有余额,不能提现"); + return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant"); } if(userInfo.getBalance().compareTo(money) < 0){ - return ResultUtil.error("提现金额必须小于账户余额"); + return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde de compte insuffisant"); } Withdrawal withdrawal = new Withdrawal(); @@ -69,8 +74,17 @@ withdrawal.setUserId(uid); withdrawal.setUserType(1); - /*ResultUtil<String> transfer = icbcPayUtil.transfer(Double.valueOf(withdrawal.getMoney() * 100).longValue(), withdrawal.getCode(), withdrawal.getName()); - withdrawal.setSerialNo(transfer.getData());*/ + PayoutResponse payoutResponse = tinggPayoutUtil.sendPayout("+233" + userInfo.getPhone(), withdrawal.getCode(), withdrawal.getMoney(), "", "用户提现"); + AuthStatus authStatus = payoutResponse.getAuthStatus(); + Results results = payoutResponse.getResults().get(0); + String statusCode = results.getStatusCode(); + if(!"131".equals(authStatus.getAuthStatusCode())){ + return ResultUtil.error(authStatus.getAuthStatusDescription()); + } + if(!"139".equals(statusCode)){ + return ResultUtil.error(results.getStatusDescription()); + } + withdrawal.setSerialNo(results.getBeepTransactionID()); this.insert(withdrawal); double v = new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); @@ -89,9 +103,14 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryWithdrawal(Integer uid, Integer pageNum, Integer size) throws Exception { + public List<Map<String, Object>> queryWithdrawal(Integer uid, Integer pageNum, Integer size, Integer language) throws Exception { pageNum = (pageNum - 1) * size; - return withdrawalMapper.queryWithdrawal(uid, 1, pageNum, size); + String name = language == 1 ? "银行卡提现" : language == 2 ? "Bank card withdrawal" : "Retrait par carte bancaire"; + List<Map<String, Object>> list = withdrawalMapper.queryWithdrawal(uid, 1, pageNum, size); + for (Map<String, Object> map : list) { + map.put("name", name); + } + return list; } -- Gitblit v1.7.1