Bladeren bron

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

# Conflicts:
#	watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/order_list.ftl
wangxiang 6 jaren geleden
bovenliggende
commit
f5e53c6b55

+ 2 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderService.java

@@ -272,4 +272,6 @@ public interface OrderService {
      * @return
      */
     Order getOrderByTelName(Order order);
+
+    EfastOrder getFromRstEfastOrderInfo(String orderDealCode);
 }

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderServiceImpl.java

@@ -143,6 +143,12 @@ public class OrderServiceImpl implements OrderService{
         return orderMapper.getOrderByTelName(order);
     }
 
+
+    @Override
+    public EfastOrder getFromRstEfastOrderInfo(String orderDealCode) {
+        return orderMapper.getFromRstEfastOrderInfo(orderDealCode);
+    }
+
     @Override
     public OrderSource getSource(Integer sourceId) {
         return orderMapper.getSource(sourceId);

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/OrderMapper.java

@@ -248,4 +248,10 @@ public interface OrderMapper {
      */
     Order getOrderByTelName(Order order);
 
+    /**
+     * Efast升级后获取订单详情
+     * @param orderDealCode
+     * @return
+     */
+    EfastOrder getFromRstEfastOrderInfo(String orderDealCode);
 }

+ 42 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/orderMapper.xml

@@ -729,4 +729,46 @@
         </if>
          1 = 1
     </select>
+
+    <!--Efast升级后获取订单详情-->
+    <!--<resultMap id="efastOrderResult" type="EfastOrder" autoMapping="true">
+        <id column="order_id" property="orderId" />
+        <collection property="orderItems" ofType="com.iamberry.rst.core.order.EfastOrder">
+            <id property="oid" column="sales_id" />
+            <result property="itemOrderId" column="Item_order_id"/>
+            <result property="itemProductId" column="item_product_id"/>
+            <result property="itemColorId" column="item_color_id"/>
+            <result property="itemProductType" column="item_product_type"/>
+            <result property="itemProductName" column="item_product_name"/>
+            <result property="itemProductPic" column="item_product_pic"/>
+            <result property="itemProductColor" column="item_product_color"/>
+            <result property="itemCreateTime" column="item_create_time"/>
+            <result property="itemColorBar" column="item_color_bar"/>
+            <result property="itemProductPrice" column="item_product_price"/>
+            <result property="itemProductDiscount" column="item_product_discount"/>
+        </collection>
+    </resultMap>-->
+    <resultMap type="com.iamberry.rst.core.order.EfastOrder" id="efastOrderResult">
+        <id property="oid" column="sales_id"/>
+        <result property="orderAddressName" column="sales_address_name" />
+        <result property="orderAddressTel" column="sales_address_tel" />
+        <result property="orderAddress" column="sales_address_info" />
+        <result property="orderPostFirm" column="sales_post_firm" />
+        <result property="orderPostNum" column="sales_post_num" />
+        <result property="orderProductName" column="item_product_name" />
+        <result property="orderNum" column="item_num" />
+    </resultMap>
+    <select id="getFromRstEfastOrderInfo" parameterType="java.lang.String" resultMap="efastOrderResult">
+        SELECT
+        a.sales_id,a.sales_address_name,a.sales_address_tel,a.sales_address_info,a.sales_post_firm,a.sales_post_num,
+        b.item_product_name,b.item_num
+        FROM
+        tb_rst_sales_order_info a
+        LEFT JOIN
+        tb_rst_sales_order_item b
+        ON
+        a.sales_id = b.item_order_id
+        WHERE
+        a.sales_deal_code = #{orderDealCode}
+    </select>
 </mapper>

+ 152 - 6
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -1,6 +1,8 @@
 package com.iamberry.rst.controllers.order;
 
 import com.iamberry.rst.controllers.sys.SysController;
+import com.iamberry.rst.core.cm.SalesOrder;
+import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.order.*;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
@@ -10,6 +12,7 @@ import com.iamberry.rst.core.sms.OrderMessage;
 import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.core.sys.OrderCheckStatus;
 import com.iamberry.rst.core.sys.Relu;
+import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.order.OrderService;
 import com.iamberry.rst.faces.product.ProductService;
@@ -70,6 +73,9 @@ public class AdminOrderController {
     private MessageService messageService;
     @Autowired
     private SmsService smsService;
+    //Efast升级 2018-6-8
+    @Autowired
+    private SalesOrderService salesOrderService;
 
     /**
      * 进入更换滤芯页面
@@ -570,7 +576,7 @@ public class AdminOrderController {
     @RequiresPermissions("order:select:color")
     @ResponseBody
     @RequestMapping("/listProductColorByProductId")
-    public ResponseJson listProductColorByProductId(HttpServletRequest request, String colorProductId) {
+        public ResponseJson listProductColorByProductId(HttpServletRequest request, String colorProductId) {
         ResponseJson responseJson = new ResponseJson();
         if (colorProductId.trim().equals("")) {
             return responseJson;
@@ -610,10 +616,11 @@ public class AdminOrderController {
         try{
             reader=new BufferedReader(new FileReader(file));
             while((temp=reader.readLine())!=null){
-                String[] po = temp.split("@");
+                //Efast升级只取交易号 2018-6-8
+                //String[] po = temp.split("@");
                 EfastOrder efastOrder = new EfastOrder();
-                efastOrder.setPlatformOrderId(po[0]);
-                efastOrder.setOrderDealCode(po[1]);
+                //efastOrder.setPlatformOrderId(po[0]);
+                efastOrder.setOrderDealCode(temp);
                 efastOrderList.add(efastOrder);
                 line++;
             }
@@ -631,7 +638,9 @@ public class AdminOrderController {
             }
         }
         for (int i=0;i<efastOrderList.size();i++){
-            EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(efastOrderList.get(i).getOrderDealCode());
+            //EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(efastOrderList.get(i).getOrderDealCode());
+            //orderService
+            EfastOrder efastOrder = orderService.getFromRstEfastOrderInfo(efastOrderList.get(i).getOrderDealCode());
             if(efastOrder != null){
                 efastOrderList.get(i).setOrderAddressName(efastOrder.getOrderAddressName());
                 efastOrderList.get(i).setOrderAddressTel(efastOrder.getOrderAddressTel());
@@ -831,6 +840,84 @@ public class AdminOrderController {
      * @return
      * @throws Exception
      */
+    /*@ResponseBody
+    @RequestMapping("/toobj_sendefast")
+    public ResponseJson toObjSendEfast(@RequestParam("map[]") String[] maps,
+                                       @RequestParam("name[]") String name,
+                                       @RequestParam("platformOrder[]") String platformOrder,
+                                       @RequestParam("tel[]") String tel,
+                                       @RequestParam("info[]") String[] infos,
+                                       @RequestParam("num[]") String num,
+                                       @RequestParam("remark[]") String remark,
+                                       @RequestParam("filePath") String filePath,
+                                       @RequestParam("postType") String postType,
+                                       @RequestParam("productName") String productName,
+                                       @RequestParam("shopId") String shopId,
+                                       HttpServletRequest request) throws Exception {
+        logger.info("-----------根据excel内容推送到百胜开始,Excel路径:"+ filePath +"-----------");
+        // 获取产品颜色的映射
+        List<ProductColor> productColors = orderService.listProductColor();
+        Map<String, ProductColor> priceMap = new HashMap<>();
+        for (ProductColor productColor : productColors) {
+            priceMap.put(productColor.getColorBar(), productColor);
+        }
+        // 读取文件中内容
+        List<SalesOrder> salesOrderList = ExcelUtil.readCell(request.getServletContext().getRealPath(filePath),
+                productName, maps, infos, tel, name,platformOrder, num,remark, priceMap, postType, shopId);
+        logger.info("---------orderEfasts订单个数为:"+salesOrderList.size() + "------------");
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < salesOrderList.size(); i++) {
+            //Efast升级只取交易号 2018-6-8
+            //sb.append(orderEfasts.get(i).getPlatformOrderId().trim() + "@");
+            sb.append(salesOrderList.get(i).getSalesId() + "\r\n");
+        }
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
+        String dateString = formatter.format(new Date());
+        String webPath = request.getSession().getServletContext().getRealPath("/");
+        String path = webPath + "common/file/upload/file/" + dateString + "/";
+        String fileName = "";
+        try {
+            fileName = createFile(path, sb.toString());
+        } catch (Exception e) {
+            logger.info("推送Efast订单,交易号文件生成失败");
+        }
+        if(fileName != null && !"".equals(fileName)){
+            fileName = fileName.substring(fileName.indexOf("common"),fileName.length());
+        }else{
+            fileName = "";
+        }
+
+        logger.info("-------- 推送订单到Efast开始 - Efast个数:"+ salesOrderList.size() +"--------");
+        // 推送
+        try {
+            efastOrderService.sendOrderInfoToEfast(salesOrderList, null);
+        } catch (Exception e) {
+            logger.error("", e);
+        }
+        logger.info("-------- 推送订单到Efast结束 ---------");
+
+        return new ResponseJson(200, "SUCCESS", 200)
+                .addResponseKeyValue("errorPath", request.getContextPath() + filePath)
+                .addResponseKeyValue("order_list", salesOrderList)
+                .addResponseKeyValue("fileName", fileName);
+    }*/
+
+    /**
+     * 根据excel内容推送到百胜
+     *
+     * @param maps
+     * @param name
+     * @param tel
+     * @param infos
+     * @param num
+     * @param filePath
+     * @param postType    快递类型(对应efast)
+     * @param productName
+     * @param shopId      efast店铺id
+     * @param request
+     * @return
+     * @throws Exception
+     */
     @ResponseBody
     @RequestMapping("/toobj_sendefast")
     public ResponseJson toObjSendEfast(@RequestParam("map[]") String[] maps,
@@ -856,9 +943,68 @@ public class AdminOrderController {
         List<EfastOrder> orderEfasts = ExcelUtil.readCell(request.getServletContext().getRealPath(filePath),
                 productName, maps, infos, tel, name,platformOrder, num,remark, priceMap, postType, shopId);
         logger.info("---------orderEfasts订单个数为:"+orderEfasts.size() + "------------");
+        //Efast升级 2018-6-8
+        boolean bl = false;
+        List<SalesOrder> salesOrderList = null;//new ArrayList<SalesOrder>();
+        List<SalesOrderItem> salesOrderItemList = new ArrayList<SalesOrderItem>();
+        List<String> salesOrderIdList = null;
+        SalesOrder salesOrder = null;
+        SalesOrderItem salesOrderItem = null;
+        if(orderEfasts != null && orderEfasts.size()>0){
+            for (EfastOrder efastOrder: orderEfasts) {
+                if(salesOrderList != null && salesOrderList.size()>0){
+                    for(SalesOrder SalesOrder: salesOrderList){
+                        if(salesOrderIdList !=null && salesOrderIdList.size()>0){
+                            String salesOrderId = efastOrder.getOrderId();
+                            if(salesOrderIdList.contains(salesOrderId)){
+                                salesOrderItemList = SalesOrder.getSalesOrderItemList();
+                                salesOrderItem = new SalesOrderItem();
+                                salesOrderItem.setItemOrderId(Integer.valueOf(salesOrderId));
+                                if(salesOrderItemList !=null && salesOrderItemList.size()>0){
+                                    salesOrderItemList.add(salesOrderItem);
+                                }else{
+                                    salesOrderItemList = new ArrayList<SalesOrderItem>();
+                                    salesOrderItemList.add(salesOrderItem);
+                                }
+                            }else{
+                                salesOrderIdList.add(salesOrderId);
+                                salesOrder = new SalesOrder();
+                                salesOrderItem = new SalesOrderItem();
+                                salesOrder.setSalesOrderId(efastOrder.getOrderId());
+                                salesOrder.setSalesAddressName(efastOrder.getOrderAddressName());
+                                salesOrder.setSalesAddressTel(efastOrder.getOrderAddressTel());
+                                salesOrder.setSalesOpenId(efastOrder.getOrderOpenId());
+                                salesOrder.setSalesAddressInfo(efastOrder.getOrderAddress());
+                                salesOrder.setItemNum(efastOrder.getOrderNum());
+                                salesOrder.setItemProductName(efastOrder.getOrderProductName());
+                                salesOrder.setSalesSendType(Integer.valueOf(efastOrder.getOrderPostType()));
+                                salesOrder.setStoreEfast(efastOrder.getOrderStoreId());
+                                salesOrderList.add(salesOrder);
+                            }
+                        }
+                    }
+                }else{
+                    salesOrderList = new ArrayList<SalesOrder>();
+                    salesOrder = new SalesOrder();
+                    salesOrderItem = new SalesOrderItem();
+                    salesOrder.setSalesOrderId(efastOrder.getOrderId());
+                    salesOrder.setSalesAddressName(efastOrder.getOrderAddressName());
+                    salesOrder.setSalesAddressTel(efastOrder.getOrderAddressTel());
+                    salesOrder.setSalesOpenId(efastOrder.getOrderOpenId());
+                    salesOrder.setSalesAddressInfo(efastOrder.getOrderAddress());
+                    salesOrder.setItemNum(efastOrder.getOrderNum());
+                    salesOrder.setItemProductName(efastOrder.getOrderProductName());
+                    salesOrder.setSalesSendType(Integer.valueOf(efastOrder.getOrderPostType()));
+                    salesOrder.setStoreEfast(efastOrder.getOrderStoreId());
+                    salesOrderList.add(salesOrder);
+               }
+            }
+        }
+        //
         StringBuffer sb = new StringBuffer();
         for (int i = 0; i < orderEfasts.size(); i++) {
-            sb.append(orderEfasts.get(i).getPlatformOrderId().trim() + "@");
+            //Efast升级只取交易号 2018-6-8
+            //sb.append(orderEfasts.get(i).getPlatformOrderId().trim() + "@");
             sb.append(orderEfasts.get(i).getOrderId() + "\r\n");
         }
         SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");