From 831e3312572cf29dd91cbd882ef3dce809ac852d Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 14 六月 2023 20:58:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/1.1' into 1.1 --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CashWithdrawalServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 20 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CashWithdrawalServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CashWithdrawalServiceImpl.java index 5d425b6..5500602 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CashWithdrawalServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CashWithdrawalServiceImpl.java @@ -89,13 +89,15 @@ accountChangeDetail.setUserId(driver.getId()); accountChangeDetail.setType(1); accountChangeDetail.setChangeType(type == 1 ? 4 : 6); - accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); if(type == 1){ + accountChangeDetail.setOldData(driver.getBalance() + driver.getBackgroundBalance()); driver.setBalance(driver.getBalance() - money); + accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance()); }else{ + accountChangeDetail.setOldData(driver.getCommission() + driver.getCouponBalance()); driver.setCommission(driver.getCommission() - money); + accountChangeDetail.setNewData(driver.getCouponBalance() + driver.getCommission()); } - accountChangeDetail.setNewData(driver.getBalance() + driver.getBackgroundBalance() + driver.getCouponBalance() + driver.getCommission()); accountChangeDetail.setExplain(type == 1 ? "账户余额提现" : "佣金余额提现"); driverService.updateById(driver); accountChangeDetailService.saveData(accountChangeDetail); @@ -103,22 +105,38 @@ if(type == 1){//余额提现,调用分账接口 -->确认收货--->提现 fenzhang(driver, money, cashWithdrawal, 1); - }else{//佣金提现,调用充值接口数据进行分账 - fenzhang(driver, money, cashWithdrawal, 2); + }else{//佣金提现,直接提现到银行卡 + Withdraw withdraw = new Withdraw(); + withdraw.setUserId(driver.getMerchantNumber()); + withdraw.setAmount(String.valueOf(Double.valueOf(money * 100).intValue())); + withdraw.setOrderName("账户余额提现"); + withdraw.setRemark("账户余额提现"); + withdraw.setNotifyUrl(callbackPath + "/base/driver/withdrawCashCallback"); + withdraw.setParameter1(cashWithdrawal.getId().toString()); + TrhRequest<Withdraw> request1 = new TrhRequest(); + InterfaceResponse execute = request1.execute(withdraw, Withdraw.SERVICE_CODE);//结算(提现) + if("0000".equals(execute.getCode())){ + JSONObject jsonObject1 = JSON.parseObject(execute.getResult()); + String merOrderId1 = jsonObject1.getString("merOrderId"); + Integer status = jsonObject1.getInteger("status");//0:待处理;1:成功;2:失败 + if(1 == status){ + cashWithdrawal.setOrderNumber(merOrderId1); + cashWithdrawal.setState(2); + this.updateById(cashWithdrawal); + } + if(2 == status){ + System.err.println("结算接口异常【提现】:" + jsonObject1.getString("statusMsg")); + } + }else{ + System.err.println("结算接口异常【提现】:" + execute.getMsg()); + } } - -// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); -// String outDetailNo = sdf.format(new Date()) + cashWithdrawal.getId(); -// -// String s = payMoneyUtil.weixinTransferMoney(outDetailNo, money, driver.getOpenid(), driver.getName(), "【超省新代驾】提现付款!"); -// if(ToolUtil.isEmpty(s)){ -// return ResultUtil.error("提现异常,请联系管理员"); -// } -// cashWithdrawal.setState(2); -// cashWithdrawal.setOrderNumber(s); -// this.updateById(cashWithdrawal); return ResultUtil.success(); } + + + + /** @@ -161,7 +179,7 @@ List<PamentOrderUser> splitList = new ArrayList<>(); PamentOrderUser pamentOrderUser = new PamentOrderUser(); pamentOrderUser.setSplitUserId(driver.getMerchantNumber()); - pamentOrderUser.setSplitAmount(amount.toString()); + pamentOrderUser.setSplitAmount(String.valueOf(Double.valueOf(amount * 100).intValue())); pamentOrderUser.setSplitType("1"); splitList.add(pamentOrderUser); complete.setSplitList(splitList); @@ -213,7 +231,7 @@ List<PamentOrderUser> splitList = new ArrayList<>(); PamentOrderUser pamentOrderUser = new PamentOrderUser(); pamentOrderUser.setSplitUserId(driver.getMerchantNumber()); - pamentOrderUser.setSplitAmount(surplusDividedAmount.toString()); + pamentOrderUser.setSplitAmount(String.valueOf(Double.valueOf(surplusDividedAmount * 100).intValue())); pamentOrderUser.setSplitType("1"); splitList.add(pamentOrderUser); complete.setSplitList(splitList); @@ -263,11 +281,11 @@ Receive receive = new Receive(); receive.setOriginalMerOrderId(rechargeRecord.getOrderNumber()); receive.setAsynMerOrderId(divisionRecord.getMerOrderId()); - receive.setRcvAmount(divisionRecord.getAmount().toString()); + receive.setRcvAmount(String.valueOf(Double.valueOf(divisionRecord.getAmount() * 100).intValue())); List<ReceiveUser> splitList = new ArrayList<>(); ReceiveUser receiveUser = new ReceiveUser(); receiveUser.setSplitUserId(driver.getMerchantNumber()); - receiveUser.setRcvSplitAmount(divisionRecord.getAmount().toString()); + receiveUser.setRcvSplitAmount(String.valueOf(Double.valueOf(divisionRecord.getAmount() * 100).intValue())); splitList.add(receiveUser); receive.setSplitList(splitList); TrhRequest<Receive> request = new TrhRequest(); @@ -278,7 +296,7 @@ if(ToolUtil.isNotEmpty(merOrderId)){ Withdraw withdraw = new Withdraw(); withdraw.setUserId(driver.getMerchantNumber()); - withdraw.setAmount(divisionRecord.getAmount().toString()); + withdraw.setAmount(String.valueOf(Double.valueOf(divisionRecord.getAmount() * 100).intValue())); withdraw.setOrderName("账户余额提现"); withdraw.setRemark("账户余额提现"); withdraw.setNotifyUrl(callbackPath + "/base/driver/withdrawCashCallback"); -- Gitblit v1.7.1