瀏覽代碼

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

liujiankang 5 年之前
父節點
當前提交
eac808072a

+ 1 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderSyncLog.java

@@ -18,7 +18,7 @@ public class  OrderSyncLog  implements  Serializable {
     private Integer syncPlatId;
     //类型:1;拉取订单  2.发货
     private Integer syncLogType;
-    //更新模式 1:定时任务 2:手动同步
+    //更新模式 1:定时任务 2:手动同步 3:同步发货
     private Integer syncLogMode;
     //同步总数量
     private Integer syncLogRecentNum;

+ 47 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java

@@ -214,18 +214,27 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
             }
             orderSyncLog.setSyncLogErrorMsg(newErrorMsg);  //失败信息
         }
-        orderSyncLogMapper.save(orderSyncLog);
+        //因为系统每10分钟拉取一次订单,日志过多,所以在此控制,没有必要的日志,没有必要录入
+        if(orderSyncLog.getSyncLogErrorMsg() != null && !"".equals(orderSyncLog.getSyncLogErrorMsg())
+                && orderSyncLog.getSyncLogRecentNum() == 0){
+            orderSyncLogMapper.save(orderSyncLog);
+        }
 
         if(type == 1){
             //刷新定会任务最新获取时间-小亚通订单生成之后还需要审核操作,所以中间会存在时间差导致订单拉取不过来,
             // 因此时间不会及时刷新,考虑到系统等问题,因为时间调整每晚12点刷新拉取时间
             Calendar endCreateTimeCalendar = Calendar.getInstance();
             endCreateTimeCalendar.setTime(orderSyncPlatform.getSyncOrderLastTime());
+            endCreateTimeCalendar.add(Calendar.DATE, 1);//增加一天
+
+            //当前时间
             Calendar newDateCalendar = Calendar.getInstance();
-            if(endCreateTimeCalendar.get(Calendar.DAY_OF_MONTH) != newDateCalendar.get(Calendar.DAY_OF_MONTH)){
+
+            if((endCreateTimeCalendar.get(Calendar.DAY_OF_MONTH)) != newDateCalendar.get(Calendar.DAY_OF_MONTH)){
                 newDateCalendar.set(Calendar.HOUR_OF_DAY,0);
                 newDateCalendar.set(Calendar.MINUTE,0);
                 newDateCalendar.set(Calendar.SECOND,0);
+                newDateCalendar.add(Calendar.DATE, -1);
                 endCreateTime = newDateCalendar.getTime();
                 orderSyncPlatform.setSyncOrderLastTime(endCreateTime);
 
@@ -495,6 +504,9 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
      */
     @Override
     public boolean syncXYTOrderShip(Integer[] salesOrderIds) {
+        Integer successNum = 0,errorNum = 0;
+        StringBuffer allSb = new StringBuffer();
+        StringBuffer errorSb = new StringBuffer();
         for (int m = 0; m < salesOrderIds.length; m++) {
             Integer salesOrderId = salesOrderIds[m];
             SalesOrder salesOrder = salesOrderService.getSalesOrderByIdConcise(salesOrderId);
@@ -535,6 +547,8 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                 i++;
             }
 
+            allSb.append(salesOrder.getSalesDealCode());
+
             //删除因为拆单增加的订单后缀
             String orderId  = salesOrder.getSalesDealCode();
             if(orderId.indexOf("-")>-1){
@@ -562,8 +576,32 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                 shipSalesOrder.setSalesIsShip(1);   //同步物流状态到第三方平台 1:是
                 shipSalesOrder.setSalesId(salesOrderId);
                 salesOrderService.update(shipSalesOrder);
+                successNum++;
+            }else{
+                errorSb.append("发货失败交易号:" + salesOrder.getSalesDealCode() + ",失败原因:"+shipResultJson+";");
+                errorNum++;
             }
         }
+
+        //防止日志过多,所以在此控制,没有必要的日志,没有必要录入
+        if(errorNum > 0){
+            OrderSyncPlatform orderSyncPlatform =  getXYTPlatform();
+            OrderSyncLog orderSyncLog = new OrderSyncLog();
+            orderSyncLog.setSyncPlatId(orderSyncPlatform.getSyncPlatId());
+            orderSyncLog.setSyncLogType(2);
+            orderSyncLog.setSyncLogMode(3);
+            orderSyncLog.setSyncLogRecentNum(successNum+errorNum); //同步总数量
+            orderSyncLog.setSyncLogErrorNum(errorNum); //同步失败数量
+            orderSyncLog.setSyncLogMsg("发货订单交易号:"+ allSb.toString());   //备注
+            if(!errorSb.toString().equals("")){
+                String newErrorMsg = errorSb.toString();
+                if(newErrorMsg.length() > 5000){
+                    newErrorMsg = newErrorMsg.substring(0,4999);
+                }
+                orderSyncLog.setSyncLogErrorMsg(newErrorMsg);  //失败信息
+            }
+            orderSyncLogMapper.save(orderSyncLog);
+        }
         return true;
     }
 
@@ -832,12 +870,18 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                         String shopIdStr = String.valueOf(shopId);
                         switch (platformId){
                             case "TMALL":{
-                                salesOrder.setSalesStoreId(86);     //天猫爱贝源旗舰店
+                                //因为淘宝天猫有两个所以需要区分
+                                if("100239736885".equals(shopIdStr) ){  //爱贝源旗舰店
+                                    salesOrder.setSalesStoreId(86);     //天猫爱贝源旗舰店
+                                }else if("100239736886".equals(shopIdStr)){ //爱贝源直销店
+                                    salesOrder.setSalesStoreId(3);     //爱贝源母婴直销店
+                                }
                                 salesOrder.setSalesCompanyId(1);    //深圳爱贝源
                                 salesOrder.setSalesPayType(5);//付款方式5:支付宝支付
                                 break;
                             }
                             case "JD":{
+                                //JD店铺id:100206182446
                                 salesOrder.setSalesStoreId(40);     //天猫爱贝源旗舰店
                                 salesOrder.setSalesCompanyId(1);    //深圳爱贝源
                                 salesOrder.setSalesPayType(5);//付款方式5:支付宝支付

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

@@ -80,6 +80,7 @@ public class AdminOrderBatchController {
         }
         StitchAttrUtil.getSa()
                 .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
+                .addNoPro("storeIds")
                 .setModelAndView(orderBatch, mv, "/admin/order_batch/batch_list", pagedResult);
         return mv;
     }

+ 2 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -142,6 +142,7 @@ public class AdminSalesOrderController {
                     .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                     .addNoPro("suSalesOrderItemList")
                     .addNoPro("salesOrderItemList")
+                    .addNoPro("storeIds")
                     .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
             salesOrder.setSalesOrderItemList(null);
 
@@ -173,6 +174,7 @@ public class AdminSalesOrderController {
                 .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                 .addNoPro("suSalesOrderItemList")
                 .addNoPro("salesOrderItemList")
+                .addNoPro("storeIds")
                 .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
         salesOrder.setSalesOrderItemList(null);
         // 查询订单各个状态数量