Ver Fonte

PC端订单列表待拣货、拣货中、待发货、待配送、配送待取、配送中都按用户选的提货或配送时间升序显示

FengChaoYu há 2 semanas atrás
pai
commit
bd14cf5ad5

+ 1 - 3
mall-server-api/src/main/java/com/gree/mall/manager/controller/order/OrderController.java

@@ -60,14 +60,12 @@ public class OrderController {
             @ApiParam(value = "页号", required = true) @RequestParam(required = true) Integer pageNum,
             @ApiParam(value = "页大小", required = true) @RequestParam(required = true) Integer pageSize,
             @ApiParam(value = "是否是差评订单0:未评价订单 1:差评订单 2:好评订单 3:已评价订单  不传都有", required = false) @RequestParam(required = false) String isNegative,
-            @ApiParam(value = "派工异常 true为派工异常订单", required = false) @RequestParam(required = false) String abnormalDispatch,
             @ApiParam(value = "信息编号", required = false) @RequestParam(required = false) String workerOrderNo,
-            @ApiParam(value = "套购商品id", required = false) @RequestParam(required = false) String goodsId,
              HttpServletRequest request
     ) throws RemoteServiceException {
         IPage<OrderDetailBean> list = orderLogic
                 .list(request,userId,orderId, productName, userName, phone, orderStatus, startCreateTime,
-                        endCreateTime, startPayTime, endPayTime, pageNum, pageSize, isNegative, abnormalDispatch, workerOrderNo, goodsId);
+                        endCreateTime, startPayTime, endPayTime, pageNum, pageSize, isNegative, workerOrderNo);
         return ResponseHelper.success(list);
     }
 

+ 20 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/OrderStatusEnum.java

@@ -1,5 +1,6 @@
 package com.gree.mall.manager.enums;
 
+import cn.hutool.core.collection.CollectionUtil;
 import lombok.Getter;
 
 import java.util.Arrays;
@@ -39,4 +40,23 @@ public enum OrderStatusEnum {
         List<String> orderStatusList = Arrays.asList(OrderStatusEnum.DPS.toString(), OrderStatusEnum.PSDQ.toString());
         return orderStatusList.contains(value);
     }
+
+    public static boolean addQuerySortContains(List<String> values) {
+        // 订单列表待拣货、拣货中、待发货、待配送、配送待取、配送中都按用户选的提货或配送时间升序显示
+        List<String> orderStatusList = Arrays.asList(OrderStatusEnum.DJH.toString(), OrderStatusEnum.JHZ.toString(),
+                OrderStatusEnum.DFH.toString(), OrderStatusEnum.DPS.toString(), OrderStatusEnum.PSDQ.toString(),
+                OrderStatusEnum.PSZ.toString());
+
+        if (CollectionUtil.isEmpty(values)) {
+            return false;
+        }
+
+        for (String value : values) {
+            if (orderStatusList.contains(value)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
 }

+ 117 - 127
mall-server-api/src/main/java/com/gree/mall/manager/logic/order/OrderLogic.java

@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
@@ -148,7 +149,6 @@ public class OrderLogic {
     UserCompanyDeliveryService userCompanyDeliveryService;
 
 
-
     /**
      * 订单列表
      *
@@ -157,55 +157,52 @@ public class OrderLogic {
     public IPage<OrderDetailBean> list(HttpServletRequest request, String userId, String orderId, String productName,
                                        String userName, String phone, List<String> orderStatus, String startCreateTime,
                                        String endCreateTime, String startPayTime, String endPayTime, Integer pageNum,
-                                       Integer pageSize,
-                                       String isNegative, String abnormalDispatch, String workerOrderNo, String goodsId
+                                       Integer pageSize, String isNegative, String workerOrderNo
     ) {
         AdminUserCom adminUser = commonLogic.getAdminUser(request);
 
-        //派工异常订单
-//        if(StringUtils.isNotBlank(abnormalDispatch) && abnormalDispatch.trim().equals("true")){
-//            return abnormalDispatchOrder( adminUser,  userId,  orderId,  productName,  userName,  phone,
-//                    exchangeCode,  orderStatus,  startCreateTime,  endCreateTime,  startPayTime,
-//                    endPayTime,  websitId, pageNum,  pageSize,
-//                    isNegative, abnormalDispatch);
-//        }
-
         List<String> orderIds = new ArrayList<>();
-        if(StringUtils.isNotBlank(workerOrderNo)) {
+        if (StringUtils.isNotBlank(workerOrderNo)) {
             List<OrderRequest> orderRequests = orderRequestService.lambdaQuery().eq(OrderRequest::getWorkerOrderNo, workerOrderNo).list();
             orderIds = orderRequests.stream().map(OrderRequest::getOrderId).collect(Collectors.toList());
         }
 
-        IPage page = orderInfoService.lambdaQuery()
-                .in(CollectionUtils.isNotEmpty(adminUser.getCompanyWechatIds()),OrderInfo::getCompanyWechatId,adminUser.getCompanyWechatIds())
+        LambdaQueryChainWrapper<OrderInfo> queryChainWrapper = orderInfoService.lambdaQuery()
+                .in(CollectionUtils.isNotEmpty(adminUser.getCompanyWechatIds()), OrderInfo::getCompanyWechatId, adminUser.getCompanyWechatIds())
                 .in(CollectionUtils.isNotEmpty(adminUser.getStorageIds()), OrderInfo::getPickStorageId, adminUser.getStorageIds())
                 .eq(StringUtils.isNotBlank(userId), OrderInfo::getUserId, userId)
                 .like(StringUtils.isNotBlank(orderId), OrderInfo::getOrderId, orderId)
                 .like(StringUtils.isNotBlank(productName), OrderInfo::getOrderTitle, productName)
-                .in(CollectionUtils.isNotEmpty(orderIds),OrderInfo::getOrderId, orderIds)
-                .and(StringUtils.isNotBlank(userName), v -> v.like(OrderInfo::getUserName,userName).or().like(OrderInfo::getReceUserName,userName))
-                .and(StringUtils.isNotBlank(phone), v -> v.like(OrderInfo::getPhone, phone).or().like(OrderInfo::getRecePhone,phone))
+                .in(CollectionUtils.isNotEmpty(orderIds), OrderInfo::getOrderId, orderIds)
+                .and(StringUtils.isNotBlank(userName), v -> v.like(OrderInfo::getUserName, userName).or().like(OrderInfo::getReceUserName, userName))
+                .and(StringUtils.isNotBlank(phone), v -> v.like(OrderInfo::getPhone, phone).or().like(OrderInfo::getRecePhone, phone))
                 .in(CollectionUtils.isNotEmpty(orderStatus), OrderInfo::getOrderStatus, orderStatus)
                 .between(StringUtils.isNotBlank(startCreateTime) && StringUtils.isNotBlank(endCreateTime), OrderInfo::getCreateTime, startCreateTime, endCreateTime + " 23:59:59")
                 .between(StringUtils.isNotBlank(startPayTime) && StringUtils.isNotBlank(endPayTime), OrderInfo::getPayTime, startPayTime, endPayTime + " 23:59:59")
-                .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("2"),
-                        v -> v.gt(OrderInfo::getCommentExpress,2).gt(OrderInfo::getCommentService,2).gt(OrderInfo::getCommentGoods,2))
-                .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("1"),v -> v
-                        .gt(OrderInfo::getCommentExpress,0)
-                        .gt(OrderInfo::getCommentService,0)
-                        .gt(OrderInfo::getCommentGoods,0)
+                .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("2"),
+                        v -> v.gt(OrderInfo::getCommentExpress, 2).gt(OrderInfo::getCommentService, 2).gt(OrderInfo::getCommentGoods, 2))
+                .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("1"), v -> v
+                        .gt(OrderInfo::getCommentExpress, 0)
+                        .gt(OrderInfo::getCommentService, 0)
+                        .gt(OrderInfo::getCommentGoods, 0)
                         .and(vv -> vv
-                                .lt(OrderInfo::getCommentExpress,3)
-                                .or().lt(OrderInfo::getCommentService,3)
-                                .or().lt(OrderInfo::getCommentGoods,3)
+                                .lt(OrderInfo::getCommentExpress, 3)
+                                .or().lt(OrderInfo::getCommentService, 3)
+                                .or().lt(OrderInfo::getCommentGoods, 3)
                         )
                 )
-                .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("0"),
-                        v -> v.eq(OrderInfo::getCommentExpress,0).eq(OrderInfo::getCommentService,0).eq(OrderInfo::getCommentGoods,0))
-                .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("3"),
-                        v -> v.gt(OrderInfo::getCommentExpress,0).gt(OrderInfo::getCommentService,0).gt(OrderInfo::getCommentGoods,0))
-                .orderByDesc(OrderInfo::getCreateTime)
-                .page(new Page<>(pageNum, pageSize));
+                .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("0"),
+                        v -> v.eq(OrderInfo::getCommentExpress, 0).eq(OrderInfo::getCommentService, 0).eq(OrderInfo::getCommentGoods, 0))
+                .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("3"),
+                        v -> v.gt(OrderInfo::getCommentExpress, 0).gt(OrderInfo::getCommentService, 0).gt(OrderInfo::getCommentGoods, 0));
+
+        if (!OrderStatusEnum.addQuerySortContains(orderStatus)) {
+            queryChainWrapper.orderByDesc(OrderInfo::getCreateTime);
+        } else {
+            queryChainWrapper.orderByAsc(OrderInfo::getAppointmentPickStartTime, OrderInfo::getAppointmentPickEndTime);
+        }
+
+        IPage page = queryChainWrapper.page(new Page<>(pageNum, pageSize));
 
         List<OrderDetailBean> list = new ArrayList<>();
         for (Object o : page.getRecords()) {
@@ -216,7 +213,7 @@ public class OrderLogic {
             List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, orderInfo.getOrderId()).list();
             OrderRefund orderRefund = orderRefundService.lambdaQuery()
                     .eq(OrderRefund::getOrderId, orderInfo.getOrderId())
-                    .ne(OrderRefund::getRemark,"").last("limit 1").one();
+                    .ne(OrderRefund::getRemark, "").last("limit 1").one();
 
             long count = orderDetails.stream().filter(v -> StringUtils.isNotBlank(v.getWorkerOrderNo())).count();
 
@@ -236,18 +233,18 @@ public class OrderLogic {
 
     //派工异常订单
     public IPage<OrderDetailBean> abnormalDispatchOrder(AdminUserCom adminUserCom, String userId, String orderId, String productName, String userName, String phone,
-                                       String exchangeCode, String orderStatus, String startCreateTime, String endCreateTime, String startPayTime,
-                                       String endPayTime, String websitId,
-                                       Integer pageNum, Integer pageSize,
-                                       String isNegative,String abnormalDispatch){
+                                                        String exchangeCode, String orderStatus, String startCreateTime, String endCreateTime, String startPayTime,
+                                                        String endPayTime, String websitId,
+                                                        Integer pageNum, Integer pageSize,
+                                                        String isNegative, String abnormalDispatch) {
 
         IPage<OrderInfo> orderInfoIPage = orderMapper.abnormalDispatchOrder(new Page<>(pageNum, pageSize), userId, orderId, productName, userName, phone,
                 exchangeCode, orderStatus, startCreateTime, endCreateTime, startPayTime,
                 endPayTime, websitId,
-                isNegative, abnormalDispatch,adminUserCom.getCompanyWechatIds(),adminUserCom.getAdminWebsitIds());
+                isNegative, abnormalDispatch, adminUserCom.getCompanyWechatIds(), adminUserCom.getAdminWebsitIds());
 
-        IPage<OrderDetailBean> orderDetailBeanIPage=new Page<>();
-        BeanUtils.copyProperties(orderInfoIPage,orderDetailBeanIPage);
+        IPage<OrderDetailBean> orderDetailBeanIPage = new Page<>();
+        BeanUtils.copyProperties(orderInfoIPage, orderDetailBeanIPage);
 
         List<OrderDetailBean> list = new ArrayList<>();
         for (OrderInfo orderInfo : orderInfoIPage.getRecords()) {
@@ -269,7 +266,7 @@ public class OrderLogic {
         return orderDetailBeanIPage;
     }
 
-    public List<OrderDetailBean> list(HttpServletRequest request,String userId, String orderId, String productName, String userName, String phone, String orderStatus,
+    public List<OrderDetailBean> list(HttpServletRequest request, String userId, String orderId, String productName, String userName, String phone, String orderStatus,
                                       String startCreateTime, String endCreateTime, String startPayTime, String endPayTime, String websitId) {
 
         List<OrderInfo> orderList = orderInfoService.lambdaQuery()
@@ -309,11 +306,11 @@ public class OrderLogic {
     /**
      * 修改物流单号
      */
-    public void updateExpress(String orderId,String logisticsNo,String companyCode) throws RemoteServiceException {
+    public void updateExpress(String orderId, String logisticsNo, String companyCode) throws RemoteServiceException {
         //查询物流公司
         String company = expressLogic.expressCompanyName(companyCode);
         OrderInfo orderInfo = orderInfoService.getById(orderId);
-        if(!orderInfo.getOrderStatus().equals(OrderStatusEnum.OVER.toString())){
+        if (!orderInfo.getOrderStatus().equals(OrderStatusEnum.OVER.toString())) {
             throw new RemoteServiceException("非已发货订单不可修改物流单号");
         }
         orderInfo.setCompanyCode(companyCode);
@@ -326,9 +323,9 @@ public class OrderLogic {
     /**
      * 查看物流
      */
-    public List<ExpressInfo> queryExpressInfo(String logisticsNo){
+    public List<ExpressInfo> queryExpressInfo(String logisticsNo) {
         List<ExpressInfo> list = expressInfoService.lambdaQuery().eq(ExpressInfo::getLogisticsNo, logisticsNo).list();
-        if (CollectionUtils.isNotEmpty(list)){
+        if (CollectionUtils.isNotEmpty(list)) {
             return list;
         }
         return null;
@@ -343,7 +340,7 @@ public class OrderLogic {
         AdminUserCom adminUser = commonLogic.getAdminUser();
         OrderInfo orderInfo = orderInfoService.getById(orderId);
 
-        if(OrderStatusEnum.cancelOrderContains(orderInfo.getOrderStatus())) {
+        if (OrderStatusEnum.cancelOrderContains(orderInfo.getOrderStatus())) {
             throw new RemoteServiceException("订单当前状态不可取消");
         }
 
@@ -382,7 +379,7 @@ public class OrderLogic {
         AdminUserCom adminUser = commonLogic.getAdminUser();
         OrderInfo orderInfo = orderInfoService.getById(orderId);
 
-        if(!orderInfo.getOrderStatus().equals(OrderStatusEnum.DTK.toString())) {
+        if (!orderInfo.getOrderStatus().equals(OrderStatusEnum.DTK.toString())) {
             throw new RemoteServiceException("订单当前状态非“待退款”");
         }
 
@@ -499,15 +496,15 @@ public class OrderLogic {
                     .set(OrderInfo::getOrderStatus, OrderStatusEnum.CLOSE.toString())
                     .set(OrderInfo::getRefundFlag, RefundFlagEnum.ALL.toString())
                     .update();
-            if(StringUtils.isNotBlank(userCouponId)){
+            if (StringUtils.isNotBlank(userCouponId)) {
                 UserCoupon userCoupon = userCouponService.getById(orderInfo.getUserCouponId());
                 if (userCoupon.getSelfUse() != null && userCoupon.getSelfUse()) {
                     //todo sql处理,数量加一,删除指定记录
                     userCouponService.removeById(userCouponId);
-                }else{
+                } else {
                     userCouponService.lambdaUpdate()
-                            .eq(UserCoupon::getId,userCouponId)
-                            .set(UserCoupon::getStatus,false)
+                            .eq(UserCoupon::getId, userCouponId)
+                            .set(UserCoupon::getStatus, false)
                             .update();
                 }
             }
@@ -542,7 +539,7 @@ public class OrderLogic {
         if (refundAmount.compareTo(new BigDecimal("0.00")) < 1) {
             throw new RemoteServiceException("金额错误");
         }
-        if(StringUtils.isBlank(remark)){
+        if (StringUtils.isBlank(remark)) {
             throw new RemoteServiceException("请填写理赔原因");
         }
         AdminUser adminUser = adminUserService.getById(adminUserId);
@@ -553,7 +550,7 @@ public class OrderLogic {
         Integer count = orderOfflineRefundService.lambdaQuery()
                 .eq(OrderOfflineRefund::getOrderId, orderId)
                 .eq(OrderOfflineRefund::getExamineStatus, ExamineStatusEnum.WAIT.getKey()).count();
-        if(count > 0){
+        if (count > 0) {
             throw new RemoteServiceException("存在待处理的线下退货单,请优先处理");
         }
 
@@ -605,15 +602,15 @@ public class OrderLogic {
                     .set(OrderInfo::getUserCouponId, "")
                     .set(OrderInfo::getRefundFlag, RefundFlagEnum.ALL.toString())
                     .update();
-            if(org.apache.commons.lang3.StringUtils.isNotBlank(userCouponId)){
+            if (org.apache.commons.lang3.StringUtils.isNotBlank(userCouponId)) {
                 UserCoupon userCoupon = userCouponService.getById(orderInfo.getUserCouponId());
                 if (userCoupon.getSelfUse() != null && userCoupon.getSelfUse()) {
                     //todo sql处理,数量加一,删除指定记录
                     userCouponService.removeById(userCouponId);
-                }else{
+                } else {
                     userCouponService.lambdaUpdate()
-                            .eq(UserCoupon::getId,userCouponId)
-                            .set(UserCoupon::getStatus,false)
+                            .eq(UserCoupon::getId, userCouponId)
+                            .set(UserCoupon::getStatus, false)
                             .update();
                 }
             }
@@ -625,7 +622,7 @@ public class OrderLogic {
         }
 
 
-        log.info("【退款开始:】退款金额{},order_id={}", refundAmount,orderInfo.getOrderId());
+        log.info("【退款开始:】退款金额{},order_id={}", refundAmount, orderInfo.getOrderId());
 
         return refundAmount;
     }
@@ -681,7 +678,7 @@ public class OrderLogic {
      */
     @Transactional
     public void deliverGoods(String orderId, String logisticsNo, String companyCode, String storageId, Boolean workOrder, Boolean exchange) throws Exception {
-        this.deliverGoods(orderId,logisticsNo,companyCode,storageId,workOrder,exchange,"","","");
+        this.deliverGoods(orderId, logisticsNo, companyCode, storageId, workOrder, exchange, "", "", "");
     }
 
     /**
@@ -689,7 +686,7 @@ public class OrderLogic {
      */
     @Transactional
     public void deliverGoods(String orderId, String logisticsNo, String companyCode, String storageId, Boolean workOrder,
-                             Boolean exchange,String pickName,String pickPhone ,String pickType) throws Exception {
+                             Boolean exchange, String pickName, String pickPhone, String pickType) throws Exception {
         //仓库
         Storage detail = storageLogic.detail(storageId);
         //快递公司
@@ -700,7 +697,7 @@ public class OrderLogic {
             deliverGoodsBean.setExpressCorp(companyName);
             deliverGoodsBean.setLogisticsNo(logisticsNo);
         }
-        if(detail != null) {
+        if (detail != null) {
             deliverGoodsBean.setWarehouse(detail.getStorageName());
         }
         deliverGoodsBean.setSend(workOrder);
@@ -715,9 +712,6 @@ public class OrderLogic {
     }
 
 
-
-
-
     @Transactional
     public void deliverBatchGoods(List<String> row) throws Exception {
         DeliverGoodsBean deliverGoodsBean = new DeliverGoodsBean();
@@ -743,12 +737,12 @@ public class OrderLogic {
                 .one();
 
         if (orderInfo == null) {
-            throw new RemoteServiceException("订单号不正确或已发货:"+orderId);
+            throw new RemoteServiceException("订单号不正确或已发货:" + orderId);
         }
         if (StringUtils.isNotBlank(deliverGoodsBean.getWarehouse())) {
             Storage detail = storageLogic.detailByName(orderInfo.getCompanyWechatId(), deliverGoodsBean.getWarehouse().trim());
             if (detail == null) {
-                throw new RemoteServiceException("仓库不正确,订单号:"+orderId);
+                throw new RemoteServiceException("仓库不正确,订单号:" + orderId);
             }
         }
         if (!StringUtil.isEmpty(deliverGoodsBean.getLogisticsNo())) {
@@ -786,7 +780,7 @@ public class OrderLogic {
 
         orderInfo.setOrderStatus(OrderStatusEnum.OVER.toString());
         orderInfo.setOverTime(DateUtil.date());
-        if(detail != null) {
+        if (detail != null) {
             orderInfo.setStorageName(detail.getStorageName());
             orderInfo.setStorageAddress(detail.getStorageAddress());
             orderInfo.setStoragePhone(detail.getStorageMobile());
@@ -801,9 +795,6 @@ public class OrderLogic {
     }
 
 
-
-
-
     private String getStringValue(Cell cell) {
         if (cell == null) {
             return null;
@@ -863,9 +854,9 @@ public class OrderLogic {
                 Integer integer = list.stream().filter(item -> item.getGoodsMaterialId().equals(orderDetail.getGoodsMaterialId()))
                         .map(GoodsMaterialStorage::getStockQty).reduce(Integer::sum).orElse(0);
                 orderDetailSon.setAllStockQty(integer);
-                if (!StringUtil.isEmpty(storageId)){
+                if (!StringUtil.isEmpty(storageId)) {
                     Integer integerQty = list.stream().filter(item -> item.getGoodsMaterialId().equals(orderDetail.getGoodsMaterialId())
-                    && item.getStorageId().equals(storageId)
+                            && item.getStorageId().equals(storageId)
                     )
                             .map(GoodsMaterialStorage::getStockQty).reduce(Integer::sum).orElse(0);
                     orderDetailSon.setStockOnQty(integerQty);
@@ -903,15 +894,15 @@ public class OrderLogic {
     /**
      * 是否显示评价
      */
-    public void updateShowComment(String orderId,Boolean isShow){
-        commentTagLogic.updateShow(orderId,isShow);
+    public void updateShowComment(String orderId, Boolean isShow) {
+        commentTagLogic.updateShow(orderId, isShow);
     }
 
 
     @Transactional
     public void ack(String orderBaseId) throws Exception {
         OrderInfo orderInfo = orderInfoService.getById(orderBaseId);
-        if(!StringUtils.equals(orderInfo.getOrderStatus(),OrderStatusEnum.DQR.toString())){
+        if (!StringUtils.equals(orderInfo.getOrderStatus(), OrderStatusEnum.DQR.toString())) {
             throw new RemoteServiceException("非待确认订单不可操作");
         }
         final DateTime curDate = DateUtil.date();
@@ -937,10 +928,10 @@ public class OrderLogic {
      */
     public void export(HttpServletRequest request, HttpServletResponse response, String userId, String orderId, String productName, String userName, String phone, String orderStatus,
                        String startCreateTime, String endCreateTime, String startPayTime, String endPayTime, String websitId) throws Exception {
-        List<OrderDetailBean> list = list(request,userId, orderId, productName, userName, phone, orderStatus, startCreateTime, endCreateTime, startPayTime, endPayTime, websitId);
+        List<OrderDetailBean> list = list(request, userId, orderId, productName, userName, phone, orderStatus, startCreateTime, endCreateTime, startPayTime, endPayTime, websitId);
 //        OrderDetailBean
         String[] titles = {"订单号", "商品名称", "规格型号", "数量", "单位", "销售单价", "优惠后单价", "实际收款", "收货人姓名",
-                "手机号", "收货地址","订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间", "买家昵称", "购买渠道", "买家备注", "卖家备注", "网点", "业务员/网点","分佣金额","团长名称","团长手机号"};
+                "手机号", "收货地址", "订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间", "买家昵称", "购买渠道", "买家备注", "卖家备注", "网点", "业务员/网点", "分佣金额", "团长名称", "团长手机号"};
         ExcelData excelData = new ExcelData();
         List<List<Object>> rows = new ArrayList<>();
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -949,7 +940,7 @@ public class OrderLogic {
             User user = null;
             //查询团长
             String promotionGroupUserId = null;
-            if(StringUtils.isNotBlank(promotionGroupUserId)){
+            if (StringUtils.isNotBlank(promotionGroupUserId)) {
                 user = userService.getById(promotionGroupUserId);
             }
 
@@ -967,7 +958,7 @@ public class OrderLogic {
                 row.add(orderDetailBean.getReceUserName());
                 row.add(orderDetailBean.getRecePhone());
                 row.add(trimStr(orderDetailBean.getProvince(), orderDetailBean.getCity(),
-                        orderDetailBean.getArea(), orderDetailBean.getStreet(), orderDetailBean.getReceAddress(),orderDetailBean.getHouseNo()));
+                        orderDetailBean.getArea(), orderDetailBean.getStreet(), orderDetailBean.getReceAddress(), orderDetailBean.getHouseNo()));
                 String orderStatusName = Enum.valueOf(OrderStatusEnum.class, orderDetailBean.getOrderStatus().trim().toUpperCase()).getName();
                 if (orderDetailBean.getOrderStatus().equals(OrderStatusEnum.REFUND.toString())) {
                     if (org.apache.commons.lang3.StringUtils.isNotBlank(orderDetailBean.getLogisticsNo())) {
@@ -976,7 +967,7 @@ public class OrderLogic {
                         orderStatusName = OrderStatusEnum.DFH.getName();
                     }
                 }
-                if(orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ALL.toString())){
+                if (orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ALL.toString())) {
                     orderStatusName = OrderStatusEnum.CLOSE.getName();
                 }
                 row.add(orderStatusName);
@@ -987,7 +978,7 @@ public class OrderLogic {
                     if (orderDetail.getRefundNum() == 0) {
                         refundFlag = RefundFlagEnum.COMMONLY.getName();
                     } else {
-                        refundFlag = orderDetail.getNum() - orderDetail.getRefundNum() > 0?
+                        refundFlag = orderDetail.getNum() - orderDetail.getRefundNum() > 0 ?
                                 RefundFlagEnum.PARTLY.getName() : RefundFlagEnum.ALL.getName();
                         if (orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ING.toString())) {
                             refundFlag = RefundFlagEnum.ING.getName();
@@ -1005,10 +996,10 @@ public class OrderLogic {
                 row.add(orderDetailBean.getUserName());
                 row.add(orderDetailBean.getBuyerMsg());
                 row.add(orderDetailBean.getRemark());
-                if(user != null) {
+                if (user != null) {
                     row.add(user.getNickName());
                     row.add(user.getMobile());
-                }else{
+                } else {
                     row.add("");
                     row.add("");
                 }
@@ -1026,20 +1017,19 @@ public class OrderLogic {
 
     /**
      * 导出excel
-     *
      */
     public void export2(HttpServletRequest request, HttpServletResponse response,
                         String userId, String orderId, String productName, String userName,
                         String phone, String exchangeCode, String orderStatus,
                         String startCreateTime, String endCreateTime,
-                        String startPayTime, String endPayTime, String promotionGroupUserName,String promotionGroupId,
-                        String promotionGroupUserId,String promotionFullPieceId,String websitId,String goodsId) throws Exception {
+                        String startPayTime, String endPayTime, String promotionGroupUserName, String promotionGroupId,
+                        String promotionGroupUserId, String promotionFullPieceId, String websitId, String goodsId) throws Exception {
         AdminUserCom adminUser = commonLogic.getAdminUser(request);
         ExcelData excelData = new ExcelData();
         String[] titles = {"订单号", "商品名称", "规格型号", "数量", "单位", "销售单价", "优惠后单价", "实际收款", "收货人姓名",
-                "手机号", "收货地址","订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间","支付时间", "买家昵称", "购买渠道",
-                "买家备注", "卖家备注", "网点", "业务员/网点","业务员手机号","分佣金额","团长名称","团长手机号","团购活动id",
-                "评价商品的星数(0未评价)","评价服务的星数(0未评价)","评价物流的星数(0未评价)","信息编号","商品类型","商户名称"};
+                "手机号", "收货地址", "订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间", "支付时间", "买家昵称", "购买渠道",
+                "买家备注", "卖家备注", "网点", "业务员/网点", "业务员手机号", "分佣金额", "团长名称", "团长手机号", "团购活动id",
+                "评价商品的星数(0未评价)", "评价服务的星数(0未评价)", "评价物流的星数(0未评价)", "信息编号", "商品类型", "商户名称"};
 
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String fileName = String.format("订单导出%s.xlsx", simpleDateFormat.format(new Date()));
@@ -1047,17 +1037,17 @@ public class OrderLogic {
         List<OrderDetailListBean> orderDetailListBeanList = orderMapper.selectByQueryMsg(userId, orderId, productName, userName,
                 phone, exchangeCode, orderStatus,
                 startCreateTime, endCreateTime,
-                startPayTime, endPayTime, promotionGroupUserName,promotionGroupId,promotionGroupUserId,promotionFullPieceId,websitId,goodsId,adminUser.getCompanyWechatIds(),null);
+                startPayTime, endPayTime, promotionGroupUserName, promotionGroupId, promotionGroupUserId, promotionFullPieceId, websitId, goodsId, adminUser.getCompanyWechatIds(), null);
 
-        List<List<Object>> rows =new ArrayList<>();
-        for (OrderDetailListBean orderDetailListBean:orderDetailListBeanList
-             ) {
-            List<Object> row=new ArrayList<>();
+        List<List<Object>> rows = new ArrayList<>();
+        for (OrderDetailListBean orderDetailListBean : orderDetailListBeanList
+        ) {
+            List<Object> row = new ArrayList<>();
             rows.add(row);
 
             String goodsName = orderDetailListBean.getGoodsName();
-            if(orderDetailListBean.getPromotionPackageGoods() != null && orderDetailListBean.getPromotionPackageGoods()){
-                goodsName = "套购:"+goodsName;
+            if (orderDetailListBean.getPromotionPackageGoods() != null && orderDetailListBean.getPromotionPackageGoods()) {
+                goodsName = "套购:" + goodsName;
             }
 
             row.add(orderDetailListBean.getOrderId());
@@ -1074,19 +1064,19 @@ public class OrderLogic {
 
             if (StringUtils.isNotBlank(orderDetailListBean.getOrderStatus())) {
                 row.add(OrderStatusEnum.valueOf(orderDetailListBean.getOrderStatus()).getName());
-            }else{
+            } else {
                 row.add("");
             }
             if (StringUtils.isNotBlank(orderDetailListBean.getRefundFlag())) {
                 row.add(RefundFlagEnum.valueOf(orderDetailListBean.getRefundFlag()).getName());
-            }else{
+            } else {
                 row.add("");
             }
             row.add(orderDetailListBean.getRefundAmount());
             row.add(orderDetailListBean.getRefundNum());
             row.add(orderDetailListBean.getRemark());
-            row.add(orderDetailListBean.getCreateTime()==null?"":simpleDateFormat.format(orderDetailListBean.getCreateTime()));
-            row.add(orderDetailListBean.getPayTime()==null?"":simpleDateFormat.format(orderDetailListBean.getPayTime()));
+            row.add(orderDetailListBean.getCreateTime() == null ? "" : simpleDateFormat.format(orderDetailListBean.getCreateTime()));
+            row.add(orderDetailListBean.getPayTime() == null ? "" : simpleDateFormat.format(orderDetailListBean.getPayTime()));
             row.add(orderDetailListBean.getUserName());
             row.add(orderDetailListBean.getWorkerName());
             row.add(orderDetailListBean.getBuyerMsg());
@@ -1123,29 +1113,29 @@ public class OrderLogic {
         //订单明细
         List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, orderInfo.getOrderId()).list();
         Map<String, List<OrderDetail>> orderDetailMap = orderDetails.stream().collect(Collectors.groupingBy(OrderDetail::getOrderSmallType));
-        for(String orderSmallType : orderDetailMap.keySet()){
+        for (String orderSmallType : orderDetailMap.keySet()) {
             List<OrderDetail> orderDetailList = orderDetailMap.get(orderSmallType);
             OrderAddBean2DTO orderAddBeanDTO = new OrderAddBean2DTO();
             orderAddBeanDTO.setUserAddressId(orderInfo.getUserAddressId());
             orderAddBeanDTO.setOrderSmallType(orderSmallType);
             //orderAddBeanDTO.setAppointmentTime(orderInfo.getappo);
             List<PgOrderProduct> pgOrderProductList = new ArrayList<>();
-            for(OrderDetail orderDetail : orderDetailList) {
-                if(orderDetail.getNum() - orderDetail.getRefundNum() <= 0){
+            for (OrderDetail orderDetail : orderDetailList) {
+                if (orderDetail.getNum() - orderDetail.getRefundNum() <= 0) {
                     continue;
                 }
                 PgOrderProduct bean = new PgOrderProduct();
                 bean.setBrandId(orderDetail.getBrandId());
                 bean.setBrandName(orderDetail.getBrandName());
                 bean.setImgUrl(orderDetail.getImgUrl());
-                if(StringUtils.isNotBlank(orderDetail.getMainNumber())) {
+                if (StringUtils.isNotBlank(orderDetail.getMainNumber())) {
                     bean.setMainId(orderDetail.getMainNumber());
                     bean.setMainName(orderDetail.getMainName());
                     bean.setSmallId(orderDetail.getSmallNumber());
                     bean.setSmallName(orderDetail.getSmallName());
-                }else{
+                } else {
                     GoodsCategory goodsCategory = goodsCategoryService.getById(orderDetail.getGoodsCategoryId());
-                    if(goodsCategory != null){
+                    if (goodsCategory != null) {
                         bean.setMainId(goodsCategory.getMainNumber());
                         bean.setMainName(goodsCategory.getMainName());
                         bean.setSmallId(goodsCategory.getSmallNumber());
@@ -1163,22 +1153,20 @@ public class OrderLogic {
             orderAddBeanDTO.setSaleOrderId(orderInfo.getOrderId());
             orderAddBeanDTO.setUserName(orderInfo.getReceUserName());
             orderAddBeanDTO.setPhone(orderInfo.getRecePhone());
-            orderAddBeanDTO.setAddress(orderInfo.getProvince()+orderInfo.getCity()+orderInfo.getArea()+orderInfo.getStreet()+orderInfo.getReceAddress());
+            orderAddBeanDTO.setAddress(orderInfo.getProvince() + orderInfo.getCity() + orderInfo.getArea() + orderInfo.getStreet() + orderInfo.getReceAddress());
             String orderBaseId = orderBaseLogic.add(orderAddBeanDTO);
 
             for (OrderDetail orderDetail : orderDetailList) {
                 orderDetail.setWorkerOrderNo(orderBaseId);
             }
             List<String> orderDetailIds = orderDetailList.stream().map(OrderDetail::getOrderDetailId).collect(Collectors.toList());
-            orderDetailService.lambdaUpdate().set(OrderDetail::getWorkerOrderNo,orderBaseId).in(OrderDetail::getOrderDetailId,orderDetailIds).update();
+            orderDetailService.lambdaUpdate().set(OrderDetail::getWorkerOrderNo, orderBaseId).in(OrderDetail::getOrderDetailId, orderDetailIds).update();
 
         }
 
     }
 
 
-
-
     private String trimStr(String... str) {
         StringBuffer sb = new StringBuffer("");
         for (String s : str) {
@@ -1193,7 +1181,7 @@ public class OrderLogic {
 
         AdminUserCom adminUser = commonLogic.getAdminUser();
 
-        log.info("发货"+adminUser.toString());
+        log.info("发货" + adminUser.toString());
 
         //库存扣除 // 库存变更台账
         List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, sendOrderBody.getOrderId()).list();
@@ -1202,10 +1190,9 @@ public class OrderLogic {
                 continue;
 
 
+            if (StringUtil.isEmpty(orderDetail.getGoodsSpecId())) {
 
-            if (StringUtil.isEmpty(orderDetail.getGoodsSpecId())){
-
-            }else {
+            } else {
                 GoodsSpec goodsSpec = goodsSpecService.getById(orderDetail.getGoodsSpecId());
 
                 if (goodsSpec == null)
@@ -1215,21 +1202,21 @@ public class OrderLogic {
             }
 
 
-            jxGoodsLogic.subMaterialStock(orderDetail.getGoodsMaterialId(), orderDetail.getNum(), null,sendOrderBody.getStorageId());
+            jxGoodsLogic.subMaterialStock(orderDetail.getGoodsMaterialId(), orderDetail.getNum(), null, sendOrderBody.getStorageId());
             goodsMaterialStockAccLogic.add(orderDetail.getGoodsMaterialId(), orderDetail.getPrice(), orderDetail.getNum(), DirectFlagEnum.SUB,
-                    sendOrderBody.getOrderId(), GoodsMaterialStockAccBillTypeEnum.A,sendOrderBody.getStorageId(),sendOrderBody.getStorageName());
+                    sendOrderBody.getOrderId(), GoodsMaterialStockAccBillTypeEnum.A, sendOrderBody.getStorageId(), sendOrderBody.getStorageName());
         }
 
         OrderInfo orderInfo = orderInfoService.getById(sendOrderBody.getOrderId());
 
-        log.info("发货"+adminUser.getJoinCode().toString());
-        log.info("发货"+sendOrderBody.getOrderDetailCodes().toString());
+        log.info("发货" + adminUser.getJoinCode().toString());
+        log.info("发货" + sendOrderBody.getOrderDetailCodes().toString());
 
-        if (adminUser.getJoinCode().equals("CODE")){
+        if (adminUser.getJoinCode().equals("CODE")) {
 
-            this.checkCode(orderDetails,sendOrderBody);
+            this.checkCode(orderDetails, sendOrderBody);
             //条码变更台账  条码减去批次库存
-          //  jxGoodsLogic.subCodeAcc(sendOrderBody.getOrderDetailCodes(), orderInfo);
+            //  jxGoodsLogic.subCodeAcc(sendOrderBody.getOrderDetailCodes(), orderInfo);
         }
 
         //添加销售台账
@@ -1237,7 +1224,7 @@ public class OrderLogic {
 
     }
 
-    private void checkCode(List<OrderDetail> list,SendOrderBody sendOrderBody) {
+    private void checkCode(List<OrderDetail> list, SendOrderBody sendOrderBody) {
         for (OrderDetail orderDetail : list) {
             if (orderDetail.getIsVr() || StringUtil.isEmpty(orderDetail.getGoodsMaterialId()))
                 continue;
@@ -1245,21 +1232,21 @@ public class OrderLogic {
                     .eq(GoodsMaterialItem::getGoodsMaterialId, orderDetail.getGoodsMaterialId()).list();
             for (GoodsMaterialItem goodsMaterialItem : goodsMaterialItems) {
                 //需要条码数量
-                Integer num = goodsMaterialItem.getQty()* orderDetail.getNum();
+                Integer num = goodsMaterialItem.getQty() * orderDetail.getNum();
 
                 if (num == 0)
                     return;
-                if (goodsMaterialItem.getUniqueCode().equals(IsYesNoEnum.YES.getKey())){
+                if (goodsMaterialItem.getUniqueCode().equals(IsYesNoEnum.YES.getKey())) {
                     List<OrderDetailCode> collect = sendOrderBody.getOrderDetailCodes().stream()
                             .filter(item -> item.getGoodsMaterialItemId().equals(goodsMaterialItem.getId())
-                             && item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
+                                    && item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
                             )
                             .collect(Collectors.toList());
 
                     if (collect.size() != num)
-                        throw new RemoteServiceException(goodsMaterialItem.getName()+"此条码名称数量不对,条码数量"+collect.size()+"需要数量"+num);
+                        throw new RemoteServiceException(goodsMaterialItem.getName() + "此条码名称数量不对,条码数量" + collect.size() + "需要数量" + num);
 
-                }else {
+                } else {
                     List<OrderDetailCode> collect = sendOrderBody.getOrderDetailCodes().stream()
                             .filter(item -> item.getGoodsMaterialItemId().equals(goodsMaterialItem.getId())
                                     && item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
@@ -1402,6 +1389,7 @@ public class OrderLogic {
 
     /**
      * 完成拣货
+     *
      * @param orderId
      */
     @Transactional
@@ -1417,6 +1405,7 @@ public class OrderLogic {
 
     /**
      * 开始配送
+     *
      * @param orderIds
      */
     @Transactional
@@ -1445,6 +1434,7 @@ public class OrderLogic {
 
     /**
      * 添加配送员
+     *
      * @param orderIds
      * @param userId
      */