Browse Source

对接抖音

hexiugang 1 month ago
parent
commit
792ec00992

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

@@ -2319,6 +2319,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                         shopId = DouyinConfig.DOUYIN_IAMBERRY_SHOP_ID;
                     } else if (salesStoreId == 172) {
                         shopId = DouyinConfig.DOUYIN_METAPURE_SHOP_ID;
+                    } else if(salesStoreId == 202) {
+                        shopId = 187079746L;
                     } else {
                         throw new RuntimeException("未映射到抖音店铺,系统出小差啦~");
                     }

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/util/JdServiceUtil.java

@@ -163,7 +163,7 @@ public class JdServiceUtil {
         request.setReceiverTaxNo(platformInfo.getPlatTaxNumber() ); //销货方识别号(税号)
         request.setReceiverName( platformInfo.getPlatCompanyName() );
         request.setInvoiceCode(billing.getBillInvoiceCode() );   //	发票代码
-        request.setInvoiceNo(Integer.valueOf(billing.getBillInvoiceNum()));    //	发票号码
+        //request.setInvoiceNo(Integer.valueOf(billing.getBillInvoiceNum()));    //	发票号码
         request.setIvcTitle( billing.getBillCompanyName());  //发票抬头
 
         Double amount  = Double.valueOf(billing.getBillAmount());

+ 4 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/DouyinTask.java

@@ -1,5 +1,6 @@
 package com.iamberry.rst.controllers.mq;
 
+import com.alibaba.fastjson.JSONObject;
 import com.doudian.open.api.order_batchDecrypt.OrderBatchDecryptRequest;
 import com.doudian.open.api.order_batchDecrypt.OrderBatchDecryptResponse;
 import com.doudian.open.api.order_batchDecrypt.data.DecryptInfosItem;
@@ -212,6 +213,7 @@ public class DouyinTask {
      * @return
      */
     private SalesOrder assembleSalesOrder(ShopOrderListItem trade, AccessToken accessToken, int salesStoreId, String accountId, String accountType, Integer salesCompanyId) {
+
         SalesOrder order = new SalesOrder();
 
         String orderId = trade.getOrderId();
@@ -284,7 +286,7 @@ public class DouyinTask {
             order.setSalesAddressTel(decryptPostTel);
         }
         //京东不返回邮编
-        order.setSalesAddressPostcode("000000");
+        order.setSalesAddressPostcode(postAddr.getTown().getId());
         order.setSalesAmount(trade.getOrderAmount().intValue());
         order.setSalesPayMoney(trade.getPayAmount().intValue());
         order.setSalesPayType(getSalesPayType(trade.getPayType()));
@@ -327,7 +329,7 @@ public class DouyinTask {
                 }
                 int totalFeeInt = tradeOrder.getOrderAmount().intValue();
                 Integer advProductCombinatFree = totalFeeInt/productCombinatList.size();
-                for (int m = 0;m<productCombinatList.size();m++) {
+                for (int m=0; m<productCombinatList.size(); m++) {
                     ProductCombinatInfo productCombinatInfo = productCombinatList.get(m);
                     ProductColor sonPc = productColorMapper.getProductColorByBar(productCombinatInfo.getColorBar());
                     SalesOrderItem salesOrderItem = new SalesOrderItem();

+ 40 - 27
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/JingdongTask.java

@@ -199,33 +199,41 @@ public class JingdongTask {
                             logger.info("【京东订单】请求数据失败{}", orderSearchInfo.getOrderId());
                             continue;
                         }
-
-                        /**
-                         * 解密数据
-                         */
-                        JosOrderOaidDecryptRequest request = new JosOrderOaidDecryptRequest();
-                        GetReceiverInfoListReqVO getReceiverInfoListReqVO = new GetReceiverInfoListReqVO();
-                        getReceiverInfoListReqVO.setOrderType("POP");
-                        getReceiverInfoListReqVO.setAppName("爱贝源官方旗航店");
-                        getReceiverInfoListReqVO.setScenesType(new Random().nextBoolean() ? "1003" : "1002");
-                        // 订单信息
-                        Set<OrderInfoReqVO> orderInfoReqVOSet = new HashSet<>(1);
-                        OrderInfoReqVO orderInfoReqVO = new OrderInfoReqVO();
-                        orderInfoReqVO.setOrderId(Long.parseLong(orderSearchInfo.getOrderId()));
-                        orderInfoReqVO.setOaid(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo().getOaid());
-                        orderInfoReqVOSet.add(orderInfoReqVO);
-                        // 请求
-                        getReceiverInfoListReqVO.setOrderInfos(orderInfoReqVOSet);
-                        request.setGetReceiverInfoListReqVO(getReceiverInfoListReqVO);
-                        logger.info("组装数据:{}", JSONObject.toJSONString(getReceiverInfoListReqVO));
-                        JosOrderOaidDecryptResponse josOrderOaidDecryptResponse = client.execute(request);
-                        logger.info("返回数据:{}", JSONObject.toJSONString(josOrderOaidDecryptResponse));
-                        OrderReceiverInfoModel orderReceiverInfoModel = josOrderOaidDecryptResponse.getReturnType().getData().get(0);
-                        // 替换数据
-                        orderSearchInfo.getConsigneeInfo().setFullname(orderReceiverInfoModel.getCustomerName());
-                        orderSearchInfo.getConsigneeInfo().setMobile(orderReceiverInfoModel.getConsMobilePhone());
-                        orderSearchInfo.getConsigneeInfo().setFullAddress(orderReceiverInfoModel.getAddress());
-
+                        // 判断是否需要解密
+                        if (popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo().getOaid() == null) {
+                            logger.info("不需要解密:{}", JSONObject.toJSONString(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo()));
+                            orderSearchInfo.getConsigneeInfo().setFullname(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo().getFullname());
+                            orderSearchInfo.getConsigneeInfo().setMobile(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo().getMobile());
+                            orderSearchInfo.getConsigneeInfo().setFullAddress(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo().getFullAddress());
+                        } else {
+                            /**
+                             * 解密数据
+                             */
+                            JosOrderOaidDecryptRequest request = new JosOrderOaidDecryptRequest();
+                            GetReceiverInfoListReqVO getReceiverInfoListReqVO = new GetReceiverInfoListReqVO();
+                            getReceiverInfoListReqVO.setOrderType("POP");
+                            getReceiverInfoListReqVO.setAppName("爱贝源官方旗航店");
+                            getReceiverInfoListReqVO.setScenesType(new Random().nextBoolean() ? "1003" : "1002");
+                            // 订单信息
+                            Set<OrderInfoReqVO> orderInfoReqVOSet = new HashSet<>(1);
+                            OrderInfoReqVO orderInfoReqVO = new OrderInfoReqVO();
+                            orderInfoReqVO.setOrderId(Long.parseLong(orderSearchInfo.getOrderId()));
+                            logger.info("【OAID】:{}", JSONObject.toJSONString(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo()));
+                            orderInfoReqVO.setOaid(popOrderGetResponse.getOrderDetailInfo().getOrderInfo().getConsigneeInfo().getOaid());
+
+                            orderInfoReqVOSet.add(orderInfoReqVO);
+                            // 请求
+                            getReceiverInfoListReqVO.setOrderInfos(orderInfoReqVOSet);
+                            request.setGetReceiverInfoListReqVO(getReceiverInfoListReqVO);
+                            logger.info("组装数据:{}", JSONObject.toJSONString(getReceiverInfoListReqVO));
+                            JosOrderOaidDecryptResponse josOrderOaidDecryptResponse = client.execute(request);
+                            logger.info("返回数据:{}", JSONObject.toJSONString(josOrderOaidDecryptResponse));
+                            OrderReceiverInfoModel orderReceiverInfoModel = josOrderOaidDecryptResponse.getReturnType().getData().get(0);
+                            // 替换数据
+                            orderSearchInfo.getConsigneeInfo().setFullname(orderReceiverInfoModel.getCustomerName());
+                            orderSearchInfo.getConsigneeInfo().setMobile(orderReceiverInfoModel.getConsMobilePhone());
+                            orderSearchInfo.getConsigneeInfo().setFullAddress(orderReceiverInfoModel.getAddress());
+                        }
                         // 组装数据
                         SalesOrder salesOrder = packageOrder(orderSearchInfo, storeId, salesCompanyId);
                         if (salesOrder != null) {
@@ -233,6 +241,7 @@ public class JingdongTask {
                             salesOrderService.addOrder(salesOrder, "创建订单(京东拉取订单)");
                             total ++;
                         }
+
                     }
                     // 迭代数据
                     if (rsp.getSearchorderinfoResult().getOrderTotal() <= pageNo * 40) {
@@ -636,4 +645,8 @@ public class JingdongTask {
         return (int)(p * 100);
     }
 
+    public static void main(String[] args) {
+        System.out.println((System.currentTimeMillis()-1000*60*60*24)/1000);
+    }
+
 }