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> logistics_list) { WdtClient client = new WdtClient(sid, appkey, appsecret, url); String logistics_list_json = JSON.toJSONString(logistics_list); Map params = new HashMap(); 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> logistics_list = new ArrayList>(); Map logistics_1 = new HashMap(); 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 params = new HashMap(); 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(); } } }