TRX 1 jaar geleden
bovenliggende
commit
121eb3adc8

+ 6 - 0
PaymentClient/src/main/java/com/zhongshu/payment/client/payModel/unionFrictionlessPay/model/SignQueryResponse.java

@@ -35,4 +35,10 @@ public class SignQueryResponse extends SuperResponseModel {
     @Schema(description = "协议到期时间")
     private String contractExpiredTime;
 
+    @Schema(description = "云闪付用户ID 云闪付用户ID")
+    private String acpId;
+
+    @Schema(description = "掩码手机号 前3后4明文,其余*替换")
+    private String maskedPhoneNo;
+
 }

+ 3 - 0
PaymentServer/src/main/java/com/zhongshu/payment/server/core/domain/unionFrictionlessPay/UnionUserOpenInfo.java

@@ -42,6 +42,9 @@ public class UnionUserOpenInfo extends SuperMain {
     @Schema(description = "商户签约协议号(本地生成的唯一号)")
     private String contractNo;
 
+    @Schema(description = "协议模板id 无感(免密极速)产品模板 ID,与接入产品对应。")
+    private String planId;
+
     @Schema(description = "银商免密支付签约协议号")
     private String contractId;
 

+ 18 - 5
PaymentServer/src/main/java/com/zhongshu/payment/server/core/service/pay/impl/unionFrictionlessPay/UnionFrictionlessPayMainService.java

@@ -118,6 +118,7 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
         unionUserOpenInfo.setContractNo(contractNo);
         Date expireDate = new Date(System.currentTimeMillis() + payConfig.getExpireTime());
         unionUserOpenInfo.setExpiredTime(expireDate.getTime());
+        unionUserOpenInfo.setPlanId(payConfig.getPlanId());
 
         String expireTime = DateUtils.paresTime(expireDate.getTime(), DateUtils.FORMAT_LONG);
         SignParam signParam = new SignParam();
@@ -175,7 +176,7 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
         RescissionParam rescissionParam = new RescissionParam();
         rescissionParam.setRequestTimestamp(DateUtils.paresTime(System.currentTimeMillis(), DateUtils.FORMAT_LONG));
         rescissionParam.setMid(UnionPaymentConfig.mid);
-        rescissionParam.setPlanId(payConfig.getPlanId());
+        rescissionParam.setPlanId(unionUserOpenInfo.getPlanId());
         rescissionParam.setContractId(unionUserOpenInfo.getContractId());
         String url = payApiConfig.getUrl(UnionFrictionlessPayApiConfig.rescission);
         SuperResponseModel requestAPI = unionRequestService.requestUnionAPI(url, rescissionParam, SuperResponseModel.class);
@@ -191,21 +192,33 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
     /**
      * 签约状态查询
      *
-     * @param param
+     * @param contractNo
      * @return
      */
-    public ResultContent signQuery(SignInParam param) {
+    public ResultContent signQuery(String contractNo) {
+        UnionUserOpenInfo unionUserOpenInfo = unionUserOpenInfoDao.findTopByContractNo(contractNo);
+        if (ObjectUtils.isEmpty(unionUserOpenInfo)) {
+            return ResultContent.buildFail(String.format("签约信息不存在:%s", contractNo));
+        }
+
         SignQueryParam signQueryParam = new SignQueryParam();
+        signQueryParam.setMid(unionUserOpenInfo.getMid());
+        signQueryParam.setPlanId(unionUserOpenInfo.getPlanId());
+        signQueryParam.setContractNo(contractNo);
+        if (StringUtils.isNotEmpty(unionUserOpenInfo.getContractId())) {
+            signQueryParam.setContractId(unionUserOpenInfo.getContractId());
+        }
         signQueryParam.setRequestTimestamp(DateUtils.paresTime(System.currentTimeMillis(), DateUtils.FORMAT_LONG));
 
         String url = payApiConfig.getUrl(UnionFrictionlessPayApiConfig.signQuery);
-        SuperResponseModel requestAPI = unionRequestService.requestUnionAPI(url, signQueryParam, SignQueryResponse.class);
+        SuperResponseModel requestAPI = unionRequestService.requestUnionAPI(
+                url, signQueryParam, SignQueryResponse.class);
         if (requestAPI.isFailed()) {
             return ResultContent.buildFail(requestAPI.getMsg());
         }
         SignQueryResponse signQueryResponse = (SignQueryResponse) requestAPI;
 
-        return ResultContent.buildSuccess();
+        return ResultContent.buildSuccess(signQueryResponse);
     }
 
     /**

+ 3 - 2
PaymentServer/src/main/java/com/zhongshu/payment/server/core/timer/ComplexTimer.java

@@ -1,5 +1,6 @@
 package com.zhongshu.payment.server.core.timer;
 
+import com.github.microservice.types.OrderState;
 import com.zhongshu.payment.server.core.dao.RechargeRecordDao;
 import com.zhongshu.payment.server.core.domain.wallet.RechargeRecord;
 import com.zhongshu.payment.server.core.service.RechargeService;
@@ -33,7 +34,7 @@ public class ComplexTimer implements ApplicationRunner {
 //    @Scheduled(fixedRate = 5000)
     public void transferResult() {
 
-        List<RechargeRecord> transferList = rechargeRecordDao.listByState(RechargeState.Taking);
+        List<RechargeRecord> transferList = rechargeRecordDao.listByState(OrderState.Taking);
         for (RechargeRecord transfer : transferList){
             try {
                 transferService.getTransferState(transfer.getOutTradeNo());
@@ -46,7 +47,7 @@ public class ComplexTimer implements ApplicationRunner {
     //    @Scheduled(fixedRate = 5000)
     public void closeNoPay() {
 
-        List<RechargeRecord> list = rechargeRecordDao.listTimeOut(RechargeState.NOTPAY);
+        List<RechargeRecord> list = rechargeRecordDao.listTimeOut(OrderState.NOTPAY);
         for (RechargeRecord noPay : list){
             try {
                 rechargeService.closeNoPay(noPay.getOutTradeNo());