From 06057d33c65653f80ccf716a396b89052e2d8eb6 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 03 六月 2023 02:06:31 +0800 Subject: [PATCH] 更新部分代码 --- driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java | 57 ++++++- zuul/src/main/java/com/sinata/zuul/util/applets/ChildChannelHandler.java | 14 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/RechargeRecord.java | 2 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java | 14 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Agent.java | 164 +++++++++++++++++--- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java | 188 +++++++++++++++++------ 6 files changed, 339 insertions(+), 100 deletions(-) diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java index c33c28e..2e95e94 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java @@ -712,7 +712,6 @@ /** * 账户余额充值支付回调 - * @param request * @param response */ @ResponseBody @@ -968,12 +967,36 @@ /** * 注册商户回调 - * @param jsonObject */ @ResponseBody @PostMapping("/base/driver/microenterpriseCallback") - public void microenterpriseCallback(@RequestBody JSONObject jsonObject){ - System.err.println(jsonObject.toJSONString()); + 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"); + Driver driver = driverService.selectById(parameter1); + if ("2".equals(status)) { + System.err.println("注册代理商子商户失败"); + } + if ("0".equals(status)) { + System.err.println("注册代理商子商户处理中"); + } + if ("1".equals(status)) { + String userId = jsonObject.getString("userId"); + driver.setMerchantNumber(userId); + driverService.updateById(driver); + response.setStatus(200); + PrintWriter out = response.getWriter(); + out.print("OK"); + out.flush(); + out.close(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } } @@ -1054,8 +1077,17 @@ */ @ResponseBody @PostMapping("/base/driver/withdrawCashFZCallback") - public void withdrawCashFZCallback(@RequestBody InterfaceResponse interfaceResponse){ - cashWithdrawalService.withdrawCashFZCallback(interfaceResponse); + public void withdrawCashFZCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){ + try { + cashWithdrawalService.withdrawCashFZCallback(interfaceResponse); + response.setStatus(200); + PrintWriter out = response.getWriter(); + out.print("OK"); + out.flush(); + out.close(); + }catch (Exception e){ + e.printStackTrace(); + } } @@ -1066,7 +1098,16 @@ */ @ResponseBody @PostMapping("/base/driver/withdrawCashCallback") - public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse){ - cashWithdrawalService.withdrawCashCallback(interfaceResponse); + public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){ + try { + cashWithdrawalService.withdrawCashCallback(interfaceResponse); + response.setStatus(200); + PrintWriter out = response.getWriter(); + out.print("OK"); + out.flush(); + out.close(); + }catch (Exception e){ + e.printStackTrace(); + } } } diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Agent.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Agent.java index 3eb742a..a1bc4ec 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Agent.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Agent.java @@ -20,66 +20,180 @@ * 主键 */ @TableId(value = "id", type = IdType.AUTO) - @TableField("id") private Integer id; /** * 负责人姓名 */ - @TableField("principal") + @TableField(value = "principal") private String principal; /** * 负责人电话 */ - @TableField("principalPhone") + @TableField(value = "principalPhone") private String principalPhone; /** * 邮箱 */ - @TableField("email") + @TableField(value = "email") private String email; - /** - * 代理区域省名称 - */ - @TableField("provinceName") - private String provinceName; /** * 代理区域省编号 */ - @TableField("provinceCode") + @TableField(value = "provinceCode") private String provinceCode; + /** + * 代理区域省名称 + */ + @TableField(value = "provinceName") + private String provinceName; /** * 代理区域市编号 */ - @TableField("cityCode") + @TableField(value = "cityCode") private String cityCode; /** * 代理区域市名称 */ - @TableField("cityName") + @TableField(value = "cityName") private String cityName; /** * 状态(1=正常,2=冻结,3=删除) */ - @TableField("status") + @TableField(value = "status") private Integer status; /** * 添加时间 */ - @TableField("createTime") + @TableField(value = "createTime") private Date createTime; - /** - * 开户银行 - */ - @TableField("bankDeposit") - private String bankDeposit; - /** - * 银行账号 - */ - @TableField("bankAccount") - private String bankAccount; /** * 客服电话 */ - @TableField("serviceCalls") + @TableField(value = "serviceCalls") private String serviceCalls; + /** + * 商户类型(1=个体工商户,2=企业) + */ + @TableField("userType") + private Integer userType; + /** + * 公司名称 + */ + @TableField("merchantName") + private String merchantName; + /** + * 经营范围 + */ + @TableField("businessScope") + private String businessScope; + /** + * 统一社会信用码 + */ + @TableField("socialCreditCode") + private String socialCreditCode; + /** + * 统一社会信用证有效期 + */ + @TableField("socialCreditCodeExpires") + private Date socialCreditCodeExpires; + /** + * 企业注册省编号 + */ + @TableField("provCodeEnterprise") + private String provCodeEnterprise; + /** + * 企业注册市编号 + */ + @TableField("cityCodeEnterprise") + private String cityCodeEnterprise; + /** + * 企业注册区编号 + */ + @TableField("areaCodeEnterprise") + private String areaCodeEnterprise; + /** + * 企业注册详细地址 + */ + @TableField("address") + private String address; + /** + * 法人姓名 + */ + @TableField("legalPerson") + private String legalPerson; + /** + * 法人身份证号码 + */ + @TableField("merchantIDCode") + private String merchantIDCode; + /** + * 法人身份证有效期 + */ + @TableField("certIdExpires") + private Date certIdExpires; + /** + * 法人手机号 + */ + @TableField("legalPhone") + private String legalPhone; + /** + * 附件编号 + */ + @TableField("fileNo") + private String fileNo; + /** + * 结算账户名 + */ + @TableField("cardName") + private String cardName; + /** + * 结算账户号 + */ + @TableField("cardNo") + private String cardNo; + /** + * 银行账户类型(1=对公,2=对私) + */ + @TableField("bankAcctType") + private Integer bankAcctType; + /** + * 银行预留手机号 + */ + @TableField("phone") + private String phone; + /** + * 开户行编号 + */ + @TableField("bankCode") + private String bankCode; + /** + * 开户行地区省编号 + */ + @TableField("provCodeBank") + private String provCodeBank; + /** + * 开户行地区市编号 + */ + @TableField("cityCodeBank") + private String cityCodeBank; + /** + * 开户行地区区编号 + */ + @TableField("areaCodeBank") + private String areaCodeBank; + /** + * 商户号 + */ + @TableField("merchantNumber") + private String merchantNumber; + /** + * 商户状态(0=审核中,1=已成功,2=审核失败) + */ + @TableField("merchantStatus") + private Integer merchantStatus; + /** + * 结算账户状态(0=审核中,1=已成功,2=审核失败) + */ + @TableField("bankStatus") + private Integer bankStatus; } diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/RechargeRecord.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/RechargeRecord.java index 2330933..f28d455 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/RechargeRecord.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/RechargeRecord.java @@ -23,7 +23,7 @@ @TableField("id") private Integer id; /** - * 数据类型(1=用户,2=司机,3=代理商) + * 数据类型(1=用户,2=司机,3=代理商,4=平台) */ @TableField("type") private Integer type; diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java index d0e7e06..2083d82 100644 --- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java +++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java @@ -718,6 +718,7 @@ if("2".equals(status)){ return ResultUtil.error("失败"); } + String merOrderId = jsonObject.getString("merOrderId"); String payCode = jsonObject.getString("payCode"); if(ToolUtil.isNotEmpty(payCode)){ new Thread(new Runnable() { @@ -734,13 +735,7 @@ return; } QueryOrder queryOrder = new QueryOrder(); - /** - * 原请求订单号(必填) 字段长度最长:32位 - */ - queryOrder.setOriginalMerOrderId(out_trade_no); - /** - * 1:支付查询 2:退款查询 3:确认收货查询 4:结算查询 5:充值查询 6:转账查询 7:异步分账查询(必填) 字段长度最长:1位 - */ + queryOrder.setOriginalMerOrderId(merOrderId); queryOrder.setQueryType("1"); TrhRequest<QueryOrder> request = new TrhRequest(); InterfaceResponse execute1 = request.execute(queryOrder, QueryOrder.SERVICE_CODE); @@ -942,6 +937,7 @@ registerVO.setUserName(name); registerVO.setCertId(number); registerVO.setNotifyUrl(callbackPath + notifyUrl); + registerVO.setParameter1(uid.toString()); TrhRequest<Register> request = new TrhRequest(); InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE); if(!"0000".equals(execute.getCode())){ @@ -953,6 +949,10 @@ return ResultUtil.error("失败"); } if("0".equals(status)){ + driver.setMerchantIDCode(number); + driver.setMerchantName(name); + driver.setMerchantPhone(phone); + this.updateById(driver); return ResultUtil.error("处理中"); } String userId = jsonObject.getString("userId"); 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..1827b37 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; @@ -254,7 +255,7 @@ registerVO.setUserType("0"); registerVO.setUserName(tAgent.getMerchantName()); registerVO.setCertId(tAgent.getMerchantIDCode()); - registerVO.setNotifyUrl(callbackPath + "/base/driver/microenterpriseCallback"); + registerVO.setNotifyUrl(callbackPath + "/tAgent/microenterpriseCallback"); TrhRequest<Register> request = new TrhRequest(); InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE); if("0000".equals(execute.getCode())){ @@ -325,16 +326,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 + "/tAgent/microenterpriseCallback"); registerVO.setParameter1(tAgent.getId().toString()); TrhRequest<Register> request = new TrhRequest(); @@ -367,14 +362,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())){ @@ -405,6 +394,83 @@ } } } + + + + /** + * 注册商户回调 + */ + @ResponseBody + @PostMapping("/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(); + } + } + @@ -752,23 +818,32 @@ */ @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); + 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(); } } @@ -881,25 +956,34 @@ */ @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; + 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(); } } diff --git a/zuul/src/main/java/com/sinata/zuul/util/applets/ChildChannelHandler.java b/zuul/src/main/java/com/sinata/zuul/util/applets/ChildChannelHandler.java index c98f607..d7c315b 100644 --- a/zuul/src/main/java/com/sinata/zuul/util/applets/ChildChannelHandler.java +++ b/zuul/src/main/java/com/sinata/zuul/util/applets/ChildChannelHandler.java @@ -14,13 +14,13 @@ @Override protected void initChannel(SocketChannel socketChannel) throws Exception { // String path = "C:\\Program Files\\Apache Software Foundation\\Tomcat 8.5\\cert\\SHA256withRSA_lzhyc.cn.pfx"; - String path = "/usr/local/server/app/cert/tomcat/scs1680576839056_chaoshengdaijia.com_server.jks"; - SSLContext sslContext = createSSLContext.createSSLContext("JKS" - , path, "Zf3^5v6OoWmOVgeQ"); - //SSLEngine 此类允许使用ssl安全套接层协议进行安全通信 - SSLEngine engine = sslContext.createSSLEngine(); - engine.setUseClientMode(false); - socketChannel.pipeline().addLast("ssl", new SslHandler(engine)); +// String path = "/usr/local/server/app/cert/tomcat/scs1680576839056_chaoshengdaijia.com_server.jks"; +// SSLContext sslContext = createSSLContext.createSSLContext("JKS" +// , path, "Zf3^5v6OoWmOVgeQ"); +// //SSLEngine 此类允许使用ssl安全套接层协议进行安全通信 +// SSLEngine engine = sslContext.createSSLEngine(); +// engine.setUseClientMode(false); +// socketChannel.pipeline().addLast("ssl", new SslHandler(engine)); // 设置30秒没有读到数据,则触发一个READER_IDLE事件。 // pipeline.addLast(new IdleStateHandler(30, 0, 0)); -- Gitblit v1.7.1