Przeglądaj źródła

协销订单列表

chao 3 lat temu
rodzic
commit
ca19a8426e

+ 164 - 0
src/main/java/com/caimei365/order/components/OrderCommonService.java

@@ -0,0 +1,164 @@
+package com.caimei365.order.components;
+
+import com.caimei365.order.mapper.OrderCommonMapper;
+import com.caimei365.order.model.enums.ReceivablesType;
+import com.caimei365.order.model.vo.*;
+import com.caimei365.order.utils.ImageUtil;
+import com.caimei365.order.utils.MathUtil;
+import com.google.common.util.concurrent.AtomicDouble;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/7/26
+ */
+@Slf4j
+@Service
+public class OrderCommonService {
+    @Value("${caimei.wwwDomain}")
+    private String domain;
+    @Resource
+    private OrderCommonMapper orderCommonMapper;
+    /**
+     * 设置订单状态
+     */
+    public void setOrderStatus(OrderVo order) {
+        // 111, 待付待收待发
+        if (11 == order.getStatus() && 1 == order.getPayStatus()) {
+            order.setStatus(111);
+        }
+        // 判断交易全退情况下,是否发过货,77,交易全退可以查看物流
+        int logisticsCount = orderCommonMapper.countLogisticsBatch(order.getOrderId());
+        if (7 == order.getStatus() && logisticsCount > 0) {
+            order.setStatus(77);
+        }
+        // 判断二手订单情况下,若部分付款和已付款,排除退货/款的情况,且未确认打款供应商,10,添加确认打款供应商按钮
+        if (1 == order.getSecondHandOrderFlag() && 0 == order.getRefundType() && 0 == order.getAffirmPaymentFlag()) {
+            if (order.getStatus().toString().startsWith("2") || order.getStatus().toString().startsWith("3")) {
+                // 之前是 “00”
+                order.setAffirmPaymentFlag(10);
+            }
+        }
+    }
+
+    /**
+     * 设置子订单数据
+     */
+    public void getShopOrderData(OrderVo order) {
+        // 子订单
+        String[] shopOrderIdArr = order.getShopOrderIds().split(",");
+        List<String> shopOrderIds = Arrays.asList(shopOrderIdArr);
+        List<ShopOrderVo> shopOrderList = orderCommonMapper.getShopOrderList(shopOrderIds);
+        shopOrderList.forEach(shopOrder -> {
+            // 店铺促销活动
+            PromotionsVo shopPromotion = null;
+            if (null != shopOrder.getOrderPromotionsId() && shopOrder.getOrderPromotionsId() > 0) {
+                shopPromotion = orderCommonMapper.getOrderPromotionsById(shopOrder.getOrderPromotionsId());
+                shopOrder.setShopPromotion(shopPromotion);
+            }
+            List<OrderProductVo> orderProductList = orderCommonMapper.getShopOrderProduct(shopOrder.getShopOrderId());
+            orderProductList.forEach(orderProduct -> {
+                // 不含税可开票商品,单价/折后单价在原基础上加上税费
+                boolean taxFlag = (0 == orderProduct.getIncludedTax() && (1 == orderProduct.getInvoiceType() || 2 == orderProduct.getInvoiceType()));
+                if (taxFlag) {
+                    orderProduct.setPrice(MathUtil.add(orderProduct.getPrice(), orderProduct.getAddedValueTax()).doubleValue());
+                    orderProduct.setDiscountPrice(MathUtil.add(orderProduct.getPrice(), orderProduct.getAddedValueTax()).doubleValue());
+                }
+                orderProduct.setImage(ImageUtil.getImageUrl("product", orderProduct.getImage(), domain));
+                // 查询订单下商品的促销活动
+                if (null != orderProduct.getOrderPromotionsId() && orderProduct.getOrderPromotionsId() > 0) {
+                    PromotionsVo promotions = orderCommonMapper.getOrderPromotionsById(orderProduct.getOrderPromotionsId());
+                    if (null != promotions) {
+                        if (1 == promotions.getType() && 1 == promotions.getMode()) {
+                            promotions.setTouchPrice(MathUtil.add(promotions.getTouchPrice(), MathUtil.div(MathUtil.mul(promotions.getTouchPrice(), orderProduct.getTaxRate()), 100)).doubleValue());
+                        }
+                        orderProduct.setProductPromotion(promotions);
+                    }
+                }
+            });
+            shopOrder.setOrderProductList(orderProductList);
+            shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));
+        });
+        // 过滤运费商品
+        shopOrderList.removeIf(shopOrder -> shopOrder.getShopId() == 998);
+        order.setShopOrderList(shopOrderList);
+    }
+
+
+    /**
+     * 设置付款金额
+     * @param order OrderVo
+     */
+    public List<DiscernReceiptVo> getDiscernReceiptAndSetOrder(OrderVo order) {
+        // 支付记录
+        List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId());
+        Double receiptAmount = 0d;
+        // 订单款
+        if (!discernReceiptList.isEmpty()) {
+            AtomicDouble finalReceiptAmount = new AtomicDouble(0d);
+            discernReceiptList.forEach(discernReceipt -> {
+                finalReceiptAmount.set(MathUtil.add(finalReceiptAmount.get(), discernReceipt.getAssociateAmount()).doubleValue());
+                if (null != discernReceipt.getPayType()) {
+                    discernReceipt.setPayTypeStr(ReceivablesType.getReceivablesType(discernReceipt.getPayType()));
+                }
+            });
+            receiptAmount = finalReceiptAmount.get();
+        } else {
+            //返佣款
+            if (!order.getShopOrderIds().contains(",")) {
+                Double tempAmount = orderCommonMapper.getRebateAmountByShopOrder(Integer.parseInt(order.getShopOrderIds()));
+                if (null == tempAmount) {
+                    order.setOnlinePayFlag(0);
+                } else {
+                    order.setOnlinePayFlag(1);
+                    receiptAmount = tempAmount;
+                }
+            }
+        }
+        // 判断是否可以走线上支付
+        int offlineCount = orderCommonMapper.countOfflinePayment(order.getOrderId());
+        if (offlineCount > 0) {
+            order.setOnlinePayFlag(1);
+        } else {
+            order.setOnlinePayFlag(0);
+        }
+        //付供应商总金额 + 默认手续费 > 订单总金额
+        Double payTotalFee = order.getPayTotalFee();
+        Double handlingFee = MathUtil.mul(payTotalFee, 0.0038, 2).doubleValue();
+        if (MathUtil.compare(handlingFee, 8) < 0) {
+            handlingFee = 8d;
+        }
+        List<Double> shouldPayShopAmount = orderCommonMapper.getShouldPayShopAmountList(order.getOrderId());
+        if (!shouldPayShopAmount.isEmpty()) {
+            AtomicDouble finalHandlingFee = new AtomicDouble(handlingFee);
+            shouldPayShopAmount.forEach(amount -> {
+                finalHandlingFee.set(MathUtil.add(finalHandlingFee.get(), amount).doubleValue());
+            });
+            handlingFee = finalHandlingFee.get();
+        }
+        if (MathUtil.compare(payTotalFee, handlingFee) < 0) {
+            order.setPayButton(true);
+        } else {
+            order.setPayButton(false);
+        }
+        //待付总金额
+        order.setPendingPayments(MathUtil.sub(order.getPayableAmount(), receiptAmount).doubleValue());
+        //支付总金额
+        order.setReceiptAmount(receiptAmount);
+        return discernReceiptList;
+    }
+
+
+
+
+
+
+}

+ 61 - 0
src/main/java/com/caimei365/order/controller/OrderSellerApi.java

@@ -1,8 +1,17 @@
 package com.caimei365.order.controller;
 
+import com.caimei365.order.model.ResponseJson;
+import com.caimei365.order.model.vo.OrderVo;
+import com.caimei365.order.service.OrderSellerService;
+import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -16,4 +25,56 @@ import org.springframework.web.bind.annotation.RestController;
 @RequiredArgsConstructor
 @RequestMapping("/order/seller")
 public class OrderSellerApi {
+    private final OrderSellerService orderSellerService;
+
+    /**
+     * 协销订单列表
+     */
+    @ApiOperation("协销订单列表(旧:/seller/order/list)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = true, name = "serviceProviderId", value = "协销Id"),
+            @ApiImplicitParam(required = false, name = "listType", value = "1:待确认,2:待付款,3:待发货,4:已发货,5:退货款"),
+            @ApiImplicitParam(required = false, name = "orderNo", value = "订单编号"),
+            @ApiImplicitParam(required = false, name = "orderSubmitType", value = "1:自主订单, 2:协销或后台订单"),
+            @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
+            @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
+    })
+    @GetMapping("/list")
+    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String orderNo,
+                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        if (null == serviceProviderId) {
+            return ResponseJson.error("协销Id不能为空!", null);
+        }
+        return orderSellerService.getOrderList(serviceProviderId, listType, orderSubmitType, orderNo, pageNum, pageSize);
+    }
+
+    /**
+     * 协销下机构总订单列表
+     */
+    @ApiOperation("协销下机构总订单列表(旧:/seller/clubOrder)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = true, name = "serviceProviderId", value = "协销Id"),
+            @ApiImplicitParam(required = false, name = "clubId", value = "机构Id"),
+            @ApiImplicitParam(required = false, name = "listType", value = "1:待确认,2:待付款,3:待发货,4:已发货,5:退货款"),
+            @ApiImplicitParam(required = false, name = "orderSubmitType", value = "1:自主订单, 2:协销或后台订单"),
+            @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
+            @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
+    })
+    @GetMapping("/list/club")
+    public ResponseJson<PageInfo<OrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType,
+                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        if (null == serviceProviderId) {
+            return ResponseJson.error("协销Id不能为空!", null);
+        }
+        if (null == clubId) {
+            return ResponseJson.error("机构Id不能为空!", null);
+        }
+        return orderSellerService.getOrderListClub(serviceProviderId, clubId, listType, orderSubmitType, pageNum, pageSize);
+    }
+
+
+
+
 }

+ 1 - 40
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -122,46 +122,7 @@ public interface OrderClubMapper {
      * @param userId     用户Id
      */
     List<OrderVo> getOrderListByKeyword(String searchWord, Integer userId);
-    /**
-     * 查询订单发货次数
-     * @param orderId 订单Id
-     */
-    int countLogisticsBatch(Integer orderId);
-    /**
-     * 根据子订单Id查询子订单列表
-     * @param shopOrderIds 子订单Ids
-     */
-    List<ShopOrderVo> getShopOrderList(@Param("shopOrderIds") List<String> shopOrderIds);
-    /**
-     * 根据Id获取订单促销
-     * @param orderPromotionsId 订单促销Id
-     */
-    PromotionsVo getOrderPromotionsById(Integer orderPromotionsId);
-    /**
-     * 获取子订单订单商品
-     * @param shopOrderId 子订单Id
-     */
-    List<OrderProductVo> getShopOrderProduct(Integer shopOrderId);
-    /**
-     * 支付记录(收款记录)
-     * @param orderId 订单Id
-     */
-    List<DiscernReceiptVo> getDiscernReceipt(Integer orderId);
-    /**
-     * 获取返佣款
-     * @param shopOrderId 子订单Id
-     */
-    Double getRebateAmountByShopOrder(Integer shopOrderId);
-    /**
-     * 是否可以走线上支付
-     * @param orderId 订单Id
-     */
-    int countOfflinePayment(Integer orderId);
-    /**
-     * 付供应商费用列表
-     * @param orderId 订单Id
-     */
-    List<Double> getShouldPayShopAmountList(Integer orderId);
+
     /**
      * 查询关键字历史记录是否存在
      * @param searchWord 关键字

+ 60 - 0
src/main/java/com/caimei365/order/mapper/OrderCommonMapper.java

@@ -0,0 +1,60 @@
+package com.caimei365.order.mapper;
+
+import com.caimei365.order.model.vo.DiscernReceiptVo;
+import com.caimei365.order.model.vo.OrderProductVo;
+import com.caimei365.order.model.vo.PromotionsVo;
+import com.caimei365.order.model.vo.ShopOrderVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/7/26
+ */
+@Mapper
+public interface OrderCommonMapper {
+    /**
+     * 查询订单发货次数
+     * @param orderId 订单Id
+     */
+    int countLogisticsBatch(Integer orderId);
+    /**
+     * 根据子订单Id查询子订单列表
+     * @param shopOrderIds 子订单Ids
+     */
+    List<ShopOrderVo> getShopOrderList(@Param("shopOrderIds") List<String> shopOrderIds);
+    /**
+     * 根据Id获取订单促销
+     * @param orderPromotionsId 订单促销Id
+     */
+    PromotionsVo getOrderPromotionsById(Integer orderPromotionsId);
+    /**
+     * 获取子订单订单商品
+     * @param shopOrderId 子订单Id
+     */
+    List<OrderProductVo> getShopOrderProduct(Integer shopOrderId);
+    /**
+     * 支付记录(收款记录)
+     * @param orderId 订单Id
+     */
+    List<DiscernReceiptVo> getDiscernReceipt(Integer orderId);
+    /**
+     * 获取返佣款
+     * @param shopOrderId 子订单Id
+     */
+    Double getRebateAmountByShopOrder(Integer shopOrderId);
+    /**
+     * 是否可以走线上支付
+     * @param orderId 订单Id
+     */
+    int countOfflinePayment(Integer orderId);
+    /**
+     * 付供应商费用列表
+     * @param orderId 订单Id
+     */
+    List<Double> getShouldPayShopAmountList(Integer orderId);
+}

+ 40 - 0
src/main/java/com/caimei365/order/mapper/OrderSellerMapper.java

@@ -1,6 +1,11 @@
 package com.caimei365.order.mapper;
 
+import com.caimei365.order.model.vo.OrderVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
 
 /**
  * Description
@@ -10,4 +15,39 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface OrderSellerMapper {
+    /**
+     * 获取该协销下的机构用户Id
+     * @param serviceProviderId 协销Id
+     */
+    List<Integer> getClubUserIds(Integer serviceProviderId);
+
+    /**
+     * 订单列表
+     * @param userIds 用户Ids
+     * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType   1:自主订单, 2:协销或后台订单
+     * @param orderNo           订单编号
+     */
+    List<OrderVo> getOrderList(@Param("userIds") List<Integer> userIds, Integer listType, @Param("orderSubmitType") Integer orderSubmitType, @Param("orderNo") String orderNo);
+
+    /**
+     * 根据机构Id获取协销Id
+     * @param clubId 机构Id
+     */
+    Integer getSpIdByClubId(Integer clubId);
+
+    /**
+     * 机构总订单列表
+     * @param clubId            机构Id
+     * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType   1:自主订单, 2:协销或后台订单
+     */
+    List<OrderVo> getOrderListClub(Integer clubId, Integer listType, Integer orderSubmitType);
+
+    /**
+     * 更新协销查看机构订单时间
+     * @param clubId 机构Id
+     * @param date   时间
+     */
+    void updateClubLastCheckOrderDate(Integer clubId, Date date);
 }

+ 25 - 0
src/main/java/com/caimei365/order/service/OrderSellerService.java

@@ -1,5 +1,9 @@
 package com.caimei365.order.service;
 
+import com.caimei365.order.model.ResponseJson;
+import com.caimei365.order.model.vo.OrderVo;
+import com.github.pagehelper.PageInfo;
+
 /**
  * Description
  *
@@ -7,4 +11,25 @@ package com.caimei365.order.service;
  * @date : 2021/7/19
  */
 public interface OrderSellerService {
+    /**
+     * 协销订单列表
+     * @param serviceProviderId 协销Id
+     * @param listType 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType    1:自主订单, 2:协销或后台订单
+     * @param orderNo    订单编号
+     * @param pageNum    页码
+     * @param pageSize   每页数量
+     */
+    ResponseJson<PageInfo<OrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String orderNo, int pageNum, int pageSize);
+
+    /**
+     * 协销下机构总订单列表
+     * @param serviceProviderId 协销Id
+     * @param clubId            机构Id
+     * @param listType 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType    1:自主订单, 2:协销或后台订单
+     * @param pageNum    页码
+     * @param pageSize   每页数量
+     */
+    ResponseJson<PageInfo<OrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType, int pageNum, int pageSize);
 }

+ 18 - 140
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -2,9 +2,11 @@ package com.caimei365.order.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.caimei365.order.components.OrderCommonService;
 import com.caimei365.order.components.ProductService;
 import com.caimei365.order.mapper.BaseMapper;
 import com.caimei365.order.mapper.OrderClubMapper;
+import com.caimei365.order.mapper.OrderCommonMapper;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.enums.ReceivablesType;
 import com.caimei365.order.model.po.BalanceRecordPo;
@@ -42,16 +44,20 @@ import java.util.*;
 @Slf4j
 @Service
 public class OrderClubServiceImpl implements OrderClubService {
+    @Value("${caimei.wwwDomain}")
+    private String domain;
     @Resource
     private BaseMapper baseMapper;
     @Resource
     private OrderClubMapper orderClubMapper;
     @Resource
+    private OrderCommonMapper orderCommonMapper;
+    @Resource
     private ProductService productService;
     @Resource
     private RemoteCallService remoteCallService;
-    @Value("${caimei.wwwDomain}")
-    private String domain;
+    @Resource
+    private OrderCommonService orderCommonService;
 
     /**
      * 机构订单列表
@@ -71,11 +77,11 @@ public class OrderClubServiceImpl implements OrderClubService {
         List<OrderVo> orderList = orderClubMapper.getOrderList(userId, orderState, orderNo, beginTime, endTime);
         orderList.forEach(order -> {
             // 设置订单状态
-            setOrderStatus(order);
+            orderCommonService.setOrderStatus(order);
             // 设置子订单数据
-            getShopOrderData(order);
+            orderCommonService.getShopOrderData(order);
             // 设置付款金额
-            getDiscernReceiptAndSetOrder(order);
+            orderCommonService.getDiscernReceiptAndSetOrder(order);
         });
         PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
         return ResponseJson.success(pageInfo);
@@ -98,11 +104,11 @@ public class OrderClubServiceImpl implements OrderClubService {
         //获取主订单数据
         orderList.forEach(order -> {
             // 设置订单状态
-            setOrderStatus(order);
+            orderCommonService.setOrderStatus(order);
             // 设置子订单数据
-            getShopOrderData(order);
+            orderCommonService.getShopOrderData(order);
             // 设置付款金额
-            getDiscernReceiptAndSetOrder(order);
+            orderCommonService.getDiscernReceiptAndSetOrder(order);
         });
         PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
         return ResponseJson.success(pageInfo);
@@ -128,9 +134,9 @@ public class OrderClubServiceImpl implements OrderClubService {
         BeanUtils.copyProperties(orderPo, order);
         order.setOrderMark("#" + order.getOrderId() + "#");
         // 设置订单状态
-        setOrderStatus(order);
+        orderCommonService.setOrderStatus(order);
         // 设置子订单数据
-        getShopOrderData(order);
+        orderCommonService.getShopOrderData(order);
         // 子订单列表
         List<ShopOrderVo> shopOrderList = order.getShopOrderList();
         AtomicDouble expensesOfTaxation = new AtomicDouble(0d);
@@ -172,7 +178,7 @@ public class OrderClubServiceImpl implements OrderClubService {
         // 可用余额
         Double availableMoney = baseMapper.getAbleUserMoney(userId);
         // 付款金额
-        List<DiscernReceiptVo> discernReceiptList = getDiscernReceiptAndSetOrder(order);
+        List<DiscernReceiptVo> discernReceiptList = orderCommonService.getDiscernReceiptAndSetOrder(order);
         // 退款记录
         List<ReturnedPurchaseVo> returnedPurchaseList = orderClubMapper.getReturnedPurchaseList(order.getOrderId());
         if (!returnedPurchaseList.isEmpty()) {
@@ -205,71 +211,6 @@ public class OrderClubServiceImpl implements OrderClubService {
         return ResponseJson.success(map);
     }
 
-    /**
-     * 设置订单状态
-     */
-    private void setOrderStatus(OrderVo order) {
-        // 111, 待付待收待发
-        if (11 == order.getStatus() && 1 == order.getPayStatus()) {
-            order.setStatus(111);
-        }
-        // 判断交易全退情况下,是否发过货,77,交易全退可以查看物流
-        int logisticsCount = orderClubMapper.countLogisticsBatch(order.getOrderId());
-        if (7 == order.getStatus() && logisticsCount > 0) {
-            order.setStatus(77);
-        }
-        // 判断二手订单情况下,若部分付款和已付款,排除退货/款的情况,且未确认打款供应商,10,添加确认打款供应商按钮
-        if (1 == order.getSecondHandOrderFlag() && 0 == order.getRefundType() && 0 == order.getAffirmPaymentFlag()) {
-            if (order.getStatus().toString().startsWith("2") || order.getStatus().toString().startsWith("3")) {
-                // 之前是 “00”
-                order.setAffirmPaymentFlag(10);
-            }
-        }
-    }
-
-    /**
-     * 设置子订单数据
-     */
-    private void getShopOrderData(OrderVo order) {
-        // 子订单
-        String[] shopOrderIdArr = order.getShopOrderIds().split(",");
-        List<String> shopOrderIds = Arrays.asList(shopOrderIdArr);
-        List<ShopOrderVo> shopOrderList = orderClubMapper.getShopOrderList(shopOrderIds);
-        shopOrderList.forEach(shopOrder -> {
-            // 店铺促销活动
-            PromotionsVo shopPromotion = null;
-            if (null != shopOrder.getOrderPromotionsId() && shopOrder.getOrderPromotionsId() > 0) {
-                shopPromotion = orderClubMapper.getOrderPromotionsById(shopOrder.getOrderPromotionsId());
-                shopOrder.setShopPromotion(shopPromotion);
-            }
-            List<OrderProductVo> orderProductList = orderClubMapper.getShopOrderProduct(shopOrder.getShopOrderId());
-            orderProductList.forEach(orderProduct -> {
-                // 不含税可开票商品,单价/折后单价在原基础上加上税费
-                boolean taxFlag = (0 == orderProduct.getIncludedTax() && (1 == orderProduct.getInvoiceType() || 2 == orderProduct.getInvoiceType()));
-                if (taxFlag) {
-                    orderProduct.setPrice(MathUtil.add(orderProduct.getPrice(), orderProduct.getAddedValueTax()).doubleValue());
-                    orderProduct.setDiscountPrice(MathUtil.add(orderProduct.getPrice(), orderProduct.getAddedValueTax()).doubleValue());
-                }
-                orderProduct.setImage(ImageUtil.getImageUrl("product", orderProduct.getImage(), domain));
-                // 查询订单下商品的促销活动
-                if (null != orderProduct.getOrderPromotionsId() && orderProduct.getOrderPromotionsId() > 0) {
-                    PromotionsVo promotions = orderClubMapper.getOrderPromotionsById(orderProduct.getOrderPromotionsId());
-                    if (null != promotions) {
-                        if (1 == promotions.getType() && 1 == promotions.getMode()) {
-                            promotions.setTouchPrice(MathUtil.add(promotions.getTouchPrice(), MathUtil.div(MathUtil.mul(promotions.getTouchPrice(), orderProduct.getTaxRate()), 100)).doubleValue());
-                        }
-                        orderProduct.setProductPromotion(promotions);
-                    }
-                }
-            });
-            shopOrder.setOrderProductList(orderProductList);
-            shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));
-        });
-        // 过滤运费商品
-        shopOrderList.removeIf(shopOrder -> shopOrder.getShopId() == 998);
-        order.setShopOrderList(shopOrderList);
-    }
-
     /**
      * 设置搜索关键词历史记录
      * @param userId 用户Id
@@ -299,69 +240,6 @@ public class OrderClubServiceImpl implements OrderClubService {
         }
     }
 
-    /**
-     * 设置付款金额
-     * @param order OrderVo
-     */
-    private List<DiscernReceiptVo> getDiscernReceiptAndSetOrder(OrderVo order) {
-        // 支付记录
-        List<DiscernReceiptVo> discernReceiptList = orderClubMapper.getDiscernReceipt(order.getOrderId());
-        Double receiptAmount = 0d;
-        // 订单款
-        if (!discernReceiptList.isEmpty()) {
-            AtomicDouble finalReceiptAmount = new AtomicDouble(0d);
-            discernReceiptList.forEach(discernReceipt -> {
-                finalReceiptAmount.set(MathUtil.add(finalReceiptAmount.get(), discernReceipt.getAssociateAmount()).doubleValue());
-                if (null != discernReceipt.getPayType()) {
-                    discernReceipt.setPayTypeStr(ReceivablesType.getReceivablesType(discernReceipt.getPayType()));
-                }
-            });
-            receiptAmount = finalReceiptAmount.get();
-        } else {
-            //返佣款
-            if (!order.getShopOrderIds().contains(",")) {
-                Double tempAmount = orderClubMapper.getRebateAmountByShopOrder(Integer.parseInt(order.getShopOrderIds()));
-                if (null == tempAmount) {
-                    order.setOnlinePayFlag(0);
-                } else {
-                    order.setOnlinePayFlag(1);
-                    receiptAmount = tempAmount;
-                }
-            }
-        }
-        // 判断是否可以走线上支付
-        int offlineCount = orderClubMapper.countOfflinePayment(order.getOrderId());
-        if (offlineCount > 0) {
-            order.setOnlinePayFlag(1);
-        } else {
-            order.setOnlinePayFlag(0);
-        }
-        //付供应商总金额 + 默认手续费 > 订单总金额
-        Double payTotalFee = order.getPayTotalFee();
-        Double handlingFee = MathUtil.mul(payTotalFee, 0.0038, 2).doubleValue();
-        if (MathUtil.compare(handlingFee, 8) < 0) {
-            handlingFee = 8d;
-        }
-        List<Double> shouldPayShopAmount = orderClubMapper.getShouldPayShopAmountList(order.getOrderId());
-        if (!shouldPayShopAmount.isEmpty()) {
-            AtomicDouble finalHandlingFee = new AtomicDouble(handlingFee);
-            shouldPayShopAmount.forEach(amount -> {
-                finalHandlingFee.set(MathUtil.add(finalHandlingFee.get(), amount).doubleValue());
-            });
-            handlingFee = finalHandlingFee.get();
-        }
-        if (MathUtil.compare(payTotalFee, handlingFee) < 0) {
-            order.setPayButton(true);
-        } else {
-            order.setPayButton(false);
-        }
-        //待付总金额
-        order.setPendingPayments(MathUtil.sub(order.getPayableAmount(), receiptAmount).doubleValue());
-        //支付总金额
-        order.setReceiptAmount(receiptAmount);
-        return discernReceiptList;
-    }
-
     /**
      * 机构确认订单
      *
@@ -636,7 +514,7 @@ public class OrderClubServiceImpl implements OrderClubService {
         batchList.forEach(batch -> {
             // 根据物流批次获取子订单
             List<String> shopOrderIds = orderClubMapper.getBatchShopOrderIds(orderId, batch.getId());
-            List<ShopOrderVo> shopOrderList = orderClubMapper.getShopOrderList(shopOrderIds);
+            List<ShopOrderVo> shopOrderList = orderCommonMapper.getShopOrderList(shopOrderIds);
             shopOrderList.forEach(shopOrder -> {
                 shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));
                 // 获取发货物流记录

+ 81 - 0
src/main/java/com/caimei365/order/service/impl/OrderSellerServiceImpl.java

@@ -1,9 +1,19 @@
 package com.caimei365.order.service.impl;
 
+import com.caimei365.order.components.OrderCommonService;
+import com.caimei365.order.mapper.OrderSellerMapper;
+import com.caimei365.order.model.ResponseJson;
+import com.caimei365.order.model.vo.OrderVo;
 import com.caimei365.order.service.OrderSellerService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
 /**
  * Description
  *
@@ -13,4 +23,75 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @Service
 public class OrderSellerServiceImpl implements OrderSellerService {
+    @Resource
+    private OrderSellerMapper orderSellerMapper;
+    @Resource
+    private OrderCommonService orderCommonService;
+
+    /**
+     * 协销订单列表
+     *
+     * @param serviceProviderId 协销Id
+     * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType   1:自主订单, 2:协销或后台订单
+     * @param orderNo           订单编号
+     * @param pageNum           页码
+     * @param pageSize          每页数量
+     */
+    @Override
+    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String orderNo, int pageNum, int pageSize) {
+        // 分页请求数据
+        PageHelper.startPage(pageNum, pageSize);
+        // 获取该协销下的机构用户Id
+        List<Integer> clubUserIds = orderSellerMapper.getClubUserIds(serviceProviderId);
+        // 获取订单列表
+        List<OrderVo> orderList = orderSellerMapper.getOrderList(clubUserIds, listType, orderSubmitType, orderNo);
+        //获取主订单数据
+        orderList.forEach(order -> {
+            // 设置订单状态
+            orderCommonService.setOrderStatus(order);
+            // 设置子订单数据
+            orderCommonService.getShopOrderData(order);
+            // 设置付款金额
+            orderCommonService.getDiscernReceiptAndSetOrder(order);
+        });
+        PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
+        return ResponseJson.success(pageInfo);
+    }
+
+    /**
+     * 协销下机构总订单列表
+     *
+     * @param serviceProviderId 协销Id
+     * @param clubId            机构Id
+     * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType   1:自主订单, 2:协销或后台订单
+     * @param pageNum           页码
+     * @param pageSize          每页数量
+     */
+    @Override
+    public ResponseJson<PageInfo<OrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType, int pageNum, int pageSize) {
+        // 判断该机构是不是该协销下的
+        Integer spId = orderSellerMapper.getSpIdByClubId(clubId);
+        if (!serviceProviderId.equals(spId)) {
+            return ResponseJson.error("该机构不是该协销下的机构!", null);
+        }
+        // 分页请求数据
+        PageHelper.startPage(pageNum, pageSize);
+        // 获取订单列表
+        List<OrderVo> orderList = orderSellerMapper.getOrderListClub(clubId, listType, orderSubmitType);
+        //获取主订单数据
+        orderList.forEach(order -> {
+            // 设置订单状态
+            orderCommonService.setOrderStatus(order);
+            // 设置子订单数据
+            orderCommonService.getShopOrderData(order);
+            // 设置付款金额
+            orderCommonService.getDiscernReceiptAndSetOrder(order);
+        });
+        PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
+        // 更新协销查看机构订单时间
+        orderSellerMapper.updateClubLastCheckOrderDate(clubId, new Date());
+        return ResponseJson.success(pageInfo);
+    }
 }

+ 0 - 145
src/main/resources/mapper/OrderClubMapper.xml

@@ -365,151 +365,6 @@
         GROUP BY co.orderID
         ORDER BY co.orderTime DESC
     </select>
-    <select id="countLogisticsBatch" resultType="java.lang.Integer">
-        SELECT COUNT(*) FROM cm_logistics_batch WHERE orderID= #{orderId}
-    </select>
-    <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
-        SELECT
-            cso.shopOrderNo,
-            cso.orderID AS orderId,
-            cso.orderNo,
-            cso.shopID AS shopId,
-            cso.shopName,
-            cso.note,
-            cso.userID AS userId,
-            cso.clubID AS clubId,
-            cso.spID AS spId,
-            cso.orderPromotionsId,
-            cso.promotionFullReduction,
-            cso.brokerage,
-            cso.canRefundAmount,
-            cso.itemCount,
-            cso.totalAmount,
-            cso.productAmount,
-            cso.needPayAmount,
-            cso.shopProductAmount,
-            cso.shopPostFee,
-            cso.shopTaxFee,
-            cso.shouldPayShopAmount,
-            cso.orderTime,
-            cso.orderSubmitType,
-            cso.splitFlag,
-            s.name AS shopName,
-            s.logo AS shopLogo
-        FROM cm_shop_order cso
-        LEFT JOIN shop s ON cso.shopID = s.shopID
-        WHERE cso.delFlag = 0
-        AND cso.shopOrderID IN
-        <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
-            #{shopOrderId}
-        </foreach>
-    </select>
-    <select id="getOrderPromotionsById" resultType="com.caimei365.order.model.vo.PromotionsVo">
-        SELECT
-            id,
-            name,
-            description,
-            orderId,
-            type,
-            mode,
-            touchPrice,
-            reducedPrice,
-            beginTime,
-            endTime,
-            status
-        FROM cm_promotions_order
-        WHERE id = #{orderPromotionsId}
-    </select>
-    <select id="getShopOrderProduct" resultType="com.caimei365.order.model.vo.OrderProductVo">
-        SELECT
-            cop.orderID AS orderId,
-            cop.orderNo,
-            cop.shopOrderID AS shopOrderId,
-            cop.shopOrderNo,
-            cop.orderPromotionsId,
-            cop.productId,
-            cop.shopId,
-            cop.name,
-            cop.image,
-            cop.price1 AS price,
-            cop.shopName,
-            cop.costPrice,
-            cop.normalPrice,
-            cop.ladderPriceFlag,
-            cop.discountPrice,
-            cop.discount,
-            cop.totalAmount,
-            cop.totalFee,
-            cop.shouldPayFee,
-            cop.productUnit,
-            cop.num,
-            cop.presentNum,
-            cop.discountFee,
-            cop.includedTax,
-            cop.invoiceType,
-            cop.taxRate,
-            cop.addedValueTax,
-            cop.totalAddedValueTax,
-            cop.singleShouldPayTotalTax,
-            cop.shouldPayTotalTax,
-            cop.shopProductAmount,
-            cop.singleShopFee,
-            cop.shopFee,
-            cop.singleOtherFee,
-            cop.otherFee,
-            cop.singleCmFee,
-            cop.cmFee,
-            cop.payStatus,
-            cop.buyAgainFlag,
-            cop.notOutStore,
-            cop.isActProduct AS actProduct,
-            p.productCategory as productCategory
-        FROM cm_order_product cop
-        LEFT JOIN product p ON cop.productID = p.productID
-        WHERE cop.shopOrderID = #{shopOrderId}
-    </select>
-    <select id="getDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
-        SELECT
-            cdr.payWay,
-            cdr.payType,
-            cdr.receiptType,
-            cdr.receiptStatus,
-            cdr.receiptAmount,
-            cdr.confirmType,
-            cdr.receiptDate,
-            cdr.confirmDate,
-            cdr.reviewDate,
-            cdr.updateDate,
-            cdr.delFlag,
-            cror.associateAmount
-        FROM cm_receipt_order_relation cror
-        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-        WHERE cror.orderID = #{orderId}
-        AND cror.relationType = '2' AND cror.delFlag = '0'
-        AND cdr.delFlag = '0' AND cdr.receiptStatus = '3' AND cdr.payType != '16'
-        ORDER BY cdr.receiptDate DESC
-    </select>
-    <select id="getRebateAmountByShopOrder" resultType="java.lang.Double">
-        SELECT
-            receiptAmount
-        FROM cm_receipt_order_relation cror
-        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-        WHERE cror.delFlag = '0'
-        AND cror.orderID = #{shopOrderId}
-        AND cror.relationType = 1
-        AND cdr.receiptStatus= '2'
-    </select>
-    <select id="countOfflinePayment" resultType="java.lang.Integer">
-        SELECT count(*)
-        FROM cm_receipt_order_relation cror
-        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-        WHERE cror.orderID = #{orderId}
-        AND cror.relationType = '2' AND cror.delFlag = '0'
-        AND cdr.delFlag = '0' AND cdr.receiptStatus IN(2,3) AND cdr.payWay = '2'
-    </select>
-    <select id="getShouldPayShopAmountList" resultType="java.lang.Double">
-        SELECT shouldPayShopAmount FROM cm_shop_order WHERE orderID = #{orderId} AND delFlag = '0'
-    </select>
     <select id="getSearchHistoryIdByWord" resultType="java.lang.Integer">
         SELECT id FROM user_order_history
         WHERE searchWord = #{searchWord}

+ 149 - 0
src/main/resources/mapper/OrderCommonMapper.xml

@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.caimei365.order.mapper.OrderCommonMapper">
+    <select id="countLogisticsBatch" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM cm_logistics_batch WHERE orderID= #{orderId}
+    </select>
+    <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
+        SELECT
+        cso.shopOrderNo,
+        cso.orderID AS orderId,
+        cso.orderNo,
+        cso.shopID AS shopId,
+        cso.shopName,
+        cso.note,
+        cso.userID AS userId,
+        cso.clubID AS clubId,
+        cso.spID AS spId,
+        cso.orderPromotionsId,
+        cso.promotionFullReduction,
+        cso.brokerage,
+        cso.canRefundAmount,
+        cso.itemCount,
+        cso.totalAmount,
+        cso.productAmount,
+        cso.needPayAmount,
+        cso.shopProductAmount,
+        cso.shopPostFee,
+        cso.shopTaxFee,
+        cso.shouldPayShopAmount,
+        cso.orderTime,
+        cso.orderSubmitType,
+        cso.splitFlag,
+        s.name AS shopName,
+        s.logo AS shopLogo
+        FROM cm_shop_order cso
+        LEFT JOIN shop s ON cso.shopID = s.shopID
+        WHERE cso.delFlag = 0
+        AND cso.shopOrderID IN
+        <foreach collection="shopOrderIds" open="(" separator="," close=")" item="shopOrderId">
+            #{shopOrderId}
+        </foreach>
+    </select>
+    <select id="getOrderPromotionsById" resultType="com.caimei365.order.model.vo.PromotionsVo">
+        SELECT
+        id,
+        name,
+        description,
+        orderId,
+        type,
+        mode,
+        touchPrice,
+        reducedPrice,
+        beginTime,
+        endTime,
+        status
+        FROM cm_promotions_order
+        WHERE id = #{orderPromotionsId}
+    </select>
+    <select id="getShopOrderProduct" resultType="com.caimei365.order.model.vo.OrderProductVo">
+        SELECT
+        cop.orderID AS orderId,
+        cop.orderNo,
+        cop.shopOrderID AS shopOrderId,
+        cop.shopOrderNo,
+        cop.orderPromotionsId,
+        cop.productId,
+        cop.shopId,
+        cop.name,
+        cop.image,
+        cop.price1 AS price,
+        cop.shopName,
+        cop.costPrice,
+        cop.normalPrice,
+        cop.ladderPriceFlag,
+        cop.discountPrice,
+        cop.discount,
+        cop.totalAmount,
+        cop.totalFee,
+        cop.shouldPayFee,
+        cop.productUnit,
+        cop.num,
+        cop.presentNum,
+        cop.discountFee,
+        cop.includedTax,
+        cop.invoiceType,
+        cop.taxRate,
+        cop.addedValueTax,
+        cop.totalAddedValueTax,
+        cop.singleShouldPayTotalTax,
+        cop.shouldPayTotalTax,
+        cop.shopProductAmount,
+        cop.singleShopFee,
+        cop.shopFee,
+        cop.singleOtherFee,
+        cop.otherFee,
+        cop.singleCmFee,
+        cop.cmFee,
+        cop.payStatus,
+        cop.buyAgainFlag,
+        cop.notOutStore,
+        cop.isActProduct AS actProduct,
+        p.productCategory as productCategory
+        FROM cm_order_product cop
+        LEFT JOIN product p ON cop.productID = p.productID
+        WHERE cop.shopOrderID = #{shopOrderId}
+    </select>
+    <select id="getDiscernReceipt" resultType="com.caimei365.order.model.vo.DiscernReceiptVo">
+        SELECT
+        cdr.payWay,
+        cdr.payType,
+        cdr.receiptType,
+        cdr.receiptStatus,
+        cdr.receiptAmount,
+        cdr.confirmType,
+        cdr.receiptDate,
+        cdr.confirmDate,
+        cdr.reviewDate,
+        cdr.updateDate,
+        cdr.delFlag,
+        cror.associateAmount
+        FROM cm_receipt_order_relation cror
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        WHERE cror.orderID = #{orderId}
+        AND cror.relationType = '2' AND cror.delFlag = '0'
+        AND cdr.delFlag = '0' AND cdr.receiptStatus = '3' AND cdr.payType != '16'
+        ORDER BY cdr.receiptDate DESC
+    </select>
+    <select id="getRebateAmountByShopOrder" resultType="java.lang.Double">
+        SELECT
+        receiptAmount
+        FROM cm_receipt_order_relation cror
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        WHERE cror.delFlag = '0'
+        AND cror.orderID = #{shopOrderId}
+        AND cror.relationType = 1
+        AND cdr.receiptStatus= '2'
+    </select>
+    <select id="countOfflinePayment" resultType="java.lang.Integer">
+        SELECT count(*)
+        FROM cm_receipt_order_relation cror
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        WHERE cror.orderID = #{orderId}
+        AND cror.relationType = '2' AND cror.delFlag = '0'
+        AND cdr.delFlag = '0' AND cdr.receiptStatus IN(2,3) AND cdr.payWay = '2'
+    </select>
+    <select id="getShouldPayShopAmountList" resultType="java.lang.Double">
+        SELECT shouldPayShopAmount FROM cm_shop_order WHERE orderID = #{orderId} AND delFlag = '0'
+    </select>
+</mapper>

+ 151 - 1
src/main/resources/mapper/OrderSellerMapper.xml

@@ -1,5 +1,155 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei365.order.mapper.OrderSellerMapper">
-
+    <update id="updateClubLastCheckOrderDate">
+        UPDATE club SET lastCheckOrderDate = #{date} WHERE clubID = #{clubId}
+    </update>
+    <select id="getClubUserIds" resultType="java.lang.Integer">
+        SELECT userID FROM club WHERE spID = #{serviceProviderId}
+    </select>
+    <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
+        SELECT
+        orderSource,
+        orderNo,
+        userID AS userId,
+        clubID AS clubId,
+        buyUserID AS buyUserId,
+        orderTime,
+        updateDate,
+        delFlag,
+        userBeans,
+        orderType,
+        orderSubmitType,
+        confirmFlag,
+        onlinePayFlag,
+        splitFlag,
+        payFlag,
+        receiptStatus,
+        payStatus,
+        zeroCostFlag,
+        sendOutStatus,
+        refundType,
+        affirmPaymentFlag,
+        productCount,
+        presentCount,
+        promotionalGiftsCount,
+        hasActProduct,
+        promotionFullReduction,
+        secondHandOrderFlag,
+        invoiceFlag,
+        freePostFlag AS postageFlag,
+        freight AS postage,
+        productTotalFee,
+        orderTotalFee,
+        payTotalFee,
+        payableAmount,
+        balancePayFee,
+        status,
+        confirmTime,
+        payTime,
+        rebateFlag,
+        clauseID AS clauseId,
+        clauseName
+        FROM cm_order
+        WHERE delFlag = 0 AND userID IN
+        <foreach item="userId" index="index" collection="userIds" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        <if test="listType == 1 ">
+            AND status = '0'
+        </if>
+        <if test="listType == 2 ">
+            AND status IN(11,12,13,21,22,23)
+        </if>
+        <if test="listType == 3 ">
+            AND status IN(11,12,21,22,31,32)
+        </if>
+        <if test="listType == 4 ">
+            AND status IN(12,13,22,23,32,33)
+        </if>
+        <if test="listType == 5 ">
+            AND refundType IN(1,2)
+        </if>
+        <if test="orderSubmitType == 1">
+            AND orderSubmitType IN (0,1,2)
+        </if>
+        <if test="orderSubmitType == 2">
+            AND orderSubmitType IN (3,4)
+        </if>
+        <if test="orderNo != null and orderNo != '' ">
+            AND orderNo = #{orderNo}
+        </if>
+        ORDER BY orderTime DESC
+    </select>
+    <select id="getSpIdByClubId" resultType="java.lang.Integer">
+        SELECT spID FROM club WHERE clubID = #{clubId}
+    </select>
+    <select id="getOrderListClub" resultType="com.caimei365.order.model.vo.OrderVo">
+        SELECT
+        orderSource,
+        orderNo,
+        userID AS userId,
+        clubID AS clubId,
+        buyUserID AS buyUserId,
+        orderTime,
+        updateDate,
+        delFlag,
+        userBeans,
+        orderType,
+        orderSubmitType,
+        confirmFlag,
+        onlinePayFlag,
+        splitFlag,
+        payFlag,
+        receiptStatus,
+        payStatus,
+        zeroCostFlag,
+        sendOutStatus,
+        refundType,
+        affirmPaymentFlag,
+        productCount,
+        presentCount,
+        promotionalGiftsCount,
+        hasActProduct,
+        promotionFullReduction,
+        secondHandOrderFlag,
+        invoiceFlag,
+        freePostFlag AS postageFlag,
+        freight AS postage,
+        productTotalFee,
+        orderTotalFee,
+        payTotalFee,
+        payableAmount,
+        balancePayFee,
+        status,
+        confirmTime,
+        payTime,
+        rebateFlag,
+        clauseID AS clauseId,
+        clauseName
+        FROM cm_order
+        WHERE delFlag = 0 AND clubID = #{clubId}
+        <if test="listType == 1 ">
+            AND status = '0'
+        </if>
+        <if test="listType == 2 ">
+            AND status IN(11,12,13,21,22,23)
+        </if>
+        <if test="listType == 3 ">
+            AND status IN(11,12,21,22,31,32)
+        </if>
+        <if test="listType == 4 ">
+            AND status IN(12,13,22,23,32,33)
+        </if>
+        <if test="listType == 5 ">
+            AND refundType IN(1,2)
+        </if>
+        <if test="orderSubmitType == 1">
+            AND orderSubmitType IN (0,1,2)
+        </if>
+        <if test="orderSubmitType == 2">
+            AND orderSubmitType IN (3,4)
+        </if>
+        ORDER BY orderTime DESC
+    </select>
 </mapper>