|
@@ -14,6 +14,7 @@ import com.kmall.admin.cuspay.common.core.db.IdWorkerAide;
|
|
|
import com.kmall.admin.cuspay.entity.merch.MerchNoti;
|
|
|
import com.kmall.admin.cuspay.entity.merch.MerchPayCfg;
|
|
|
import com.kmall.admin.cuspay.service.MerchNotiService;
|
|
|
+import com.kmall.admin.cuspay.support.sign.RSA;
|
|
|
import com.kmall.admin.cuspay.util.OkHttpUtils;
|
|
|
import com.kmall.admin.cuspay.util.ReaderXmlForDOM4J;
|
|
|
import com.kmall.admin.cuspay.util.XmlUtils;
|
|
@@ -41,6 +42,7 @@ import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.PropertySource;
|
|
|
+import org.springframework.core.env.Environment;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import com.kmall.admin.cuspay.biz.ali.support.sign.MD5;
|
|
|
|
|
@@ -61,14 +63,14 @@ import java.util.*;
|
|
|
public class AliCusDeclareQueryBiz extends AbstractCusDeclareBiz implements CuspayBiz {
|
|
|
private static final Logger logger = LoggerFactory.getLogger(AliCusDeclareQueryBiz.class);
|
|
|
|
|
|
-// @Value("${db.ali.declare.limit}")
|
|
|
- private Integer limit = 20;
|
|
|
+ @Autowired
|
|
|
+ private Environment environment;
|
|
|
+
|
|
|
+ private Integer limit;
|
|
|
|
|
|
-// @Value("${db.ali.declare.count}")
|
|
|
- private Integer count = 2;
|
|
|
+ private Integer count;
|
|
|
|
|
|
-// @Value("${ali.payment.query.url}")
|
|
|
- private String queryURL = "https://mapi.alipay.com/gateway.do?";
|
|
|
+ private String queryURL;
|
|
|
|
|
|
@Autowired
|
|
|
private AliCbPayDocService aliCbPayDocService;
|
|
@@ -82,11 +84,12 @@ public class AliCusDeclareQueryBiz extends AbstractCusDeclareBiz implements Cusp
|
|
|
/**
|
|
|
* 微信订单信息查询
|
|
|
*/
|
|
|
+ @Override
|
|
|
public void biz(Map<String, Object> params) {
|
|
|
- // -------- TODO ALL ----
|
|
|
|
|
|
- limit = (limit != null && limit > 0) ? limit : 20;
|
|
|
- count = (count != null && count > 0) ? count : 10;
|
|
|
+ limit = Integer.parseInt(environment.getProperty("db.ali.declare.limit"));
|
|
|
+ count = Integer.parseInt(environment.getProperty("db.ali.declare.count"));
|
|
|
+ queryURL = environment.getProperty("ali.payment.query.url");
|
|
|
|
|
|
//查出等待处理、业务处理中的支付单证信息
|
|
|
List<AliCbPayDoc> aliCbPayDocs = null;
|
|
@@ -232,7 +235,7 @@ public class AliCusDeclareQueryBiz extends AbstractCusDeclareBiz implements Cusp
|
|
|
aliCbPayDoc.setDocStatus(AliDict.PaymentDocStatus.i_03.getItem());
|
|
|
this.aliCbPayDocService.updateAliCbPay(aliCbPayDoc);
|
|
|
merchNoti = builder.code(AliDict.ResponseMsgState.FAIL.getItem()).msg("未查询到报关请求号").cusDeclStatus(AliDict.MerchNoticeStatus.i_13.getItem()).certCheckResult(MerchNoticeDict.BuyerPayerCheckStatus.i_0.getItem()).build();
|
|
|
- MerchNoti noti = new MerchNoti();
|
|
|
+ MerchNoti noti = new MerchNoti();
|
|
|
noti.setNotiSn(builder.build().getNotiSn());
|
|
|
merchNoti.setNotiSn(builder.build().getNotiSn());
|
|
|
noti.setCode(aliCbPayDoc.getDetailErrorCode());
|
|
@@ -308,7 +311,10 @@ public class AliCusDeclareQueryBiz extends AbstractCusDeclareBiz implements Cusp
|
|
|
* @param key2 Api密钥
|
|
|
* @return
|
|
|
*/
|
|
|
- protected static String assemblyDeclareQueryXml(AliCbPayDoc aliCbPayDoc, String key2) {
|
|
|
+ protected String assemblyDeclareQueryXml(AliCbPayDoc aliCbPayDoc, String key2) {
|
|
|
+ String MD5Key = environment.getProperty("ali.payment.md5.key");
|
|
|
+ String RSAPrivateKey = environment.getProperty("ali.payment.rsa.private-key");
|
|
|
+
|
|
|
Map<String, String> paramMap = new HashMap<>();
|
|
|
paramMap.put("_input_charset", "UTF-8");
|
|
|
paramMap.put("out_request_nos", aliCbPayDoc.getOutRequestNo());
|
|
@@ -326,8 +332,14 @@ public class AliCusDeclareQueryBiz extends AbstractCusDeclareBiz implements Cusp
|
|
|
prestr = prestr + key + "=" + value + "&";
|
|
|
}
|
|
|
}
|
|
|
- String sign = MD5.sign(prestr, "6zo20oar6qufb6x41ipli3yma9ju107h", "UTF-8");
|
|
|
+ // MD5加密
|
|
|
+ String sign = MD5.sign(prestr, MD5Key, "UTF-8");
|
|
|
prestr = prestr + "&sign_type=MD5";
|
|
|
+
|
|
|
+ // RSA加密
|
|
|
+ // String sign = RSA.sign(prestr, RSAPrivateKey, "UTF-8");
|
|
|
+ // prestr = prestr + "&sign_type=RSA";
|
|
|
+
|
|
|
prestr = prestr + "&sign=" + sign;
|
|
|
prestr = "?" + prestr;
|
|
|
return prestr;
|