Sfoglia il codice sorgente

feat:京东美塔璞儿店铺授权

xuyongjun 1 anno fa
parent
commit
f049c45b8a

+ 1 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -2286,6 +2286,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                         params.put("logiCoprId", logisticsInfoService.getLogisticsNameByRSTCode(salesOrder.getSalesPostFirm()).getLogisticsXytCode());
                         params.put("logiNo", o.getSalesPostNum());
                         params.put("code", AES.encrypt(salesOrder.getSalesOrderId()));
+                        params.put("storeId", String.valueOf(salesOrder.getSalesStoreId()));
                         String result = HttpClient431Util.doPost(params, jdOrderDomain + "/jingdong/orderShipment");
                         if (StringUtil.isNotEmpty(result)) {
                             OperatorResult operatorResult = com.alibaba.fastjson.JSONObject.parseObject(result, OperatorResult.class);

+ 137 - 105
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/JingdongTask.java

@@ -1,11 +1,7 @@
 package com.iamberry.rst.controllers.mq;
 
-import com.alibaba.fastjson.JSONObject;
 //import com.iamberry.redis.RedisUtils;
-import com.iamberry.rst.controllers.order.AdminJingdongAuthController;
-import com.iamberry.rst.core.address.City;
-import com.iamberry.rst.core.address.District;
-import com.iamberry.rst.core.address.Province;
+
 import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.order.OrderSyncLog;
@@ -23,7 +19,6 @@ import com.iamberry.rst.util.JingdongConfig;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.jd.open.api.sdk.DefaultJdClient;
 import com.jd.open.api.sdk.JdClient;
-import com.jd.open.api.sdk.JdException;
 import com.jd.open.api.sdk.domain.order.IOrderService.response.getmobilelist.OrderPrivacyModel;
 import com.jd.open.api.sdk.domain.order.IOrderService.response.getmobilelist.ResponseData;
 import com.jd.open.api.sdk.domain.order.OrderQueryJsfService.response.enGet.OrderResult;
@@ -48,11 +43,9 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
 import java.util.*;
 
-import static com.iamberry.rst.controllers.mq.TaobaoConfig.DB_JD_PULL_ORDER_LIMIT_TIME;
-import static com.iamberry.rst.controllers.mq.TaobaoConfig.DB_JD_TOKEN_ID;
+import static com.iamberry.rst.controllers.mq.TaobaoConfig.*;
 
 /**
  * https://jos.jd.com/apilistnewdetail?apiGroupId=55&apiId=14263&apiName=null
@@ -64,6 +57,15 @@ public class JingdongTask {
 
     private static Logger logger = LoggerFactory.getLogger(JingdongTask.class);
 
+    /**
+     * 爱贝源京东店铺 rst id
+     */
+    public static final int STORE_ID_JD_IAMBERRY = 40;
+    /**
+     * 美塔璞儿京东店铺 rst id
+     */
+    public static final int STORE_ID_JD_METAPURE = 187;
+
     /** 是否允许淘宝抓取订单,true表示允许,false表示不允许 */
     private static boolean isDebug = false;
 
@@ -112,109 +114,125 @@ public class JingdongTask {
         String endTime = DateTimeUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
         logger.info("开始时间:{}, 结束时间:{}", startTime, endTime);
 
-        // 批次号
-        String batchIdST = generateKeyUtil.getSalesBatchIdJD();
-        // 循环抓取
-        boolean hasNext = true;
-        int pageNo = 1;
-        try {
-            int total = 0;
-            // 开始循环
-            while (hasNext) {
-                logger.info("【京东订单】抓取第{}页的数据......", pageNo);
-                // 抓取京东数据
-                JdClient client = null;
-                PopOrderEnSearchRequest orderSearchRequest = null;
-                PopOrderEnSearchResponse rsp = null;
-                try {
-                    SysConfig sysConfig = sysConfigService.getSysConfigAll(DB_JD_TOKEN_ID);
-                    client = new DefaultJdClient(TaobaoConfig.JINGDONG_API_URL, sysConfig.getConfigParameter(), TaobaoConfig.jd_appkey, TaobaoConfig.jd_secret);
-                    orderSearchRequest = new PopOrderEnSearchRequest();
-                    orderSearchRequest.setStartDate(startTime);
-                    orderSearchRequest.setEndDate(endTime);
-                    orderSearchRequest.setOrderState("WAIT_SELLER_STOCK_OUT,WAIT_SELLER_DELIVERY,WAIT_GOODS_RECEIVE_CONFIRM");//待出库和境外待发货, 一般仅存在前者
-                    orderSearchRequest.setOptionalFields(initOrderOptionalFields());
-                    orderSearchRequest.setPage("" + pageNo);
-                    orderSearchRequest.setPageSize("" + 40L);
-                    orderSearchRequest.setDateType(0);//按照最后修改时间查询
-                    rsp = client.execute(orderSearchRequest);
-                } catch (Exception e) {
-                    logger.error("请求京东服务器异常:{}", e);
-                }
-                if (rsp == null) {
-                    logger.error("【京东订单】请求京东服务器失败!");
-                    return;
-                }
-                // 判断数据
-                String code = rsp.getCode();
-                if (!"0".equals(rsp.getCode())) {
-                    logger.info("【京东订单】请求京东服务器,返回错误码:{}, 错误信息:{}", code, rsp.getMsg());
-                    break;
-                }
-                logger.info("【京东订单】请求京东服务器,返回信息:{}", rsp.getMsg());
+        int[] storeIds = new int[]{STORE_ID_JD_IAMBERRY, STORE_ID_JD_METAPURE};
+        for (int storeId : storeIds) {
+            // 销售公司 tb_rst_sales_company
+            int salesCompanyId;
+            Integer configId = getConfigId(storeId);
+            if (storeId == STORE_ID_JD_IAMBERRY) {
+                salesCompanyId = 1;
+            } else {
+                salesCompanyId = 16;
+            }
 
-                OrderListResult orderResult = rsp.getSearchorderinfoResult();
-                if (orderResult == null) {
-                    break;
-                }
-                List<OrderSearchInfo> orderInfoList = orderResult.getOrderInfoList();
-                if (orderInfoList == null || orderInfoList.size() == 0) {
-                    logger.info("【京东订单】数据请求完毕, 数量为0");
-                    break;
-                }
-                for (OrderSearchInfo orderSearchInfo : orderInfoList) {
-                    //获取的详情数据和列表数据没什么区别, 直接使用列表数据即可
+            // 批次号
+            String batchIdST = generateKeyUtil.getSalesBatchIdJD();
+            // 循环抓取
+            boolean hasNext = true;
+            int pageNo = 1;
+            try {
+                int total = 0;
+                // 开始循环
+                while (hasNext) {
+                    logger.info("【京东订单】抓取第{}页的数据......", pageNo);
+                    // 抓取京东数据
+                    JdClient client = null;
+                    PopOrderEnSearchRequest orderSearchRequest = null;
+                    PopOrderEnSearchResponse rsp = null;
+                    try {
+                        SysConfig sysConfig = sysConfigService.getSysConfigAll(configId);
+                        if (org.apache.commons.lang3.StringUtils.isBlank(sysConfig.getConfigParameter())) {
+                            break;
+                        }
+                        client = new DefaultJdClient(TaobaoConfig.JINGDONG_API_URL, sysConfig.getConfigParameter(), TaobaoConfig.jd_appkey, TaobaoConfig.jd_secret);
+                        orderSearchRequest = new PopOrderEnSearchRequest();
+                        orderSearchRequest.setStartDate(startTime);
+                        orderSearchRequest.setEndDate(endTime);
+                        orderSearchRequest.setOrderState("WAIT_SELLER_STOCK_OUT,WAIT_SELLER_DELIVERY,WAIT_GOODS_RECEIVE_CONFIRM");//待出库和境外待发货, 一般仅存在前者
+                        orderSearchRequest.setOptionalFields(initOrderOptionalFields());
+                        orderSearchRequest.setPage("" + pageNo);
+                        orderSearchRequest.setPageSize("" + 40L);
+                        orderSearchRequest.setDateType(0);//按照最后修改时间查询
+                        rsp = client.execute(orderSearchRequest);
+                    } catch (Exception e) {
+                        logger.error("请求京东服务器异常:{}", e);
+                    }
+                    if (rsp == null) {
+                        logger.error("【京东订单】请求京东服务器失败!");
+                        break;
+                    }
+                    // 判断数据
+                    String code = rsp.getCode();
+                    if (!"0".equals(rsp.getCode())) {
+                        logger.info("【京东订单】请求京东服务器,返回错误码:{}, 错误信息:{}", code, rsp.getMsg());
+                        break;
+                    }
+                    logger.info("【京东订单】请求京东服务器,返回信息:{}", rsp.getMsg());
+
+                    OrderListResult orderResult = rsp.getSearchorderinfoResult();
+                    if (orderResult == null) {
+                        break;
+                    }
+                    List<OrderSearchInfo> orderInfoList = orderResult.getOrderInfoList();
+                    if (orderInfoList == null || orderInfoList.size() == 0) {
+                        logger.info("【京东订单】数据请求完毕, 数量为0");
+                        break;
+                    }
+                    for (OrderSearchInfo orderSearchInfo : orderInfoList) {
+                        //获取的详情数据和列表数据没什么区别, 直接使用列表数据即可
 //                    Trade details = getOrderDetails(orderSearchInfo.getOrderId());
 //                    if (details == null) {
 //                        logger.error("【京东订单】{}获取订单详细数据失败", trade.getTid());
 //                        return;
 //                    }
-                    // 组装数据
-                    SalesOrder salesOrder = packageOrder(orderSearchInfo);
-                    if (salesOrder != null) {
-                        salesOrder.setSalesBatchId(batchIdST);
-                        salesOrderService.addOrder(salesOrder, "创建订单(京东拉取订单)");
-                        total ++;
+                        // 组装数据
+                        SalesOrder salesOrder = packageOrder(orderSearchInfo, storeId, salesCompanyId);
+                        if (salesOrder != null) {
+                            salesOrder.setSalesBatchId(batchIdST);
+                            salesOrderService.addOrder(salesOrder, "创建订单(京东拉取订单)");
+                            total ++;
+                        }
+                    }
+                    // 迭代数据
+                    if (rsp.getSearchorderinfoResult().getOrderTotal() <= pageNo * 40) {
+                        hasNext = false;
+                    } else {
+                        hasNext = true;
+                        pageNo ++;
                     }
                 }
-                // 迭代数据
-                if (rsp.getSearchorderinfoResult().getOrderTotal() <= pageNo * 40) {
-                    hasNext = false;
-                } else {
-                    hasNext = true;
-                    pageNo ++;
-                }
-            }
 
-            OrderSyncLog orderSyncLog = new OrderSyncLog();
-            orderSyncLog.setSyncPlatId(1);
-            orderSyncLog.setSyncLogType(1);
-            orderSyncLog.setSyncLogMode(1);
-            orderSyncLog.setSyncLogRecentNum(total); //同步总数量
-            orderSyncLog.setSyncLogErrorNum(0); //同步失败数量
-            orderSyncLog.setSyncLogMsg("拉取京东订单");   //备注
-            orderSyncLogMapper.save(orderSyncLog);
+                OrderSyncLog orderSyncLog = new OrderSyncLog();
+                orderSyncLog.setSyncPlatId(1);
+                orderSyncLog.setSyncLogType(1);
+                orderSyncLog.setSyncLogMode(1);
+                orderSyncLog.setSyncLogRecentNum(total); //同步总数量
+                orderSyncLog.setSyncLogErrorNum(0); //同步失败数量
+                orderSyncLog.setSyncLogMsg("拉取京东订单:店铺id" + storeId);   //备注
+                orderSyncLogMapper.save(orderSyncLog);
 
-            sysConfigTime.setConfigParameter(endTime);
-            sysConfigService.updateSysConfig(sysConfigTime);
+                sysConfigTime.setConfigParameter(endTime);
+                sysConfigService.updateSysConfig(sysConfigTime);
 
 //            RedisUtils.put("JINGDONG_SYNC_TIME", endTime);
-        } catch (Exception e) {
-            logger.error("", e);
-            OrderSyncLog orderSyncLog = new OrderSyncLog();
-            orderSyncLog.setSyncPlatId(1);
-            orderSyncLog.setSyncLogType(1);
-            orderSyncLog.setSyncLogMode(1);
-            orderSyncLog.setSyncLogRecentNum(1); //同步总数量
-            orderSyncLog.setSyncLogErrorNum(1); //同步失败数量
-            orderSyncLog.setSyncLogMsg("拉取京东订单");   //备注
-            orderSyncLog.setSyncLogErrorMsg(e.getMessage());
-            orderSyncLogMapper.save(orderSyncLog);
+            } catch (Exception e) {
+                logger.error("", e);
+                OrderSyncLog orderSyncLog = new OrderSyncLog();
+                orderSyncLog.setSyncPlatId(1);
+                orderSyncLog.setSyncLogType(1);
+                orderSyncLog.setSyncLogMode(1);
+                orderSyncLog.setSyncLogRecentNum(1); //同步总数量
+                orderSyncLog.setSyncLogErrorNum(1); //同步失败数量
+                orderSyncLog.setSyncLogMsg("拉取京东订单:店铺id" + storeId);   //备注
+                orderSyncLog.setSyncLogErrorMsg(e.getMessage());
+                orderSyncLogMapper.save(orderSyncLog);
+            }
         }
+
     }
 
 
-    public com.jd.open.api.sdk.domain.order.OrderQueryJsfService.response.enGet.OrderSearchInfo getOrderDetails(Long tid) {
+    public com.jd.open.api.sdk.domain.order.OrderQueryJsfService.response.enGet.OrderSearchInfo getOrderDetails(Long tid, Integer storeId) {
         try {
             Thread.sleep(1000);
         } catch (InterruptedException e) {
@@ -222,7 +240,7 @@ public class JingdongTask {
         }
 
         try {
-            SysConfig sysConfig = sysConfigService.getSysConfigAll(DB_JD_TOKEN_ID);
+            SysConfig sysConfig = sysConfigService.getSysConfigAll(getConfigId(storeId));
             JdClient client = new DefaultJdClient(TaobaoConfig.JINGDONG_API_URL, sysConfig.getConfigParameter(), TaobaoConfig.jd_appkey, TaobaoConfig.jd_secret);
             PopOrderEnGetRequest request = new PopOrderEnGetRequest();
             request.setOrderId(tid);
@@ -242,6 +260,15 @@ public class JingdongTask {
         return null;
     }
 
+    private Integer getConfigId(Integer storeId) {
+        if (storeId == STORE_ID_JD_IAMBERRY) {
+            return DB_JD_TOKEN_ID;
+        } else if (storeId == STORE_ID_JD_METAPURE) {
+            return DB_JD_METAPURE_TOKEN_ID;
+        }
+        return DB_JD_TOKEN_ID;
+    }
+
 
     public String initOrderOptionalFields() {
         return "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,sellerDiscount,orderState,orderStateRemark,deliveryType," +
@@ -260,13 +287,15 @@ public class JingdongTask {
 
     /**
      * 京东发货
+     *
      * @param orderId
      * @param logiCoprId
      * @param logiNo
+     * @param storeId
      */
-    public OperatorResult orderShipment(String orderId, String logiCoprId, String logiNo){
+    public OperatorResult orderShipment(String orderId, String logiCoprId, String logiNo, Integer storeId){
 
-        SysConfig sysConfig = sysConfigService.getSysConfigAll(DB_JD_TOKEN_ID);
+        SysConfig sysConfig = sysConfigService.getSysConfigAll(getConfigId(storeId));
         JdClient client = new DefaultJdClient(JingdongConfig.JINGDONG_API_URL, sysConfig.getConfigParameter(), JingdongConfig.jd_appkey, JingdongConfig.jd_secret);
         PopOrderShipmentRequest req = new PopOrderShipmentRequest();
         req.setOrderId(Long.parseLong(orderId));
@@ -288,7 +317,7 @@ public class JingdongTask {
     }
 
 
-    public OrderPrivacyModel getMobile(String orderId) {
+    public OrderPrivacyModel getMobile(String orderId, int storeId) {
         try {
             Thread.sleep(1000);
         } catch (InterruptedException e) {
@@ -296,7 +325,7 @@ public class JingdongTask {
         }
 
         try {
-            SysConfig sysConfig = sysConfigService.getSysConfigAll(DB_JD_TOKEN_ID);
+            SysConfig sysConfig = sysConfigService.getSysConfigAll(getConfigId(storeId));
             PopOrderGetmobilelistResponse rsp = null;
             JdClient client = new DefaultJdClient(TaobaoConfig.JINGDONG_API_URL, sysConfig.getConfigParameter(), TaobaoConfig.jd_appkey, TaobaoConfig.jd_secret);
             PopOrderGetmobilelistRequest request = new PopOrderGetmobilelistRequest();
@@ -326,10 +355,13 @@ public class JingdongTask {
 
     /**
      * 数据还需要完善地址库编码、成本价格
+     *
      * @param trade
+     * @param storeId
+     * @param salesCompanyId
      * @return
      */
-    private SalesOrder packageOrder(OrderSearchInfo trade) {
+    private SalesOrder packageOrder(OrderSearchInfo trade, int storeId, int salesCompanyId) {
         logger.info("packageOrder orderState:" + trade.getOrderState());
         // 处理京东仓自发货场景
         boolean waitGoodsReceiveConfirm = "WAIT_GOODS_RECEIVE_CONFIRM".equals(trade.getOrderState()) || "等待确认收货".equals(trade.getOrderStateRemark());
@@ -344,7 +376,7 @@ public class JingdongTask {
         order.setSalesDeliver(waitGoodsReceiveConfirm ? 2 : 1);
 
         //获取收货人手机号
-        OrderPrivacyModel orderPrivacyModel = getMobile(trade.getOrderId());
+        OrderPrivacyModel orderPrivacyModel = getMobile(trade.getOrderId(), storeId);
 
         //收货人信息
         UserInfo consigneeInfo = trade.getConsigneeInfo();
@@ -396,8 +428,8 @@ public class JingdongTask {
         order.setSalesCreateTime(DateTimeUtil.parse(trade.getOrderStartTime()));
         order.setSalesAdminRemark(trade.getVenderRemark());
         order.setSalesUserRemark(trade.getOrderRemark());
-        order.setSalesCompanyId(1);
-        order.setSalesStoreId(40);
+        order.setSalesCompanyId(salesCompanyId);
+        order.setSalesStoreId(storeId);
         order.setSalesType(1);
         order.setSalesAddType(4);
         order.setSalesAdminId(10135);

+ 2 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/TaobaoConfig.java

@@ -20,6 +20,8 @@ public class TaobaoConfig {
     public static final Integer DB_JD_TOKEN_ID = 27;
     //京东订单拉取时间间隔配置
     public static final Integer DB_JD_PULL_ORDER_LIMIT_TIME = 28;
+    /** 美塔璞儿京东TOKEN配置 数据库主键ID */
+    public static final Integer DB_JD_METAPURE_TOKEN_ID = 30;
 
     //================================================== 抖音 ==================================================
     /**

+ 22 - 7
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminJingdongAuthController.java

@@ -12,6 +12,7 @@ import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.payUtil.StringUtil;
 import com.jd.open.api.sdk.domain.order.OrderQueryJsfService.response.enGet.OrderSearchInfo;
 import com.jd.open.api.sdk.domain.order.OrderShipmentService.response.shipment.OperatorResult;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +28,7 @@ import java.util.Map;
 import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 
+import static com.iamberry.rst.controllers.mq.TaobaoConfig.DB_JD_METAPURE_TOKEN_ID;
 import static com.iamberry.rst.controllers.mq.TaobaoConfig.DB_JD_TOKEN_ID;
 
 /**
@@ -98,9 +100,20 @@ public class AdminJingdongAuthController {
             JSONObject result = JSONObject.parseObject(s);
             String accessToken = result.getString("access_token");
             Integer timeout = result.getInteger("expires_in");//有效期, 单位秒
+
+            // type 2 爱贝源京东 4美塔璞儿京东
+            String type = HREF_CACHE.get(state + "_type");
+
             // 缓存数据
             SysConfig sysConfig = new SysConfig();
-            sysConfig.setConfigId(DB_JD_TOKEN_ID);
+            if (StringUtils.isNotBlank(type)) {
+                if ("2".equals(type)) {
+                    sysConfig.setConfigId(DB_JD_TOKEN_ID);
+                } else if ("4".equals(type)) {
+                    sysConfig.setConfigId(DB_JD_METAPURE_TOKEN_ID);
+                }
+                HREF_CACHE.remove(state + "_type");
+            }
             sysConfig.setConfigParameter(accessToken);
             sysConfig.setConfigRemarks(DateTimeUtil.format(DateTimeUtil.addMinute(new Date(), (timeout/60)-30)));
             sysConfigService.updateSysConfig(sysConfig);
@@ -120,11 +133,12 @@ public class AdminJingdongAuthController {
 
 
     @RequestMapping("/auth")
-    public ModelAndView auth(@RequestParam("url") String href) {
+    public ModelAndView auth(@RequestParam("url") String href, @RequestParam("type") String type) {
         // 存储跳转前的URL
         int state = new Random(1_000_000).nextInt();
         HREF_CACHE.put(state + "", href);
-        String url = "https://open-oauth.jd.com/oauth2/to_login?app_key=" + TaobaoConfig.jd_appkey + "&response_type=code&redirect_uri=http://rst.iamberry.com/jingdong/token&state=" + state + "&scope=snsapi_base";
+        HREF_CACHE.put(state + "_type", type);
+        String url = "https://open-oauth.jd.com/oauth2/to_login?app_key=" + TaobaoConfig.jd_appkey + "&response_type=code&redirect_uri=https://rst.iamberry.com/jingdong/token&state=" + state + "&scope=snsapi_base";
         return new ModelAndView("redirect:" + url);
     }
 
@@ -132,17 +146,18 @@ public class AdminJingdongAuthController {
     /**
      * 京东订单详情
      * @param orderId
+     * @param storeId tb_rst_store_info store_id
      * @return
      */
     @RequestMapping("/orderEnGet")
     @ResponseBody
-    public OrderSearchInfo orderEnGet(@RequestParam("orderId") String orderId, @RequestParam("code") String code) {
+    public OrderSearchInfo orderEnGet(@RequestParam("orderId") String orderId, @RequestParam("code") String code, @RequestParam("storeId")Integer storeId) {
         String decrypt = AES.decrypt(code);
         if (!orderId.equals(decrypt)) {
             logger.info("京东订单详情接口,安全风险:{}", "不安全访问!");
             return null;
         }
-        OrderSearchInfo orderDetails = jingdongTask.getOrderDetails(Long.parseLong(orderId));
+        OrderSearchInfo orderDetails = jingdongTask.getOrderDetails(Long.parseLong(orderId), storeId);
         return orderDetails;
     }
 
@@ -155,13 +170,13 @@ public class AdminJingdongAuthController {
     @RequestMapping(value = "/orderShipment")
     @ResponseBody
     public OperatorResult orderShipment(@RequestParam("orderId") String orderId, @RequestParam("logiCoprId") String logiCoprId,
-                                        @RequestParam("logiNo") String logiNo, @RequestParam("code") String code) {
+                                        @RequestParam("logiNo") String logiNo, @RequestParam("code") String code, @RequestParam("storeId")Integer storeId) {
         String decrypt = AES.decrypt(code);
         if (!orderId.equals(decrypt)) {
             logger.info("京东订单发货接口,安全风险:{}", "不安全访问!");
             return null;
         }
-        OperatorResult operatorResult = jingdongTask.orderShipment(orderId, logiCoprId, logiNo);
+        OperatorResult operatorResult = jingdongTask.orderShipment(orderId, logiCoprId, logiNo, storeId);
         return operatorResult;
     }
 

+ 13 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminTaobaoAuthController.java

@@ -26,6 +26,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
+import static com.iamberry.rst.controllers.mq.TaobaoConfig.DB_JD_METAPURE_TOKEN_ID;
 import static com.iamberry.rst.controllers.mq.TaobaoConfig.DB_JD_TOKEN_ID;
 
 /**
@@ -47,11 +48,11 @@ public class AdminTaobaoAuthController {
         if (taobaoToken == null || taobaoToken.size() == 0) {
             taobaoToken = new HashMap<>();
         }
-        taobaoToken.put("name", "淘宝认证");
+        taobaoToken.put("name", "淘宝爱贝源认证");
         taobaoToken.put("type", "1");
         reuslt.add(taobaoToken);
 
-        //京东token
+        //京东爱贝源token
         SysConfig sysConfig = sysConfigService.getSysConfigAll(DB_JD_TOKEN_ID);
         if (sysConfig == null || StringUtil.isEmpty(sysConfig.getConfigParameter()) || StringUtil.isEmpty(sysConfig.getConfigRemarks())) {
             return null;
@@ -64,7 +65,7 @@ public class AdminTaobaoAuthController {
         Map<String, Object> jingdongToken = new HashMap<>();
         jingdongToken.put("token", sysConfig.getConfigParameter());
         jingdongToken.put("time", DateTimeUtil.parse(sysConfig.getConfigRemarks()));
-        jingdongToken.put("name", "京东认证");
+        jingdongToken.put("name", "京东爱贝源认证");
         jingdongToken.put("type", "2");
         reuslt.add(jingdongToken);
 
@@ -76,6 +77,15 @@ public class AdminTaobaoAuthController {
         taobaoMetapureToken.put("name", "淘宝美塔璞儿认证");
         taobaoMetapureToken.put("type", "3");
         reuslt.add(taobaoMetapureToken);
+
+        // 京东美塔璞儿
+        SysConfig jdMetapureSysConfig = sysConfigService.getSysConfigAll(DB_JD_METAPURE_TOKEN_ID);
+        Map<String, Object> jdMetapureToken = new HashMap<>();
+        jdMetapureToken.put("token", jdMetapureSysConfig == null ? null : jdMetapureSysConfig.getConfigParameter());
+        jdMetapureToken.put("time", (jdMetapureSysConfig == null || StringUtils.isBlank(jdMetapureSysConfig.getConfigRemarks())) ? null : DateTimeUtil.parse(jdMetapureSysConfig.getConfigRemarks()));
+        jdMetapureToken.put("name", "京东美塔璞儿认证");
+        jdMetapureToken.put("type", "4");
+        reuslt.add(jdMetapureToken);
         return new ModelAndView("taobao/token").addObject("result", reuslt);
     }
 

+ 1 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -393,6 +393,7 @@ public class AwaitSendController {
             Map<String, String> params = new HashMap<>();
             params.put("orderId", id);
             params.put("code", AES.encrypt(id));
+            params.put("storeId", String.valueOf(temp.getSalesStoreId()));
             String result = HttpClient431Util.doPost(params, jdOrderDomain + "/jingdong/orderEnGet");
 
             if (StringUtil.isNotEmpty(result)) {

+ 11 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/taobao/token.ftl

@@ -36,7 +36,7 @@
                                     <i class="Hui-iconfont">&#xe61d;</i>
                                 </span>
                             <#elseif data.type == "2">
-                                <span onclick="re_jd_auth()" style="color: red;font-size: 16px">
+                                <span onclick="re_jd_auth(2)" style="color: red;font-size: 16px">
                                     重新授权
                                     <i class="Hui-iconfont">&#xe61d;</i>
                                 </span>
@@ -45,6 +45,11 @@
                                     重新授权
                                     <i class="Hui-iconfont">&#xe61d;</i>
                                 </span>
+                            <#elseif data.type == "4">
+                                <span onclick="re_jd_auth(4)" style="color: red;font-size: 16px">
+                                    重新授权
+                                    <i class="Hui-iconfont">&#xe61d;</i>
+                                </span>
                             </#if>
                         </td>
                     </tr>
@@ -57,9 +62,11 @@
                             <#if data.type == "1">
                                 <a title="重新授权" href="javascript:re_auth(1)" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe61d;</i></a>
                             <#elseif data.type == "2">
-                                <a title="重新授权" href="javascript:re_jd_auth()" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe61d;</i></a>
+                                <a title="重新授权" href="javascript:re_jd_auth(2)" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe61d;</i></a>
                             <#elseif data.type == "3">
                                 <a title="重新授权" href="javascript:re_auth(3)" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe61d;</i></a>
+                            <#elseif data.type == "4">
+                                <a title="重新授权" href="javascript:re_jd_auth(4)" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe61d;</i></a>
                             </#if>
                         </td>
                     </tr>
@@ -79,10 +86,10 @@
     }
 
     //京东认证
-    function re_jd_auth() {
+    function re_jd_auth(type) {
         // 保存当前url
         let href = window.location.href;
-        window.location.href = "${path}/jingdong/auth?url=" + href;
+        window.location.href = "${path}/jingdong/auth?type=" + type +"&url=" + href;
     }
 
 </script>