From a0af42a6acfc7a0ebbb92bffc1816525e508af70 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 17 十月 2025 16:54:06 +0800 Subject: [PATCH] 修改bug --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java | 616 +------------------------------------------------------ 1 files changed, 19 insertions(+), 597 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java index 406ea88..3995c4a 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java @@ -1,49 +1,46 @@ package com.stylefeng.guns.modular.system.controller.general; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.util.ZipUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.base.tips.SuccessTip; +import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.common.constant.state.ManagerStatus; +import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.controller.resp.TAgentResp; import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; -import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; -import com.stylefeng.guns.modular.system.util.MallBook.model.*; -import com.stylefeng.guns.modular.system.util.MallBook.util.TrhRequest; import com.stylefeng.guns.modular.system.util.RedisUtil; -import com.stylefeng.guns.modular.system.util.ResultUtil; import io.swagger.annotations.ApiOperation; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.ui.Model; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; -import org.springframework.ui.Model; -import org.springframework.beans.factory.annotation.Autowired; -import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.math.BigDecimal; -import java.net.InetAddress; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * 控制器 @@ -84,6 +81,9 @@ @Autowired private ICompanyFundFlowService companyFundFlowService; + @Autowired + private ShiroExtUtil shiroExtUtil; + @Value("${callbackPath}") private String callbackPath; @@ -93,7 +93,7 @@ */ @RequestMapping("/tAgent") public String index(Model model) { - model.addAttribute("userType", Objects.requireNonNull(ShiroKit.getUser()).getRoleType()); + model.addAttribute("userType", Objects.requireNonNull(shiroExtUtil.getUser()).getRoleType()); return PREFIX + "tAgent.html"; } @@ -237,241 +237,9 @@ user.setSex(1); userService.insert(user); - new Thread(new Runnable() { - @Override - public void run() { - registeredMerchant(tAgent); - } - }).start(); - return SUCCESS_TIP; } - - - public void registeredMerchant(TAgent tAgent){ - if(tAgent.getUserType() == 0){ - Register registerVO = new Register(); - registerVO.setMerUserId("agent_" + tAgent.getId()); - registerVO.setPhone(tAgent.getPrincipalPhone()); - registerVO.setUserType("0"); - registerVO.setUserName(tAgent.getMerchantName()); - registerVO.setCertId(tAgent.getMerchantIDCode()); - registerVO.setNotifyUrl(callbackPath + "/base/tAgent/microenterpriseCallback"); - TrhRequest<Register> request = new TrhRequest(); - InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE); - if("0000".equals(execute.getCode())){ - JSONObject jsonObject = JSON.parseObject(execute.getResult()); - String status = jsonObject.getString("status"); - if("2".equals(status)){ - tAgent.setMerchantStatus(2); - tAgentService.updateById(tAgent); - System.err.println("注册代理商子商户失败"); - } - if("0".equals(status)){ - tAgent.setMerchantStatus(0); - tAgentService.updateById(tAgent); - System.err.println("注册代理商子商户处理中"); - } - if("1".equals(status)){ - String userId = jsonObject.getString("userId"); - tAgent.setMerchantNumber(userId); - tAgent.setMerchantStatus(1); - tAgentService.updateById(tAgent); - - BindAccount bindAccount = new BindAccount(); - bindAccount.setUserId(tAgent.getMerchantNumber()); - bindAccount.setCertId(tAgent.getMerchantIDCode()); - bindAccount.setCardName(tAgent.getCardName()); - bindAccount.setCardNo(tAgent.getCardNo()); - bindAccount.setBankAcctType(tAgent.getBankAcctType().toString()); - bindAccount.setPhone(tAgent.getPhone()); - TrhRequest<BindAccount> request1 = new TrhRequest(); - InterfaceResponse execute1 = request1.execute(bindAccount, BindAccount.SERVICE_CODE); - if("0000".equals(execute1.getCode())){ - JSONObject jsonObject1 = JSON.parseObject(execute1.getResult()); - String status1 = jsonObject1.getString("status"); - if("2".equals(status1)){ - tAgent.setBankStatus(2); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户失败" ); - } - if("1".equals(status1)){ - tAgent.setBankStatus(1); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户成功"); - } - if("0".equals(status1)){ - tAgent.setBankStatus(0); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户处理中"); - } - }else{ - System.err.println("绑定结算账户失败:" + execute.getMsg()); - } - } - }else{ - System.err.println("注册代理商子商户异常:" + execute.getMsg()); - } - }else{ - Register registerVO = new Register(); - registerVO.setMerUserId("agent_" + tAgent.getId()); - registerVO.setPhone(tAgent.getPrincipalPhone()); - registerVO.setUserType(tAgent.getUserType().toString()); - registerVO.setUserName(tAgent.getMerchantName()); - registerVO.setCertId(tAgent.getMerchantIDCode()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - registerVO.setCertIdExpires(sdf.format(tAgent.getCertIdExpires())); - registerVO.setBusinessScope(tAgent.getBusinessScope()); - registerVO.setSocialCreditCode(tAgent.getSocialCreditCode()); - registerVO.setSocialCreditCodeExpires(sdf.format(tAgent.getSocialCreditCodeExpires())); - registerVO.setLegalPhone(tAgent.getLegalPhone()); - registerVO.setLegalPerson(tAgent.getLegalPerson()); - registerVO.setAddress(tAgent.getAddress()); - registerVO.setProvCode(tAgent.getProvCodeEnterprise()); - registerVO.setAreaCode(tAgent.getAreaCodeEnterprise()); - registerVO.setFileNo(tAgent.getFileNo()); - registerVO.setNotifyUrl(callbackPath + "/base/tAgent/microenterpriseCallback"); - registerVO.setParameter1(tAgent.getId().toString()); - - TrhRequest<Register> request = new TrhRequest(); - InterfaceResponse response = request.execute(registerVO, Register.SERVICE_CODE); - if("0000".equals(response.getCode())){ - JSONObject jsonObject = JSON.parseObject(response.getResult()); - String status = jsonObject.getString("status"); - if("2".equals(status)){ - tAgent.setMerchantStatus(2); - tAgentService.updateById(tAgent); - System.err.println("注册代理商子商户失败"); - } - if("0".equals(status)){ - tAgent.setMerchantStatus(0); - tAgentService.updateById(tAgent); - System.err.println("注册代理商子商户处理中"); - } - if("1".equals(status)){ - String userId = jsonObject.getString("userId"); - tAgent.setMerchantNumber(userId); - tAgent.setMerchantStatus(1); - tAgentService.updateById(tAgent); - - //开始绑定结算账户 - BindAccount bindAccount = new BindAccount(); - bindAccount.setUserId(tAgent.getMerchantNumber()); - bindAccount.setCertId(tAgent.getMerchantIDCode()); - bindAccount.setCardName(tAgent.getCardName()); - bindAccount.setCardNo(tAgent.getCardNo()); - bindAccount.setBankAcctType(tAgent.getBankAcctType().toString()); - bindAccount.setPhone(tAgent.getPhone()); - bindAccount.setBankCode(tAgent.getBankCode()); - bindAccount.setProvCode(tAgent.getProvCodeBank()); - bindAccount.setAreaCode(tAgent.getAreaCodeBank()); - TrhRequest<BindAccount> request1 = new TrhRequest(); - InterfaceResponse execute = request1.execute(bindAccount, BindAccount.SERVICE_CODE); - if("0000".equals(execute.getCode())){ - JSONObject jsonObject1 = JSON.parseObject(execute.getResult()); - String status1 = jsonObject1.getString("status"); - if("2".equals(status1)){ - tAgent.setBankStatus(2); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户失败" ); - } - if("1".equals(status1)){ - tAgent.setBankStatus(1); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户成功"); - } - if("0".equals(status1)){ - tAgent.setBankStatus(0); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户处理中"); - } - }else{ - System.err.println("绑定结算账户失败:" + execute.getMsg()); - } - - } - }else{ - System.err.println("注册代理商子商户异常:" + response.getMsg()); - } - } - } - - - - /** - * 注册商户回调 - */ - @ResponseBody - @PostMapping("/base/tAgent/microenterpriseCallback") - public void microenterpriseCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){ - try { - if("0000".equals(interfaceResponse.getCode())) { - JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult()); - String status = jsonObject.getString("status"); - String parameter1 = jsonObject.getString("parameter1"); - TAgent tAgent = tAgentService.selectById(parameter1); - if ("2".equals(status)) { - tAgent.setMerchantStatus(2); - tAgentService.updateById(tAgent); - System.err.println("注册代理商子商户失败"); - } - if ("0".equals(status)) { - tAgent.setMerchantStatus(0); - tAgentService.updateById(tAgent); - System.err.println("注册代理商子商户处理中"); - } - if ("1".equals(status)) { - String userId = jsonObject.getString("userId"); - tAgent.setMerchantNumber(userId); - tAgent.setMerchantStatus(1); - tAgentService.updateById(tAgent); - - //开始绑定结算账户 - BindAccount bindAccount = new BindAccount(); - bindAccount.setUserId(tAgent.getMerchantNumber()); - bindAccount.setCertId(tAgent.getMerchantIDCode()); - bindAccount.setCardName(tAgent.getCardName()); - bindAccount.setCardNo(tAgent.getCardNo()); - bindAccount.setBankAcctType(tAgent.getBankAcctType().toString()); - bindAccount.setPhone(tAgent.getPhone()); - bindAccount.setBankCode(tAgent.getBankCode()); - bindAccount.setProvCode(tAgent.getProvCodeBank()); - bindAccount.setAreaCode(tAgent.getAreaCodeBank()); - TrhRequest<BindAccount> request1 = new TrhRequest(); - InterfaceResponse execute = request1.execute(bindAccount, BindAccount.SERVICE_CODE); - if ("0000".equals(execute.getCode())) { - JSONObject jsonObject1 = JSON.parseObject(execute.getResult()); - String status1 = jsonObject1.getString("status"); - if ("2".equals(status1)) { - tAgent.setBankStatus(2); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户失败"); - } - if ("1".equals(status1)) { - tAgent.setBankStatus(1); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户成功"); - } - if ("0".equals(status1)) { - tAgent.setBankStatus(0); - tAgentService.updateById(tAgent); - System.err.println("绑定结算账户处理中"); - } - } else { - System.err.println("绑定结算账户失败:" + execute.getMsg()); - } - response.setStatus(200); - PrintWriter out = response.getWriter(); - out.print("OK"); - out.flush(); - out.close(); - } - } - }catch (Exception e){ - e.printStackTrace(); - } - } @@ -658,32 +426,7 @@ } - @ResponseBody - @RequestMapping(value = "/tAgent/uploadFile") - public String uploadFile(MultipartFile file){ - File srcFile = null; - String originalFilename = file.getOriginalFilename(); - String substring = originalFilename.substring(originalFilename.lastIndexOf(".")); - String fileName = ""; - try { - fileName = UUIDUtil.getRandomCode(28) + ".png"; - srcFile = multipartFileToFile(file, fileName); - } catch (Exception e) { - e.printStackTrace(); - } - ImageUpload imageUpload = new ImageUpload(); - imageUpload.setMerUserId("33567678901213221"); - File zip = ZipUtil.zip(srcFile); - imageUpload.setName(zip.getName()); - imageUpload.setFile(Base64.encode(zip)); - TrhRequest<ImageUpload> request = new TrhRequest(); - InterfaceResponse execute = request.execute(imageUpload, ImageUpload.SERVICE_CODE); - if(execute.getCode().equals("0000")){ - JSONObject jsonObject = JSON.parseObject(execute.getResult()); - return jsonObject.getString("fileNo"); - } - return ""; - } + public File multipartFileToFile(MultipartFile file, String fileName) throws Exception { @@ -724,7 +467,7 @@ */ @GetMapping("/tAgent/showEnterprisePage") public String showEnterprisePage(Model model){ - ShiroUser user = ShiroKit.getUser(); + ShiroUser user = shiroExtUtil.getUser(); Integer objectId = user.getObjectId(); Integer roleType = user.getRoleType(); User user1 = userService.selectById(user.getId()); @@ -749,334 +492,13 @@ } List<SettlementRecord> settlementRecords = settlementRecordService.selectList(settlementRecordWrapper.isNotNull("arrivalTime").orderBy("insertTime desc")); model.addAttribute("settlementRecords", settlementRecords); - - QueryBalance queryBalance = new QueryBalance(); - queryBalance.setUserId(tAgent.getMerchantNumber()); - TrhRequest<QueryBalance> request = new TrhRequest(); - InterfaceResponse execute = request.execute(queryBalance, QueryBalance.SERVICE_CODE); +// InterfaceResponse execute = request.execute(queryBalance, QueryBalance.SERVICE_CODE); model.addAttribute("balance", 0); model.addAttribute("marketingAmount", 0); - if("0000".equals(execute.getCode())){ - JSONObject jsonObject = JSON.parseObject(execute.getResult()); - model.addAttribute("balance", jsonObject.getDoubleValue("settledAmount") / 100); - if(roleType == 1){ - Double amount = rechargeRecordService.querSumSurplusDividedAmount(4); - model.addAttribute("marketingAmount", amount); - } - } return PREFIX + "enterprisePage.html"; } - /** - * 提现申请 - * @return - */ - @ResponseBody - @PostMapping("/tAgent/withdrawCash") - public ResultUtil withdrawCash(){ - ShiroUser user = ShiroKit.getUser(); - Integer objectId = user.getObjectId(); - Integer roleType = user.getRoleType(); - User user1 = userService.selectById(user.getId()); - TAgent tAgent = new TAgent(); - if(roleType == 1){//平台 - tAgent.setLegalPerson(user1.getName()); - tAgent.setLegalPhone(user1.getPhone()); - tAgent.setEmail(user1.getEmail()); - tAgent.setMerchantNumber("553021440975"); - } - if(roleType == 3){//代理商 - tAgent = tAgentService.selectById(objectId); - } - QueryBalance queryBalance = new QueryBalance(); - queryBalance.setUserId(tAgent.getMerchantNumber()); - TrhRequest<QueryBalance> request = new TrhRequest(); - InterfaceResponse execute = request.execute(queryBalance, QueryBalance.SERVICE_CODE); - if("0000".equals(execute.getCode())){ - JSONObject jsonObject = JSON.parseObject(execute.getResult()); - Integer settledAmount = jsonObject.getInteger("settledAmount"); - if(0 == settledAmount){ - return ResultUtil.error("余额不足"); - } - - Double balance = 0D; - if(roleType == 1){ - balance = rechargeRecordService.queryCompanyBalance(); - }else{ - balance = rechargeRecordService.queryAgentBalance(tAgent.getId()); - } - - SettlementRecord settlementRecord = new SettlementRecord(); - settlementRecord.setType(roleType == 1 ? 1 : 2); - if(roleType == 3){ - settlementRecord.setObjectId(tAgent.getId()); - } - settlementRecord.setAmount(Double.valueOf(settledAmount) / 100); - settlementRecord.setInsertTime(new Date()); - settlementRecordService.insert(settlementRecord); - - - Withdraw withdraw = new Withdraw(); - withdraw.setUserId(tAgent.getMerchantNumber()); - withdraw.setAmount(String.valueOf(settledAmount)); - withdraw.setOrderName("账户余额提现"); - withdraw.setRemark("账户余额提现"); - withdraw.setNotifyUrl(callbackPath + "/base/tAgent/withdrawCashCallback"); - withdraw.setParameter1(settlementRecord.getId().toString()); - TrhRequest<Withdraw> request1 = new TrhRequest(); - InterfaceResponse execute1 = request1.execute(withdraw, Withdraw.SERVICE_CODE);//结算(提现) - if("0000".equals(execute1.getCode())){ - JSONObject jsonObject1 = JSON.parseObject(execute1.getResult()); - String merOrderId1 = jsonObject1.getString("merOrderId"); - Integer status = jsonObject1.getInteger("status");//0:待处理;1:成功;2:失败 - if(0 == status){ - return ResultUtil.error("申请处理中"); - } - if(1 == status){ - settlementRecord.setOrderNumber(merOrderId1); - settlementRecord.setArrivalTime(new Date()); - settlementRecordService.updateById(settlementRecord); - - CompanyFundFlow companyFundFlow = new CompanyFundFlow(); - companyFundFlow.setType(2); - companyFundFlow.setObjectType(roleType == 1 ? 1 : 2); - if(roleType == 3){ - companyFundFlow.setObjectId(tAgent.getId()); - } - companyFundFlow.setBalance(new BigDecimal(balance)); - companyFundFlow.setMoney(new BigDecimal(settlementRecord.getAmount())); - companyFundFlow.setCreateTime(new Date()); - companyFundFlowService.insert(companyFundFlow); - return ResultUtil.success(); - } - if(2 == status){ - return ResultUtil.error("结算接口异常【提现】:" + jsonObject1.getString("statusMsg")); - } - }else{ - return ResultUtil.error("结算接口异常【提现】:" + execute.getMsg()); - } - - }else{ - return ResultUtil.error(execute.getMsg()); - } - return ResultUtil.error("未知异常"); - } - - - /** - * 提现回调 - * @param interfaceResponse - */ - @ResponseBody - @PostMapping("/base/tAgent/withdrawCashCallback") - public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response) { - try { - if("0000".equals(interfaceResponse.getCode())){ - JSONObject jsonObject1 = JSON.parseObject(interfaceResponse.getResult()); - String merOrderId1 = jsonObject1.getString("merOrderId"); - Integer status = jsonObject1.getInteger("status");//0:待处理;1:成功;2:失败 - if(1 == status){ - String parameter1 = jsonObject1.getString("parameter1"); - SettlementRecord settlementRecord = settlementRecordService.selectById(parameter1); - settlementRecord.setOrderNumber(merOrderId1); - settlementRecord.setArrivalTime(new Date()); - settlementRecordService.updateById(settlementRecord); - Integer type = settlementRecord.getType(); - Double balance = 0D; - if(type == 1){ - balance = rechargeRecordService.queryCompanyBalance(); - }else{ - balance = rechargeRecordService.queryAgentBalance(settlementRecord.getObjectId()); - } - BigDecimal bigDecimal = new BigDecimal(balance).add(new BigDecimal(settlementRecord.getAmount())); - CompanyFundFlow companyFundFlow = new CompanyFundFlow(); - companyFundFlow.setType(2); - companyFundFlow.setObjectType(type); - if(type == 2){ - companyFundFlow.setObjectId(settlementRecord.getObjectId()); - } - companyFundFlow.setBalance(bigDecimal); - companyFundFlow.setMoney(new BigDecimal(settlementRecord.getAmount())); - companyFundFlow.setCreateTime(new Date()); - companyFundFlowService.insert(companyFundFlow); - - response.setStatus(200); - PrintWriter out = response.getWriter(); - out.print("OK"); - out.flush(); - out.close(); - } - if(2 == status){ - System.err.println("结算接口异常【提现】:" + jsonObject1.getString("statusMsg")); - } - }else{ - System.err.println("结算接口异常【提现】:" + interfaceResponse.getMsg()); - } - }catch (Exception e){ - e.printStackTrace(); - } - } - - - /** - * 充值补贴金额 - * @param amount - * @return - */ - @ResponseBody - @PostMapping("/tAgent/accountRecharge") - public ResultUtil accountRecharge(Double amount){ - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String out_trade_no = sdf.format(new Date()) + UUIDUtil.getNumberRandom(3); - - RechargeRecord rechargeRecord = new RechargeRecord(); - rechargeRecord.setCode(out_trade_no); - rechargeRecord.setType(4); - rechargeRecord.setAmount(amount); - rechargeRecord.setPayType(2); - rechargeRecord.setPayStatus(1); - rechargeRecord.setCreateTime(new Date()); - rechargeRecordService.insert(rechargeRecord); - - Deposit deposit = new Deposit(); - deposit.setAmount(String.valueOf(Double.valueOf(amount * 100).intValue())); - deposit.setOrderName("补贴充值"); - deposit.setPayType("ALI_CB"); - deposit.setTerminalIp(InetAddress.getLocalHost().getHostAddress()); - deposit.setFrontUrl(callbackPath + "/base/tAgent/accountRechargeCallback"); - deposit.setNotifyUrl(callbackPath + "/base/tAgent/accountRechargeCallback"); - deposit.setParameter1(rechargeRecord.getId().toString()); - TrhRequest<Deposit> request = new TrhRequest(); - InterfaceResponse execute = request.execute(deposit, Deposit.SERVICE_CODE); - if("0000".equals(execute.getCode())){ - JSONObject jsonObject = JSON.parseObject(execute.getResult()); - Integer status = jsonObject.getInteger("status"); - if(2 == status){ - return ResultUtil.error("支付异常"); - } - String merOrderId = jsonObject.getString("merOrderId"); - String payCode = jsonObject.getString("payCode"); - if(ToolUtil.isNotEmpty(payCode)){ - new Thread(new Runnable() { - @Override - public void run() { - try { - int num = 1; - int wait = 0; - while (num <= 10){ - int min = 5000; - wait += (min * num); - RechargeRecord rechargeRecord1 = rechargeRecordService.selectById(rechargeRecord.getId()); - if(rechargeRecord1.getPayStatus() != 1){ - return; - } - QueryOrder queryOrder = new QueryOrder(); - queryOrder.setOriginalMerOrderId(merOrderId); - /** - * 1:支付查询 2:退款查询 3:确认收货查询 4:结算查询 5:充值查询 6:转账查询 7:异步分账查询(必填) 字段长度最长:1位 - */ - queryOrder.setQueryType("5"); - TrhRequest<QueryOrder> request = new TrhRequest(); - InterfaceResponse execute1 = request.execute(queryOrder, QueryOrder.SERVICE_CODE); - if("0000".equals(execute1.getCode())){ - JSONObject jsonObject1 = JSON.parseObject(execute1.getResult()); - String status1 = jsonObject1.getString("status"); - if("0".equals(status1)){//待处理 - Thread.sleep(wait); - num++; - } - if("1".equals(status1)){//成功 - Double balance = rechargeRecordService.queryCompanyBalance();//平台余额 - - String merOrderId = jsonObject1.getString("merOrderId"); - rechargeRecord1.setPayTime(new Date()); - rechargeRecord1.setPayStatus(2); - rechargeRecord1.setOrderNumber(merOrderId); - rechargeRecord1.setSurplusDividedAmount(rechargeRecord1.getAmount()); - rechargeRecordService.updateById(rechargeRecord1); - - CompanyFundFlow companyFundFlow = new CompanyFundFlow(); - companyFundFlow.setType(1); - companyFundFlow.setObjectType(1); - companyFundFlow.setBalance(new BigDecimal(balance)); - companyFundFlow.setMoney(new BigDecimal(rechargeRecord1.getAmount())); - companyFundFlow.setCreateTime(new Date()); - companyFundFlowService.insert(companyFundFlow); - break; - } - if("2".equals(status1) || 10 == num){//失败 - rechargeRecordService.deleteById(rechargeRecord1.getId()); - break; - } - }else{ - Thread.sleep(wait); - num++; - } - } - }catch (Exception e){ - e.printStackTrace(); - } - } - }).start(); - } - return ResultUtil.success(payCode); - }else{ - return ResultUtil.error(execute.getMsg()); - } - }catch (Exception e){ - e.printStackTrace(); - return ResultUtil.runErr(); - } - } - - - /** - * 补贴金额充值回调 - * @param interfaceResponse - */ - @ResponseBody - @PostMapping("/base/tAgent/accountRechargeCallback") - public void accountRechargeCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){ - try { - if("0000".equals(interfaceResponse.getCode())){ - JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult()); - Integer status = jsonObject.getInteger("status"); - if(2 == status){ - System.err.println("支付异常"); - return; - } - if(1 == status){ - Double balance = rechargeRecordService.queryCompanyBalance();//平台余额 - String parameter1 = jsonObject.getString("parameter1"); - RechargeRecord rechargeRecord = rechargeRecordService.selectById(parameter1); - rechargeRecord.setPayStatus(2); - rechargeRecord.setPayTime(new Date()); - rechargeRecord.setOrderNumber(jsonObject.getString("merOrderId")); - rechargeRecord.setSurplusDividedAmount(rechargeRecord.getAmount()); - rechargeRecordService.updateById(rechargeRecord); - CompanyFundFlow companyFundFlow = new CompanyFundFlow(); - companyFundFlow.setType(1); - companyFundFlow.setObjectType(1); - companyFundFlow.setBalance(new BigDecimal(balance)); - companyFundFlow.setMoney(new BigDecimal(rechargeRecord.getAmount())); - companyFundFlow.setCreateTime(new Date()); - companyFundFlowService.insert(companyFundFlow); - - response.setStatus(200); - PrintWriter out = response.getWriter(); - out.print("OK"); - out.flush(); - out.close(); - } - }else{ - System.err.println(interfaceResponse.getMsg()); - } - }catch (Exception e){ - e.printStackTrace(); - } - } /** -- Gitblit v1.7.1