|
|
@@ -8,9 +8,9 @@ import com.uas.erp.schedular.entity.MqConfig;
|
|
|
import com.uas.erp.schedular.util.ContextHolder;
|
|
|
import com.uas.erp.schedular.util.HmacUtils;
|
|
|
import com.uas.erp.schedular.web.ResultWrap;
|
|
|
-import com.usoft.mq.utils.BaseRabbitReceiveService;
|
|
|
-import com.usoft.mq.utils.MessageInfo;
|
|
|
import com.usoft.security.utils.OpenApiSignUtil;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.HttpEntity;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
|
@@ -36,9 +36,9 @@ public class RabbitReceiveServiceImpl extends BaseRabbitReceiveService {
|
|
|
|
|
|
private final static String SECRETKEY = "600d3f07955ba67fe050007f01002db2";
|
|
|
private final static String BASEPATH = "https://finrest.usoftchina.com";
|
|
|
- private final static String UASURL = "http://jk.usoftchina.com:28099/JK/";
|
|
|
+ private final static String UASURL = "http://10.1.1.188:8082/JK";
|
|
|
private final static String MASTERNAME = "YITOA_BL";
|
|
|
-
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(BaseRabbitReceiveService.class);
|
|
|
@PostConstruct
|
|
|
public void init() throws InterruptedException {
|
|
|
Master master = new Master();
|
|
|
@@ -51,8 +51,9 @@ public class RabbitReceiveServiceImpl extends BaseRabbitReceiveService {
|
|
|
try {
|
|
|
mqConfig = jdbcTemplate.queryForBean("select MA_MQDYNAMICCREATE ,MA_MQHOST, MA_MQPORT, MA_MQVIRTUALHOST, MA_MQUSERNAME, MA_MQPASSWORD, MA_MQQUEUENAME from master where ma_user='" + MASTERNAME + "'", MqConfig.class);
|
|
|
}catch (Exception e){
|
|
|
-
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
+ logger.info("MQ配置:"+mqConfig.toString());
|
|
|
if(mqConfig != null){
|
|
|
isDynamicCreate = mqConfig.isMa_mqdynamiccreate();
|
|
|
host = mqConfig.getMa_mqhost();
|
|
|
@@ -66,6 +67,7 @@ public class RabbitReceiveServiceImpl extends BaseRabbitReceiveService {
|
|
|
|
|
|
@Override
|
|
|
public void processMessage(MessageInfo messageInfo) throws Exception {
|
|
|
+ logger.info("应收宝申请处理:BizId{},BizType{}",messageInfo.getBizId(), messageInfo.getBizType());
|
|
|
switch (messageInfo.getAppId()){
|
|
|
case "1001": //应收宝
|
|
|
processMessageForReceivable(messageInfo.getBizId(), messageInfo.getBizType());
|
|
|
@@ -104,6 +106,7 @@ public class RabbitReceiveServiceImpl extends BaseRabbitReceiveService {
|
|
|
private void Execute(String requestURL, String bizId, String uasURL, String codeName) throws Exception {
|
|
|
String paramStr = "secretId=" + 10046945 + "&"+ codeName +"=" + URLEncoder.encode(bizId,"UTF-8");
|
|
|
//进行签名
|
|
|
+ logger.info("应收宝申请处理: 待加密串{},秘钥{}",paramStr, SECRETKEY);
|
|
|
String signatureValue = OpenApiSignUtil.sign(paramStr,SECRETKEY);
|
|
|
signatureValue = URLEncoder.encode(signatureValue, "UTF-8");
|
|
|
String signatureKV = OpenApiSignUtil.SIGNATURE_KEY + "=" + signatureValue;
|
|
|
@@ -115,12 +118,13 @@ public class RabbitReceiveServiceImpl extends BaseRabbitReceiveService {
|
|
|
|
|
|
RestTemplate restTemp = new RestTemplate(new HttpsClientRequestFactory());
|
|
|
restTemp.setUriTemplateHandler(uriTemplateHandler);
|
|
|
+ logger.info("应收宝申请处理: 数据请求 Url:{}",requestURL);
|
|
|
String result = restTemp.getForObject(requestURL, String.class);
|
|
|
|
|
|
String UASurl = UASURL + uasURL;
|
|
|
Map<String, Object> map = new HashMap<String, Object>();
|
|
|
map.put("data", result);
|
|
|
-
|
|
|
+ logger.info("应收宝申请处理: 数据返回{}", result);
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
|
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
|
|
|
headers.add("referer", getSignature(codeName));
|
|
|
@@ -128,12 +132,18 @@ public class RabbitReceiveServiceImpl extends BaseRabbitReceiveService {
|
|
|
formData.setAll(map);
|
|
|
HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(formData, headers);
|
|
|
String returnStr = restTemplate.postForEntity(UASurl, request, String.class).getBody();
|
|
|
+ logger.info("应收宝申请ERP处理: 数据返回{}", returnStr);
|
|
|
ResultWrap<String> wrap = JSON.parseObject(returnStr, new TypeReference<ResultWrap<String>>(){});
|
|
|
}
|
|
|
|
|
|
public String getSignature(String code) {
|
|
|
String url = "_timestamp=" + System.currentTimeMillis() + "&master=";
|
|
|
+ // if("code".equals(code)){
|
|
|
url += "YITOA_BL";
|
|
|
+ /* }else{
|
|
|
+ url += "YITOA_DATACENTER";
|
|
|
+ }*/
|
|
|
+ // 签名
|
|
|
return url + "&_signature=" + HmacUtils.encode(url);
|
|
|
}
|
|
|
}
|