From 753c4aede53b07041841d9aa94859b59e366bd5d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 14 八月 2023 18:47:39 +0800 Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/SuperSaveDriving --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java | 316 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 229 insertions(+), 87 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 a219bfc..0a7ac7e 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 @@ -3,6 +3,7 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.util.ZipUtil; import cn.hutool.crypto.SecureUtil; +import cn.hutool.http.server.HttpServerResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; @@ -62,7 +63,7 @@ * @Date 2023-02-20 09:18:08 */ @Controller -@RequestMapping("/tAgent") +@RequestMapping("") public class TAgentController extends BaseController { private String PREFIX = "/system/tAgent/"; @@ -88,6 +89,9 @@ @Autowired private IRechargeRecordService rechargeRecordService; + @Autowired + private ITSystemConfigService systemConfigService; + @Value("${callbackPath}") private String callbackPath; @@ -95,7 +99,7 @@ /** * 跳转到首页 */ - @RequestMapping("") + @RequestMapping("/tAgent") public String index(Model model) { model.addAttribute("userType", Objects.requireNonNull(ShiroKit.getUser()).getRoleType()); return PREFIX + "tAgent.html"; @@ -104,7 +108,7 @@ /** * 跳转到添加 */ - @RequestMapping("/tAgent_add") + @RequestMapping("/tAgent/tAgent_add") public String tAgentAdd() { return PREFIX + "tAgent_add.html"; } @@ -112,7 +116,7 @@ /** * 跳转到修改 */ - @RequestMapping("/tAgent_update/{tAgentId}") + @RequestMapping("/tAgent/tAgent_update/{tAgentId}") public String tAgentUpdate(@PathVariable Integer tAgentId, Model model) { TAgent tAgent = tAgentService.selectById(tAgentId); model.addAttribute("item",tAgent); @@ -123,7 +127,7 @@ /** * 跳转详情页面 */ - @RequestMapping("/agentDetail") + @RequestMapping("/tAgent/agentDetail") public String agentDetail(Integer agentId, Model model) { tAgentService.detail(agentId,model); return PREFIX + "tAgentDetail.html"; @@ -132,12 +136,61 @@ /** * 跳转区域页面 */ - @RequestMapping("/areaDetail") + @RequestMapping("/tAgent/areaDetail") public String areaDetail(String area,String areaId,Model model) { +// String[] split1 = areaId.split("/"); +// List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); +// model.addAttribute("provinceList",tRegions); +//// List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList()); +//// // 查询市 +//// List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); +//// model.addAttribute("cityList",tRegions1); +//// +//// // 查询区 +//// List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList()); +//// List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds)); +//// model.addAttribute("districtList",tRegions2); +// +// if(StringUtils.hasLength(area) && StringUtils.hasLength(areaId)){ +// String[] split = area.split("/"); +// model.addAttribute("provinceName",split[0]); +// model.addAttribute("cityName",split[1]); +// if(split.length>2){ +// model.addAttribute("districtName",split[2]); +// }else { +// model.addAttribute("districtName",""); +// } +// +// model.addAttribute("provinceId",split1[0]); +// model.addAttribute("cityId",split1[1]); +// if(split1.length>2) { +// model.addAttribute("districtId", split1[2]); +// }else { +// model.addAttribute("districtId", ""); +// } +// +// List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); +// model.addAttribute("cityList",tRegions1); +// +// // 查询区 +// List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", split1[1])); +// model.addAttribute("districtList",tRegions2); +// }else { +// model.addAttribute("cityList",new ArrayList<>()); +// model.addAttribute("districtList",new ArrayList<>()); +// +// model.addAttribute("provinceName",""); +// model.addAttribute("cityName",""); +// model.addAttribute("districtName",""); +// +// model.addAttribute("provinceId",""); +// model.addAttribute("cityId",""); +// model.addAttribute("districtId", ""); +// } String[] split1 = areaId.split("/"); List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); - model.addAttribute("province",tRegions); - List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList()); + model.addAttribute("provinceList",tRegions); +// List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList()); // 查询市 List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); model.addAttribute("cityList",tRegions1); @@ -161,7 +214,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/list") + @RequestMapping(value = "/tAgent/list") @ResponseBody public Object list(String principal,String principalPhone,String createTime,Integer status) { EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime,status); @@ -173,7 +226,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/list-back") + @RequestMapping(value = "/tAgent/list-back") @ResponseBody public Object listBack(String condition) { return tAgentService.selectList(null); @@ -182,14 +235,19 @@ /** * 新增 */ - @RequestMapping(value = "/add") + @RequestMapping(value = "/tAgent/add") @ResponseBody @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public Object add(TAgent tAgent) { String[] split1 = tAgent.getArea().split("/"); - int count = tAgentService.selectCount(new EntityWrapper<TAgent>().eq("provinceName", split1[0]).eq("cityName",split1[1])); +// int count = tAgentService.selectCount(new EntityWrapper<TAgent>() +// .eq("provinceName", split1[0]) +// .eq("cityName",split1[1]) +// .eq("districtName",sp)); + int count = tAgentService.selectCount(new EntityWrapper<TAgent>() + .eq("merchantName", tAgent.getMerchantName())); if(count>0){ return new SuccessTip(500,"该代理商已存在!"); } @@ -254,7 +312,7 @@ registerVO.setUserType("0"); registerVO.setUserName(tAgent.getMerchantName()); registerVO.setCertId(tAgent.getMerchantIDCode()); - registerVO.setNotifyUrl(callbackPath + "/base/driver/microenterpriseCallback"); + registerVO.setNotifyUrl(callbackPath + "/base/tAgent/microenterpriseCallback"); TrhRequest<Register> request = new TrhRequest(); InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE); if("0000".equals(execute.getCode())){ @@ -325,16 +383,10 @@ registerVO.setLegalPhone(tAgent.getLegalPhone()); registerVO.setLegalPerson(tAgent.getLegalPerson()); registerVO.setAddress(tAgent.getAddress()); - /** - * 省份编码(子商户类型非小微必填) 字段长度最长:4位 - */ - registerVO.setProvCode("0035"); - /** - * 地区编码(子商户类型非小微必填) 字段长度最长:4位 - */ - registerVO.setAreaCode("3501"); + registerVO.setProvCode(tAgent.getProvCodeEnterprise()); + registerVO.setAreaCode(tAgent.getAreaCodeEnterprise()); registerVO.setFileNo(tAgent.getFileNo()); - registerVO.setNotifyUrl(callbackPath + "/base/driver/microenterpriseCallback"); + registerVO.setNotifyUrl(callbackPath + "/base/tAgent/microenterpriseCallback"); registerVO.setParameter1(tAgent.getId().toString()); TrhRequest<Register> request = new TrhRequest(); @@ -367,14 +419,8 @@ bindAccount.setBankAcctType(tAgent.getBankAcctType().toString()); bindAccount.setPhone(tAgent.getPhone()); bindAccount.setBankCode(tAgent.getBankCode()); - /** - * 省份编码 - */ - bindAccount.setProvCode("0035"); - /** - * 地区编码 - */ - bindAccount.setAreaCode("3501"); + 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())){ @@ -408,11 +454,88 @@ + /** + * 注册商户回调 + */ + @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(); + } + } + + + + /** * 删除 */ - @RequestMapping(value = "/delete") + @RequestMapping(value = "/tAgent/delete") @ResponseBody public Object delete(@RequestParam Integer tAgentId) { tAgentService.deleteById(tAgentId); @@ -422,7 +545,7 @@ /** * 修改用户状态 */ - @RequestMapping(value = "/update-status") + @RequestMapping(value = "/tAgent/update-status") @ResponseBody public Object updateStatus(Integer id,Integer status) { TAgent tAgent = tAgentService.selectById(id); @@ -466,7 +589,7 @@ /** * 修改 */ - @RequestMapping(value = "/update") + @RequestMapping(value = "/tAgent/update") @ResponseBody public Object update(TAgent tAgent) { tAgent.setPrincipal(tAgent.getPrincipal().replace(" ","")); @@ -477,7 +600,7 @@ /** * 详情 */ - @RequestMapping(value = "/detail/{tAgentId}") + @RequestMapping(value = "/tAgent/detail/{tAgentId}") @ResponseBody public Object detail(@PathVariable("tAgentId") Integer tAgentId) { return tAgentService.selectById(tAgentId); @@ -485,21 +608,21 @@ @ApiOperation(value = "省市区查询",notes="省市区查询") - @RequestMapping(value = "/area") + @RequestMapping(value = "/tAgent/area") @ResponseBody public Object area() { return tRegionService.getAreaList(); } @ApiOperation(value = "省查询",notes="省查询") - @RequestMapping(value = "/areaProvince") + @RequestMapping(value = "/tAgent/areaProvince") @ResponseBody public Object areaProvince(Model model) { return tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); } @ApiOperation(value = "市区查询",notes="市区查询") - @RequestMapping(value = "/areaCity") + @RequestMapping(value = "/tAgent/areaCity") @ResponseBody public Object areaCity(Integer parentId) { return tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id",parentId)); @@ -507,7 +630,7 @@ @ApiOperation(value = "导出代理商列表",notes="导出代理商列表") - @RequestMapping(value = "/export") + @RequestMapping(value = "/tAgent/export") @ResponseBody public void export(String principal,String principalPhone,Integer status,String createTime, HttpServletResponse response) { try { @@ -561,7 +684,7 @@ @ResponseBody - @RequestMapping(value = "/uploadFile") + @RequestMapping(value = "/tAgent/uploadFile") public String uploadFile(MultipartFile file){ File srcFile = null; String originalFilename = file.getOriginalFilename(); @@ -624,7 +747,7 @@ * 跳转到企业信息页 * @return */ - @GetMapping("/showEnterprisePage") + @GetMapping("/tAgent/showEnterprisePage") public String showEnterprisePage(Model model){ ShiroUser user = ShiroKit.getUser(); Integer objectId = user.getObjectId(); @@ -643,8 +766,8 @@ model.addAttribute("roleType", roleType); model.addAttribute("item", tAgent); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - model.addAttribute("socialCreditCodeExpires", roleType == 1 ? "" : sdf.format(tAgent.getSocialCreditCodeExpires())); - model.addAttribute("certIdExpires", roleType == 1 ? "" : sdf.format(tAgent.getCertIdExpires())); + model.addAttribute("socialCreditCodeExpires", roleType == 1 ? "" :Objects.isNull(tAgent.getSocialCreditCodeExpires())?"": sdf.format(tAgent.getSocialCreditCodeExpires())); + model.addAttribute("certIdExpires", roleType == 1 ? "" : null == tAgent.getCertIdExpires() ? "" : sdf.format(tAgent.getCertIdExpires())); Wrapper<SettlementRecord> settlementRecordWrapper = new EntityWrapper<SettlementRecord>().eq("type", roleType == 1 ? 1 : 2); if(roleType == 2){ settlementRecordWrapper.eq("objectId", objectId); @@ -662,7 +785,8 @@ JSONObject jsonObject = JSON.parseObject(execute.getResult()); model.addAttribute("balance", jsonObject.getDoubleValue("settledAmount") / 100); if(roleType == 1){ - model.addAttribute("marketingAmount", jsonObject.getDoubleValue("marketingAmount") / 100); + Double amount = rechargeRecordService.querSumSurplusDividedAmount(4); + model.addAttribute("marketingAmount", amount); } } return PREFIX + "enterprisePage.html"; @@ -674,7 +798,7 @@ * @return */ @ResponseBody - @PostMapping("/withdrawCash") + @PostMapping("/tAgent/withdrawCash") public ResultUtil withdrawCash(){ ShiroUser user = ShiroKit.getUser(); Integer objectId = user.getObjectId(); @@ -696,7 +820,7 @@ InterfaceResponse execute = request.execute(queryBalance, QueryBalance.SERVICE_CODE); if("0000".equals(execute.getCode())){ JSONObject jsonObject = JSON.parseObject(execute.getResult()); - double settledAmount = jsonObject.getDoubleValue("settledAmount"); + Integer settledAmount = jsonObject.getInteger("settledAmount"); if(0 == settledAmount){ return ResultUtil.error("余额不足"); } @@ -705,17 +829,17 @@ if(roleType == 3){ settlementRecord.setObjectId(tAgent.getId()); } - settlementRecord.setAmount(settledAmount); + settlementRecord.setAmount(Double.valueOf(settledAmount) / 100); settlementRecord.setInsertTime(new Date()); settlementRecordService.insert(settlementRecord); Withdraw withdraw = new Withdraw(); withdraw.setUserId(tAgent.getMerchantNumber()); - withdraw.setAmount(settledAmount + ""); + withdraw.setAmount(String.valueOf(settledAmount)); withdraw.setOrderName("账户余额提现"); withdraw.setRemark("账户余额提现"); - withdraw.setNotifyUrl(callbackPath + "/tAgent/withdrawCashCallback"); + withdraw.setNotifyUrl(callbackPath + "/base/tAgent/withdrawCashCallback"); withdraw.setParameter1(settlementRecord.getId().toString()); TrhRequest<Withdraw> request1 = new TrhRequest(); InterfaceResponse execute1 = request1.execute(withdraw, Withdraw.SERVICE_CODE);//结算(提现) @@ -751,24 +875,33 @@ * @param interfaceResponse */ @ResponseBody - @PostMapping("/withdrawCashCallback") - public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse) { - 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); + @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); + 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()); } - if(2 == status){ - System.err.println("结算接口异常【提现】:" + jsonObject1.getString("statusMsg")); - } - }else{ - System.err.println("结算接口异常【提现】:" + interfaceResponse.getMsg()); + }catch (Exception e){ + e.printStackTrace(); } } @@ -779,7 +912,7 @@ * @return */ @ResponseBody - @PostMapping("/accountRecharge") + @PostMapping("/tAgent/accountRecharge") public ResultUtil accountRecharge(Double amount){ try { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); @@ -798,8 +931,8 @@ deposit.setOrderName("补贴充值"); deposit.setPayType("ALI_CB"); deposit.setTerminalIp(InetAddress.getLocalHost().getHostAddress()); - deposit.setFrontUrl(callbackPath + "/tAgent/accountRechargeCallback"); - deposit.setNotifyUrl(callbackPath + "/tAgent/accountRechargeCallback"); + 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); @@ -880,26 +1013,35 @@ * @param interfaceResponse */ @ResponseBody - @PostMapping("/accountRechargeCallback") - public void accountRechargeCallback(@RequestBody InterfaceResponse interfaceResponse){ - if("0000".equals(interfaceResponse.getCode())){ - JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult()); - Integer status = jsonObject.getInteger("status"); - if(2 == status){ - System.err.println("支付异常"); - return; + @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){ + 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); + response.setStatus(200); + PrintWriter out = response.getWriter(); + out.print("OK"); + out.flush(); + out.close(); + } + }else{ + System.err.println(interfaceResponse.getMsg()); } - if(1 == status){ - 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); - } - }else{ - System.err.println(interfaceResponse.getMsg()); + }catch (Exception e){ + e.printStackTrace(); } } -- Gitblit v1.7.1