From bb1e84b94474f1d513c25b2122576370a29d5033 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 11 May 2023 12:35:05 +0800 Subject: [PATCH] 会员等级设置 --- src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java | 67 +++++++-- src/main/resources/lkl/prd/api_cert.cer | 22 +++ src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 25 +++ src/main/resources/lkl/prd/api_public_key.pem | 9 + src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | 41 +++++ src/test/java/cc/mrbird/febs/ProfitTest.java | 4 src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 24 +++ src/main/resources/lkl/prd/api_private_key.pem | 28 ++++ src/main/resources/templates/febs/views/modules/system/cashOutSetting.html | 55 +++++++ src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java | 92 ++++++------- src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java | 6 11 files changed, 303 insertions(+), 70 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java index 9ecd9a5..82c087e 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java @@ -6,6 +6,30 @@ @Getter public enum DataDictionaryEnum { /** + * 银行转账设置-客户号 + */ + BANK_TRANS_softwareId("BANK_TRANS_SET","BANK_TRANS_softwareId"), + /** + * 银行转账设置-客户号 + */ + BANK_TRANS_customerId("BANK_TRANS_SET","BANK_TRANS_customerId"), + /** + * 银行转账设置-付款账号 + */ + BANK_TRANS_FKZH("BANK_TRANS_SET","BANK_TRANS_FKZH"), + /** + * 银行转账设置-签名端口 + */ + BANK_TRANS_VERIFY_PORT("BANK_TRANS_SET","BANK_TRANS_VERIFY_PORT"), + /** + * 银行转账设置-签名ip + */ + BANK_TRANS_VERIFY_IP("BANK_TRANS_SET","BANK_TRANS_VERIFY_IP"), + /** + * 银行转账设置-接收报文url + */ + BANK_TRANS_URL("BANK_TRANS_SET","BANK_TRANS_URL"), + /** * 星级补贴百分比 */ PERK_AGENT_ACHIEVE_PERCENT("PERK_SET","PERK_AGENT_ACHIEVE_PERCENT"), diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java index 1518632..19b024b 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java @@ -55,6 +55,31 @@ @PostMapping(value = "/cashOutSetting") public FebsResponse cashOutSetting(CashOutSettingDto cashOutSettingDto) { commonService.addDataDic(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode(), cashOutSettingDto, "提现设置"); + + commonService.updateDataDic( + DataDictionaryEnum.BANK_TRANS_URL.getType(), + DataDictionaryEnum.BANK_TRANS_URL.getCode(), + cashOutSettingDto.getUrlStr()); + commonService.updateDataDic( + DataDictionaryEnum.BANK_TRANS_VERIFY_IP.getType(), + DataDictionaryEnum.BANK_TRANS_VERIFY_IP.getCode(), + cashOutSettingDto.getVerifyIp()); + commonService.updateDataDic( + DataDictionaryEnum.BANK_TRANS_VERIFY_PORT.getType(), + DataDictionaryEnum.BANK_TRANS_VERIFY_PORT.getCode(), + cashOutSettingDto.getVerifyPort()); + commonService.updateDataDic( + DataDictionaryEnum.BANK_TRANS_FKZH.getType(), + DataDictionaryEnum.BANK_TRANS_FKZH.getCode(), + cashOutSettingDto.getFkzh()); + commonService.updateDataDic( + DataDictionaryEnum.BANK_TRANS_customerId.getType(), + DataDictionaryEnum.BANK_TRANS_customerId.getCode(), + cashOutSettingDto.getCustomerId()); + commonService.updateDataDic( + DataDictionaryEnum.BANK_TRANS_softwareId.getType(), + DataDictionaryEnum.BANK_TRANS_softwareId.getCode(), + cashOutSettingDto.getSoftwareId()); return new FebsResponse().success(); } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java index 7e5e601..9845ee6 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java @@ -106,9 +106,46 @@ @RequiresPermissions("cashOutSetting:update") public String cashOutSetting(Model model) { DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode()); - if (dic != null) { - model.addAttribute("cashout", JSONObject.parseObject(dic.getValue(), CashOutSettingDto.class)); + CashOutSettingDto cashOutSettingDto = JSONObject.parseObject(dic.getValue(), CashOutSettingDto.class); + + DataDictionaryCustom urlDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_URL.getType(), + DataDictionaryEnum.BANK_TRANS_URL.getCode()); + if (urlDic != null) { + cashOutSettingDto.setUrlStr(urlDic.getValue()); } + DataDictionaryCustom verifyIpDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_VERIFY_IP.getType(), + DataDictionaryEnum.BANK_TRANS_VERIFY_IP.getCode()); + if (verifyIpDic != null) { + cashOutSettingDto.setVerifyIp(verifyIpDic.getValue()); + } + DataDictionaryCustom verifyPortDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_VERIFY_PORT.getType(), + DataDictionaryEnum.BANK_TRANS_VERIFY_PORT.getCode()); + if (verifyPortDic != null) { + cashOutSettingDto.setVerifyPort(verifyPortDic.getValue()); + } + DataDictionaryCustom fkzhDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_FKZH.getType(), + DataDictionaryEnum.BANK_TRANS_FKZH.getCode()); + if (fkzhDic != null) { + cashOutSettingDto.setFkzh(fkzhDic.getValue()); + } + DataDictionaryCustom customerIdDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_customerId.getType(), + DataDictionaryEnum.BANK_TRANS_customerId.getCode()); + if (customerIdDic != null) { + cashOutSettingDto.setCustomerId(customerIdDic.getValue()); + } + DataDictionaryCustom softwareIdDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_softwareId.getType(), + DataDictionaryEnum.BANK_TRANS_softwareId.getCode()); + if (softwareIdDic != null) { + cashOutSettingDto.setSoftwareId(softwareIdDic.getValue()); + } + + model.addAttribute("cashout", cashOutSettingDto); return FebsUtil.view("modules/system/cashOutSetting"); } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java b/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java index 3323b3b..2e8051d 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/CashOutSettingDto.java @@ -22,4 +22,10 @@ private Integer workingDays; //互转手续费率 private Integer insideFee; + private String urlStr; + private String verifyIp; + private String verifyPort; + private String fkzh; + private String customerId; + private String softwareId; } diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java index 5e3c641..ff30448 100644 --- a/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/pay/service/impl/LaKaLaServiceImpl.java @@ -89,7 +89,7 @@ */ public static final String mchSerialNo = "01848940fd41"; - public static final String mchSerialNo_prd = "01848940fd41"; + public static final String mchSerialNo_prd = "018804e5ecd9"; /** * 商户号 @@ -323,9 +323,7 @@ return "FAIL"; } - Object trade_info_list = respDataChild.get("order_trade_info_list"); - JSONObject respChild = JSONUtil.parseObj(trade_info_list); - String tradeStatus = respChild.get("trade_status").toString(); + String tradeStatus = respDataChild.getJSONArray("order_trade_info_list").getJSONObject(0).get("trade_status").toString(); if(!"S".equals(tradeStatus)){ return "FAIL"; } @@ -375,54 +373,48 @@ } public static void main(String[] args) { - - /** - * {"req_time":"20221026100323", - * "version":"1.0", - * "req_data":{ - * "out_order_no":"GHSNVDY8033038232443530", - * "merchant_no":"8222900701107M5", - * "total_amount":1, - * "order_efficient_time":"20221118220823", - * "notify_url":"", - * "support_cancel":0, - * "support_refund":1, - * "support_repeat_pay":1, - * "order_info":"测试"}} - */ - LaKaLaCreateOrderReqDate laKaLaCreateOrderReqDate = new LaKaLaCreateOrderReqDate(); - laKaLaCreateOrderReqDate.setOut_order_no("GHSNVDY8033038232443530"); - - LaKaLaBasicReqDate laKaLaBasicReqDate = new LaKaLaBasicReqDate(); - laKaLaBasicReqDate.setReq_time(DateUtil.format(new Date(),"yyyyMMddHHmmss")); - laKaLaBasicReqDate.setVersion("3.0"); - JSONObject jsonObject = JSONUtil.parseObj(laKaLaCreateOrderReqDate); - laKaLaBasicReqDate.setReq_data(jsonObject); - - String s = "{\n" + - " \"code\":\"000000\",\n" + - " \"msg\":\"操作成功\",\n" + - " \"resp_time\":\"20230419151705\",\n" + - " \"resp_data\":{\n" + - " \"merchant_no\":\"8222900701107M5\",\n" + - " \"channel_id\":\"95\",\n" + - " \"out_order_no\":\"HLM20230419151704\",\n" + - " \"order_create_time\":\"20230419151705\",\n" + - " \"order_efficient_time\":\"20230419161704\",\n" + - " \"pay_order_no\":\"23041911012001101011000965837\",\n" + - " \"total_amount\":\"1\",\n" + - " \"counter_url\":\"http://q.huijingcai.top/r/0000?pageStyle%3DV2%26token%3DCCSSIZlwnaqWmBw3FHY5U40nGcX7pxoKuxVhhVI7XyulHEUboR1I0VTIqJRMAjgj3IjCMWvoWjp9%2BXHpkA%3D%3D%26amount%3D1%26payOrderNo%3D23041911012001101011000965837\"\n" + - " }\n" + - "}"; - + String s = "{\"code\":\"000000\"," + + "\"msg\":\"操作成功\"," + + "\"resp_time\":\"20230510154634\"," + + "\"resp_data\":{\"pay_order_no\":\"23051011012001101011000969911\"," + + "\"out_order_no\":\"2023051015455302379\"," + + "\"channel_id\":\"95\"," + + "\"trans_merchant_no\":\"8222900701107M5\"," + + "\"trans_term_no\":\"A1062976\"," + + "\"merchant_no\":\"8222900701107M5\"," + + "\"term_no\":\"A1062976\"," + + "\"order_status\":\"2\"," + + "\"order_info\":\"礼包一\"," + + "\"total_amount\":1," + + "\"order_create_time\":\"20230510154556\"," + + "\"order_efficient_time\":\"20230510164555\"," + + "\"settle_type\":\"0\"," + + "\"split_mark\":\"\"," + + "\"counter_param\":null," + + "\"counter_remark\":null," + + "\"busi_type_param\":\"\"," + + "\"sgn_info\":[]," + + "\"goods_mark\":\"\"," + + "\"goods_field\":\"\"," + + "\"order_trade_info_list\":[{\"trade_no\":\"2023051066210308370172\"," + + "\"log_No\":\"66210308370172\"," + + "\"trade_ref_no\":\"\"," + + "\"trade_type\":\"PAY\"," + + "\"trade_status\":\"S\"," + + "\"trade_amount\":1,\"payer_amount\":1,\"user_id1\":\"oLvoQ5W-MMaepM5fIf2XGOkatAzQ\",\"user_id2\":\"oUpF8uPxTeOlCA4eunIiiK6vZ9IA\",\"busi_type\":\"SCPAY\",\"trade_time\":\"20230510154610\",\"acc_trade_no\":\"4200001884202305101607494108\",\"payer_account_no\":\"\",\"payer_name\":\"\",\"payer_account_bank\":\"\",\"acc_type\":\"99\",\"pay_mode\":\"WECHAT\",\"client_batch_no\":\"\",\"client_seq_no\":\"\",\"settle_merchant_no\":\"8222900701107M5\",\"settle_term_no\":\"A1062976\",\"origin_trade_no\":\"\",\"auth_code\":\"\",\"bank_type\":\"OTHERS\"}]}}"; JSONObject parseObj = JSONUtil.parseObj(s); + String code = parseObj.get("code").toString(); + if("000000".equals(code)){ + Object respData = parseObj.get("resp_data"); + JSONObject respDataChild = JSONUtil.parseObj(respData); - Object respData = parseObj.get("resp_data"); - - JSONObject respDataChild = JSONUtil.parseObj(respData); - String counterUrl = respDataChild.get("counter_url").toString(); - System.out.println(counterUrl); - + System.out.println(respDataChild); +// String orderStatusQuery = respDataChild.get("order_status").toString(); + String orderStatusQuery = respDataChild.get("order_trade_info_list").toString(); + System.out.println(orderStatusQuery); + String tradeStatus = respDataChild.getJSONArray("order_trade_info_list").getJSONObject(0).get("trade_status").toString(); + System.out.println(tradeStatus); + } } public HttpResponse post(String url, String message, String authorization) throws Exception { diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java index 00d9202..393568a 100644 --- a/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java @@ -1,15 +1,16 @@ package cc.mrbird.febs.pay.service.impl; +import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; +import cc.mrbird.febs.common.utils.RedisUtils; +import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallMemberBank; import cc.mrbird.febs.mall.entity.MallMemberWithdraw; import cc.mrbird.febs.mall.entity.MallMemberWithdrawMsg; -import cc.mrbird.febs.mall.mapper.MallMemberBankMapper; -import cc.mrbird.febs.mall.mapper.MallMemberWithdrawMapper; -import cc.mrbird.febs.mall.mapper.MallMemberWithdrawMsgMapper; -import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.pay.model.NBYHResponse; import cc.mrbird.febs.pay.service.NBYHService; import cn.hutool.core.util.ObjectUtil; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,6 +27,7 @@ @Slf4j @Service +@RequiredArgsConstructor public class NBYHServiceImpl implements NBYHService { /** * 登录报文原文 @@ -109,6 +111,8 @@ */ // private static final String URL = "http://127.0.0.1:9080/directlink/httpAccess"; private static final String URL = "http://n5z7ej.natappfree.cc/directlink/httpAccess"; + + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; /** * 签名ip */ @@ -121,7 +125,7 @@ /** * 签名端口 */ - private static final int VERIFY_PORT = 41933; + private static final int VERIFY_PORT = 39296; // private static final int VERIFY_PORT = 8010; /** @@ -151,6 +155,8 @@ public static void main(String[] args) { try { + + InetAddress addr = InetAddress.getByName(VERIFY_IP); Socket socket = new Socket(addr, VERIFY_PORT); @@ -372,10 +378,19 @@ * @throws Exception */ @SuppressWarnings("rawtypes") - public static String executeServerHttpService(String requestData) throws Exception { + public String executeServerHttpService(String requestData) throws Exception { // public static void executeServerHttpService(String serviceId, String serviceName, String serialNo,String requestData) throws Exception { // 处理交易的url - java.net.URL url = new URL(URL); + DataDictionaryCustom urlDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_URL.getType(), + DataDictionaryEnum.BANK_TRANS_URL.getCode() + ); + StringBuffer urlSb = new StringBuffer(); + urlSb.append("http://"); + urlSb.append(urlDic.getValue()); + urlSb.append("/directlink/httpAccess"); + java.net.URL url = new URL(urlSb.toString()); +// java.net.URL url = new URL(URL); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); if (cookies != null) { // 如果已登录,设置coikie @@ -510,7 +525,7 @@ * @throws FileNotFoundException * @throws IOException */ - public static String getRequestDataForWithDraw(String serviceId, String serviceName,MallMemberWithdraw mallMemberWithdraw,MallMemberBank mallMemberBank) + public String getRequestDataForWithDraw(String serviceId, String serviceName,MallMemberWithdraw mallMemberWithdraw,MallMemberBank mallMemberBank) throws FileNotFoundException, IOException { StringBuffer buf = new StringBuffer(); // 报文编码格式utf-8 @@ -522,6 +537,18 @@ buf.append(serviceId); buf.append("</serviceId>"); String reqData = ""; + DataDictionaryCustom fkzhDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_FKZH.getType(), + DataDictionaryEnum.BANK_TRANS_FKZH.getCode() + ); + DataDictionaryCustom customerIdDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_customerId.getType(), + DataDictionaryEnum.BANK_TRANS_customerId.getCode() + ); + DataDictionaryCustom softwareIdDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_softwareId.getType(), + DataDictionaryEnum.BANK_TRANS_softwareId.getCode() + ); if (serviceId.equals("srv001_signOn")) { reqData = SIGN_MESSAGE; } else if (serviceId.equals("srv006_singleInnerTransfer")) { @@ -541,7 +568,7 @@ * </opReq> * * */ - reqData = reqData.replaceFirst("\\$\\{FKZH\\}", FKZH); + reqData = reqData.replaceFirst("\\$\\{FKZH\\}", fkzhDic.getValue()); reqData = reqData.replaceFirst("\\$\\{SKZH\\}", mallMemberBank.getBankNo()); reqData = reqData.replaceFirst("\\$\\{SKHM\\}", mallMemberBank.getName()); if(mallMemberWithdraw.getRemark().equals("凭证提现")){ @@ -576,7 +603,7 @@ */ reqData = TRADE_MESSAGE; - reqData = reqData.replaceFirst("\\$\\{FKZH\\}", FKZH); + reqData = reqData.replaceFirst("\\$\\{FKZH\\}", fkzhDic.getValue()); reqData = reqData.replaceFirst("\\$\\{SKZH\\}", mallMemberBank.getBankNo()); reqData = reqData.replaceFirst("\\$\\{SKHM\\}", mallMemberBank.getName()); reqData = reqData.replaceFirst("\\$\\{SKYH\\}", mallMemberBank.getBankName()+mallMemberBank.getSubbranchName()); @@ -608,7 +635,7 @@ * <opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><ZHHA>${ZHHA}</ZHHA></ReqParam></opReq> */ //原订单流水号 - reqData = reqData.replaceFirst("\\$\\{ZHHA\\}", FKZH); + reqData = reqData.replaceFirst("\\$\\{ZHHA\\}", fkzhDic.getValue()); } // String serialNo = String.valueOf(Math.round(Math.random() * 10000)) // + System.currentTimeMillis(); @@ -627,10 +654,10 @@ e.printStackTrace(); } buf.append("<customerId>"); - buf.append(customerId); + buf.append(customerIdDic.getValue()); buf.append("</customerId>"); buf.append("<softwareId>"); - buf.append(softwareId); + buf.append(softwareIdDic.getValue()); buf.append("</softwareId>"); buf.append("<functionId>"); buf.append(serviceId.substring(0, 6)); @@ -657,7 +684,7 @@ * @return * @throws UnsupportedEncodingException */ - public static String signData(String orignalData) + public String signData(String orignalData) throws UnsupportedEncodingException { InetAddress addr = null; Socket socket = null; @@ -669,9 +696,17 @@ + "<origin_data_len>" + orignalData.getBytes("GBK").length + "</origin_data_len>\n" + "<origin_data>" + orignalData + "</origin_data>\n" + "</msg_body>\n" + "</msg>"; + + DataDictionaryCustom VERIFY_IPDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_VERIFY_IP.getType(), + DataDictionaryEnum.BANK_TRANS_VERIFY_IP.getCode() + );DataDictionaryCustom VERIFY_PORT_Dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BANK_TRANS_VERIFY_PORT.getType(), + DataDictionaryEnum.BANK_TRANS_VERIFY_PORT.getCode() + ); try { - addr = InetAddress.getByName(VERIFY_IP); - socket = new Socket(addr, VERIFY_PORT); + addr = InetAddress.getByName(VERIFY_IPDic.getValue()); + socket = new Socket(addr, Integer.parseInt(VERIFY_PORT_Dic.getValue())); // InetAddress localHost = addr.getLocalHost(); // socket = new Socket(localHost, VERIFY_PORT); // 发送 diff --git a/src/main/resources/lkl/prd/api_cert.cer b/src/main/resources/lkl/prd/api_cert.cer new file mode 100644 index 0000000..b36b130 --- /dev/null +++ b/src/main/resources/lkl/prd/api_cert.cer @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDoDCCAoigAwIBAgIGAYgE5ezZMA0GCSqGSIb3DQEBBQUAMGAxFDASBgNVBAMM +C0xBS0FMQS1MQU9QMQswCQYDVQQGEwJDTjEXMBUGA1UECgwOTGFrYWxhIENvLixM +dGQxDzANBgNVBAsMBkxLTC1ZRjERMA8GA1UEBwwIc2hhbmdoYWkwHhcNMjMwNTEw +MDkwMjM3WhcNMzMwNTEwMDkwMjM3WjBgMRQwEgYDVQQDDAtMQUtBTEEtTEFPUDEL +MAkGA1UEBhMCQ04xFzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMQ8wDQYDVQQLDAZM +S0wtWUYxETAPBgNVBAcMCHNoYW5naGFpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAhGqQ9TRIdrHHeffmqqXRe/x2UNoD/lzTQsCUlUh1quwvoahHaqeU +cbmbjYKJlnJK8EDy1VrF+M0YmWDGhFUesVLe4HexyYFgIJMha51kz7/HM2lyjEcq +DYXJqfGpuUzq8U9bgbIskvlRCGjfx1vg+zTNH70KVBQLrzuOSJuQKIFEbEuU5Gms +MdxCecvm5hjlqMP7JxuQQaCkULUClu9LYxub4oyjIiSY0gqKKpfI3VEVmdu2dvsr +Hp0/ySbDAiocddc0oZ2utxwwQYOtMN2uH6SPObidrkBJ/Rb02jEuFXKjZWGUuv0T +a1QftH5hCb7rLzhCG6VvcSwvpepkXtHXIQIDAQABo2AwXjAPBgNVHRMECDAGAQH/ +AgEAMB8GA1UdIwQYMBaAFGK3owb/1UEa3uYyZU2/5TTPsLlIMB0GA1UdDgQWBBRi +t6MG/9VBGt7mMmVNv+U0z7C5SDALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQAD +ggEBAD9Lae2EuSFgCwsPcuSZEtvtL33s8/HagvjD5vkRr584SJfs90US1P013J0Y +lN8LtutEo3CjPVJUfsltIleD0Dnh4seJuJ3SCorTXzTt0GNL5jqazJrJJHKgjrt4 +kh5P94uoX5ujZxNEtav/o4rhVtcAfCUxsrDrSnhSd+nQr1PlR5qhMAFrKcaFsZy6 +HTvP5KqiopKUmMbMGUQzfsNQiS8h+c6seDpMfK3T3BgnaV0mWduasDsQm6/tnQNv +/d2WVudz0G08WhHr/653uB5I3wungKWMLSCa8ehZgUdE+BN3x1zOImyk/CHNHCGt +Wbn2HUolxQ8K3s3qIzvan+aOyWU= +-----END CERTIFICATE----- diff --git a/src/main/resources/lkl/prd/api_private_key.pem b/src/main/resources/lkl/prd/api_private_key.pem new file mode 100644 index 0000000..448b0d9 --- /dev/null +++ b/src/main/resources/lkl/prd/api_private_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCEapD1NEh2scd5 +9+aqpdF7/HZQ2gP+XNNCwJSVSHWq7C+hqEdqp5RxuZuNgomWckrwQPLVWsX4zRiZ +YMaEVR6xUt7gd7HJgWAgkyFrnWTPv8czaXKMRyoNhcmp8am5TOrxT1uBsiyS+VEI +aN/HW+D7NM0fvQpUFAuvO45Im5AogURsS5Tkaawx3EJ5y+bmGOWow/snG5BBoKRQ +tQKW70tjG5vijKMiJJjSCooql8jdURWZ27Z2+ysenT/JJsMCKhx11zShna63HDBB +g60w3a4fpI85uJ2uQEn9FvTaMS4VcqNlYZS6/RNrVB+0fmEJvusvOEIbpW9xLC+l +6mRe0dchAgMBAAECggEAVEpZ2Bzd++CTMErj5MEFJr3Auxrs6+A/AwEAFD852AHd +GDS8sWHXlsUmBeCQoNpEZceSTMopt4UnIYt/EwH0NcCg65aF79WRUWsXHR/l6nET +5uA68JzkYhNGGg4hkjkqXU283ESFJ1HZiVbpDEiqYH5uDMQTbQ4NmhB5NDMCgyVL +oUkJD4/PYxglkykjih0RV58X/UU8T7R318uzqTq5DcrEHIwRdzdx1GzbwuoTFGnV +965YTKBWkIRjIFTDmZVNQEcXo0kRETiM+4/M6Q11LNKD6El077xBk6L6bzV+l0vb +cmazWKCXLJXZxWCDntrcKLxPyHnsYqZ0uNhnEIenWQKBgQDCQ30+bIHlgQaAekP/ +RLKo0ot57Hy5gO8lGO9esk0O3uAtNFt8uU3bdPzTUUAe2DV/9dscDSPvIzSAovQb +uvl8n0SXgnhK7xgv8EFbdNtZTi2upxGTmyXefR2Wq8ez7NpztxZkfgW3IS+awhw3 +W9+d0khI6rSWVxvWgYzdEsjXLwKBgQCuf2yFUpQFKpv/XeeqcUYPvfReP8FaT+zj +YA3uSRwEuIpPjGENDuKjUjyoKOVww5PFQAaLGmtGVcsHs7q5KFSUK1O9hQ5D996z +5LzJlgv9Giu51bDcx8b3846B6zTHVn4HNy87e/ac8r2+eXtHfm9E5bDy8H9qtCgv +nWsKn5WirwKBgB6pWFNJ/RakTspogeMAjNJoqOsNkIIW/6fzT5S6v77hHrED2ozN +EqTYyi7wXBaCOa+Atpyu1kUgYWEMV0spL8eju8fOJ/5rzn2Chk5RG231EPDIHdYW +XtvHE6x8YIDdmX06IKar3WsSKdlbWejC74CReCdKJEa2aQZqXDlohZqxAoGAMRRT +8JfOXDmk0MmXvD/J5emWjt+9wWoThcxhfrD/eXByLnecYHDcW/VobB+8kN/hcyxT +6tIOdCTzSwJJNYTbbSVWk0qWPZW9BLoEQ2q5ioHO5KDu8toZ42mUnoQKPzrbjan+ +1etC7Nf1eFpwyyYLo8Q65cmw/NEZMHNFRSKnkq8CgYEAj0knhIXhf3ZOSaY5UB+6 +ZpQVS6h8I0E1sjRWRfw5ft6IXzEtLfO359o6KV9kmkkEPEiDPZht21uM9VeDMWwu +tpA6V0TSZDmbqFxGUEACLZIngzIbi90/Q2BTxVZeYhL+/JBGWgO7mGa8EcnFWZR7 +7LUAYSNZFHQggWHwM+7/ADE= +-----END PRIVATE KEY----- diff --git a/src/main/resources/lkl/prd/api_public_key.pem b/src/main/resources/lkl/prd/api_public_key.pem new file mode 100644 index 0000000..68be369 --- /dev/null +++ b/src/main/resources/lkl/prd/api_public_key.pem @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhGqQ9TRIdrHHeffmqqXR +e/x2UNoD/lzTQsCUlUh1quwvoahHaqeUcbmbjYKJlnJK8EDy1VrF+M0YmWDGhFUe +sVLe4HexyYFgIJMha51kz7/HM2lyjEcqDYXJqfGpuUzq8U9bgbIskvlRCGjfx1vg ++zTNH70KVBQLrzuOSJuQKIFEbEuU5GmsMdxCecvm5hjlqMP7JxuQQaCkULUClu9L +Yxub4oyjIiSY0gqKKpfI3VEVmdu2dvsrHp0/ySbDAiocddc0oZ2utxwwQYOtMN2u +H6SPObidrkBJ/Rb02jEuFXKjZWGUuv0Ta1QftH5hCb7rLzhCG6VvcSwvpepkXtHX +IQIDAQAB +-----END PUBLIC KEY----- diff --git a/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html b/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html index d9725df..e150787 100644 --- a/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html +++ b/src/main/resources/templates/febs/views/modules/system/cashOutSetting.html @@ -43,6 +43,55 @@ </div> <div class="layui-word-aux" style="margin-left: 150px;">互转手续费:例如25%,直接输入25</div> </div> + <blockquote class="layui-elem-quote blue-border">宁波银行提现设置</blockquote> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">9080-网址:</label> + <div class="layui-input-block"> + <input type="text" name="urlStr" + lay-verify="required|text" autocomplete="off" class="layui-input" > + </div> + <div class="layui-word-aux" style="margin-left: 150px;">银行转账设置-接收报文url,使用NATAPP映射9080端口</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">8010-网址:</label> + <div class="layui-input-block"> + <input type="text" name="verifyIp" + lay-verify="required|text" autocomplete="off" class="layui-input" > + </div> + <div class="layui-word-aux" style="margin-left: 150px;">银行转账设置-签名端口,使用NATAPP映射8010端口</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">8010-端口号:</label> + <div class="layui-input-block"> + <input type="text" name="verifyPort" + lay-verify="required|text" autocomplete="off" class="layui-input" > + </div> + <div class="layui-word-aux" style="margin-left: 150px;">银行转账设置-签名ip,使用NATAPP映射8010端口号</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">付款账号:</label> + <div class="layui-input-block"> + <input type="text" name="fkzh" + lay-verify="required|text" autocomplete="off" class="layui-input" > + </div> + <div class="layui-word-aux" style="margin-left: 150px;">银行转账设置-付款账号</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">customerId:</label> + <div class="layui-input-block"> + <input type="text" name="customerId" + lay-verify="required|text" autocomplete="off" class="layui-input" > + </div> + <div class="layui-word-aux" style="margin-left: 150px;">银行转账设置-customerId</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">softwareId:</label> + <div class="layui-input-block"> + <input type="text" name="softwareId" + lay-verify="required|text" autocomplete="off" class="layui-input" > + </div> + <div class="layui-word-aux" style="margin-left: 150px;">银行转账设置-softwareId</div> + </div> </div> <div class="layui-card-footer"> @@ -88,6 +137,12 @@ function initCashoutValue() { form.val("cashout-setting-form", { + "urlStr": cashout.urlStr, + "verifyIp": cashout.verifyIp, + "verifyPort": cashout.verifyPort, + "fkzh": cashout.fkzh, + "customerId": cashout.customerId, + "softwareId": cashout.softwareId, "minCashOut": cashout.minCashOut, "allCashOut": cashout.allCashOut, "serviceFee": cashout.serviceFee, diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index 5040508..7215f1e 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -106,11 +106,11 @@ // nbyhService.tradeSingeOuterTransfer(306L); // nbyhService.accountInfoQuery(306L); // nbyhService.transferResultInfoQuery(315L); - +// // mallMemberService.chargeAgree(307L); // mallMemberService.searchInfo(307L); - agentService.perkAgent(); +// agentService.perkAgent(); } @Test public void agentProfit() { -- Gitblit v1.9.1