package com.ruoyi.web.controller.yuncang.api.trade;
|
|
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSONObject;
|
import com.ruoyi.common.core.exception.ServiceException;
|
import com.ruoyi.web.controller.yuncang.utils.WdtClient;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
public class LogisticsSyncAck {
|
|
/**
|
* 物流erp同步ack
|
* @param sid 卖家账号,接口请求的公共参数sid
|
* @param appkey 接口账号,接口请求的公共参数appkey
|
* @param appsecret 接口秘钥,接口请求的参数appsecret ,用于计算签名
|
* @param url 接口地址,接口请求的公共参数url
|
* @param logistics_list 同步物流信息Ack列表
|
* @return
|
*/
|
public static JSONObject logisticsSyncAck(String sid, String appkey, String appsecret, String url,
|
List<Map<String, Object>> logistics_list) {
|
WdtClient client = new WdtClient(sid, appkey, appsecret, url);
|
String logistics_list_json = JSON.toJSONString(logistics_list);
|
Map<String, String> params = new HashMap<String, String>();
|
params.put("logistics_list", logistics_list_json);
|
try {
|
String response = client.execute("logistics_sync_ack.php", params);
|
log.info("物流erp同步ack结果:{}", response);
|
JSONObject jsonObject = JSON.parseObject(response);
|
if(jsonObject.getInteger("code") == 0){
|
return jsonObject;
|
}else{
|
log.info("物流erp同步ack失败");
|
throw new ServiceException(jsonObject.getString("message"));
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
public static void main(String[] args) {
|
WdtClient client = new WdtClient("", "", "", "");
|
|
List<Map<String, Object>> logistics_list = new ArrayList<Map<String, Object>>();
|
|
Map<String, Object> logistics_1 = new HashMap<String, Object>();
|
logistics_1.put("rec_id", 1);
|
logistics_1.put("status", 0);
|
logistics_1.put("message", "同步成功");
|
|
logistics_list.add(logistics_1);
|
|
String logistics_list_json = JSON.toJSONString(logistics_list);
|
|
Map<String, String> params = new HashMap<String, String>();
|
params.put("logistics_list", logistics_list_json);
|
try {
|
String response = client.execute("logistics_sync_ack.php", params);
|
System.out.println(response);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|