Переглянути джерело

天天企赋api接口调试

xx 1 рік тому
батько
коміт
acbe4ac84c

+ 7 - 0
src/main/java/com/ydtech/components/TokenInterceptor.java

@@ -98,6 +98,13 @@ public class TokenInterceptor {
         notMatchList.add("/user/saveTeamLeader");
         notMatchList.add("/ins/taskImage/uploadFileByPartner");
 
+        /**
+         * 天天企赋api接口回调
+         */
+        notMatchList.add("/ttqf/paymentNotice");
+        notMatchList.add("/ttqf/userSign");
+        notMatchList.add("/ttqf/aa/*");
+
         return new SaInterceptor(handler -> {
             // 指定一条 match 规则
             SaRouter

+ 1 - 1
src/main/java/com/ydtech/modules/admin/dao/SysUserBankCardMapper.java

@@ -29,7 +29,7 @@ public interface SysUserBankCardMapper extends BaseMapper<SysUserBankCard> {
 
     List<SysUserBankCardHistory> getUserBankCardHistoryList(@Param("sysUserBankCardHistory") SysUserBankCardHistory sysUserBankCardHistory);
 
-    @Select("SELECT u.mobile, u.identity,u.identity_time, b.user_name,b.user_id, b.bank_number FROM sys_user_bank_card b INNER JOIN sys_user u ON u.id = b.user_id WHERE b.is_default = 1 AND b.user_id = #{userId}")
+    @Select("SELECT u.mobile, u.identity,u.identity_time, b.real_user_name AS user_name,b.user_id, b.bank_number FROM sys_user_bank_card b INNER JOIN sys_user u ON u.id = b.user_id WHERE b.is_default = 1 AND b.user_id = #{userId}")
     SysUserBankCard selectByIdPay(@Param("userId") String userId);
 }
 

+ 15 - 5
src/main/java/com/ydtech/modules/ttqf/PayConstantStatus.java

@@ -2,11 +2,21 @@ package com.ydtech.modules.ttqf;
 
 import com.ydtech.utils.HttpUtils;
 import com.ydtech.utils.StringUtils;
-
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
 import javax.servlet.http.HttpServletRequest;
 
+@Component
 public class PayConstantStatus {
 
+
+    private static String tokenUrl;
+
+    @Value("${ttqf.tokenUrl}")
+    public  void setTokenUrl(String url){
+        tokenUrl = url;
+    }
+
     public static final String BIZ_CODE = "0000";
 
     public static final Integer[] ORDER_ARRAY = new Integer[]{3,4,5};
@@ -56,17 +66,17 @@ public class PayConstantStatus {
 
 
     /**
-     * 用户签约回调
+     * 打款回调
      */
     private static final String PAYMENT_NOTICE_URL = "/ttqf/paymentNotice";
 
 
-    public String getPaymentNoticeUrl(){
-        return getLocalAddr() + PAYMENT_NOTICE_URL;
+    public static String getPaymentNoticeUrl(){
+        return tokenUrl+ PAYMENT_NOTICE_URL;
     }
 
     public static String getUserSignNotifyUrl(){
-        return getLocalAddr() + USER_SIGN_NOTIFY_URL;
+        return tokenUrl + USER_SIGN_NOTIFY_URL;
     }
 
     public static String getLocalAddr(){

+ 21 - 2
src/main/java/com/ydtech/modules/ttqf/RetrieveTTQFApi.java

@@ -26,6 +26,7 @@ import javax.annotation.Resource;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Objects;
 
@@ -66,7 +67,7 @@ public class RetrieveTTQFApi {
     public  static String extractBalance(String userId,String decimal) throws Exception {
         SysUserBankCard bankCard = SpringUtil.getBean(SysUserBankCardMapper.class).selectByIdPay("9914D1305");
           signService.saveUserSign(bankCard.getUserId());
-        if (false){
+        if (queryPressing(bankCard.getIdentity())){
             //用户已经签约  进行打款操作
             orderAdd(bankCard,new BigDecimal(decimal),"测试打款");
             return "0";
@@ -103,6 +104,7 @@ public class RetrieveTTQFApi {
                 .paymentType(0)
                 //选填项:微信APPID,若填写,以填写项稳准,否则应用预留配置的微信appid;该字段适用于同主体下含有多个公众号或小程序的场景
                 .wechatAppId("")
+                .notifyUrl(PayConstantStatus.getPaymentNoticeUrl())
                 .build();
         OrderAddResponse response = testOrderAdd(addModel, bankCard.getUserId());
         if(response.isSuccess()) {
@@ -331,7 +333,7 @@ public class RetrieveTTQFApi {
         ConfirmResponse response = tangClient.execute(confirmRequest);
         if(response.isSuccess()) {
             log.info("成功 ====>Confirm{}", response.getResultModel());
-            paymentStatus.updatePaymentStatus(orderNo);
+            //startPaymentResultCallback(orderNo);
         } else {
             log.error("失败 ====>Confirm {}", response.getRespData());
         }
@@ -339,6 +341,23 @@ public class RetrieveTTQFApi {
         return response.isSuccess();
     }
 
+    /**
+     * 异步检查打款状态
+     * @param orderNo
+     */
+    public static void startPaymentResultCallback(String orderNo){
+        try {
+            HashMap<String, String> hashMap = new HashMap<>();
+            hashMap.put("orderNo",orderNo);
+            QuartzManager manager = QuartzManager.getInstance();
+            manager.getContext().put("flag",true);
+            manager.addJob(orderNo,"jobGroup" + orderNo, RegularlyUpdateStatus.class,"*/5 * * * * ?",hashMap);
+            manager.start();
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 商户余额查询接口
      */

+ 1 - 1
src/main/java/com/ydtech/modules/ttqf/TTFQConfig.java

@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
-@ConfigurationProperties(prefix = "ttfq")
+@ConfigurationProperties(prefix = "ttqf")
 @Data
 public class TTFQConfig {
 

+ 2 - 1
src/main/resources/application-test.yml

@@ -450,12 +450,13 @@ chengtai:
     publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG5XjPzLv7/LwXmDkSS2kL4JN3B9JK6mRDxgal+K7f5GY2c3TRXSIm2ot+2ZL2Tr4nSJEkZUe98ORovYnpvgeW16MFhPAkUYHVu3rv6JKuGrJhdvkfNC/TR92oey8/Qk0YwSeOzHEf1tEfMvnE3pC8xZom4Et2W9y62+RoH22uhQIDAQAB
     privateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMbleM/Mu/v8vBeYORJLaQvgk3cH0krqZEPGBqX4rt/kZjZzdNFdIibai37ZkvZOvidIkSRlR73w5Gi9iem+B5bXowWE8CRRgdW7eu/okq4asmF2+R80L9NH3ah7Lz9CTRjBJ47McR/W0R8y+cTekLzFmibgS3Zb3Lrb5Ggfba6FAgMBAAECgYByDbKajo+Zr1L4wLyxZfbl7bECR8TqWsCGMK8tS46UKvgF720khaCI4Teu1Ps2LO9TvYQld8KNA+8mtNG57NOSQx3aaI/sH3XAsWExnNupSHs3/O0m91KMCrVfhDakpW+eXu9+BTyOQeHt5e+0R6hsUZ5OPhwOGoxBlNRWqQruXQJBAPlY2r994Yq37HV0WFofIKtRqDz5mGoL7iENZ7/TB64Qe6kbLBnq0Qha6TxyudlISYSGMzIHxqZ/gClDy5VQTUsCQQDMNASRJ9CuNkgTF/LswRJQmtVG9djzwD2W5r6QqWy7cBDOB9eenAAjmmP8R43edPdrYDuqpuvjUK5ISxkDAKFvAkAuGPM3+7m6v44DmOLMpnyPr6T+wNYgpNv9WFEZ8ZW15G44MUHR+Mt0U/pSppMdTHPrADRux2k+VswG1PXKQPJJAkAZScfXAgtBx88dLjYTQ8W03bfT1dZMOV5nNaQb3h9tBu/N1ALLzZ3mytPfBi13gxyw23YIKCvGNtOeeE5cpNNZAkBRsB9I6yogNDdYQHNiPpk+M5t043LbI+v+KAwUWqkkt81PJOqzrbxtySPmRxlAZI9flXQD5eRTvkHZWPnM/2/b
 
-ttfq:
+ttqf:
   mch-id: '000000466591593'
   platform-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo/PmfNo3v8+VIT2oSUMXtZJGtGiBfqjVQAeKjppXkZ9jgzNjVbRAnWdTXKifyQQa5QhGeFCjJ9RS5WwLyZMBdwbhJJ2YkVDDXDc284CuXf5J3TDodkexfDwyPf3SvSVemRej5muhju1DOzLAyvx4GRKbDOEQqNiFxmn7HnQ2U6HsnQKa/LkB4ydogauI81q/taOcLyZsxz+uiIxYHQ2kujDBYncH3ncBeNQ7rWh7trWvCZ2sbtmUjbU2FC/cpp1oFBQbiQAuVA+4NBjobT/Ig7hGT9NiJ0elzOX5vWKvZelu6zD8z/frqXKSeyDWdjE9TB53pvCCuCiZSyOEwLJ0uwIDAQAB
   mch-private-key: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCe7732/NU4Gfnpc61/pajF5VJODLC8HVPv+egBtgNB/AHPRTu8pLCwsJF1o1VFOeJMmp+fFI3lV04e9aGrEV3D/iWKJmdq/+O66eRuWoDZ2kGkgIgBf2FDdIe3GJOZmtc2TsxpU47sRjOzeOqUMPSJy5R82UKttrYEbYeDR6icUoWvkEFtTB5ZgJVsEP316LEJQIGevCpLKekZnlgtBsuF/DcMB4zAo4PQSHzGTvVox+hYrmK2/qGVbPb64TBFXiK019+xqN3uVNK3+3ZAC5jRF3kReBYWx5W4U9uAtEltX1AtFZS1VzaGbYlhcAOlijO+C2x+s9mG0FTKgsyMYZYNAgMBAAECggEBAJYoUKQxmMxJFmhuBsPrYfmdv9XHfY4scyntRDmhmZBUo+0MLvT574jvOG4Y4y3lEx1mlFn6VFkR09fCH3x8isbprNPJlrlrit8DrPJphQTNhGkDmfs4Ok89oB7nFEPyG1POvKbh78zgQmZUXeOmINKyyNXveWSfk3W5eWcZY35TnTbTYXsbk9mzV54r+XNXbF50WnBhPV+0Q8ak7d0cM579a6dr2eiorXYN4qFdevnM3h/bVm9l58Eo7/jujMHhciyjDrGOL8IOLLgFvKtn2jSbLfA0XadDJUY8SjqgC0O5Cd8V1R97DpE3xVF2Q21QyijRqGeiyQ9uHbEkJSbK5u0CgYEA/qxGwekzslwFMuddvld5Xm0ns/8W5yDICbnsmRPLOWmPzGgiJ7/kUrvjO9n8CQJhUuDCw+ey4/v6YHOa8s8TqWRh7UF5DzZZzWDTwKCGMMvthXXu9RYPdhQ6W1s44ICv2K0IU5uRdVYapw5FpR2cfrUkVBf4u+Q5b/esw0lv/iMCgYEAn8PBy9RvFjA/4PrxNfBFV2xC1v1QxPVHiItMdsn5B7bADET1zrJnE0hvllJTzowZsIJ4Sy1D0GQHwA+I/4MXN6lCA/dc33u8bbd/NejurZtv8HWmPKK6nEJp+21aJMJHsNq6atmpQDBq3uE7IIsLjGscogX16RrDl5a7iErNpg8CgYEAzyHhXt/EO0HavJ8vQJu2zBUtoJlN0Gh6Kmb8xzgxJx3zZgYgGYJaOuw0Ej7mXZGBBL5nypyNhB4ycvYzxV6lGDXb6/M/eh7zhTZGo7oryk5ifhUAaHgr1Rb4q8sTBI3F+A4r4ox6DxwcC1lxTa061leQF5FzraYfDTE9Y4w8OU8CgYAnOo3vWq4cKKTGvVdVAzZDjRWsbG7UrdVutaWE1XsMZdcqLBSfODcPCQ49PuHNKaF1MdQPwYGRPb6ZbjcZZjrhM/I9vxNS3LMbzZ6ywgs5HZ2S0ZCL+vkPPU+AqQ0lUX8A8fQsIF3qoPjc2TkHeJzRUcuqDQSgxC2anyxU/ukYCQKBgQC4TdIAM8K385r5Q51ttqQXKZRkprsJ6ig6XIrT8tKO03lY20jovo0ubvSmgdqapQad+v+Lneeo7dJ8+lrDjfvcLBHHAg+ThC1nI7aTLRb8hQxtra2ObtvFrnDi1Tl19ANtzDp0T4Jb5zfoIK2167dJKgOuKcJjjDs42dQ/hbiCug==
   host: https://ttqftest.chinaums.com
   lg-url: http://localhost:8081/paySign/information/zgInformationPush
+  tokenUrl: https://test.baoxianzhanggui.com/lg
 
 xxl:
   job: