xiaoyong931011
2023-04-24 80e0e99feeb3e554198478dd1636b32a770d55c0
第三方转账
7 files modified
74 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWithdrawMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/NBYHService.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java 51 ●●●● patch | view | raw | blame | history
src/main/resources/application-dev.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberWithdrawMapper.xml 2 ●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ProfitTest.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWithdrawMapper.java
@@ -12,5 +12,5 @@
    List<MallMemberWithdraw> selectListByMemberIdAndDate(@Param("memberId")Long memberId, @Param("date")Date date);
    MallMemberWithdrawMsg selectMsgByWithdrawNo(@Param("withdrawNo")String withdrawNo);
    MallMemberWithdrawMsg selectMsgByWithdrawNo(@Param("withdrawId")Long withdrawId);
}
src/main/java/cc/mrbird/febs/pay/service/NBYHService.java
@@ -25,5 +25,5 @@
    /**
     * 转账结果查询
     */
    void transferResultInfoQuery(String withdrawNo);
    void transferResultInfoQuery(Long id);
}
src/main/java/cc/mrbird/febs/pay/service/impl/NBYHServiceImpl.java
@@ -36,7 +36,8 @@
     * 转账报文原文
     */
    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>82260120102022631</FKZH><SKZH>78040122000059277</SKZH><SKHM>792311957</SKHM><JYJE>0.01</JYJE><YOTU>银企接口测试</YOTU></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>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>";
    /**
@@ -170,6 +171,28 @@
    @Override
    public boolean tradeSinge(Long id) {
        /**
         * <?xml version="1.0" encoding="UTF-8"?>
         *     <NBCBEBankData>
         *         <sessionId>-1</sessionId>
         *         <serviceId>srv006_singleInnerTransfer</serviceId>
         *         <customerId>0000005332</customerId>
         *         <softwareId>002</softwareId>
         *         <functionId>srv006</functionId>
         *         <functionName>行内转账</functionName>
         *         <opReq><serialNo>W2023042417134405086</serialNo>
         *         <reqTime>20230424174016</reqTime>
         *         <ReqParam>
         *             <FKZH>82260120102022631</FKZH>
         *             <SKZH>78040122000059277</SKZH>
         *             <SKHM>792311957</SKHM>
         *             <JYJE>1.00</JYJE>
         *             <YOTU>行内转账</YOTU>
         *         </ReqParam>
         *         </opReq>
         *         <signData>MIIEzQYKKoEcz1UGAQQCAqCCBL0wggS5AgEBMQ4wDAYIKoEcz1UBgxEFADCB+AYKKoEcz1UGAQQCAaCB6QSB5jxvcFJlcT48c2VyaWFsTm8+VzIwMjMwNDI0MTcxMzQ0MDUwODY8L3NlcmlhbE5vPjxyZXFUaW1lPjIwMjMwNDI0MTc0MDE2PC9yZXFUaW1lPjxSZXFQYXJhbT48RktaSD44MjI2MDEyMDEwMjAyMjYzMTwvRktaSD48U0taSD43ODA0MDEyMjAwMDA1OTI3NzwvU0taSD48U0tITT43OTIzMTE5NTc8L1NLSE0+PEpZSkU+MS4wMDwvSllKRT48WU9UVT7Q0MTa16rVyzwvWU9UVT48L1JlcVBhcmFtPjwvb3BSZXE+oIIC0TCCAs0wggJxoAMCAQICBRBVc1EWMAwGCCqBHM9VAYN1BQAwXDELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEbMBkGA1UEAwwSQ0ZDQSBURVNUIFNNMiBPQ0ExMB4XDTIzMDMwOTAyNTUzM1oXDTI1MDMwOTAyNTUzM1owcjELMAkGA1UEBhMCQ04xDDAKBgNVBAoMA0JPQzETMBEGA1UECwwKQ0ZDQVRlY2hURTEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMjElMCMGA1UEAwwcQ0ZDQVRlY2hURUB0ZXN0cWl5ZUBaMTExMTFAMTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABPHX9dm+K8G4WGe2uAHWZKI0aJgmHQfcTyK6jxKvEC5ADcptfpbe2u0cgSwBXFsyAuXY/6wq2vm1wyzmKqGCikGjggEGMIIBAjAfBgNVHSMEGDAWgBRr/hjaj0I6prhtsy6Igzo0osEw4TAMBgNVHRMBAf8EAjAAMEgGA1UdIARBMD8wPQYIYIEchu8qAQEwMTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZmNhLmNvbS5jbi91cy91cy0xNC5odG0wOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL3VjcmwuY2ZjYS5jb20uY24vU00yL2NybDQ3MDc2LmNybDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFEr8/JLNuSXaME4XwdfG4VbI1nppMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAMBggqgRzPVQGDdQUAA0gAMEUCIDO8ojBrfnfn1xqHqLovnTRUmSfwmKBPHSCjIf7DBQUzAiEAnGcbKMqUfYj+35WqRfZrb9u34IcgYg0sOc9l/TKHol0xgdMwgdACAQEwZTBcMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJDRkNBIFRFU1QgU00yIE9DQTECBRBVc1EWMAwGCCqBHM9VAYMRBQAwDQYJKoEcz1UBgi0BBQAERzBFAiEAhXpldulA3eL7gbu97bo7BFKDf+AJk2OUoNcU88pbb3ICIEwlp1PJ43Lj2frEIBp9HKiyaX/wQBDOasfOk5Kk39KC</signData>
         *     </NBCBEBankData>
         */
        boolean flag = false;
        MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(mallMemberWithdraw.getWtihdrawTypeId());
@@ -179,7 +202,7 @@
            boolean b = parseReturnValueForTrade(responseStr);
            if(b){
                //插入一条记录
                MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(mallMemberWithdraw.getWithdrawNo());
                MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(mallMemberWithdraw.getId());
                if(ObjectUtil.isEmpty(mallMemberWithdrawMsg)){
                    MallMemberWithdrawMsg mallMemberWithdrawMsg1 = new MallMemberWithdrawMsg();
                    mallMemberWithdrawMsg1.setWithdrawNo(mallMemberWithdraw.getWithdrawNo());
@@ -208,7 +231,7 @@
            boolean b = parseReturnValueForTrade(responseStr);
            if(b){
                //插入一条记录
                MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(mallMemberWithdraw.getWithdrawNo());
                MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(mallMemberWithdraw.getId());
                if(ObjectUtil.isEmpty(mallMemberWithdrawMsg)){
                    MallMemberWithdrawMsg mallMemberWithdrawMsg1 = new MallMemberWithdrawMsg();
                    mallMemberWithdrawMsg1.setWithdrawNo(mallMemberWithdraw.getWithdrawNo());
@@ -227,16 +250,17 @@
    }
    @Override
    public void transferResultInfoQuery(String withdrawNo) {
        MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(withdrawNo);
        if(ObjectUtil.isEmpty(mallMemberWithdrawMsg)){
            return;
        }
        Integer status = mallMemberWithdrawMsg.getStatus();
        if(1 == status){
            return;
        }
        MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawMsg.getWithdrawId());
    public void transferResultInfoQuery(Long id) {
        MallMemberWithdrawMsg mallMemberWithdrawMsg = mallMemberWithdrawMapper.selectMsgByWithdrawNo(id);
//        if(ObjectUtil.isEmpty(mallMemberWithdrawMsg)){
//            return;
//        }
//        Integer status = mallMemberWithdrawMsg.getStatus();
//        if(1 == status){
//            return;
//        }
//        MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(mallMemberWithdrawMsg.getWithdrawId());
        MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(304L);
        MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(mallMemberWithdraw.getWtihdrawTypeId());
        try {
            String requestDataForWithDraw = getRequestDataForWithDraw("srv008_transferResultInfoQuery", "转账结果查询", mallMemberWithdraw, mallMemberBank);
@@ -427,6 +451,7 @@
             *         <YOTU>${YOTU}</YOTU>
             *     </ReqParam>
             * </opReq>
             * *
             */
            reqData = reqData.replaceFirst("\\$\\{FKZH\\}", FKZH);
            reqData = reqData.replaceFirst("\\$\\{SKZH\\}", mallMemberBank.getBankNo());
src/main/resources/application-dev.yml
@@ -22,7 +22,7 @@
  redis:
    # Redis数据库索引(默认为 0)
    database: 3
    database: 4
    # Redis服务器地址
    host: 120.27.238.55
    # Redis服务器连接端口
src/main/resources/application-test.yml
@@ -22,7 +22,7 @@
  redis:
    # Redis数据库索引(默认为 0)
    database: 3
    database: 4
    # Redis服务器地址
    host: 120.27.238.55
    # Redis服务器连接端口
src/main/resources/mapper/modules/MallMemberWithdrawMapper.xml
@@ -14,7 +14,7 @@
        select
               a.*
        from mall_member_withdraw_msg a
        where a.withdrawNo = #{withdrawNo}
        where a.withdraw_id = #{withdrawId}
    </select>
</mapper>
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -14,6 +14,7 @@
import cc.mrbird.febs.mall.service.IMemberProfitService;
import cc.mrbird.febs.pay.model.*;
import cc.mrbird.febs.pay.service.LaKaLaService;
import cc.mrbird.febs.pay.service.NBYHService;
import cc.mrbird.febs.pay.service.UnipayService;
import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
@@ -91,6 +92,18 @@
    private LaKaLaService laKaLaService;
    @Autowired
    ResourceLoader resourceLoader;
    @Autowired
    private NBYHService nbyhService;
    @Test
    public void agentProfitTrade() {
//        try {
//            System.out.println(resourceLoader.getResource("classpath:lkl/api_private_key.pem").getInputStream());
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        nbyhService.tradeSinge(304L);
        nbyhService.transferResultInfoQuery(304L);
    }
    @Test
    public void agentProfit() {
//        try {