Browse Source

联合丽格1.0.2

huangzhiguo 1 năm trước cách đây
mục cha
commit
81b78b7351
33 tập tin đã thay đổi với 860 bổ sung185 xóa
  1. 11 3
      src/main/java/com/caimei365/order/components/OrderCommonService.java
  2. 1 1
      src/main/java/com/caimei365/order/controller/CartSellerApi.java
  3. 4 4
      src/main/java/com/caimei365/order/controller/HeliPayApi.java
  4. 17 17
      src/main/java/com/caimei365/order/controller/OrderClubApi.java
  5. 9 8
      src/main/java/com/caimei365/order/controller/OrderSellerApi.java
  6. 10 4
      src/main/java/com/caimei365/order/mapper/CartSellerMapper.java
  7. 42 1
      src/main/java/com/caimei365/order/mapper/OrderClubMapper.java
  8. 21 0
      src/main/java/com/caimei365/order/mapper/OrderCommonMapper.java
  9. 27 0
      src/main/java/com/caimei365/order/mapper/OrderSellerMapper.java
  10. 7 0
      src/main/java/com/caimei365/order/mapper/PayOrderMapper.java
  11. 7 0
      src/main/java/com/caimei365/order/mapper/ShipMapper.java
  12. 5 0
      src/main/java/com/caimei365/order/model/dto/AgainBuyDto.java
  13. 4 0
      src/main/java/com/caimei365/order/model/vo/OrderShareCodeRecordVo.java
  14. 4 0
      src/main/java/com/caimei365/order/model/vo/OrderShareCodeVo.java
  15. 8 0
      src/main/java/com/caimei365/order/model/vo/SettlementVo.java
  16. 25 0
      src/main/java/com/caimei365/order/model/vo/ShopOrderVo.java
  17. 13 13
      src/main/java/com/caimei365/order/service/OrderClubService.java
  18. 5 4
      src/main/java/com/caimei365/order/service/OrderSellerService.java
  19. 2 2
      src/main/java/com/caimei365/order/service/PayOrderService.java
  20. 6 6
      src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java
  21. 9 11
      src/main/java/com/caimei365/order/service/impl/CartSellerServiceImpl.java
  22. 65 52
      src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java
  23. 36 15
      src/main/java/com/caimei365/order/service/impl/OrderSellerServiceImpl.java
  24. 14 13
      src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java
  25. 47 0
      src/main/java/com/caimei365/order/service/impl/ShipServiceImpl.java
  26. 3 3
      src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java
  27. 21 7
      src/main/resources/mapper/CartSellerMapper.xml
  28. 101 19
      src/main/resources/mapper/OrderClubMapper.xml
  29. 107 0
      src/main/resources/mapper/OrderCommonMapper.xml
  30. 214 1
      src/main/resources/mapper/OrderSellerMapper.xml
  31. 7 0
      src/main/resources/mapper/PayOrderMapper.xml
  32. 7 0
      src/main/resources/mapper/ShipMapper.xml
  33. 1 1
      src/main/resources/mapper/SubmitMapper.xml

+ 11 - 3
src/main/java/com/caimei365/order/components/OrderCommonService.java

@@ -240,7 +240,7 @@ public class OrderCommonService {
      * receiptStatus 收款状态:1待收款、2部分收款、3已收款
      */
     public void setShopOrderStatus(ShopOrderVo shopOrderVo) {
-        // 111, 待付待收待发
+        // 11, 待付待收待发
         if (1 == shopOrderVo.getStatus() ) {
             if ( 1 == shopOrderVo.getSendOutStatus() && 1 == shopOrderVo.getReceiptStatus()){
                 shopOrderVo.setStatus(11);
@@ -368,6 +368,9 @@ public class OrderCommonService {
             shopOrder.setOrderProductList(orderProductList);
             shopOrder.setShopLogo(ImageUtil.getImageUrl("shopLogo", shopOrder.getShopLogo(), domain));
             //if (0 == order.getOnlinePayFlag()) {
+            if (null == shopOrder.getRealPay()) {
+                shopOrder.setRealPay(shopOrder.getNeedPayAmount());
+            }
             shopOrder.setObligation(MathUtil.sub(shopOrder.getRealPay(), shopOrder.getReceiptAmount()).doubleValue());
             //}
         }
@@ -401,11 +404,16 @@ public class OrderCommonService {
             }
         }
         // 判断是否可以走线上支付
-        int offlineCount = orderCommonMapper.countOfflinePaymentshopOrder(shopOrderVo.getShopOrderId());
-        if (offlineCount > 0) {
+        Integer orderVoucher = orderCommonMapper.getOrderVoucher(shopOrderVo.getShopOrderId());
+        if (null != orderVoucher && orderVoucher > 0) {
             shopOrderVo.setOnlinePay(1);
+        } else {
+            shopOrderVo.setOnlinePay(2);
         }
         //待付总金额
+        if (null == shopOrderVo.getRealPay()) {
+            shopOrderVo.setRealPay(shopOrderVo.getNeedPayAmount());
+        }
         shopOrderVo.setObligation(MathUtil.sub(shopOrderVo.getRealPay(), receiptAmount).doubleValue());
         //支付总金额
         shopOrderVo.setReceiptAmount(receiptAmount);

+ 1 - 1
src/main/java/com/caimei365/order/controller/CartSellerApi.java

@@ -241,7 +241,7 @@ public class CartSellerApi {
         if (null == againBuyDto.getServiceProviderId()) {
             return ResponseJson.error("协销Id不能为空!", null);
         }
-        if (null == againBuyDto.getOrderId()) {
+        if (null == againBuyDto.getShopOrderId()) {
             return ResponseJson.error("订单Id不能为空!", null);
         }
         return cartSellerService.addCartBuyAgain(againBuyDto);

+ 4 - 4
src/main/java/com/caimei365/order/controller/HeliPayApi.java

@@ -146,13 +146,13 @@ public class HeliPayApi {
      * 订单支付前效验付款规则
      */
     @ApiOperation("订单支付前效验付款规则(旧:/order/paymentValidation)")
-    @ApiImplicitParam(required = false, name = "orderId", value = "订单Id")
+    @ApiImplicitParam(required = false, name = "shopOrderId", value = "订单Id")
     @GetMapping("/check")
-    public ResponseJson<Map<String, Object>> paymentValidation(Integer orderId) {
-        if (null == orderId) {
+    public ResponseJson<Map<String, Object>> paymentValidation(Integer shopOrderId) {
+        if (null == shopOrderId) {
             return ResponseJson.error("订单Id不能为空!", null);
         }
-        return payOrderService.payBeforeCheck(orderId);
+        return payOrderService.payBeforeCheck(shopOrderId);
     }
 
     /**

+ 17 - 17
src/main/java/com/caimei365/order/controller/OrderClubApi.java

@@ -79,7 +79,7 @@ public class OrderClubApi {
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/search")
-    public ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer userId, String searchWord,
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderListByKeyword(Integer userId, String searchWord,
                                                         @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                         @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
         if (null == userId) {
@@ -242,13 +242,13 @@ public class OrderClubApi {
      * 分享订单,获取分享码
      */
     @ApiOperation("分享订单,获取分享码(旧:/order/share)")
-    @ApiImplicitParam(required = true, name = "orderId", value = "订单Id")
+    @ApiImplicitParam(required = true, name = "shopOrdedId", value = "子订单Id")
     @GetMapping("/share/code")
-    public ResponseJson<String> getOrderShareCode(Integer orderId) {
-        if (null == orderId) {
+    public ResponseJson<String> getOrderShareCode(Integer shopOrderId) {
+        if (null == shopOrderId) {
             return ResponseJson.error("订单Id不能为空!", null);
         }
-        return orderClubService.getOrderShareCode(orderId);
+        return orderClubService.getOrderShareCode(shopOrderId);
     }
 
     /**
@@ -256,7 +256,7 @@ public class OrderClubApi {
      */
     @ApiOperation("分享订单,用户身份(旧:/order/shareCode)")
     @ApiImplicitParams({
-            @ApiImplicitParam(required = true, name = "orderId", value = "订单Id"),
+            @ApiImplicitParam(required = true, name = "shopOrderId", value = "订单Id"),
             @ApiImplicitParam(required = false, name = "userId", value = "用户Id"),
             @ApiImplicitParam(required = false, name = "serviceProviderId", value = "协销Id"),
             @ApiImplicitParam(required = false, name = "code", value = "微信code"),
@@ -264,19 +264,19 @@ public class OrderClubApi {
             @ApiImplicitParam(required = false, name = "iv", value = "微信加密算法的初始向量")
     })
     @GetMapping("/share/code/identity")
-    public ResponseJson<String> identityOrderShareCode( Integer orderId, Integer userId, Integer serviceProviderId, String code, String encryptedData, String iv, @RequestHeader HttpHeaders headers) {
+    public ResponseJson<String> identityOrderShareCode( Integer shopOrderId, Integer userId, Integer serviceProviderId, String code, String encryptedData, String iv, @RequestHeader HttpHeaders headers) {
         //head可能报错,不确定原因,版本回退
 
         if (null == userId) {
             return ResponseJson.error("用户Id不能为空!", null);
         }
-        if (null == orderId) {
+        if (null == shopOrderId) {
             return ResponseJson.error("订单Id不能为空!", null);
         }
         if (StringUtils.isEmpty(code)) {
             return ResponseJson.error("微信code不能为空!", null);
         }
-        return orderClubService.identityOrderShareCode(orderId, userId, serviceProviderId, code, encryptedData, iv, headers);
+        return orderClubService.identityOrderShareCode(shopOrderId, userId, serviceProviderId, code, encryptedData, iv, headers);
     }
 
     /**
@@ -284,15 +284,15 @@ public class OrderClubApi {
      */
     @ApiOperation("分享订单,校验分享码(旧:/order/shareCode)")
     @ApiImplicitParams({
-            @ApiImplicitParam(required = true, name = "orderId", value = "订单Id"),
+            @ApiImplicitParam(required = true, name = "shopOrderId", value = "订单Id"),
             @ApiImplicitParam(required = false, name = "shareCode", value = "分享码"),
             @ApiImplicitParam(required = false, name = "code", value = "微信code"),
             @ApiImplicitParam(required = false, name = "encryptedData", value = "微信加密数据"),
             @ApiImplicitParam(required = false, name = "iv", value = "微信加密算法的初始向量")
     })
     @GetMapping("/share/code/check")
-    public ResponseJson<String> checkOrderShareCode(Integer userId, Integer orderId, String shareCode, String code, String encryptedData, String iv, @RequestHeader HttpHeaders headers) {
-        if (null == orderId) {
+    public ResponseJson<String> checkOrderShareCode(Integer userId, Integer shopOrderId, String shareCode, String code, String encryptedData, String iv, @RequestHeader HttpHeaders headers) {
+        if (null == shopOrderId) {
             return ResponseJson.error("订单Id不能为空!", null);
         }
         if (StringUtils.isEmpty(shareCode)) {
@@ -301,7 +301,7 @@ public class OrderClubApi {
         if (StringUtils.isEmpty(code)) {
             return ResponseJson.error("微信code不能为空!", null);
         }
-        return orderClubService.checkOrderShareCode(userId, orderId, shareCode, code, encryptedData, iv, headers);
+        return orderClubService.checkOrderShareCode(userId, shopOrderId, shareCode, code, encryptedData, iv, headers);
     }
 
 
@@ -309,13 +309,13 @@ public class OrderClubApi {
      * 分享订单,初始商品数据
      */
     @ApiOperation("分享订单,初始商品数据(旧:/order/commodityData)")
-    @ApiImplicitParam(required = true, name = "orderId", value = "订单Id")
+    @ApiImplicitParam(required = true, name = "shopOrderId", value = "订单Id")
     @GetMapping("/share/product")
-    public ResponseJson<Map<String,Object>> getOrderShareInitProduct(Integer orderId) {
-        if (null == orderId) {
+    public ResponseJson<Map<String,Object>> getOrderShareInitProduct(Integer shopOrderId) {
+        if (null == shopOrderId) {
             return ResponseJson.error("订单Id不能为空!", null);
         }
-        return orderClubService.getOrderShareInitProduct(orderId);
+        return orderClubService.getOrderShareInitProduct(shopOrderId);
     }
 
     /**

+ 9 - 8
src/main/java/com/caimei365/order/controller/OrderSellerApi.java

@@ -2,6 +2,7 @@ package com.caimei365.order.controller;
 
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.vo.OrderVo;
+import com.caimei365.order.model.vo.ShopOrderVo;
 import com.caimei365.order.service.OrderSellerService;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
@@ -50,21 +51,21 @@ public class OrderSellerApi {
     @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 = "shopOrderNo", value = "订单编号"),
             @ApiImplicitParam(required = false, name = "orderSubmitType", value = "1:自主订单, 2:协销或后台订单,3:组员订单"),
             @ApiImplicitParam(required = false, name = "groupServiceId", value = "组员协销id"),
             @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, Integer groupServiceId,
-                                                        @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType,
+                                                            String shopOrderNo, Integer groupServiceId,
+                                                            @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, groupServiceId, pageNum, pageSize);
+        return orderSellerService.getOrderList(serviceProviderId, listType, orderSubmitType, shopOrderNo, groupServiceId, pageNum, pageSize);
     }
 
     /**
@@ -80,7 +81,7 @@ public class OrderSellerApi {
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/list/club")
-    public ResponseJson<PageInfo<OrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType,
+    public ResponseJson<PageInfo<ShopOrderVo>> 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) {
@@ -103,7 +104,7 @@ public class OrderSellerApi {
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/search")
-    public ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer serviceProviderId, String searchWord,
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderListByKeyword(Integer serviceProviderId, String searchWord,
                                                                  @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                                  @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
         if (null == serviceProviderId) {

+ 10 - 4
src/main/java/com/caimei365/order/mapper/CartSellerMapper.java

@@ -92,19 +92,25 @@ public interface CartSellerMapper {
     CartItemVo getSecondByProductId(Integer productId);
     /**
      * 获取订单里用户Id
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
-    Integer getOrderUserIdByOrderId(Integer orderId);
+    Integer getOrderUserIdByShopOrderId(Integer shopOrderId);
     /**
      * 获取订单里用户Id
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
-    Integer getOrderClubIdByOrderId(Integer orderId);
+    Integer getOrderClubIdByShopOrderId(Integer shopOrderId);
     /**
      * 获取订单商品的商品数量列表
      * @param orderId 订单Id
      */
     List<CartItemVo> getOrderProductNum(Integer orderId);
 
+    /**
+     * 获取订单商品的商品数量列表
+     * @param shopOrderId 订单Id
+     */
+    List<CartItemVo> getShopOrderProductNum(Integer shopOrderId);
+
     void deleteClubCart(SellerCartDto sellerCartDto);
 }

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

@@ -25,6 +25,13 @@ public interface OrderClubMapper {
      */
     int countMainOrderByOrderId(Integer orderId);
 
+    /**
+     * 判断子订单是否存在
+     * @param shopOrderId
+     * @return
+     */
+    int countMainShopOrderByOrderId(Integer shopOrderId);
+
     /**
      * 根据订单Id查询订单
      *
@@ -129,6 +136,13 @@ public interface OrderClubMapper {
      */
     List<String> getOrderReceiptIds(Integer orderId);
 
+    /**
+     * 根据子订单 获取收款记录Id列表
+     * @param orderId
+     * @return
+     */
+    List<String> getShopOrderReceiptIds(Integer orderId);
+
     /**
      * 逻辑删除订单与收款记录关系表
      *
@@ -136,6 +150,12 @@ public interface OrderClubMapper {
      */
     void deleteOrderReceiptRelation(Integer orderId);
 
+    /**
+     * 逻辑删除订单与收款记录关系表
+     * @param shopOrderId
+     */
+    void deleteShopOrderReceiptRelation(Integer shopOrderId);
+
     /**
      * 逻辑删除收款记录表
      *
@@ -218,6 +238,14 @@ public interface OrderClubMapper {
      */
     List<OrderVo> getOrderListByKeyword(String searchWord, Integer userId);
 
+    /**
+     * 根据关键词搜索子订单
+     * @param searchWord
+     * @param userId
+     * @return
+     */
+    List<ShopOrderVo> getShopOrderListByKeyword(@Param("searchWord") String searchWord, @Param("userId") Integer userId);
+
     /**
      * 根据用户Id查找订单搜索历史记录
      *
@@ -261,6 +289,13 @@ public interface OrderClubMapper {
      */
     OrderShareCodeVo getOrderCodeById(Integer orderId);
 
+    /**
+     * 子订单Id 获取数据库已有分享码
+     * @param shopOrderId
+     * @return
+     */
+    OrderShareCodeVo getShopOrderCodeById(Integer shopOrderId);
+
     /**
      * 删除分享码使用记录
      *
@@ -268,6 +303,12 @@ public interface OrderClubMapper {
      */
     void deleteOrderShareCodeRecord(Integer orderId);
 
+    /**
+     * 删除分享码使用记录
+     * @param shopOrderId
+     */
+    void deleteShopOrderShareCodeRecord(Integer shopOrderId);
+
     /**
      * 更新数据库的分享码
      */
@@ -282,7 +323,7 @@ public interface OrderClubMapper {
     /**
      * 根据openId统计数据库内是否有有效分享码
      */
-    int countShareCodeRecord(Integer orderId, String openId);
+    int countShareCodeRecord(@Param("shopOrderId") Integer shopOrderId,@Param("openId") String openId);
 
     /**
      * 根据用户id获取用户openid列表(微信公众号openid,下单)

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

@@ -66,6 +66,13 @@ public interface OrderCommonMapper {
      * @param orderId 订单Id
      */
     List<OrderProductVo> getOrderProductByOrderId(Integer orderId);
+
+    /**
+     * 根据订单Id获取订单商品列表
+     * @param shopOrderId
+     * @return
+     */
+    List<OrderProductVo> getshopOrderProductByOrderId(Integer shopOrderId);
     /**
      * 支付记录(收款记录)
      * @param orderId 订单Id
@@ -93,6 +100,13 @@ public interface OrderCommonMapper {
      * @return
      */
     int countOfflinePaymentshopOrder(Integer shopOrderId);
+
+    /**
+     * 线下支付凭证
+     * @param shopOrderId
+     * @return
+     */
+    Integer getOrderVoucher(Integer shopOrderId);
     /**
      * 付供应商费用列表
      * @param orderId 订单Id
@@ -140,6 +154,13 @@ public interface OrderCommonMapper {
      * @param orderId 订单Id
      */
     OrderVo getOrderByOrderId(Integer orderId);
+
+    /**
+     * 根据子订单Id获取子订单数据
+     * @param shopOrderId
+     * @return
+     */
+    ShopOrderVo getShopOrderById(Integer shopOrderId);
     /**
      * 根据子订单Id获取订单
      * @param shopOrderId 订单Id

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

@@ -1,6 +1,7 @@
 package com.caimei365.order.mapper;
 
 import com.caimei365.order.model.vo.OrderVo;
+import com.caimei365.order.model.vo.ShopOrderVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -30,6 +31,16 @@ public interface OrderSellerMapper {
      */
     List<OrderVo> getOrderList(@Param("userIds") List<Integer> userIds, Integer listType, @Param("orderSubmitType") Integer orderSubmitType, @Param("orderNo") String orderNo);
 
+    /**
+     * 订单列表
+     * @param userIds           用户Ids
+     * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType   1:自主订单, 2:协销或后台订单
+     * @param shopOrderNo           订单编号
+     * @return
+     */
+    List<ShopOrderVo> getShopOrderList(@Param("userIds") List<Integer> userIds, @Param("listType") Integer listType, @Param("orderSubmitType") Integer orderSubmitType, @Param("shopOrderNo") String shopOrderNo);
+
     /**
      * 根据机构Id获取协销Id
      * @param clubId 机构Id
@@ -44,6 +55,14 @@ public interface OrderSellerMapper {
      */
     List<OrderVo> getOrderListClub(Integer clubId, Integer listType, Integer orderSubmitType);
 
+    /**
+     * 机构总订单列表
+     * @param clubId            机构Id
+     * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
+     * @param orderSubmitType   1:自主订单, 2:协销或后台订单
+     */
+    List<ShopOrderVo> getShopOrderListClub(Integer clubId, Integer listType, Integer orderSubmitType);
+
     /**
      * 更新协销查看机构订单时间
      * @param clubId 机构Id
@@ -63,6 +82,14 @@ public interface OrderSellerMapper {
      * @param userIds     用户Id
      */
     List<OrderVo> getOrderListByKeyword(@Param("userIds") List<Integer> userIds, @Param("searchWord") String searchWord);
+
+    /**
+     * 协销根据关键词搜索订单
+     * @param userIds
+     * @param searchWord
+     * @return
+     */
+    List<ShopOrderVo> getShopOrderListByKeyword(@Param("userIds") List<Integer> userIds, @Param("searchWord") String searchWord);
     /**
      * 获取协销用户下的机构ID列表
      */

+ 7 - 0
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -32,6 +32,13 @@ public interface PayOrderMapper {
      * @param orderId 订单Id
      */
     int getRefundCount(Integer orderId);
+
+    /**
+     * 查询审核中的退款退货数量
+     * @param shopOrderId
+     * @return
+     */
+    int getShopRefundCount(Integer shopOrderId);
     /**
      * 更新订单状态
      * @param order 主订单

+ 7 - 0
src/main/java/com/caimei365/order/mapper/ShipMapper.java

@@ -33,6 +33,13 @@ public interface ShipMapper {
      * @return
      */
     List<DiscernReceiptVo> getShopOrderRelation(@Param("shopOrderId") Integer shopOrderId);
+
+    /**
+     * 子订单分帐记录
+     * @param shopOrderId
+     * @return
+     */
+    Double getSplitAccount(Integer shopOrderId);
     /**
      * 发货页面子订单数据
      * @param shopOrderId 子订单Id

+ 5 - 0
src/main/java/com/caimei365/order/model/dto/AgainBuyDto.java

@@ -24,6 +24,11 @@ public class AgainBuyDto implements Serializable {
      */
     @ApiModelProperty("订单Id")
     private Integer orderId;
+    /**
+     * 子订单Id
+     */
+    @ApiModelProperty("子订单Id")
+    private Integer shopOrderId;
     /**
      * 确认标志:0未确认 1已确认-将失效商品以外的正常商品加入购物车
      */

+ 4 - 0
src/main/java/com/caimei365/order/model/vo/OrderShareCodeRecordVo.java

@@ -24,6 +24,10 @@ public class OrderShareCodeRecordVo implements Serializable {
      * 主订单ID,关联cm_order的ID
      */
     private Integer orderId;
+    /**
+     * 子订单Id
+     */
+    private Integer shopOrderId;
     /**
      * 订单分享码,关联cm_mall_order_share_code表ID
      */

+ 4 - 0
src/main/java/com/caimei365/order/model/vo/OrderShareCodeVo.java

@@ -20,6 +20,10 @@ public class OrderShareCodeVo implements Serializable {
      * 主订单ID,关联cm_order的ID
      */
     private Integer orderId;
+    /**
+     * 子订单Id
+     */
+    private Integer shopOrderId;
     /**
      * 订单分享码,默认24小时有效
      */

+ 8 - 0
src/main/java/com/caimei365/order/model/vo/SettlementVo.java

@@ -41,6 +41,14 @@ public class SettlementVo {
      * 已付款金额
      */
     private Double payedShopAmount;
+    /**
+     * 支付手续费
+     */
+    private Double paymentCommission;
+    /**
+     * 分帐手续费
+     */
+    private Double prorateCommission;
     /**
      * 订单商品信息
      */

+ 25 - 0
src/main/java/com/caimei365/order/model/vo/ShopOrderVo.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -48,6 +49,26 @@ public class ShopOrderVo implements Serializable {
      * 组织Id
      */
     private Integer organizeId;
+    /**
+     * 订单更新时间
+     */
+    private Date updateTime;
+    /**
+     * 协销联系人
+     */
+    private String serviceName;
+    /**
+     * vip
+     */
+    private Integer svipUserFlag;
+    /**
+     * 用户类型
+     */
+    private Integer userIdentity;
+    /**
+     * 机构名称
+     */
+    private String clubName;
     /**
      * 冷链费用标记
      */
@@ -140,6 +161,10 @@ public class ShopOrderVo implements Serializable {
      * 已付款金额
      */
     private Double payedShopAmount;
+    /**
+     * orderSeen:订单对机构可见度,1可见,2不可见
+     */
+    private Integer orderSeen;
     /**
      * 采美豆数
      */

+ 13 - 13
src/main/java/com/caimei365/order/service/OrderClubService.java

@@ -40,7 +40,7 @@ public interface OrderClubService {
      * @param pageNum    页码
      * @param pageSize   每页数量
      */
-    ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer userId, String searchWord, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ShopOrderVo>> getOrderListByKeyword(Integer userId, String searchWord, int pageNum, int pageSize);
     /**
      * 机构订单详情
      * @param userId     用户Id
@@ -61,21 +61,21 @@ public interface OrderClubService {
     ResponseJson<OrderVo> getOrderLatest(Integer userId);
     /**
      * 机构确认订单
-     * @param orderId  订单Id
+     * @param shopOrderId  订单Id
      */
     ResponseJson<Void> confirmMainOrder(Integer shopOrderId);
     /**
      * 机构取消订单
-     * @param orderId  订单Id
+     * @param shopOrderId  订单Id
      * @param userIdentity    用户身份 1协销 其他用户
      * @param remark    备注(订单取消原因)
      */
     ResponseJson<Void> cancelMainOrder(Integer shopOrderId,Integer userIdentity, String remark);
     /**
      * 机构删除订单
-     * @param orderId  订单Id
+     * @param shopOrderId  订单Id
      */
-    ResponseJson<Void> deleteMainOrder(Integer orderId);
+    ResponseJson<Void> deleteMainOrder(Integer shopOrderId);
     /**
      * 机构确认收货
      * @param orderId 订单Id
@@ -98,12 +98,12 @@ public interface OrderClubService {
     ResponseJson<List<LogisticsBatchVo>> getOrderLogistics(Integer orderId);
     /**
      * 分享订单,获取分享码
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
-    ResponseJson<String> getOrderShareCode(Integer orderId);
+    ResponseJson<String> getOrderShareCode(Integer shopOrderId);
     /**
      * 分享订单,用户身份
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      * @param userId 用户Id
      * @param serviceProviderId 协销Id
      * @param code 微信code
@@ -111,23 +111,23 @@ public interface OrderClubService {
      * @param iv 微信加密算法的初始向量
      * @param headers HttpHeaders
      */
-    ResponseJson<String> identityOrderShareCode(Integer orderId, Integer userId, Integer serviceProviderId, String code, String encryptedData, String iv, HttpHeaders headers);
+    ResponseJson<String> identityOrderShareCode(Integer shopOrderId, Integer userId, Integer serviceProviderId, String code, String encryptedData, String iv, HttpHeaders headers);
     /**
      * 分享订单,校验分享码
      * @param userId 用户Id
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      * @param shareCode 分享码
      * @param code 微信code
      * @param encryptedData 微信加密数据
      * @param iv 微信加密算法的初始向量
      * @param headers HttpHeaders
      */
-    ResponseJson<String> checkOrderShareCode(Integer userId, Integer orderId, String shareCode, String code, String encryptedData, String iv, HttpHeaders headers);
+    ResponseJson<String> checkOrderShareCode(Integer userId, Integer shopOrderId, String shareCode, String code, String encryptedData, String iv, HttpHeaders headers);
     /**
      * 分享订单,初始商品数据
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
-    ResponseJson<Map<String,Object>> getOrderShareInitProduct(Integer orderId);
+    ResponseJson<Map<String,Object>> getOrderShareInitProduct(Integer shopOrderId);
     /**
      * 二手订单 确认打款供应商
      * @param orderId 订单Id

+ 5 - 4
src/main/java/com/caimei365/order/service/OrderSellerService.java

@@ -2,6 +2,7 @@ package com.caimei365.order.service;
 
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.vo.OrderVo;
+import com.caimei365.order.model.vo.ShopOrderVo;
 import com.github.pagehelper.PageInfo;
 
 import java.util.Map;
@@ -18,11 +19,11 @@ public interface OrderSellerService {
      * @param serviceProviderId 协销Id
      * @param listType 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      * @param orderSubmitType    1:自主订单, 2:协销或后台订单
-     * @param orderNo    订单编号
+     * @param shopOrderNo    订单编号
      * @param pageNum    页码
      * @param pageSize   每页数量
      */
-    ResponseJson<PageInfo<OrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String orderNo,Integer groupServiceId, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ShopOrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String shopOrderNo, Integer groupServiceId, int pageNum, int pageSize);
 
     /**
      * 协销下机构总订单列表
@@ -33,7 +34,7 @@ public interface OrderSellerService {
      * @param pageNum    页码
      * @param pageSize   每页数量
      */
-    ResponseJson<PageInfo<OrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ShopOrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType, int pageNum, int pageSize);
 
     /**
      * 协销根据关键词搜索订单
@@ -42,7 +43,7 @@ public interface OrderSellerService {
      * @param pageNum    页码
      * @param pageSize   每页数量
      */
-    ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer serviceProviderId, String searchWord, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ShopOrderVo>> getOrderListByKeyword(Integer serviceProviderId, String searchWord, int pageNum, int pageSize);
 
     /**
      * 获取协销各状态订单数量

+ 2 - 2
src/main/java/com/caimei365/order/service/PayOrderService.java

@@ -23,9 +23,9 @@ import java.util.Map;
 public interface PayOrderService {
     /**
      * 订单支付前效验付款规则
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
-    ResponseJson<Map<String, Object>> payBeforeCheck(Integer orderId);
+    ResponseJson<Map<String, Object>> payBeforeCheck(Integer shopOrderId);
     /**
      * 订单支付,余额抵扣
      * @param orderId 订单Id

+ 6 - 6
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -1051,9 +1051,9 @@ public class CartClubServiceImpl implements CartClubService {
                                 } else {
                                     coldChain = 700d;
                                     shop.setPostageFlag(1);
-                                    shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
                                 }
                             }
+                            shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
                             // 设置商品图片及税费
                             boolean taxFlag = false;
                             if (0 == organizeId) {
@@ -1168,10 +1168,10 @@ public class CartClubServiceImpl implements CartClubService {
                         } else {
                             shop.setIsColdChina(false);
                         }
-                        // 供应商总金额
-                        shopPrice.set(MathUtil.add(shopPrice.get(), shop.getPostage()).doubleValue());
                         // 总运费
                         shop.setAllPostage(MathUtil.add(shop.getPostage(),coldChain).doubleValue());
+                        // 供应商总金额
+                        shopPrice.set(MathUtil.add(shopPrice.get(), shop.getPostage()).doubleValue());
                         if (shopKindCount.get() > 0) {
                             // 店铺促销
                             if (null != shopPromotion) {
@@ -1504,10 +1504,10 @@ public class CartClubServiceImpl implements CartClubService {
                                     } else {
                                         coldChain = 700d;
                                         shop.setPostageFlag(1);
-                                        shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
                                     }
                                 }
                             }
+                            shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
                             // 设置商品图片及税费
                             boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
                             // 是否充值商品
@@ -1607,10 +1607,10 @@ public class CartClubServiceImpl implements CartClubService {
                         } else {
                             shop.setIsColdChina(false);
                         }
-                        // 供应商总金额
-                        shopPrice.set(MathUtil.add(shopPrice.get(), shop.getPostage()).doubleValue());
                         // 总运费
                         shop.setAllPostage(MathUtil.add(shop.getPostage(),coldChain).doubleValue());
+                        // 供应商总金额
+                        shopPrice.set(MathUtil.add(shopPrice.get(), shop.getPostage()).doubleValue());
                         if (shopKindCount.get() > 0) {
                             // 店铺促销
                             if (null != shopPromotion) {

+ 9 - 11
src/main/java/com/caimei365/order/service/impl/CartSellerServiceImpl.java

@@ -511,9 +511,9 @@ public class CartSellerServiceImpl implements CartSellerService {
                             } else {
                                 coldChain = 700d;
                                 shop.setPostageFlag(1);
-                                shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
                             }
                         }
+                        shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
                         // 设置商品图片及税费
                         boolean taxFlag = productService.setCartItemImgAndTax(cartItemVo);
                         // 是否充值商品
@@ -610,12 +610,17 @@ public class CartSellerServiceImpl implements CartSellerService {
                         // 总数量 + 当前商品购买数量
                         totalCount.updateAndGet(v -> v + cartItemVo.getNumber());
                     }
+
                     shop.setColdChain(coldChain);
                     if (700 == coldChain) {
                         shop.setIsColdChina(true);
                     } else {
                         shop.setIsColdChina(false);
                     }
+                    // 总运费
+                    shop.setAllPostage(MathUtil.add(shop.getPostage(),coldChain).doubleValue());
+                    // 供应商总金额
+                    shopPrice.set(MathUtil.add(shopPrice.get(), shop.getPostage()).doubleValue());
                     if (shopKindCount.get() > 0) {
                         // 店铺促销
                         if (null != shopPromotion) {
@@ -692,13 +697,6 @@ public class CartSellerServiceImpl implements CartSellerService {
                     totalProductList.addAll(productList);
                 }
 
-                shop.setColdChain(coldChain);
-                if (700 >= coldChain) {
-                    shop.setIsColdChina(true);
-                }
-                // 供应商总金额
-                shopPrice.set(MathUtil.add(shopPrice.get(), coldChain).doubleValue());
-                shop.setAllPostage(MathUtil.add(shop.getPostage(),coldChain).doubleValue());
                 // 供应商下商品种类
                 shop.setCount(shopKindCount.get());
             });
@@ -896,12 +894,12 @@ public class CartSellerServiceImpl implements CartSellerService {
         // 返回数据
         Map<String, Object> resultData = new HashMap<>();
         // 获取订单里用户Id
-        Integer orderUserId = cartSellerMapper.getOrderUserIdByOrderId(againBuyDto.getOrderId());
-        Integer orderClubId = cartSellerMapper.getOrderClubIdByOrderId(againBuyDto.getOrderId());
+        Integer orderUserId = cartSellerMapper.getOrderUserIdByShopOrderId(againBuyDto.getShopOrderId());
+        Integer orderClubId = cartSellerMapper.getOrderClubIdByShopOrderId(againBuyDto.getShopOrderId());
         if (null == orderUserId || orderUserId == 0 || null == orderClubId || orderClubId == 0) {
             return ResponseJson.error("订单异常或不存在!", null);
         }
-        List<CartItemVo> productList = cartSellerMapper.getOrderProductNum(againBuyDto.getOrderId());
+        List<CartItemVo> productList = cartSellerMapper.getShopOrderProductNum(againBuyDto.getShopOrderId());
         // 移除运费商品
         productList.removeIf(cartItemVo -> (null == cartItemVo || null == cartItemVo.getValidFlag() || cartItemVo.getProductId() == 999));
         // 总商品种类数量

+ 65 - 52
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -185,26 +185,27 @@ public class OrderClubServiceImpl implements OrderClubService {
      * @param pageSize   每页数量
      */
     @Override
-    public ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer userId, String searchWord, int pageNum, int pageSize) {
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderListByKeyword(Integer userId, String searchWord, int pageNum, int pageSize) {
         Integer identity = baseMapper.getIdentityByUserId(userId);
         // 设置搜索关键词历史记录
         orderCommonService.setHistoryRecord(userId, searchWord);
         PageHelper.startPage(pageNum, pageSize);
-        List<OrderVo> orderList = orderClubMapper.getOrderListByKeyword(searchWord, userId);
+        // List<OrderVo> orderList = orderClubMapper.getOrderListByKeyword(searchWord, userId);
+        List<ShopOrderVo> shopOrderList = orderClubMapper.getShopOrderListByKeyword(searchWord, userId);
         //获取主订单数据
-        orderList.forEach(order -> {
+        shopOrderList.forEach(shopOrder -> {
             // 设置订单状态
-            orderCommonService.setOrderStatus(order);
+            orderCommonService.setShopOrderStatus(shopOrder);
             // 设置子订单数据
-            orderCommonService.getShopOrderData(order);
+            orderCommonService.setShopOrderInfo(shopOrder);
             // 设置付款金额
-            orderCommonService.getDiscernReceiptAndSetOrder(order);
+            orderCommonService.getDiscernReceiptAndSetShoporder(shopOrder);
         });
         //不是协销,订单不可见屏蔽
         if (identity != 1) {
-            orderList.removeIf(o -> o.getOrderSeen().equals(2));
+            shopOrderList.removeIf(o -> o.getOrderSeen().equals(2));
         }
-        PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
+        PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
         return ResponseJson.success(pageInfo);
     }
 
@@ -464,7 +465,7 @@ public class OrderClubServiceImpl implements OrderClubService {
                 secondFlag = true;
             }
             // 更新复购价格库
-            // productService.savePurchasePrice(order, product, secondFlag, note);
+             // productService.savePurchasePrice(order, product, secondFlag, note);
             // 二手商品确认商品如果是二手仪器则需要把该二手商品置为已售
             if (secondFlag) {
                 orderClubMapper.updateSecondStatus(product.getProductId(), 1);
@@ -480,13 +481,10 @@ public class OrderClubServiceImpl implements OrderClubService {
             productService.saveDiscernReceipt(shopOrder.getAccountAmount(), shopOrderId, note);
         }
         if (null == shopOrder.getAccountAmount() || shopOrder.getAccountAmount() == 0d) {
-            shopOrder.setStatus(11);
             shopOrder.setReceiptStatus(1);
         } else if (null != shopOrder.getAccountAmount() && MathUtil.compare(shopOrder.getAccountAmount(), shopOrder.getTotalAmount()) < 0) {
-            shopOrder.setStatus(21);
             shopOrder.setReceiptStatus(2);
         } else {
-            shopOrder.setStatus(31);
             shopOrder.setReceiptStatus(3);
         }
         Integer count = 0;
@@ -566,7 +564,7 @@ public class OrderClubServiceImpl implements OrderClubService {
         /*order.setUpdateDate(curDateStr);
         order.setConfirmTime(curDateStr);*/
         //确认订单状态
-        // order.setConfirmFlag(2);
+        shopOrder.setStatus(1);
         // 更新订单状态
         orderClubMapper.updateShopOrderStatus(shopOrder);
         return ResponseJson.success("确认订单成功!", null);
@@ -739,37 +737,46 @@ public class OrderClubServiceImpl implements OrderClubService {
     /**
      * 机构删除订单
      *
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
     @Override
-    public ResponseJson<Void> deleteMainOrder(Integer orderId) {
-        OrderPo order = orderClubMapper.getMainOrderByOrderId(orderId);
-        if (null == order || OrderStatus.CLOSED.getCode() != order.getStatus()) {
+    public ResponseJson<Void> deleteMainOrder(Integer shopOrderId) {
+//        OrderPo order = orderClubMapper.getMainOrderByOrderId(orderId);
+        ShopOrderVo shopOrder = orderClubMapper.getShopOrderById(shopOrderId);
+        if (null == shopOrder || 4 != shopOrder.getStatus()) {
             // 非已关闭订单
             return ResponseJson.error("订单异常!", null);
         }
-        // 逻辑删除主订单
-        order.setNote("用户发起删除订单");
-        orderClubMapper.deleteMainOrder(order.getOrderId(), order.getNote());
-        log.info("【删除订单】>>>>>>>>>逻辑删除主订单(update[cm_order])orderId:" + orderId);
         // 逻辑删除子订单
-        String[] shopOrderIdArr = order.getShopOrderIds().split(",");
-        List<String> shopOrderIds = Arrays.asList(shopOrderIdArr);
+        // String[] shopOrderIdArr = order.getShopOrderIds().split(",");
+        List<String> shopOrderIds = new ArrayList<>();
+        shopOrderIds.add(shopOrder.getShopOrderId().toString());
         orderClubMapper.deleteShopOrder(shopOrderIds);
-        log.info("【删除订单】>>>>>>>>>逻辑删除子订单(update[cm_shop_order])shopOrderIds:" + order.getShopOrderIds());
+        log.info("【删除订单】>>>>>>>>>逻辑删除子订单(update[cm_shop_order])shopOrderId:" + shopOrder.getShopOrderId());
+        // 逻辑删除主订单
+        List<Integer> shopOrderStatus = orderClubMapper.getShopOrderStatus(shopOrder.getOrderId());
+        boolean flag = false;
+        if (shopOrderStatus.stream().allMatch(s -> s == 4)) {
+            flag = true;
+        }
+        if (flag) {
+            orderClubMapper.deleteMainOrder(shopOrder.getOrderId(), "用户发起删除订单");
+            log.info("【删除订单】>>>>>>>>>逻辑删除主订单(update[cm_order])orderId:" + shopOrder.getOrderId());
+        }
+
         // 逻辑删除收款记录
-        List<String> receiptIds = orderClubMapper.getOrderReceiptIds(orderId);
+        List<String> receiptIds = orderClubMapper.getShopOrderReceiptIds(shopOrderId);
         if (!receiptIds.isEmpty()) {
-            orderClubMapper.deleteOrderReceiptRelation(orderId);
+            orderClubMapper.deleteShopOrderReceiptRelation(shopOrderId);
             orderClubMapper.deleteDiscernReceipt(receiptIds);
-            log.info("【删除订单】>>>>>>>>>逻辑删除收款记录(update[cm_discern_receipt])orderId:" + orderId);
+            log.info("【删除订单】>>>>>>>>>逻辑删除收款记录(update[cm_discern_receipt])orderId:" + shopOrderId);
         }
         // 逻辑删除付款记录
         List<String> payIds = orderClubMapper.getPayShopIds(shopOrderIds);
         if (!payIds.isEmpty()) {
             orderClubMapper.deletePayShopRecord(shopOrderIds);
             orderClubMapper.deletePayShop(payIds);
-            log.info("【删除订单】>>>>>>>>>逻辑删除付款记录(update[cm_pay_shop])shopOrderIds:" + order.getShopOrderIds());
+            log.info("【删除订单】>>>>>>>>>逻辑删除付款记录(update[cm_pay_shop])shopOrderIds:" + shopOrderIds);
         }
 
         return ResponseJson.success("删除订单成功!", null);
@@ -891,14 +898,16 @@ public class OrderClubServiceImpl implements OrderClubService {
     /**
      * 分享订单,获取分享码
      *
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
     @Override
-    public ResponseJson<String> getOrderShareCode(Integer orderId) {
-        int orderCount = orderClubMapper.countMainOrderByOrderId(orderId);
-        if (0 == orderCount) {
+    public ResponseJson<String> getOrderShareCode(Integer shopOrderId) {
+        // int orderCount = orderClubMapper.countMainOrderByOrderId(orderId);
+        int shopOrderCount = orderClubMapper.countMainShopOrderByOrderId(shopOrderId);
+        if (0 == shopOrderCount) {
             return ResponseJson.error("订单不存在!", null);
         }
+        ShopOrderVo shopOrder = orderClubMapper.getShopOrderById(shopOrderId);
         // 生成分享码
         String shareCode = RandomStringUtils.random(4, false, true);
         // 过期时间
@@ -906,13 +915,13 @@ public class OrderClubServiceImpl implements OrderClubService {
         calendar.setTime(new Date());
         calendar.add(Calendar.DATE, 1);
         // 获取数据库已有分享码
-        OrderShareCodeVo orderCodeVo = orderClubMapper.getOrderCodeById(orderId);
+        OrderShareCodeVo orderCodeVo = orderClubMapper.getShopOrderCodeById(shopOrderId);
         if (orderCodeVo != null && orderCodeVo.getExpiredTime().compareTo(new Date()) >= 0) {
             // 旧分享码还未过期,直接返回
             return ResponseJson.success(orderCodeVo.getShareCode());
         } else if (orderCodeVo != null) {
             // 如果旧分享码已经过期,删除分享码使用记录
-            orderClubMapper.deleteOrderShareCodeRecord(orderId);
+            orderClubMapper.deleteShopOrderShareCodeRecord(shopOrderId);
             // 更新数据库的分享码
             orderCodeVo.setShareCode(shareCode);
             orderCodeVo.setExpiredTime(calendar.getTime());
@@ -921,7 +930,8 @@ public class OrderClubServiceImpl implements OrderClubService {
         } else {
             // 如果没有分享记录,新增数据库的分享码
             OrderShareCodeVo newShareCodeVo = new OrderShareCodeVo();
-            newShareCodeVo.setOrderId(orderId);
+            newShareCodeVo.setOrderId(shopOrder.getOrderId());
+            newShareCodeVo.setShopOrderId(shopOrderId);
             newShareCodeVo.setShareCode(shareCode);
             newShareCodeVo.setExpiredTime(calendar.getTime());
             newShareCodeVo.setAddTime(new Date());
@@ -935,7 +945,7 @@ public class OrderClubServiceImpl implements OrderClubService {
     /**
      * 分享订单,用户身份
      *
-     * @param orderId           订单Id
+     * @param shopOrderId           订单Id
      * @param userId            用户Id
      * @param serviceProviderId 协销Id
      * @param code              微信code
@@ -944,11 +954,12 @@ public class OrderClubServiceImpl implements OrderClubService {
      * @param headers           HttpHeaders
      */
     @Override
-    public ResponseJson<String> identityOrderShareCode(Integer orderId, Integer userId, Integer serviceProviderId, String code, String encryptedData, String iv, HttpHeaders headers) {
+    public ResponseJson<String> identityOrderShareCode(Integer shopOrderId, Integer userId, Integer serviceProviderId, String code, String encryptedData, String iv, HttpHeaders headers) {
         // 用户组织Id
         Integer organizeId = baseMapper.getOrganizeId(userId);
-        int orderCount = orderClubMapper.countMainOrderByOrderId(orderId);
-        if (0 == orderCount) {
+        // int orderCount = orderClubMapper.countMainOrderByOrderId(orderId);
+        int shopOrderCount = orderClubMapper.countMainShopOrderByOrderId(shopOrderId);
+        if (0 == shopOrderCount) {
             return ResponseJson.error("订单不存在!", null);
         }
         // 微信小程序授权登录(调用user服务,发送服务间调用POST请求)
@@ -988,7 +999,7 @@ public class OrderClubServiceImpl implements OrderClubService {
             return ResponseJson.success(1, "该机构的运营人员查看分享订单!", loginData);
         }
         // 根据openId统计数据库内是否有有效分享码
-        int codeCount = orderClubMapper.countShareCodeRecord(orderId, openId);
+        int codeCount = orderClubMapper.countShareCodeRecord(shopOrderId, openId);
         if (codeCount > 0) {
             // 游客权限
             return ResponseJson.success(3, "游客权限查看分享订单!", null);
@@ -1002,7 +1013,7 @@ public class OrderClubServiceImpl implements OrderClubService {
     /**
      * 分享订单,校验分享码
      *
-     * @param orderId       订单Id
+     * @param shopOrderId       订单Id
      * @param shareCode     分享码
      * @param code          微信code
      * @param encryptedData 微信加密数据
@@ -1010,11 +1021,12 @@ public class OrderClubServiceImpl implements OrderClubService {
      * @param headers       HttpHeaders
      */
     @Override
-    public ResponseJson<String> checkOrderShareCode(Integer userId, Integer orderId, String shareCode, String code, String encryptedData, String iv, HttpHeaders headers) {
+    public ResponseJson<String> checkOrderShareCode(Integer userId, Integer shopOrderId, String shareCode, String code, String encryptedData, String iv, HttpHeaders headers) {
         // 用户组织Id
         Integer organizeId = baseMapper.getOrganizeId(userId);
-        int orderCount = orderClubMapper.countMainOrderByOrderId(orderId);
-        if (0 == orderCount) {
+        // int orderCount = orderClubMapper.countMainOrderByOrderId(orderId);
+        int shopOrderCount = orderClubMapper.countMainShopOrderByOrderId(shopOrderId);
+        if (0 == shopOrderCount) {
             return ResponseJson.error("订单不存在!", null);
         }
         // 微信小程序授权登录(调用user服务,发送服务间调用POST请求)
@@ -1034,7 +1046,7 @@ public class OrderClubServiceImpl implements OrderClubService {
             return ResponseJson.error("微信授权登录异常!", null);
         }
         // 根据订单Id获取分享码
-        OrderShareCodeVo orderCodeVo = orderClubMapper.getOrderCodeById(orderId);
+        OrderShareCodeVo orderCodeVo = orderClubMapper.getShopOrderCodeById(shopOrderId);
         if (null == orderCodeVo) {
             return ResponseJson.error("该订单没有生成分享码!", null);
         }
@@ -1046,6 +1058,7 @@ public class OrderClubServiceImpl implements OrderClubService {
                 codeRecord.setOpenId(openId);
                 codeRecord.setAddTime(new Date());
                 codeRecord.setOrderId(orderCodeVo.getOrderId());
+                codeRecord.setShopOrderId(shopOrderId);
                 codeRecord.setDelFlag(0);
                 codeRecord.setShareCodeId(orderCodeVo.getId());
                 orderClubMapper.insertOrderShareCodeRecord(codeRecord);
@@ -1063,18 +1076,18 @@ public class OrderClubServiceImpl implements OrderClubService {
     /**
      * 分享订单,初始商品数据
      *
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
     @Override
-    public ResponseJson<Map<String, Object>> getOrderShareInitProduct(Integer orderId) {
-        List<OrderProductVo> orderProductList = orderCommonMapper.getOrderProductByOrderId(orderId);
+    public ResponseJson<Map<String, Object>> getOrderShareInitProduct(Integer shopOrderId) {
+        List<OrderProductVo> orderProductList = orderCommonMapper.getshopOrderProductByOrderId(shopOrderId);
         orderProductList.forEach(orderProduct -> orderProduct.setImage(ImageUtil.getImageUrl("product", orderProduct.getImage(), domain)));
-        OrderVo order = orderCommonMapper.getOrderByOrderId(orderId);
-        orderCommonService.setOrderStatus(order);
+        ShopOrderVo shopOrderVo = orderCommonMapper.getShopOrderById(shopOrderId);
+        orderCommonService.setShopOrderStatus(shopOrderVo);
         HashMap<String, Object> result = new HashMap<>(2);
-        orderCommonService.getDiscernReceiptAndSetOrder(order);
+        orderCommonService.getDiscernReceiptAndSetShoporder(shopOrderVo);
         result.put("productList", orderProductList);
-        result.put("orderStatus", order.getStatus());
+        result.put("orderStatus", shopOrderVo.getStatus());
         //2021.12.14 去掉paybutton判断
 //        result.put("payButton", order.isPayButton());
         return ResponseJson.success(result);

+ 36 - 15
src/main/java/com/caimei365/order/service/impl/OrderSellerServiceImpl.java

@@ -5,6 +5,7 @@ import com.caimei365.order.mapper.BaseMapper;
 import com.caimei365.order.mapper.OrderSellerMapper;
 import com.caimei365.order.model.ResponseJson;
 import com.caimei365.order.model.vo.OrderVo;
+import com.caimei365.order.model.vo.ShopOrderVo;
 import com.caimei365.order.service.OrderSellerService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -36,12 +37,12 @@ public class OrderSellerServiceImpl implements OrderSellerService {
      * @param serviceProviderId 协销Id
      * @param listType          1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      * @param orderSubmitType   1:自主订单, 2:协销或后台订单 ,3:组员订单
-     * @param orderNo           订单编号
+     * @param shopOrderNo           订单编号
      * @param pageNum           页码
      * @param pageSize          每页数量
      */
     @Override
-    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String orderNo, Integer groupServiceId, int pageNum, int pageSize) {
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderList(Integer serviceProviderId, Integer listType, Integer orderSubmitType, String shopOrderNo, Integer groupServiceId, int pageNum, int pageSize) {
         // 获取该协销下的机构用户Id
         List<Integer> clubUserIds = new ArrayList<>();
         if (null != orderSubmitType && 3 == orderSubmitType) {
@@ -55,18 +56,18 @@ public class OrderSellerServiceImpl implements OrderSellerService {
         } else {
             clubUserIds = orderSellerMapper.getClubUserIds(serviceProviderId);
         }
-        List<OrderVo> orderList = new ArrayList<OrderVo>();
+        List<ShopOrderVo> shopOrderList = new ArrayList<>();
         // 获取订单列表
         if (null != clubUserIds && clubUserIds.size() > 0) {
             // 分页请求数据
             PageHelper.startPage(pageNum, pageSize);
-            orderList = orderSellerMapper.getOrderList(clubUserIds, listType, orderSubmitType, orderNo);
+            shopOrderList = orderSellerMapper.getShopOrderList(clubUserIds, listType, orderSubmitType, shopOrderNo);
             //设置主订单数据
-            orderList.forEach(this::setSellerOrder);
-            PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
+            shopOrderList.forEach(this::setSellerShopOrder);
+            PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
             return ResponseJson.success(pageInfo);
         } else {
-            return ResponseJson.success(new PageInfo<OrderVo>(orderList));
+            return ResponseJson.success(new PageInfo<ShopOrderVo>(shopOrderList));
         }
     }
 
@@ -90,6 +91,26 @@ public class OrderSellerServiceImpl implements OrderSellerService {
         order.setUserIdentity(userIdentity);
     }
 
+    /**
+     * 设置协销订单
+     */
+    private void setSellerShopOrder(ShopOrderVo shopOrder) {
+        // 设置订单状态
+        orderCommonService.setShopOrderStatus(shopOrder);
+        // 设置子订单数据
+        orderCommonService.setShopOrderInfo(shopOrder);
+        // 设置付款金额
+        orderCommonService.getDiscernReceiptAndSetShoporder(shopOrder);
+        // 设置机构名称
+        String clubName = baseMapper.getClubNameById(shopOrder.getClubId());
+        shopOrder.setClubName(clubName);
+        // 设置机构类型
+        Integer svipUserId = baseMapper.getSvipUserIdByClubId(shopOrder.getClubId());
+        shopOrder.setSvipUserFlag(null != svipUserId ? 1 : 0);
+        Integer userIdentity = baseMapper.getIdentityByUserId(shopOrder.getUserId());
+        shopOrder.setUserIdentity(userIdentity);
+    }
+
     /**
      * 协销下机构总订单列表
      *
@@ -101,7 +122,7 @@ public class OrderSellerServiceImpl implements OrderSellerService {
      * @param pageSize          每页数量
      */
     @Override
-    public ResponseJson<PageInfo<OrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType, int pageNum, int pageSize) {
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderListClub(Integer serviceProviderId, Integer clubId, Integer listType, Integer orderSubmitType, int pageNum, int pageSize) {
         // 判断该机构是不是该协销下的 1342采美默认协销经理(官方账号)协销id1342为默认,不受限制
         Integer spId = orderSellerMapper.getSpIdByClubId(clubId);
         // 协销组长和总管理员也可以看
@@ -117,10 +138,10 @@ public class OrderSellerServiceImpl implements OrderSellerService {
         // 分页请求数据
         PageHelper.startPage(pageNum, pageSize);
         // 获取订单列表
-        List<OrderVo> orderList = orderSellerMapper.getOrderListClub(clubId, listType, orderSubmitType);
+        List<ShopOrderVo> shopOrderList = orderSellerMapper.getShopOrderListClub(clubId, listType, orderSubmitType);
         //设置主订单数据
-        orderList.forEach(this::setSellerOrder);
-        PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
+        shopOrderList.forEach(this::setSellerShopOrder);
+        PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
         // 更新协销查看机构订单时间
         orderSellerMapper.updateClubLastCheckOrderDate(clubId, new Date());
         return ResponseJson.success(pageInfo);
@@ -135,7 +156,7 @@ public class OrderSellerServiceImpl implements OrderSellerService {
      * @param pageSize          每页数量
      */
     @Override
-    public ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer serviceProviderId, String searchWord, int pageNum, int pageSize) {
+    public ResponseJson<PageInfo<ShopOrderVo>> getOrderListByKeyword(Integer serviceProviderId, String searchWord, int pageNum, int pageSize) {
         // 获取协销用户Id
         Integer spUserId = orderSellerMapper.getUserIdBySpId(serviceProviderId);
         if (null == spUserId) {
@@ -148,10 +169,10 @@ public class OrderSellerServiceImpl implements OrderSellerService {
         // 分页请求数据
         PageHelper.startPage(pageNum, pageSize);
         // 获取订单列表
-        List<OrderVo> orderList = orderSellerMapper.getOrderListByKeyword(clubUserIds, searchWord);
+        List<ShopOrderVo> shopOrderList = orderSellerMapper.getShopOrderListByKeyword(clubUserIds, searchWord);
         //设置主订单数据
-        orderList.forEach(this::setSellerOrder);
-        PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
+        shopOrderList.forEach(this::setSellerShopOrder);
+        PageInfo<ShopOrderVo> pageInfo = new PageInfo(shopOrderList);
         return ResponseJson.success(pageInfo);
     }
 

+ 14 - 13
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -86,27 +86,28 @@ public class PayOrderServiceImpl implements PayOrderService {
     /**
      * 订单支付前效验付款规则
      *
-     * @param orderId 订单Id
+     * @param shopOrderId 订单Id
      */
     @Override
-    public ResponseJson<Map<String, Object>> payBeforeCheck(Integer orderId) {
+    public ResponseJson<Map<String, Object>> payBeforeCheck(Integer shopOrderId) {
         // 订单信息
-        OrderVo order = orderCommonMapper.getOrderByOrderId(orderId);
-        if (null == order) {
+        // OrderVo order = orderCommonMapper.getOrderByOrderId(orderId);
+        ShopOrderVo shopOrder = orderCommonMapper.getShopOrderById(shopOrderId);
+        if (null == shopOrder) {
             return ResponseJson.error("订单不存在", null);
         }
         // 返回数据
         Map<String, Object> map = new HashMap<>();
-        map.put("orderId", orderId);
+        map.put("shopOrderId", shopOrderId);
         // 查询审核中的退款退货数量
-        int refundCount = payOrderMapper.getRefundCount(orderId);
+        int refundCount = payOrderMapper.getShopRefundCount(shopOrderId);
         if (refundCount > 0) {
             map.put("code", -1);
             map.put("msg", "订单已申请全部退款,无需再付款!");
             return ResponseJson.success(map);
         }
         // 付款金额
-        List<DiscernReceiptVo> discernReceiptAndSetOrder = orderCommonService.getDiscernReceiptAndSetOrder(order);
+        List<DiscernReceiptVo> discernReceiptAndSetOrder = orderCommonService.getDiscernReceiptAndSetShoporder(shopOrder);
         if (null == discernReceiptAndSetOrder || discernReceiptAndSetOrder.size() == 0) {
             //无支付记录可余额抵扣
             map.put("balanceFlag", 0);
@@ -120,10 +121,10 @@ public class PayOrderServiceImpl implements PayOrderService {
                 map.put("balanceFlag", 1);
             }
         }
-        map.put("pendingPayments", order.getPendingPayments());
-        map.put("onlinePayFlag", order.getOnlinePayFlag());
+        map.put("obligation", shopOrder.getObligation());
+        map.put("invoiceFlag", shopOrder.getInvoiceFlag());
         // 商品数据
-        List<OrderProductVo> orderProductList = orderCommonMapper.getOrderProductByOrderId(orderId);
+        List<OrderProductVo> orderProductList = orderCommonMapper.getshopOrderProductByOrderId(shopOrderId);
         for (OrderProductVo orderProduct : orderProductList) {
             // 是否充值商品
             boolean recharge = productService.isRechargeProduct(orderProduct.getProductId());
@@ -132,9 +133,9 @@ public class PayOrderServiceImpl implements PayOrderService {
             }
         }
         // 可用余额
-        Double availableMoney = baseMapper.getAbleUserMoney(order.getUserId());
+        Double availableMoney = baseMapper.getAbleUserMoney(shopOrder.getUserId());
         if (MathUtil.compare(availableMoney, 0) > 0) {
-            if (MathUtil.compare(availableMoney, order.getPendingPayments()) >= 0) {
+            if (MathUtil.compare(availableMoney, shopOrder.getObligation()) >= 0) {
                 map.put("code", 2);
                 map.put("msg", "余额大于或等于待付金额");
                 map.put("ableUserMoney", availableMoney);
@@ -142,7 +143,7 @@ public class PayOrderServiceImpl implements PayOrderService {
                 map.put("code", 1);
                 map.put("msg", "余额不为0且小于待付金额");
                 map.put("ableUserMoney", availableMoney);
-                map.put("pendingPayments", MathUtil.sub(order.getPendingPayments(), availableMoney));
+                map.put("pendingPayments", MathUtil.sub(shopOrder.getObligation(), availableMoney));
             }
         }
         return ResponseJson.success(map);

+ 47 - 0
src/main/java/com/caimei365/order/service/impl/ShipServiceImpl.java

@@ -12,6 +12,7 @@ import com.caimei365.order.model.vo.*;
 import com.caimei365.order.service.RemoteCallService;
 import com.caimei365.order.service.ShipService;
 import com.caimei365.order.utils.ImageUtil;
+import com.caimei365.order.utils.MathUtil;
 import com.caimei365.order.utils.OSSUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -117,7 +118,53 @@ public class ShipServiceImpl implements ShipService {
             // 付款记录
             List<DiscernReceiptVo> shopOrderRelation = shipMapper.getShopOrderRelation(settlement.getShopOrderId());
             // 付款手续费
+            double procedureFee = 0d;
+            for (DiscernReceiptVo discernReceipt:shopOrderRelation) {
+                // 本次支付金额,单位/元
+                double splitAmount = discernReceipt.getAssociateAmount();
+                double payAmount;
+                if (12 == discernReceipt.getPayType()) {
+                    // 网银支付
+                    payAmount = 10.00;
+                } else if (17 == discernReceipt.getPayType()) {
+                    //b2c网银
+                    //b2c 0.2%
+                    payAmount = MathUtil.mul(splitAmount, 0.002, 2).doubleValue();
+                    //b2c最低手续费0.1
+                    if (payAmount < 0.1) {
+                        payAmount = 0.1;
+                    }
+                } else if (8 == discernReceipt.getPayType() || 13 == discernReceipt.getPayType() || 15 == discernReceipt.getPayType()) {
+                    //微信0.65%手续费
+                    //微信0.65%
+                    payAmount = MathUtil.mul(splitAmount, 0.0065, 2).doubleValue();
+                } else if (29 == discernReceipt.getPayType()) {
+                    //快捷支付 借记卡支付29,
+
+                    payAmount = MathUtil.mul(splitAmount, 0.003, 2).doubleValue();
+                    if (payAmount < 0.1) {
+                        payAmount = 0.1;
+                    }
+                }else if (30 == discernReceipt.getPayType()) {
+                    //快捷支付 贷记卡支付30
+                    payAmount = MathUtil.mul(splitAmount, 0.006, 2).doubleValue();
+                    if (payAmount < 0.1) {
+                        payAmount = 0.1;
+                    }
+                } else {
+                    //手续费 其他0.25%
+                    payAmount = MathUtil.mul(splitAmount, 0.0025, 2).doubleValue();
+                }
+                if (MathUtil.compare(payAmount, 0.01) <= 0) {
+                    payAmount = 0.01;
+                }
+                procedureFee = MathUtil.add(procedureFee, payAmount).doubleValue();
+            }
+            settlement.setPaymentCommission(procedureFee);
+            // 分帐记录
+            Double splitAccount = shipMapper.getSplitAccount(settlement.getShopOrderId());
             // 分帐手续费
+            settlement.setProrateCommission(MathUtil.mul(splitAccount, 0.001).doubleValue());
         });
         PageInfo<SettlementVo> pageInfo = new PageInfo(settlementList);
         return ResponseJson.success(pageInfo);

+ 3 - 3
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -1153,7 +1153,7 @@ public class SubmitServiceImpl implements SubmitService {
         mainOrder.setProductTotalFee(productTotalFee.get());
         mainOrder.setOrderTotalFee(productTotalFee.get());
         // 订单总额(商品金额+运费)-- 冷链运输费
-        mainOrder.setPayTotalFee(payTotalFee.get());
+        mainOrder.setPayTotalFee(MathUtil.add(payTotalFee.get(), isColdChina.get()).doubleValue());
         // 订单状态
         if (0 == organizeId) {
             if (3 == orderParamBo.getCartType()) {
@@ -1434,10 +1434,10 @@ public class SubmitServiceImpl implements SubmitService {
                 shopOrder.setRealPay(shopOrder.getNeedPayAmount());
             }
             // 设置运费
-            boolean shopFlag = ( 1 == shopOrder.getShopPostFlag() && (null != mainOrder.getUserBeans() && 0 == mainOrder.getUserBeans()) ) || ( 0 == shopOrder.getShopPostFlag() && isColdChina.get() > 0.00d && 0 != organizeId ) || ( -1 == shopOrder.getShopPostFlag() && isColdChina.get() > 0.00d && 0 != organizeId );
+            /*boolean shopFlag = ( 1 == shopOrder.getShopPostFlag() && (null != mainOrder.getUserBeans() && 0 == mainOrder.getUserBeans()) ) || ( 0 == shopOrder.getShopPostFlag() && isColdChina.get() > 0.00d && 0 != organizeId ) || ( -1 == shopOrder.getShopPostFlag() && isColdChina.get() > 0.00d && 0 != organizeId );
             if (!shopFlag) {
                 shopOrder.setShopPostFee(0d);
-            }
+            }*/
             log.info("shopOrder.getIsColdChina()******"+shopOrder.getIsColdChina()+"=====shopOrder.getShopPostFee()"+shopOrder.getShopPostFee());
             /*
              * 保存子订单

+ 21 - 7
src/main/resources/mapper/CartSellerMapper.xml

@@ -188,16 +188,16 @@
           AND p.productID = #{productId}
         LIMIT 1
     </select>
-    <select id="getOrderUserIdByOrderId" resultType="java.lang.Integer">
+    <select id="getOrderUserIdByShopOrderId" resultType="java.lang.Integer">
         SELECT userID
-        FROM cm_order
-        WHERE orderID = #{orderId}
+        FROM cm_shop_order
+        WHERE shopOrderId = #{shopOrderId}
           AND delFlag = '0'
     </select>
-    <select id="getOrderClubIdByOrderId" resultType="java.lang.Integer">
+    <select id="getOrderClubIdByShopOrderId" resultType="java.lang.Integer">
         SELECT clubID
-        FROM cm_order
-        WHERE orderID = #{orderId}
+        FROM cm_shop_order
+        WHERE shopOrderId = #{shopOrderId}
           AND delFlag = '0'
     </select>
     <select id="getOrderProductNum" resultType="com.caimei365.order.model.vo.CartItemVo">
@@ -211,7 +211,21 @@
         FROM cm_order_product op
             left join cm_sku cs on op.skuID=cs.skuId
                  LEFT JOIN product p ON op.productID = p.productID
-        WHERE orderID = #{orderID} and cs.organizeId = 0
+        WHERE op.orderID = #{orderID} and cs.organizeId = 0
+        GROUP BY op.ProductID
+    </select>
+    <select id="getShopOrderProductNum" resultType="com.caimei365.order.model.vo.CartItemVo">
+        SELECT op.ProductID   AS productId,
+               op.skuId       AS skuId,
+               op.num         AS number,
+               cs.minBuyNumber AS min,
+               p.`name`       AS `name`,
+               p.mainImage    AS image,
+               IFNULL((SELECT validFlag FROM cm_organize_product_info  WHERE productId = p.productID AND organizeId = 0), 999) AS validFlag
+        FROM cm_order_product op
+                 left join cm_sku cs on op.skuID=cs.skuId
+                 LEFT JOIN product p ON op.productID = p.productID
+        WHERE op.shopOrderId = #{shopOrderId} and cs.organizeId = 0
         GROUP BY op.ProductID
     </select>
 </mapper>

+ 101 - 19
src/main/resources/mapper/OrderClubMapper.xml

@@ -40,23 +40,17 @@
     </update>
     <update id="updateShopOrderStatus">
         UPDATE cm_shop_order SET
-        shopStatus = #{shopStatus}
+        shopStatus = #{status}
         <if test="receiptStatus != null and receiptStatus != ''">
             ,receiptStatus = #{receiptStatus}
         </if>
         <if test="payStatus != null and payStatus != ''">
             ,payStatus = #{payStatus}
         </if>
-        <if test="confirmFlag != null and confirmFlag != ''">
-            ,confirmFlag = #{confirmFlag}
-        </if>
         <if test="confirmTime != null and confirmTime != ''">
             ,confirmTime = #{confirmTime}
         </if>
-        <if test="affirmPaymentFlag != null and affirmPaymentFlag != ''">
-            ,affirmPaymentFlag = #{affirmPaymentFlag}
-        </if>
-        ,updateDate = #{updateDate}
+        ,updateTime = now()
         WHERE shopOrderId = #{shopOrderId}
     </update>
     <update id="cancelBalanceRecord">
@@ -75,7 +69,7 @@
     </update>
     <update id="cancelMainShopOrder">
         UPDATE cm_shop_order
-        SET status      = #{status}
+        SET shopStatus = #{status}
         WHERE shopOrderId = #{shopOrderId}
     </update>
     <update id="deleteMainOrder">
@@ -96,6 +90,11 @@
         SET delFlag=1
         WHERE orderID = #{orderId}
     </update>
+    <update id="deleteShopOrderReceiptRelation">
+        UPDATE cm_receipt_order_relation
+        SET delFlag=1
+        WHERE shopOrderId = #{shopOrderId}
+    </update>
     <update id="deleteDiscernReceipt">
         UPDATE cm_discern_receipt SET delFlag=1
         WHERE id IN
@@ -148,18 +147,23 @@
         FROM cm_mall_share_code_record
         WHERE orderID = #{orderId}
     </delete>
+    <delete id="deleteShopOrderShareCodeRecord">
+        DELETE
+        FROM cm_mall_share_code_record
+        WHERE shopOrderId = #{shopOrderId}
+    </delete>
     <update id="deleteCouponClubById">
         update cm_coupon_club
         set delFlag = '1'
         where id = #{clubCouponId}
     </update>
     <insert id="insertOrderShareCode">
-        INSERT INTO cm_mall_order_share_code (orderID, shareCode, addTime, expiredTime, delFlag)
-        VALUES (#{orderId}, #{shareCode}, #{addTime}, #{expiredTime}, #{delFlag})
+        INSERT INTO cm_mall_order_share_code (orderID, shopOrderId, shareCode, addTime, expiredTime, delFlag)
+        VALUES (#{orderId}, #{shopOrderId}, #{shareCode}, #{addTime}, #{expiredTime}, #{delFlag})
     </insert>
     <insert id="insertOrderShareCodeRecord">
-        INSERT INTO cm_mall_share_code_record (openid, orderID, shareCodeId, addTime, delFlag)
-        VALUES (#{openId}, #{orderId}, #{shareCodeId}, #{addTime}, #{delFlag})
+        INSERT INTO cm_mall_share_code_record (openid, shopOrderId, orderID, shareCodeId, addTime, delFlag)
+        VALUES (#{openId}, #{shopOrderId}, #{orderId}, #{shareCodeId}, #{addTime}, #{delFlag})
     </insert>
     <insert id="insertCouponClub" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
         INSERT INTO cm_coupon_club(userId, couponId, orderId, returnedId, source, status, createDate, useDate, delFlag)
@@ -175,6 +179,11 @@
         FROM cm_order
         WHERE orderID = #{orderId}
     </select>
+    <select id="countMainShopOrderByOrderId" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM cm_shop_order
+        WHERE shopOrderId = #{shopOrderId}
+    </select>
     <select id="getMainOrderByOrderId" resultType="com.caimei365.order.model.po.OrderPo">
         SELECT ifnull(orderSeen, 0) AS orderSeen,
                orderID              AS orderId,
@@ -392,6 +401,17 @@
           AND c.receiptStatus = '3'
           AND c.payType != '16'
     </select>
+    <select id="getShopOrderReceiptIds" resultType="java.lang.String">
+        SELECT c.id
+        FROM cm_discern_receipt c
+                 LEFT JOIN cm_receipt_order_relation r ON r.receiptID = c.id
+        WHERE r.shopOrderId = #{shopOrderId}
+          AND r.relationType = '2'
+          AND r.delFlag = '0'
+          AND c.delFlag = '0'
+          AND c.receiptStatus = '3'
+          AND c.payType != '16'
+    </select>
     <select id="getPayShopIds" resultType="java.lang.String">
         SELECT payShopID FROM cm_pay_shop_record
         WHERE delFlag = 0
@@ -550,6 +570,7 @@
             cso.orderSubmitType,
             cso.splitFlag,
             cso.sendOutStatus,
+            (select onlinePayFlag from cm_order where orderId = cso.orderId ) as onlinePay,
             (select secondHandOrderFlag from cm_order where orderId = cso.orderId ) as secondHandOrderFlag,
             s.name AS shopName,
             s.payway AS payway,
@@ -565,19 +586,19 @@
         <where>
              cso.delFlag = 0 AND cso.userId = #{userId}
             <if test="status == 1 ">
-                AND cso.shopStatus = '0'
+                AND cso.shopStatus = 0
             </if>
             <if test="status == 2 ">
-                AND cso.shopStatus IN(11,12,13,21,22,23)
+                AND cso.payStatus = 1
             </if>
             <if test="status == 3 ">
-                AND cso.shopStatus IN(11,12,21,22,31,32)
+                AND cso.sendOutStatus = 1
             </if>
             <if test="status == 4 ">
-                AND cso.shopStatus IN(12,13,22,23,32,33)
+                AND cso.sendOutStatus = 3
             </if>
             <if test="status == 5 ">
-                AND cso.refundStatus IN(1,2)
+                AND (cso.orderStatusFlag in (2, 3) or cso.refundStatus = 2)
             </if>
             <if test="shopOrderNo != null and shopOrderNo != '' ">
                 AND cso.shopOrderNo = #{shopOrderNo}
@@ -646,6 +667,54 @@
         GROUP BY co.orderID, co.orderTime
         ORDER BY co.orderTime DESC
     </select>
+    <select id="getShopOrderListByKeyword" resultType="com.caimei365.order.model.vo.ShopOrderVo">
+        SELECT DISTINCT cso.shopOrderID AS shopOrderId,
+                        cso.shopOrderNo,
+                        cso.orderID AS orderId,
+                        IFNULL(cso.organizeID, 0) AS organizeId,
+                        IFNULL(cso.isColdChina, 0) AS isColdChina,
+                        cso.orderNo,
+                        cso.shopID AS shopId,
+                        cso.note,
+                        cso.userID AS userId,
+                        cso.clubID AS clubId,
+                        cso.spID AS spId,
+                        IFNULL(cso.presentNum, 0) AS presentNum,
+                        cso.orderPromotionsId,
+                        cso.promotionFullReduction,
+                        cso.svipShopReduction,
+                        cso.brokerage,
+                        cso.canRefundAmount,
+                        cso.itemCount,
+                        cso.totalAmount,
+                        cso.productAmount,
+                        cso.needPayAmount,
+                        cso.shopProductAmount,
+                        cso.shopPostFee,
+                        IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,
+                        cso.shopTaxFee,
+                        cso.shouldPayShopAmount,
+                        (SELECT ifnull(orderSeen, 0) FROM cm_order WHERE orderId = cso.orderId ) AS orderSeen,
+                        (SELECT userBeans FROM cm_order WHERE orderId = cso.orderId ) AS userBeans,
+                        cso.orderTime,
+                        cso.payStatus,
+                        cso.orderSubmitType,
+                        cso.splitFlag,
+                        cso.sendOutStatus,
+                        (SELECT secondHandOrderFlag FROM cm_order WHERE orderId = cso.orderId ) AS secondHandOrderFlag,
+                        IFNULL(cso.receiptAmount,0) AS receiptAmount,
+                        cso.eachDiscount,
+                        IFNULL(cso.realPay, cso.needPayAmount)AS readPay,
+                        cso.receiptStatus,
+                        cso.shopStatus AS STATUS
+        FROM cm_shop_order cso
+                 LEFT JOIN cm_order_product cop ON cso.shopOrderId = cop.shopOrderId
+        WHERE cso.delFlag = 0
+          AND cso.userID = #{userId}
+          AND cop.name LIKE concat('%',#{searchWord},'%')
+        GROUP BY cso.shopOrderId, cso.orderTime
+        ORDER BY cso.orderTime DESC
+    </select>
     <select id="getOrderSearchHistory" resultType="com.caimei365.order.model.vo.SearchHistoryVo">
         SELECT id, userId, searchWord, searchDate, delFlag
         FROM user_order_history
@@ -719,12 +788,25 @@
           AND delFlag = '0'
         LIMIT 1
     </select>
+    <select id="getShopOrderCodeById" resultType="com.caimei365.order.model.vo.OrderShareCodeVo">
+        SELECT id,
+               orderID AS orderId,
+               shopOrderId as shopOrderId,
+               shareCode,
+               addTime,
+               expiredTime,
+               delFlag
+        FROM cm_mall_order_share_code
+        WHERE shopOrderId = #{shopOrderId}
+          AND delFlag = '0'
+        LIMIT 1
+    </select>
     <select id="countShareCodeRecord" resultType="java.lang.Integer">
         SELECT COUNT(*)
         FROM cm_mall_share_code_record scr
                  LEFT JOIN cm_mall_order_share_code osc ON scr.shareCodeId = osc.id
         WHERE scr.openid = #{openId}
-          AND osc.orderID = #{orderId}
+          AND ( osc.orderID = #{shopOrderId} or osc.shopOrderId = #{shopOrderId})
           AND scr.delFlag = '0'
           AND osc.expiredTime > NOW()
     </select>

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

@@ -229,6 +229,9 @@
           AND cdr.receiptStatus IN (2, 3)
           AND cdr.payWay = '2'
     </select>
+    <select id="getOrderVoucher" resultType="java.lang.Integer">
+        select count(id) from cm_order_payment_voucher where shopOrderId = #{shopOrderId}
+    </select>
     <select id="getShouldPayShopAmountList" resultType="java.lang.Double">
         SELECT shouldPayShopAmount
         FROM cm_shop_order
@@ -330,6 +333,62 @@
           AND IF(co.userBeans = 0, 1 = 1, cop.shopid != 998)
         ORDER BY cop.discountPrice DESC
     </select>
+    <select id="getshopOrderProductByOrderId" resultType="com.caimei365.order.model.vo.OrderProductVo">
+        SELECT cop.skuId,
+               cop.orderProductID                                                 AS orderProductId,
+               cop.orderID                                                        AS orderId,
+               cop.orderNo,
+               cop.shopOrderID                                                    AS shopOrderId,
+               cop.shopOrderNo,
+               (select clubID from cm_order where orderId = cso.orderId ) as clubId,
+               cop.orderPromotionsId,
+               cop.productId,
+               cop.shopId,
+               cop.name,
+               cop.productImage                                                   AS image,
+               cop.price,
+               cop.shopName,
+               IF(cop.shopid = 998 AND cso.shopPostFlag > 0, cso.shopPostFlag, cop.costPrice) AS 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,
+               cop.productType,
+               p.productCategory                                                  as productCategory,
+               p.splitCode,
+               p.productType
+        FROM cm_order_product cop
+                 LEFT JOIN product p ON cop.productID = p.productID
+                 LEFT JOIN cm_shop_order cso ON cop.orderId = cso.orderId
+        WHERE cso.shopOrderId = #{shopOrderId}
+          AND IF(cso.useBeanAmount = 0, 1 = 1, cop.shopid != 998)
+        ORDER BY cop.discountPrice DESC
+    </select>
     <select id="countReturnedNum" resultType="java.lang.Integer">
         SELECT SUM(crpp.actualReturnedNum)
         FROM cm_returned_purchase_product crpp
@@ -400,6 +459,54 @@
         FROM cm_order
         WHERE orderID = #{orderId}
     </select>
+    <select id="getShopOrderById" resultType="com.caimei365.order.model.vo.ShopOrderVo">
+        SELECT
+        cso.shopOrderID AS shopOrderId,
+        cso.shopOrderNo,
+        cso.orderID AS orderId,
+        IFNULL(cso.organizeID, 0) AS organizeId,
+        IFNULL(cso.isColdChina, 0) AS isColdChina,
+        cso.orderNo,
+        cso.shopID AS shopId,
+        cso.note,
+        cso.userID AS userId,
+        (select clubID from cm_order where orderId = cso.orderId ) as clubId,
+        cso.spID AS spId,
+        ifnull(cso.presentNum, 0) as presentNum,
+        cso.orderPromotionsId,
+        cso.promotionFullReduction,
+        cso.svipShopReduction,
+        cso.brokerage,
+        cso.canRefundAmount,
+        cso.itemCount,
+        cso.totalAmount,
+        cso.productAmount,
+        cso.needPayAmount,
+        cso.shopProductAmount,
+        cso.shopPostFee,
+        IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,
+        cso.shopTaxFee,
+        cso.shouldPayShopAmount,
+        (select userBeans from cm_order where orderId = cso.orderId ) as userBeans,
+        cso.orderTime,
+        cso.payStatus,
+        cso.orderSubmitType,
+        cso.splitFlag,
+        cso.sendOutStatus,
+        (select secondHandOrderFlag from cm_order where orderId = cso.orderId ) as secondHandOrderFlag,
+        s.name AS shopName,
+        s.payway AS payway,
+        s.logo AS shopLogo,
+        s.shopType AS shopType,
+        IFNULL(cso.receiptAmount,0) AS receiptAmount,
+        cso.eachDiscount,
+        IFNULL(cso.realPay, cso.needPayAmount)AS readPay,
+        cso.receiptStatus,
+        cso.shopStatus as status
+        FROM cm_shop_order cso
+        LEFT JOIN shop s ON cso.shopID = s.shopID
+        where cso.delFlag = 0 AND cso.shopOrderId = #{shopOrderId}
+    </select>
     <select id="getOrderByShopOrderId" resultType="com.caimei365.order.model.vo.OrderVo">
         SELECT co.orderID      AS orderId,
                co.shopOrderIds,

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

@@ -97,6 +97,92 @@
         </if>
         ORDER BY co.orderTime DESC
     </select>
+    <select id="getShopOrderList" resultType="com.caimei365.order.model.vo.ShopOrderVo">
+        SELECT
+        cso.shopOrderID AS shopOrderId,
+        cso.shopOrderNo,
+        cso.orderID AS orderId,
+        IFNULL(cso.organizeID, 0) AS organizeId,
+        IFNULL(cso.isColdChina, 0) AS isColdChina,
+        cso.orderNo,
+        cso.shopID AS shopId,
+        cso.note,
+        cso.userID AS userId,
+        (select clubID from cm_order where orderId = cso.orderId ) as clubId,
+        cso.spID AS spId,
+        ifnull(cso.presentNum, 0) as presentNum,
+        cso.orderPromotionsId,
+        cso.promotionFullReduction,
+        cso.svipShopReduction,
+        cso.brokerage,
+        cso.canRefundAmount,
+        cso.itemCount,
+        cso.totalAmount,
+        cso.productAmount,
+        cso.needPayAmount,
+        cso.shopProductAmount,
+        cso.shopPostFee,
+        IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,
+        cso.shopTaxFee,
+        cso.shouldPayShopAmount,
+        (select userBeans from cm_order where orderId = cso.orderId ) as userBeans,
+        cso.orderTime,
+        cso.payStatus,
+        cso.orderSubmitType,
+        cso.splitFlag,
+        cso.sendOutStatus,
+        (select onlinePayFlag from cm_order where orderId = cso.orderId ) as onlinePay,
+        (select secondHandOrderFlag from cm_order where orderId = cso.orderId ) as secondHandOrderFlag,
+        IFNULL(cso.receiptAmount,0) AS receiptAmount,
+        cso.eachDiscount,
+        s.name AS shopName,
+        s.payway AS payway,
+        s.logo AS shopLogo,
+        s.shopType AS shopType,
+        IFNULL(cso.realPay, cso.needPayAmount)AS readPay,
+        cso.receiptStatus,
+        cso.shopStatus as status
+        <if test="orderSubmitType == 3">
+            ,s.linkMan as serviceName
+        </if>
+        FROM cm_shop_order cso
+        LEFT JOIN shop s ON cso.shopID = s.shopID
+        <if test="orderSubmitType == 3">
+            LEFT JOIN club c ON cso.userId=c.userId
+            LEFT JOIN serviceprovider s ON c.spId=s.serviceProviderID
+        </if>
+        <where>
+            cso.delFlag = 0 AND cso.userID IN
+            <foreach item="userId" index="index" collection="userIds" open="(" separator="," close=")">
+                #{userId}
+            </foreach>
+            <if test="listType == 1 ">
+                AND cso.shopStatus = 0
+            </if>
+            <if test="listType == 2 ">
+                AND cso.payStatus = 1
+            </if>
+            <if test="listType == 3 ">
+                AND cso.sendOutStatus = 1
+            </if>
+            <if test="listType == 4 ">
+                AND cso.sendOutStatus = 3
+            </if>
+            <if test="listType == 5 ">
+                AND (cso.orderStatusFlag in (2, 3) or cso.refundStatus = 2)
+            </if>
+            <if test="shopOrderNo != null and shopOrderNo != '' ">
+                AND cso.shopOrderNo = #{shopOrderNo}
+            </if>
+            <if test="orderSubmitType == 1">
+                AND cso.orderSubmitType IN (0,1,2)
+            </if>
+            <if test="orderSubmitType == 2">
+                AND cso.orderSubmitType IN (3,4)
+            </if>
+        </where>
+        ORDER BY cso.orderTime DESC
+    </select>
     <select id="getSpIdByClubId" resultType="java.lang.Integer">
         SELECT spID
         FROM club
@@ -174,6 +260,77 @@
         </if>
         ORDER BY orderTime DESC
     </select>
+    <select id="getShopOrderListClub" resultType="com.caimei365.order.model.vo.ShopOrderVo">
+        SELECT
+        cso.shopOrderID AS shopOrderId,
+        cso.shopOrderNo,
+        cso.orderID AS orderId,
+        IFNULL(cso.organizeID, 0) AS organizeId,
+        IFNULL(cso.isColdChina, 0) AS isColdChina,
+        cso.orderNo,
+        cso.shopID AS shopId,
+        (select clubID from cm_order where orderId = cso.orderId ) as clubId,
+        cso.note,
+        cso.userID AS userId,
+        cso.spID AS spId,
+        ifnull(cso.presentNum, 0) as presentNum,
+        cso.orderPromotionsId,
+        cso.promotionFullReduction,
+        cso.svipShopReduction,
+        cso.brokerage,
+        cso.canRefundAmount,
+        cso.itemCount,
+        cso.totalAmount,
+        cso.productAmount,
+        cso.needPayAmount,
+        cso.shopProductAmount,
+        cso.shopPostFee,
+        IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,
+        cso.shopTaxFee,
+        cso.shouldPayShopAmount,
+        (select userBeans from cm_order where orderId = cso.orderId ) as userBeans,
+        cso.orderTime,
+        cso.payStatus,
+        cso.orderSubmitType,
+        cso.splitFlag,
+        cso.sendOutStatus,
+        (select onlinePayFlag from cm_order where orderId = cso.orderId ) as onlinePay,
+        (select secondHandOrderFlag from cm_order where orderId = cso.orderId ) as secondHandOrderFlag,
+        IFNULL(cso.receiptAmount,0) AS receiptAmount,
+        cso.eachDiscount,
+        s.name AS shopName,
+        s.payway AS payway,
+        s.logo AS shopLogo,
+        s.shopType AS shopType,
+        IFNULL(cso.realPay, cso.needPayAmount)AS readPay,
+        cso.receiptStatus,
+        cso.shopStatus as status
+        FROM cm_shop_order cso
+        LEFT JOIN shop s ON cso.shopID = s.shopID
+        WHERE cso.delFlag = 0 AND cso.clubID = #{clubId}
+        <if test="listType == 1 ">
+            AND cso.shopStatus = 0
+        </if>
+        <if test="listType == 2 ">
+            AND cso.payStatus = 1
+        </if>
+        <if test="listType == 3 ">
+            AND cso.sendOutStatus = 1
+        </if>
+        <if test="listType == 4 ">
+            AND cso.sendOutStatus = 3
+        </if>
+        <if test="listType == 5 ">
+            AND (cso.orderStatusFlag in (2, 3) or cso.refundStatus = 2)
+        </if>
+        <if test="orderSubmitType == 1">
+            AND cso.orderSubmitType IN (0,1,2)
+        </if>
+        <if test="orderSubmitType == 2">
+            AND cso.orderSubmitType IN (3,4)
+        </if>
+        ORDER BY cso.orderTime DESC
+    </select>
     <select id="getUserIdBySpId" resultType="java.lang.Integer">
         SELECT userID
         FROM serviceprovider
@@ -236,6 +393,62 @@
         GROUP BY co.orderID, co.orderTime
         ORDER BY co.orderTime DESC
     </select>
+    <select id="getShopOrderListByKeyword" resultType="com.caimei365.order.model.vo.ShopOrderVo">
+        SELECT DISTINCT
+        cso.shopOrderID AS shopOrderId,
+        cso.shopOrderNo,
+        cso.orderID AS orderId,
+        IFNULL(cso.organizeID, 0) AS organizeId,
+        IFNULL(cso.isColdChina, 0) AS isColdChina,
+        cso.orderNo,
+        cso.shopID AS shopId,
+        cso.note,
+        cso.userID AS userId,
+        (select clubID from cm_order where orderId = cso.orderId ) as clubId,
+        cso.spID AS spId,
+        ifnull(cso.presentNum, 0) as presentNum,
+        cso.orderPromotionsId,
+        cso.promotionFullReduction,
+        cso.svipShopReduction,
+        cso.brokerage,
+        cso.canRefundAmount,
+        cso.itemCount,
+        cso.totalAmount,
+        cso.productAmount,
+        cso.needPayAmount,
+        cso.shopProductAmount,
+        cso.shopPostFee,
+        IFNULL(cso.shopPostFlag, 0) AS shopPostFlag,
+        cso.shopTaxFee,
+        cso.shouldPayShopAmount,
+        (select userBeans from cm_order where orderId = cso.orderId ) as userBeans,
+        cso.orderTime,
+        cso.payStatus,
+        cso.orderSubmitType,
+        cso.splitFlag,
+        cso.sendOutStatus,
+        (select onlinePayFlag from cm_order where orderId = cso.orderId ) as onlinePay,
+        (select secondHandOrderFlag from cm_order where orderId = cso.orderId ) as secondHandOrderFlag,
+        IFNULL(cso.receiptAmount,0) AS receiptAmount,
+        cso.eachDiscount,
+        s.name AS shopName,
+        s.payway AS payway,
+        s.logo AS shopLogo,
+        s.shopType AS shopType,
+        IFNULL(cso.realPay, cso.needPayAmount)AS readPay,
+        cso.receiptStatus,
+        cso.shopStatus as status
+        FROM cm_shop_order cso
+        LEFT JOIN cm_order_product cop ON cso.shopOrderId = cop.shopOrderId
+        LEFT JOIN shop s ON cso.shopID = s.shopID
+        WHERE cso.delFlag = 0 AND cso.userID IN
+        <foreach item="userId" index="index" collection="userIds" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        AND cop.name LIKE CONCAT('%',#{searchWord},'%')
+        GROUP BY cso.orderID, cso.orderTime
+        ORDER BY cso.orderTime DESC
+    </select>
     <select id="getClubIdsBySellerId" resultType="java.lang.Integer">
         select userID
         from club
@@ -310,4 +523,4 @@
         select serviceProviderId
         from cm_serviceteam_manager
     </select>
-</mapper>
+</mapper>

+ 7 - 0
src/main/resources/mapper/PayOrderMapper.xml

@@ -266,6 +266,13 @@
           AND STATUS = '1'
           AND delFlag = '0'
     </select>
+    <select id="getShopRefundCount" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM cm_returned_purchase
+        WHERE shopOrderId = #{shopOrderId}
+          AND STATUS = '1'
+          AND delFlag = '0'
+    </select>
     <select id="getOrderPayLink" resultType="com.caimei365.order.model.vo.OrderPayLinkVo">
         SELECT
         id,

+ 7 - 0
src/main/resources/mapper/ShipMapper.xml

@@ -203,6 +203,13 @@
         SELECT cdr.payWay, cror.orderId, cror.shopOrderId, cror.associateAmount
             FROM cm_discern_receipt cdr
         LEFT JOIN cm_receipt_order_relation cror ON (cror.receiptID = cdr.id AND cror.delFlag = '0')
+        where cror.shopOrderId = #{shopOrderId}
+    </select>
+    <select id="getSplitAccount" resultType="java.lang.Double">
+        SELECT SUM(splitAccount)
+        FROM cm_split_account
+        WHERE shopOrderId = #{shopOrderId}
+          AND payStatus = 1
     </select>
     <select id="getShopOrder" resultType="com.caimei365.order.model.vo.ShopOrderVo">
         SELECT

+ 1 - 1
src/main/resources/mapper/SubmitMapper.xml

@@ -247,7 +247,7 @@
                p.splitCode as splitCode
         FROM product p
                  LEFT JOIN cm_sku cs  ON cs.productId = p.productId
-        WHERE cs.dkuId = #{skuId}
+        WHERE cs.skuId = #{skuId}
     </select>
     <select id="getClauseNameById" resultType="java.lang.String">
         SELECT `name`