Jelajahi Sumber

修改客户信息

liujiankang 7 tahun lalu
induk
melakukan
9f7322565e

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -56,6 +56,7 @@ public class SalesOrder implements Serializable {
     private Integer salesIsSend;            //是否通知配货
     private Integer salesIsLocked;          //是否锁定
     private Integer salesIsSeparate;        //是否缺货
+    private Integer salesIsDownload;        //是否下载过
 
     private String companyName;             //销售公司名称
     private String storeName;               //店铺名称
@@ -481,4 +482,12 @@ public class SalesOrder implements Serializable {
     public void setIds(String ids) {
         this.ids = ids;
     }
+
+    public Integer getSalesIsDownload() {
+        return salesIsDownload;
+    }
+
+    public void setSalesIsDownload(Integer salesIsDownload) {
+        this.salesIsDownload = salesIsDownload;
+    }
 }

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

@@ -133,4 +133,11 @@ public interface SalesOrderService {
      * 根据外部订单号查询订单信息
      * **/
     SalesOrder getSalesOrderByLogistics(SalesOrder salesOrder);
+
+    /**
+     * 批量修改订单是否已下载状态
+     * @param list
+     * @return
+     */
+    Integer updateOrderListIsDownload(List<SalesOrder> list);
 }

+ 7 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/StoreInfoService.java

@@ -17,6 +17,13 @@ public interface StoreInfoService {
     List<StoreInfo> listStore(StoreInfo storeInfo);
 
     /**
+     * 根据id查询店铺信息
+     * @param storeEfast
+     * @return
+     */
+    StoreInfo getStoreInfoById(Integer storeEfast);
+
+    /**
      * 根据efastid查询店铺信息
      * @param storeEfast
      * @return

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

@@ -537,4 +537,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     public SalesOrder getSalesOrderByLogistics(SalesOrder salesOrder) {
         return salesOrderMapper.getSalesOrderByLogistics(salesOrder);
     }
+
+    @Override
+    public Integer updateOrderListIsDownload(List<SalesOrder> list) {
+        return salesOrderMapper.updateOrderListIsDownload(list);
+    }
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/StoreInfoServiceImpl.java

@@ -23,6 +23,11 @@ public class StoreInfoServiceImpl implements StoreInfoService {
     }
 
     @Override
+    public StoreInfo getStoreInfoById(Integer storeEfast) {
+        return storeInfoMapper.getStoreInfoById(storeEfast);
+    }
+
+    @Override
     public StoreInfo getStoreInfoByEfastId(Integer storeEfast) {
         return storeInfoMapper.getStoreInfoByEfastId(storeEfast);
     }

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

@@ -71,6 +71,13 @@ public interface SalesOrderMapper {
     Integer updateOrderList(List<SalesOrder> list);
 
     /**
+     * 批量修改订单信息
+     * @param list
+     * @return
+     */
+    Integer updateOrderListIsDownload(List<SalesOrder> list);
+
+    /**
      * 查询需要导出的订单信息
      * @param salesOrder
      * @return

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

@@ -37,7 +37,7 @@
         sales_send_type,sales_send_time,sales_sales_time,sales_post_num,sales_post_firm,sales_address_info,sales_address_tel,
         sales_address_name,sales_amount,sales_pay_money,sales_pay_type,sales_wait_money,sales_last_money,sales_shipping_fee,sales_pay_time,
         sales_create_time,sales_admin_remark,sales_user_remark,sales_pay_number,sales_store_id,sales_company_id,sales_type,sales_deal_code,sales_order_status,
-        sales_status,sales_shipping_status,sales_pay_status,sales_process_status,sales_is_send,sales_is_locked,sales_is_separate
+        sales_status,sales_shipping_status,sales_pay_status,sales_process_status,sales_is_send,sales_is_locked,sales_is_separate,sales_is_download
   </sql>
 
   <!-- 根据id查询订单信息 -->
@@ -163,6 +163,9 @@
         <if test="endDate != null and endDate != ''">
           AND o.sales_create_time <![CDATA[<=]]> #{endDate}
         </if>
+        <if test="salesIsDownload != null and endDate != ''">
+          AND o.sales_is_download  = #{salesIsDownload}
+        </if>
       </where>
   </select>
 
@@ -178,7 +181,7 @@
       sales_pay_time, sales_create_time, sales_admin_remark, 
       sales_user_remark, sales_pay_number, sales_store_id, 
       sales_company_id, sales_type,sales_deal_code,sales_order_status,sales_shipping_status,
-      sales_pay_status,sales_process_status,sales_is_send,sales_is_locked,sales_is_separate)
+      sales_pay_status,sales_process_status,sales_is_send,sales_is_locked,sales_is_separate,sales_is_download)
     values (#{salesId,jdbcType=INTEGER}, #{salesOrderId,jdbcType=VARCHAR}, #{salesOpenId,jdbcType=VARCHAR},
       #{salesDiscountMoney,jdbcType=INTEGER}, #{salesPledgeMoney,jdbcType=INTEGER}, #{salesRemainDeposit,jdbcType=INTEGER}, 
       #{salesStatus,jdbcType=INTEGER}, #{salesSendType,jdbcType=INTEGER}, #{salesSendTime,jdbcType=TIMESTAMP}, 
@@ -190,7 +193,7 @@
       #{salesUserRemark,jdbcType=VARCHAR}, #{salesPayNumber,jdbcType=VARCHAR}, #{salesStoreId,jdbcType=INTEGER}, 
       #{salesCompanyId,jdbcType=INTEGER}, #{salesType,jdbcType=INTEGER},#{salesDealCode},#{salesOrderStatus},
       #{salesShippingStatus},#{salesPayStatus},#{salesProcessStatus},#{salesIsSend},#{salesIsLocked},
-      #{salesIsSeparate})
+      #{salesIsSeparate},#{salesIsDownload})
   </insert>
 
   <!-- 批量添加订单项数据 -->
@@ -355,6 +358,9 @@
       <if test="salesType != null" >
         sales_type = #{salesType,jdbcType=INTEGER},
       </if>
+      <if test="salesIsDownload != null" >
+        sales_is_download = #{salesIsDownload,jdbcType=INTEGER},
+      </if>
     </set>
     where sales_id = #{salesId}
   </update>
@@ -435,4 +441,18 @@
       </if>
     </where>
   </select>
+
+
+  <!-- 批量修改订单信息 -->
+  <update id="updateOrderListIsDownload" parameterType="java.util.List">
+    <foreach collection="list" item="item" index="index" separator=";" open="" close="">
+      update tb_rst_sales_order_info
+      <set>
+        <if test="item.salesIsDownload != null" >
+          sales_is_download = 2
+        </if>
+      </set>
+      where sales_id = #{item.salesId}
+    </foreach>
+  </update>
 </mapper>

+ 120 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSalesOrderController.java

@@ -2,8 +2,10 @@ package com.iamberry.rst.controllers.cm;
 
 import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.cm.SalesOrderItem;
+import com.iamberry.rst.core.cm.StoreInfo;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.faces.cm.SalesOrderService;
+import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
@@ -40,6 +42,8 @@ public class AdminSalesOrderController {
     @Autowired
     private EfastOrderService efastOrderService;
 
+    @Autowired
+    private StoreInfoService storeInfoService;
     private Object lock = new Object();
 
     public static void main(String args[]){
@@ -333,4 +337,120 @@ public class AdminSalesOrderController {
     }
 
 
+    /**
+     * 下载efast订单 (2018-05-25)
+     * @param request
+     * @param res
+     * @param salesOrder
+     * @throws Exception
+     */
+    @RequiresPermissions("salesOrder:excel:salesOrder")
+    @RequestMapping("/download_efast_order")
+    public void downloadEfastOrderExcel(HttpServletRequest request,HttpServletResponse res,
+                                SalesOrder salesOrder) throws Exception{
+        salesOrder.setSalesIsDownload(1);
+        //根据id查询订单数据
+        List<SalesOrder> orderList = salesOrderService.listOrderExcel(salesOrder);
+            String[] cells = {
+                    "订单序号(*)","下单日期(文本型*)","店铺代码(*)","交易号(*)","用户昵称(*)",
+                    "收货人","手机号","电话","顾客地址(*)","邮编",
+                    "支付方式","支付交易号","付款日期(货到付款时非必填*)","快递公司","运费",
+                    "其他折扣","商家备注","条形码(*)","均摊金额(单价二选一)",
+                    "单价","数量(*)","发票抬头","发票内容"
+            };
+            //导出订单Excel并下载
+            efastOrderExcel(request,res,cells,orderList);
+
+    }
+
+
+    /**
+     * 导出订单Excel并下载
+     * @param request
+     * @param res
+     * @param cells
+     * @param orderList
+     * @throws Exception
+     */
+    public void efastOrderExcel(HttpServletRequest request,HttpServletResponse res,
+                            String[] cells,List<SalesOrder> orderList) throws Exception {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
+        //创建一个workbook,对应一个Excel文件
+        HSSFWorkbook wb = new HSSFWorkbook();
+        //在workbook中添加一个sheet,对应Excel中的一个sheet
+        HSSFSheet sheet = wb.createSheet("导出订单");
+        //在sheet中添加表头第0行,老版本poi对excel行数列数有限制short
+        HSSFRow row = sheet.createRow((int) 0);
+        //创建单元格,设置值表头,设置表头居中
+        HSSFCellStyle style = wb.createCellStyle();
+        //居中格式
+        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+        //设置表头
+
+        if (cells == null || cells.length == 0) {
+            return;
+        }
+        //循环设置表头
+        HSSFCell cell = null;
+        for (int i = 0;i < cells.length;i++) {
+            String name = cells[i];
+            cell = row.createCell(i);
+            cell.setCellValue(name);
+            cell.setCellStyle(style);
+        }
+        for (int i = 0; i < orderList.size(); i++) {
+            row = sheet.createRow((int) i + 1);
+            SalesOrder order = orderList.get(i);
+            String payType = "";
+            switch (order.getSalesPayType()) {
+                case 1:payType = "微信支付";break;
+                case 2:payType = "现金支付";break;
+                case 3:payType = "已支付定金¥99";break;
+                case 4:payType = "刷卡支付";break;
+                case 5:payType = "支付宝支付";break;
+            }
+
+            StoreInfo storeInfo = storeInfoService.getStoreInfoById(order.getSalesStoreId());
+
+            /**String[] cells = {
+             "订单序号(*)","下单日期(文本型*)","店铺代码(*)","交易号(*)","用户昵称(*)",
+             "收货人","手机号","电话","顾客地址(*)","邮编",
+             "支付方式","支付交易号","付款日期(货到付款时非必填*)","快递公司","运费",
+             "其他折扣","商家备注","条形码(*)","均摊金额(单价二选一)",
+             "单价","数量(*)","发票抬头","发票内容"
+             };**/
+
+            // 创建单元格,设置值
+            row.createCell(0).setCellValue(order.getSalesId());
+            row.createCell(1).setCellValue(order.getSalesSalesTime()==null?"":format2.format(order.getSalesSalesTime()));
+            row.createCell(2).setCellValue(storeInfo.getStoreId());
+            row.createCell(3).setCellValue(order.getSalesDealCode());
+            row.createCell(4).setCellValue(order.getSalesAddressName());
+            row.createCell(5).setCellValue(order.getSalesAddressName());
+            row.createCell(6).setCellValue(order.getSalesAddressTel());
+            row.createCell(7).setCellValue("");
+            row.createCell(8).setCellValue(order.getSalesAddressInfo());
+            row.createCell(9).setCellValue("");
+            row.createCell(10).setCellValue(payType);
+            row.createCell(11).setCellValue(order.getSalesDealCode());
+            row.createCell(12).setCellValue(order.getSalesPayTime()==null?"":format.format(order.getSalesPayTime()));
+            row.createCell(13).setCellValue("");
+            row.createCell(14).setCellValue("");
+            row.createCell(15).setCellValue("");
+            row.createCell(16).setCellValue(order.getSalesAdminRemark() == null ? "":order.getSalesAdminRemark());
+            row.createCell(17).setCellValue(order.getItemColorBar());
+            row.createCell(18).setCellValue("");
+            row.createCell(19).setCellValue("");
+            row.createCell(20).setCellValue(order.getItemNum());
+            row.createCell(21).setCellValue("");
+            row.createCell(22).setCellValue("");
+        }
+        //修改订单是否已下载状态
+        if(orderList.size() > 0){
+            salesOrderService.updateOrderListIsDownload(orderList);
+        }
+        //下载导出订单Excel
+        downloadOrderExcel(res,wb);
+    }
 }

+ 11 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/MallOrderController.java

@@ -193,6 +193,7 @@ public class MallOrderController {
             salesOrder.setSalesIsSend(0);
             salesOrder.setSalesIsLocked(0);
             salesOrder.setSalesIsSeparate(0);
+            salesOrder.setSalesIsDownload(1);
             //salesOrder = salesOrderService.addOrderAndIteminfo(salesOrder,list);
             salesOrder.setSalesOrderItemList(list);
 
@@ -240,10 +241,16 @@ public class MallOrderController {
             map.put("msg","get error");
             map.put("oder_sn",new Date().getTime());
         }else{
-            map.put("msg","seccess");
-            map.put("oder_sn",new Date().getTime());
-            map.put("salesPostFirm",salesOrder.getSalesPostFirm());//快递公司
-            map.put("salesPostNum",salesOrder.getSalesPostNum());//快递单号
+            if(salesOrder.getSalesPostFirm() != null && salesOrder.getSalesPostNum() !=null){
+                map.put("msg","seccess");
+                map.put("oder_sn",new Date().getTime());
+                map.put("salesPostFirm",salesOrder.getSalesPostFirm());//快递公司
+                map.put("salesPostNum",salesOrder.getSalesPostNum());//快递单号
+            }else{
+                map.put("msg","get error");
+                map.put("oder_sn",new Date().getTime());
+            }
+
         }
         return map;
     }

+ 6 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/salesOrder/sales_order_list.ftl

@@ -278,7 +278,7 @@
     }
 
     /*导出Excel*/
-    $('#order_excel').click(function (e) {
+    /*$('#order_excel').click(function (e) {
         var salesOrderId = convertUndefinedToEmpty($('#salesOrderId').val());
         var salesAddressName = convertUndefinedToEmpty($('#salesAddressName').val());
         var salesAddressTel = convertUndefinedToEmpty($('#salesAddressTel').val());
@@ -287,6 +287,11 @@
         window.location="${path}/admin/salesOrder/sales_order_excel?salesOrderId="+salesOrderId+
         "&salesAddressName="+salesAddressName+"&salesAddressTel="+salesAddressTel+"&startDate="+
         startDate+"&endDate="+endDate;
+    })*/
+
+    /*导出上传到efast的Excel*/
+    $('#order_excel').click(function (e) {
+        window.location="${path}/admin/salesOrder/download_efast_order";
     })
 
 </script>