|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import java.io.*; | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.net.HttpURLConnection; | 
|---|
|  |  |  | import java.net.InetAddress; | 
|---|
|  |  |  | import java.net.Socket; | 
|---|
|  |  |  | import java.net.URL; | 
|---|
|  |  |  | import java.net.*; | 
|---|
|  |  |  | import java.text.SimpleDateFormat; | 
|---|
|  |  |  | import java.util.Calendar; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | @RequiredArgsConstructor | 
|---|
|  |  |  | public class NBYHServiceImpl implements NBYHService { | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 登录报文原文 | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 转账报文原文 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static final String ACCOUNT_MESSAGE_SEARCH = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><ZHHA>${ZHHA}</ZHHA></ReqParam></opReq>"; | 
|---|
|  |  |  | private static final String TRADE_MESSAGE_SEARCH = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><JYXH>${serialNoOld}</JYXH></ReqParam></opReq>"; | 
|---|
|  |  |  | private static final String TRADE_MESSAGE_SINGLE = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>${FKZH}</FKZH><SKZH>${SKZH}</SKZH><SKHM>${SKHM}</SKHM><JYJE>${JYJE}</JYJE><YOTU>${YOTU}</YOTU></ReqParam></opReq>"; | 
|---|
|  |  |  | //    private static final String TRADE_MESSAGE_SINGLE = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>82260120102022631</FKZH><SKZH>78040122000059277</SKZH><SKHM>792311957</SKHM><JYJE>0.01</JYJE><YOTU>银企接口测试</YOTU></ReqParam></opReq>"; | 
|---|
|  |  |  | private static final String TRADE_MESSAGE = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>${FKZH}</FKZH><SKZH>${SKZH}</SKZH><SKHM>${SKHM}</SKHM><SKYH>${SKYH}</SKYH><SKSH>${SKSH}</SKSH><SKSI>${SKSI}</SKSI><JYJE>${JYJE}</JYJE><YOTU>${YOTU}</YOTU><SKHH>${SKHH}</SKHH></ReqParam></opReq>"; | 
|---|
|  |  |  | //    private static final String TRADE_MESSAGE = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>${FKZH}</FKZH><SKZH>${SKZH}</SKZH><SKHM>${SKHM}</SKHM><SKYH>${SKYH}</SKYH><SKSH>${SKSH}</SKSH><SKSI>${SKSI}</SKSI><JYJE>${JYJE}</JYJE><YOTU>${YOTU}</YOTU><SKHH>${SKHH}</SKHH></ReqParam></opReq>"; | 
|---|
|  |  |  | private static final String TRADE_MESSAGE = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>${FKZH}</FKZH><SKZH>${SKZH}</SKZH><SKHM>${SKHM}</SKHM><SKYH>${SKYH}</SKYH><SKSH>${SKSH}</SKSH><SKSI>${SKSI}</SKSI><JYJE>${JYJE}</JYJE><YOTU>${YOTU}</YOTU></ReqParam></opReq>"; | 
|---|
|  |  |  | //   private static final String TRADE_MESSAGE = "<opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>82260120102022631</FKZH><SKZH>6228481060643871117</SKZH><SKHM>王苏平</SKHM><SKYH>中国农业银行舟山市定海支行营业中心</SKYH><SKSH>浙江省</SKSH><SKSI>舟山市</SKSI><JYJE>0.01</JYJE><BIZH>01</BIZH><ZZLX>02</ZZLX><ZZLB>0</ZZLB><YOTU>银企接口测试</YOTU><SKHH>103342040518</SKHH></ReqParam></opReq>"; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 接收报文url | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static final String URL = "http://127.0.0.1:9080/directlink/httpAccess"; | 
|---|
|  |  |  | //    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 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static final String VERIFY_IP = "127.0.0.1"; | 
|---|
|  |  |  | //    private static final String VERIFY_IP = "127.0.0.1"; | 
|---|
|  |  |  | private static final String VERIFY_IP = "server.natappfree.cc"; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 付款账号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 签名端口 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static final int VERIFY_PORT = 8010; | 
|---|
|  |  |  | private static final int VERIFY_PORT = 39296; | 
|---|
|  |  |  | //    private static final int VERIFY_PORT = 8010; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * cookies | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static String cookies = null; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * sessionId | 
|---|
|  |  |  | * sessionIdhttp://1d6d-220-168-79-89.ngrok.io | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static String sessionId = "-1"; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InetAddress addr = InetAddress.getByName(VERIFY_IP); | 
|---|
|  |  |  | Socket socket = new Socket(addr, VERIFY_PORT); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | System.out.println("发送登录请求:"+addr); | 
|---|
|  |  |  | System.out.println("发送登录请求:"+socket.getKeepAlive()); | 
|---|
|  |  |  | //         System.out.println("发送登录请求:"); | 
|---|
|  |  |  | //         test.executeServerHttpService("srv001_signOn"); | 
|---|
|  |  |  | //            System.out.println("\n发送转账结果查询请求:"); | 
|---|
|  |  |  | //            executeServerHttpService("srv008_transferResultInfoQuery","转账结果查询","2023032910585227466"); | 
|---|
|  |  |  | //         System.out.println("\n发送跨行转账请求:"); | 
|---|
|  |  |  | //         test.executeServerHttpService("srv007_singleOuterTransfer","跨行转账",null); | 
|---|
|  |  |  | //         System.out.println("\n发送行内转账请求:"); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private MallMemberWithdrawMapper mallMemberWithdrawMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private MallMemberWithdrawMsgMapper mallMemberWithdrawMsgMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private MallMemberBankMapper mallMemberBankMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean tradeSinge(Long id) { | 
|---|
|  |  |  | public NBYHResponse tradeSinge(Long id) { | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <?xml version="1.0" encoding="UTF-8"?> | 
|---|
|  |  |  | *     <NBCBEBankData> | 
|---|
|  |  |  | 
|---|
|  |  |  | *         <signData>MIIEzQYKKoEcz1UGAQQCAqCCBL0wggS5AgEBMQ4wDAYIKoEcz1UBgxEFADCB+AYKKoEcz1UGAQQCAaCB6QSB5jxvcFJlcT48c2VyaWFsTm8+VzIwMjMwNDI0MTcxMzQ0MDUwODY8L3NlcmlhbE5vPjxyZXFUaW1lPjIwMjMwNDI0MTc0MDE2PC9yZXFUaW1lPjxSZXFQYXJhbT48RktaSD44MjI2MDEyMDEwMjAyMjYzMTwvRktaSD48U0taSD43ODA0MDEyMjAwMDA1OTI3NzwvU0taSD48U0tITT43OTIzMTE5NTc8L1NLSE0+PEpZSkU+MS4wMDwvSllKRT48WU9UVT7Q0MTa16rVyzwvWU9UVT48L1JlcVBhcmFtPjwvb3BSZXE+oIIC0TCCAs0wggJxoAMCAQICBRBVc1EWMAwGCCqBHM9VAYN1BQAwXDELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEbMBkGA1UEAwwSQ0ZDQSBURVNUIFNNMiBPQ0ExMB4XDTIzMDMwOTAyNTUzM1oXDTI1MDMwOTAyNTUzM1owcjELMAkGA1UEBhMCQ04xDDAKBgNVBAoMA0JPQzETMBEGA1UECwwKQ0ZDQVRlY2hURTEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMjElMCMGA1UEAwwcQ0ZDQVRlY2hURUB0ZXN0cWl5ZUBaMTExMTFAMTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABPHX9dm+K8G4WGe2uAHWZKI0aJgmHQfcTyK6jxKvEC5ADcptfpbe2u0cgSwBXFsyAuXY/6wq2vm1wyzmKqGCikGjggEGMIIBAjAfBgNVHSMEGDAWgBRr/hjaj0I6prhtsy6Igzo0osEw4TAMBgNVHRMBAf8EAjAAMEgGA1UdIARBMD8wPQYIYIEchu8qAQEwMTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZmNhLmNvbS5jbi91cy91cy0xNC5odG0wOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL3VjcmwuY2ZjYS5jb20uY24vU00yL2NybDQ3MDc2LmNybDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFEr8/JLNuSXaME4XwdfG4VbI1nppMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAMBggqgRzPVQGDdQUAA0gAMEUCIDO8ojBrfnfn1xqHqLovnTRUmSfwmKBPHSCjIf7DBQUzAiEAnGcbKMqUfYj+35WqRfZrb9u34IcgYg0sOc9l/TKHol0xgdMwgdACAQEwZTBcMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJDRkNBIFRFU1QgU00yIE9DQTECBRBVc1EWMAwGCCqBHM9VAYMRBQAwDQYJKoEcz1UBgi0BBQAERzBFAiEAhXpldulA3eL7gbu97bo7BFKDf+AJk2OUoNcU88pbb3ICIEwlp1PJ43Lj2frEIBp9HKiyaX/wQBDOasfOk5Kk39KC</signData> | 
|---|
|  |  |  | *     </NBCBEBankData> | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | NBYHResponse nbyhResponse = new NBYHResponse(); | 
|---|
|  |  |  | boolean flag = false; | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(mallMemberWithdraw.getWtihdrawTypeId()); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String requestDataForWithDraw = getRequestDataForWithDraw("srv006_singleInnerTransfer", "行内转账", mallMemberWithdraw, mallMemberBank); | 
|---|
|  |  |  | String responseStr = executeServerHttpService(requestDataForWithDraw); | 
|---|
|  |  |  | errorMessage = responseStr.substring(responseStr.indexOf("<errorMsg>") + 10, | 
|---|
|  |  |  | responseStr.indexOf("</errorMsg>")); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String SBYYStr = responseStr.substring(responseStr.indexOf("<SBYY>") + 6, | 
|---|
|  |  |  | responseStr.indexOf("</SBYY>")); | 
|---|
|  |  |  | nbyhResponse.setMsg(errorMessage+SBYYStr); | 
|---|
|  |  |  | boolean b = parseReturnValueForTrade(responseStr); | 
|---|
|  |  |  | if(b){ | 
|---|
|  |  |  | //插入一条记录 | 
|---|
|  |  |  | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return flag; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | nbyhResponse.setFlag(flag); | 
|---|
|  |  |  | return nbyhResponse; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean tradeSingeOuterTransfer(Long id) { | 
|---|
|  |  |  | public NBYHResponse tradeSingeOuterTransfer(Long id) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | NBYHResponse nbyhResponse = new NBYHResponse(); | 
|---|
|  |  |  | boolean flag = false; | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(mallMemberWithdraw.getWtihdrawTypeId()); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String requestDataForWithDraw = getRequestDataForWithDraw("srv007_singleOuterTransfer", "跨行汇款", mallMemberWithdraw, mallMemberBank); | 
|---|
|  |  |  | String responseStr = executeServerHttpService(requestDataForWithDraw); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | errorMessage = responseStr.substring(responseStr.indexOf("<errorMsg>") + 10, | 
|---|
|  |  |  | responseStr.indexOf("</errorMsg>")); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String SBYYStr = responseStr.substring(responseStr.indexOf("<SBYY>") + 6, | 
|---|
|  |  |  | responseStr.indexOf("</SBYY>")); | 
|---|
|  |  |  | nbyhResponse.setMsg(errorMessage+SBYYStr); | 
|---|
|  |  |  | boolean b = parseReturnValueForTrade(responseStr); | 
|---|
|  |  |  | if(b){ | 
|---|
|  |  |  | //插入一条记录 | 
|---|
|  |  |  | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return flag; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | nbyhResponse.setFlag(flag); | 
|---|
|  |  |  | return nbyhResponse; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void transferResultInfoQuery(Long id) { | 
|---|
|  |  |  | public NBYHResponse transferResultInfoQuery(Long id) { | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <?xml version="1.0" encoding="UTF-8"?> | 
|---|
|  |  |  | *     <NBCBEBankData> | 
|---|
|  |  |  | *         <sessionId>-1</sessionId> | 
|---|
|  |  |  | *         <serviceId>srv008_transferResultInfoQuery</serviceId> | 
|---|
|  |  |  | *         <customerId>0000005332</customerId> | 
|---|
|  |  |  | *         <softwareId>002</softwareId> | 
|---|
|  |  |  | *         <functionId>srv008</functionId> | 
|---|
|  |  |  | *         <functionName>转账结果查询</functionName> | 
|---|
|  |  |  | *         <opReq> | 
|---|
|  |  |  | *             <serialNo>W2023042417134405087</serialNo> | 
|---|
|  |  |  | *             <reqTime>20230424180506</reqTime> | 
|---|
|  |  |  | *             <ReqParam> | 
|---|
|  |  |  | *                 <JYXH>W2023042417134405087</JYXH> | 
|---|
|  |  |  | *             </ReqParam> | 
|---|
|  |  |  | *         </opReq> | 
|---|
|  |  |  | *         <signData>MIIEdwYKKoEcz1UGAQQCAqCCBGcwggRjAgEBMQ4wDAYIKoEcz1UBgxEFADCBoQYKKoEcz1UGAQQCAaCBkgSBjzxvcFJlcT48c2VyaWFsTm8+VzIwMjMwNDI0MTcxMzQ0MDUwODc8L3NlcmlhbE5vPjxyZXFUaW1lPjIwMjMwNDI0MTgwNTA2PC9yZXFUaW1lPjxSZXFQYXJhbT48SllYSD5XMjAyMzA0MjQxNzEzNDQwNTA4NzwvSllYSD48L1JlcVBhcmFtPjwvb3BSZXE+oIIC0TCCAs0wggJxoAMCAQICBRBVc1EWMAwGCCqBHM9VAYN1BQAwXDELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEbMBkGA1UEAwwSQ0ZDQSBURVNUIFNNMiBPQ0ExMB4XDTIzMDMwOTAyNTUzM1oXDTI1MDMwOTAyNTUzM1owcjELMAkGA1UEBhMCQ04xDDAKBgNVBAoMA0JPQzETMBEGA1UECwwKQ0ZDQVRlY2hURTEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMjElMCMGA1UEAwwcQ0ZDQVRlY2hURUB0ZXN0cWl5ZUBaMTExMTFAMTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABPHX9dm+K8G4WGe2uAHWZKI0aJgmHQfcTyK6jxKvEC5ADcptfpbe2u0cgSwBXFsyAuXY/6wq2vm1wyzmKqGCikGjggEGMIIBAjAfBgNVHSMEGDAWgBRr/hjaj0I6prhtsy6Igzo0osEw4TAMBgNVHRMBAf8EAjAAMEgGA1UdIARBMD8wPQYIYIEchu8qAQEwMTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZmNhLmNvbS5jbi91cy91cy0xNC5odG0wOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL3VjcmwuY2ZjYS5jb20uY24vU00yL2NybDQ3MDc2LmNybDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFEr8/JLNuSXaME4XwdfG4VbI1nppMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAMBggqgRzPVQGDdQUAA0gAMEUCIDO8ojBrfnfn1xqHqLovnTRUmSfwmKBPHSCjIf7DBQUzAiEAnGcbKMqUfYj+35WqRfZrb9u34IcgYg0sOc9l/TKHol0xgdQwgdECAQEwZTBcMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJDRkNBIFRFU1QgU00yIE9DQTECBRBVc1EWMAwGCCqBHM9VAYMRBQAwDQYJKoEcz1UBgi0BBQAESDBGAiEAohIVn9P6WRg+ZdOzqgqKs38tRhG13f3jv1EEp9CQn+0CIQC//I83nEjczU5TgF273KCuCILgzUodySc3osMUyuEiGw==</signData> | 
|---|
|  |  |  | *     </NBCBEBankData> | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | NBYHResponse nbyhResponse = new NBYHResponse(); | 
|---|
|  |  |  | boolean flag = false; | 
|---|
|  |  |  | MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(id); | 
|---|
|  |  |  | //        if(ObjectUtil.isEmpty(mallMemberWithdrawMsg)){ | 
|---|
|  |  |  | //            return; | 
|---|
|  |  |  | //        if(ObjectUtil.isNotEmpty(mallMemberWithdrawMsg)){ | 
|---|
|  |  |  | //            Integer status = mallMemberWithdrawMsg.getStatus(); | 
|---|
|  |  |  | //            if(1 == status){ | 
|---|
|  |  |  | //                nbyhResponse.setFlag(flag); | 
|---|
|  |  |  | //                return nbyhResponse; | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        Integer status = mallMemberWithdrawMsg.getStatus(); | 
|---|
|  |  |  | //        if(1 == status){ | 
|---|
|  |  |  | //            return; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawMsg.getWithdrawId()); | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(304L); | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(mallMemberWithdraw.getWtihdrawTypeId()); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String requestDataForWithDraw = getRequestDataForWithDraw("srv008_transferResultInfoQuery", "转账结果查询", mallMemberWithdraw, mallMemberBank); | 
|---|
|  |  |  | String responseStr = executeServerHttpService(requestDataForWithDraw); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | errorMessage = responseStr.substring(responseStr.indexOf("<errorMsg>") + 10, | 
|---|
|  |  |  | responseStr.indexOf("</errorMsg>")); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String SBYYStr = responseStr.substring(responseStr.indexOf("<SBYY>") + 6, | 
|---|
|  |  |  | responseStr.indexOf("</SBYY>")); | 
|---|
|  |  |  | nbyhResponse.setMsg(errorMessage+SBYYStr); | 
|---|
|  |  |  | boolean b = parseReturnValue(responseStr); | 
|---|
|  |  |  | if(b){ | 
|---|
|  |  |  | mallMemberWithdrawMsg.setStatus(1); | 
|---|
|  |  |  | mallMemberWithdrawMsgMapper.updateById(mallMemberWithdrawMsg); | 
|---|
|  |  |  | if(ObjectUtil.isNotEmpty(mallMemberWithdrawMsg)){ | 
|---|
|  |  |  | mallMemberWithdrawMsg.setStatus(1); | 
|---|
|  |  |  | mallMemberWithdrawMsgMapper.updateById(mallMemberWithdrawMsg); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | flag = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } catch (IOException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | nbyhResponse.setFlag(flag); | 
|---|
|  |  |  | return nbyhResponse; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean accountInfoQuery(Long id) { | 
|---|
|  |  |  | boolean flag = false; | 
|---|
|  |  |  | MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String requestDataForWithDraw = getRequestDataForWithDraw("srv003_singleAccountInfoQuery", "账户余额及基本信息查询", mallMemberWithdraw, null); | 
|---|
|  |  |  | String responseStr = executeServerHttpService(requestDataForWithDraw); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String stateStr = responseStr.substring(responseStr.indexOf("<state>") + 7, | 
|---|
|  |  |  | responseStr.indexOf("</state>")); | 
|---|
|  |  |  | String KYERStr = responseStr.substring(responseStr.indexOf("<KYER>") + 6, | 
|---|
|  |  |  | responseStr.indexOf("</KYER>")); | 
|---|
|  |  |  | BigDecimal amount = BigDecimal.ZERO; | 
|---|
|  |  |  | if(mallMemberWithdraw.getRemark().equals("凭证提现")){ | 
|---|
|  |  |  | amount = mallMemberWithdraw.getAmount().setScale(2, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | amount = mallMemberWithdraw.getAmount().subtract(mallMemberWithdraw.getAmountFee()).setScale(2, BigDecimal.ROUND_DOWN); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(stateStr.equals("0") && new BigDecimal(KYERStr).compareTo(amount) >= 0){ | 
|---|
|  |  |  | flag = true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (IOException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return flag; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | * @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 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @throws FileNotFoundException | 
|---|
|  |  |  | * @throws IOException | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String getRequestData(String serviceId, String serviceName, String serialNo) | 
|---|
|  |  |  | throws FileNotFoundException, IOException { | 
|---|
|  |  |  | StringBuffer buf = new StringBuffer(); | 
|---|
|  |  |  | // 报文编码格式utf-8 | 
|---|
|  |  |  | buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><NBCBEBankData>"); | 
|---|
|  |  |  | buf.append("<sessionId>"); | 
|---|
|  |  |  | buf.append(sessionId); | 
|---|
|  |  |  | buf.append("</sessionId>"); | 
|---|
|  |  |  | buf.append("<serviceId>"); | 
|---|
|  |  |  | buf.append(serviceId); | 
|---|
|  |  |  | buf.append("</serviceId>"); | 
|---|
|  |  |  | String reqData = ""; | 
|---|
|  |  |  | if (serviceId.equals("srv001_signOn")) { | 
|---|
|  |  |  | reqData = SIGN_MESSAGE; | 
|---|
|  |  |  | } else if (serviceId.equals("srv006_singleInnerTransfer")) { | 
|---|
|  |  |  | reqData = TRADE_MESSAGE_SINGLE; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>82260120102022631</FKZH><SKZH>78040122000059277</SKZH><SKHM>792311957</SKHM><JYJE>0.01</JYJE><YOTU>银企接口测试</YOTU></ReqParam></opReq> | 
|---|
|  |  |  | * <opReq> | 
|---|
|  |  |  | *     <serialNo>${serialNo}</serialNo> | 
|---|
|  |  |  | *     <reqTime>${reqTime}</reqTime> | 
|---|
|  |  |  | *     <ReqParam> | 
|---|
|  |  |  | *         <FKZH>${FKZH}</FKZH> | 
|---|
|  |  |  | *         <SKZH>${SKZH}</SKZH> | 
|---|
|  |  |  | *         <SKHM>${SKHM}</SKHM> | 
|---|
|  |  |  | *         <JYJE>${JYJE}</JYJE> | 
|---|
|  |  |  | *         <YOTU>${YOTU}</YOTU> | 
|---|
|  |  |  | *     </ReqParam> | 
|---|
|  |  |  | * </opReq> | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{FKZH\\}", serialNo); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{SKZH\\}", serialNo); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{SKHM\\}", serialNo); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{JYJE\\}", serialNo); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{YOTU\\}", serialNo); | 
|---|
|  |  |  | }else if (serviceId.equals("srv007_singleOuterTransfer")) { | 
|---|
|  |  |  | reqData = TRADE_MESSAGE; | 
|---|
|  |  |  | }else if (serviceId.equals("srv008_transferResultInfoQuery")) { | 
|---|
|  |  |  | reqData = TRADE_MESSAGE_SEARCH; | 
|---|
|  |  |  | //原订单流水号 | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{serialNoOld\\}", serialNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //      String serialNo = String.valueOf(Math.round(Math.random() * 10000)) | 
|---|
|  |  |  | //            + System.currentTimeMillis(); | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | Date date = calendar.getTime(); | 
|---|
|  |  |  | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String reqTime = sdf.format(date); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{serialNo\\}", serialNo); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{reqTime\\}", reqTime); | 
|---|
|  |  |  | String signData = null; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | signData = signData(reqData); | 
|---|
|  |  |  | signData = getNodeValue(signData, "signed_data"); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | buf.append("<customerId>"); | 
|---|
|  |  |  | buf.append(customerId); | 
|---|
|  |  |  | buf.append("</customerId>"); | 
|---|
|  |  |  | buf.append("<softwareId>"); | 
|---|
|  |  |  | buf.append(softwareId); | 
|---|
|  |  |  | buf.append("</softwareId>"); | 
|---|
|  |  |  | buf.append("<functionId>"); | 
|---|
|  |  |  | buf.append(serviceId.substring(0, 6)); | 
|---|
|  |  |  | buf.append("</functionId>"); | 
|---|
|  |  |  | buf.append("<functionName>"); | 
|---|
|  |  |  | buf.append(serviceName); | 
|---|
|  |  |  | buf.append("</functionName>"); | 
|---|
|  |  |  | buf.append(reqData + "<signData>" + signData | 
|---|
|  |  |  | + "</signData></NBCBEBankData>"); | 
|---|
|  |  |  | return buf.toString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //    public static String getRequestData(String serviceId, String serviceName, String serialNo) | 
|---|
|  |  |  | //            throws FileNotFoundException, IOException { | 
|---|
|  |  |  | //        StringBuffer buf = new StringBuffer(); | 
|---|
|  |  |  | //        // 报文编码格式utf-8 | 
|---|
|  |  |  | //        buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><NBCBEBankData>"); | 
|---|
|  |  |  | //        buf.append("<sessionId>"); | 
|---|
|  |  |  | //        buf.append(sessionId); | 
|---|
|  |  |  | //        buf.append("</sessionId>"); | 
|---|
|  |  |  | //        buf.append("<serviceId>"); | 
|---|
|  |  |  | //        buf.append(serviceId); | 
|---|
|  |  |  | //        buf.append("</serviceId>"); | 
|---|
|  |  |  | //        String reqData = ""; | 
|---|
|  |  |  | //        if (serviceId.equals("srv001_signOn")) { | 
|---|
|  |  |  | //            reqData = SIGN_MESSAGE; | 
|---|
|  |  |  | //        } else if (serviceId.equals("srv006_singleInnerTransfer")) { | 
|---|
|  |  |  | //            reqData = TRADE_MESSAGE_SINGLE; | 
|---|
|  |  |  | //            /** | 
|---|
|  |  |  | //             * <opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><FKZH>82260120102022631</FKZH><SKZH>78040122000059277</SKZH><SKHM>792311957</SKHM><JYJE>0.01</JYJE><YOTU>银企接口测试</YOTU></ReqParam></opReq> | 
|---|
|  |  |  | //             * <opReq> | 
|---|
|  |  |  | //             *     <serialNo>${serialNo}</serialNo> | 
|---|
|  |  |  | //             *     <reqTime>${reqTime}</reqTime> | 
|---|
|  |  |  | //             *     <ReqParam> | 
|---|
|  |  |  | //             *         <FKZH>${FKZH}</FKZH> | 
|---|
|  |  |  | //             *         <SKZH>${SKZH}</SKZH> | 
|---|
|  |  |  | //             *         <SKHM>${SKHM}</SKHM> | 
|---|
|  |  |  | //             *         <JYJE>${JYJE}</JYJE> | 
|---|
|  |  |  | //             *         <YOTU>${YOTU}</YOTU> | 
|---|
|  |  |  | //             *     </ReqParam> | 
|---|
|  |  |  | //             * </opReq> | 
|---|
|  |  |  | //             */ | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{FKZH\\}", serialNo); | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{SKZH\\}", serialNo); | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{SKHM\\}", serialNo); | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{JYJE\\}", serialNo); | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{YOTU\\}", serialNo); | 
|---|
|  |  |  | //        }else if (serviceId.equals("srv007_singleOuterTransfer")) { | 
|---|
|  |  |  | //            reqData = TRADE_MESSAGE; | 
|---|
|  |  |  | //        }else if (serviceId.equals("srv008_transferResultInfoQuery")) { | 
|---|
|  |  |  | //            reqData = TRADE_MESSAGE_SEARCH; | 
|---|
|  |  |  | //            //原订单流水号 | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{serialNoOld\\}", serialNo); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | ////      String serialNo = String.valueOf(Math.round(Math.random() * 10000)) | 
|---|
|  |  |  | ////            + System.currentTimeMillis(); | 
|---|
|  |  |  | //        Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | //        Date date = calendar.getTime(); | 
|---|
|  |  |  | //        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        String reqTime = sdf.format(date); | 
|---|
|  |  |  | //        reqData = reqData.replaceFirst("\\$\\{serialNo\\}", serialNo); | 
|---|
|  |  |  | //        reqData = reqData.replaceFirst("\\$\\{reqTime\\}", reqTime); | 
|---|
|  |  |  | //        String signData = null; | 
|---|
|  |  |  | //        try { | 
|---|
|  |  |  | //            signData = signData(reqData); | 
|---|
|  |  |  | //            signData = getNodeValue(signData, "signed_data"); | 
|---|
|  |  |  | //        } catch (Exception e) { | 
|---|
|  |  |  | //            e.printStackTrace(); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        buf.append("<customerId>"); | 
|---|
|  |  |  | //        buf.append(customerId); | 
|---|
|  |  |  | //        buf.append("</customerId>"); | 
|---|
|  |  |  | //        buf.append("<softwareId>"); | 
|---|
|  |  |  | //        buf.append(softwareId); | 
|---|
|  |  |  | //        buf.append("</softwareId>"); | 
|---|
|  |  |  | //        buf.append("<functionId>"); | 
|---|
|  |  |  | //        buf.append(serviceId.substring(0, 6)); | 
|---|
|  |  |  | //        buf.append("</functionId>"); | 
|---|
|  |  |  | //        buf.append("<functionName>"); | 
|---|
|  |  |  | //        buf.append(serviceName); | 
|---|
|  |  |  | //        buf.append("</functionName>"); | 
|---|
|  |  |  | //        buf.append(reqData + "<signData>" + signData | 
|---|
|  |  |  | //                + "</signData></NBCBEBankData>"); | 
|---|
|  |  |  | //        return buf.toString(); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 组装完整的报文 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | * @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 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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")) { | 
|---|
|  |  |  | 
|---|
|  |  |  | * </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("凭证提现")){ | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | 
|---|
|  |  |  | mallMemberWithdraw.getAmount().subtract(mallMemberWithdraw.getAmountFee()).setScale(2, BigDecimal.ROUND_DOWN).toString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{YOTU\\}", "跨行汇款"); | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{SKHH\\}", mallMemberBank.getSkhh()); | 
|---|
|  |  |  | //            reqData = reqData.replaceFirst("\\$\\{SKHH\\}", mallMemberBank.getSkhh()); | 
|---|
|  |  |  | }else if (serviceId.equals("srv008_transferResultInfoQuery")) { | 
|---|
|  |  |  | reqData = TRADE_MESSAGE_SEARCH; | 
|---|
|  |  |  | //原订单流水号 | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{serialNoOld\\}", mallMemberWithdraw.getWithdrawNo()); | 
|---|
|  |  |  | }else if (serviceId.equals("srv003_singleAccountInfoQuery")) { | 
|---|
|  |  |  | reqData = ACCOUNT_MESSAGE_SEARCH; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <opReq> | 
|---|
|  |  |  | *       <serialNo>${serialNo}</serialNo> | 
|---|
|  |  |  | *       <reqTime>${reqTime}</reqTime> | 
|---|
|  |  |  | *       <ReqParam> | 
|---|
|  |  |  | *          <ZHHA>${ZHHA}</ZHHA> | 
|---|
|  |  |  | *       </ReqParam> | 
|---|
|  |  |  | *    </opReq> | 
|---|
|  |  |  | * <opReq><serialNo>${serialNo}</serialNo><reqTime>${reqTime}</reqTime><ReqParam><ZHHA>${ZHHA}</ZHHA></ReqParam></opReq> | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | //原订单流水号 | 
|---|
|  |  |  | reqData = reqData.replaceFirst("\\$\\{ZHHA\\}", fkzhDic.getValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //      String serialNo = String.valueOf(Math.round(Math.random() * 10000)) | 
|---|
|  |  |  | //            + System.currentTimeMillis(); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | * @throws UnsupportedEncodingException | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String signData(String orignalData) | 
|---|
|  |  |  | public String signData(String orignalData) | 
|---|
|  |  |  | throws UnsupportedEncodingException { | 
|---|
|  |  |  | InetAddress addr = null; | 
|---|
|  |  |  | Socket socket = null; | 
|---|
|  |  |  | 
|---|
|  |  |  | + "<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); | 
|---|
|  |  |  | // 发送 | 
|---|
|  |  |  | BufferedWriter wr = new BufferedWriter(new OutputStreamWriter( | 
|---|
|  |  |  | socket.getOutputStream(),"GBK")); | 
|---|