Jelajahi Sumber

同步百胜订单项信息

liujiankang 7 tahun lalu
induk
melakukan
7382360626

+ 5 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -122,4 +122,9 @@ public interface SalesOrderService {
      */
     Integer delOrder(String orderId);
 
+    /**
+     * 修改订单项数量
+     */
+    Integer updateOrderItem(SalesOrderItem salesOrderItem);
+
 }

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

@@ -317,7 +317,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 if (colorList != null && colorList.size() > 0) {
                     color = colorList.get(0);
                     item.setItemColorBar(itemJson.getString("goods_sn"));//商品69码
-                    item.setItemNum(itemJson.getInt("sn"));//商品数量
+                    item.setItemNum(itemJson.getInt("goods_number"));//商品数量
                     item.setItemCreateTime(salesOrder.getSalesCreateTime());
                     item.setItemColorId(color.getColorId());
                     item.setItemProductColor(color.getColorName());
@@ -339,7 +339,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     }
                     fittingsInfo = Fittings.get(0);
                     item.setItemColorBar(itemJson.getString("goods_sn"));//商品69码
-                    item.setItemNum(itemJson.getInt("sn"));//商品数量
+                    item.setItemNum(itemJson.getInt("goods_number"));//商品数量
                     item.setItemCreateTime(salesOrder.getSalesCreateTime());
                     item.setItemColorId(fittingsInfo.getFittingsId());
                     item.setItemProductColor(fittingsInfo.getFittingsName());
@@ -508,4 +508,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     public Integer delOrder(String orderId) {
         return salesOrderMapper.delOrder(orderId);
     }
+
+    @Override
+    public Integer updateOrderItem(SalesOrderItem salesOrderItem) {
+        return salesOrderMapper.updateOrderItem(salesOrderItem);
+    }
 }

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -81,4 +81,8 @@ public interface SalesOrderMapper {
      * 删除订单根据Efast订单号
      */
     Integer delOrder(String orderId);
+    /**
+     * 修改订单项数量
+     */
+    Integer updateOrderItem(SalesOrderItem salesOrderItem);
 }

+ 10 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -404,4 +404,14 @@
     WHERE sales_orderId = #{salesOrderId}
   </delete>
 
+  <update id="updateOrderItem" parameterType="SalesOrderItem">
+      UPDATE tb_rst_sales_order_item
+    <set>
+      <if test="itemNum != null" >
+        item_num = #{itemNum}
+      </if>
+    </set>
+    where item_order_id = #{itemOrderId}
+    AND item_color_bar = #{itemColorBar}
+  </update>
 </mapper>

+ 85 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AppComplaintQuestionInfoController.java

@@ -1,13 +1,21 @@
 package com.iamberry.rst.controllers.cm;
 
 import com.iamberry.rst.core.cm.*;
+import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.faces.cm.ComplaintQuestionInfoService;
 import com.iamberry.rst.faces.cm.CustomerCommonService;
 import com.iamberry.rst.faces.cm.RelationOrderService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.order.EfastOrderService;
+import com.iamberry.rst.faces.product.ProductService;
+import com.iamberry.rst.service.cm.CustomerServiceImpl;
+import com.iamberry.rst.service.cm.mapper.FittingsInfoMapper;
+import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -17,6 +25,7 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -25,7 +34,7 @@ import java.util.List;
  */
 @Controller
 public class AppComplaintQuestionInfoController {
-
+    private static Logger logger = LoggerFactory.getLogger(CustomerServiceImpl.class);
     private Object lock = new Object();
 
     /**
@@ -43,6 +52,10 @@ public class AppComplaintQuestionInfoController {
     private SalesOrderService salesOrderService;
     @Autowired
     private EfastOrderService efastOrderService;
+    @Autowired
+    private ProductService productService;
+    @Autowired
+    private FittingsInfoMapper fittingsInfoMapper;
 
     /**
      * 进入客诉问题描述
@@ -231,5 +244,76 @@ public class AppComplaintQuestionInfoController {
 //        return msg;
 //    }
 
+/**
+ * 清理所有没有订单项的订单
+ * 并重新拉去订单
+ * @param request
+ * @return
+ */
+    @ResponseBody
+    @RequestMapping(value = "/synOrder")
+    public ResponseJson synCustomerOrder(HttpServletRequest request){
+        ResponseJson msg = new ResponseJson();
+        List<String> orderId = new ArrayList<>();
+        List<SalesOrder> salesOrderList = salesOrderService.listSalesOrder(new SalesOrder());
+        for (int i=0;i<salesOrderList.size();i++){
+            SalesOrder so = salesOrderList.get(i);
+            SalesOrderItem soi = new SalesOrderItem();
+            soi.setItemOrderId(so.getSalesId());
+            List<SalesOrderItem> salesOrderItemList = salesOrderService.listSalesOrderItem(soi);
+            if(salesOrderItemList != null && salesOrderItemList.size() > 1){
+               if(so.getSalesDealCode() != null && !"".equals(so.getSalesDealCode()) ){
+                   //获取订单详情
+                   JSONObject orderInfo = null;
+                   try{
+                       orderInfo = efastOrderService.getOrderFormEfast(so.getSalesDealCode());
+                   }catch (Exception e){
+                       logger.info("获取订单失败;异常编号:505;失败原因:"+ e.getMessage() +"--获取失败交易号:" + so.getSalesDealCode());
+                   }
+                   if (orderInfo == null) {
+                       continue;
+                   }
+                   if (!orderInfo.has("orders")) {
+                       continue;
+                   }
+                   //获取订单项集合
+                   JSONArray itemArray = orderInfo.getJSONArray("orders");
+                   if (itemArray == null || itemArray.size() == 0) {
+                       continue;
+                   }
+
+                   List<SalesOrderItem> itemList = new ArrayList<SalesOrderItem>();
+                   for (int j = 0;j < itemArray.size();j++) {
+                       ProductColor color = new ProductColor();
+                       JSONObject itemJson = itemArray.getJSONObject(j);
+                       SalesOrderItem item = new SalesOrderItem();
+                       color.setColorBar(itemJson.getString("goods_sn"));
+                       List<ProductColor> colorList = productService.listproductAndColor(color);
+                       if (colorList != null && colorList.size() > 0) {
+                           item.setItemColorBar(itemJson.getString("goods_sn"));//商品69码
+                           item.setItemNum(itemJson.getInt("goods_number"));//商品数量
+                           item.setItemOrderId(so.getSalesId());
+                           salesOrderService.updateOrderItem(item);
+                       } else {
+                           //获取配件信息
+                           FittingsInfo fittingsInfo = new FittingsInfo();
+                           fittingsInfo.setFittingsBar(itemJson.getString("goods_sn"));
+                           List<FittingsInfo> Fittings = fittingsInfoMapper.listFittings(fittingsInfo);
+                           if (Fittings == null || Fittings.size() == 0) {
+                               continue;
+                           }
+                           item.setItemColorBar(itemJson.getString("goods_sn"));//商品69码
+                           item.setItemNum(itemJson.getInt("goods_number"));//商品数量
+                           item.setItemOrderId(so.getSalesId());
+                           salesOrderService.updateOrderItem(item);
+                       }
+                   }
+                }else{
+                   logger.info("----交易号为空--");
+                }
+            }
+        }
 
+        return msg;
+    }
 }