zhijiezhao пре 2 година
родитељ
комит
8d960043ea
36 измењених фајлова са 554 додато и 338 уклоњено
  1. 0 1
      src/main/java/com/caimei/modules/club/controller/CmUserOrganizeController.java
  2. 1 2
      src/main/java/com/caimei/modules/club/entity/CmUser.java
  3. 9 26
      src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java
  4. 11 4
      src/main/java/com/caimei/modules/order/controller/OrderPayShopController.java
  5. 5 2
      src/main/java/com/caimei/modules/order/controller/OrganizeOrderController.java
  6. 7 0
      src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseDao.java
  7. 5 2
      src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseProductDao.java
  8. 4 2
      src/main/java/com/caimei/modules/order/dao/PayShopDao.java
  9. 5 5
      src/main/java/com/caimei/modules/order/entity/CmReturnedPurchase.java
  10. 47 25
      src/main/java/com/caimei/modules/order/entity/CmReturnedPurchaseProduct.java
  11. 2 0
      src/main/java/com/caimei/modules/order/entity/LogisticsRecord.java
  12. 9 7
      src/main/java/com/caimei/modules/order/entity/NewOrder.java
  13. 20 14
      src/main/java/com/caimei/modules/order/entity/NewOrderProduct.java
  14. 26 2
      src/main/java/com/caimei/modules/order/entity/NewShopOrder.java
  15. 11 44
      src/main/java/com/caimei/modules/order/entity/SettleRecord.java
  16. 14 3
      src/main/java/com/caimei/modules/order/entity/ShopOrderReturned.java
  17. 26 0
      src/main/java/com/caimei/modules/order/entity/SplitRecord.java
  18. 5 0
      src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java
  19. 2 0
      src/main/java/com/caimei/modules/order/service/PayShopService.java
  20. 17 7
      src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java
  21. 1 37
      src/main/java/com/caimei/modules/order/service/impl/NewShopOrderServiceImpl.java
  22. 2 1
      src/main/java/com/caimei/modules/order/service/impl/OrderDeliverServiceImpl.java
  23. 16 4
      src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java
  24. 53 20
      src/main/java/com/caimei/modules/order/util/OrderUtils.java
  25. 1 2
      src/main/java/com/caimei/utils/formDataUtils.java
  26. 19 0
      src/main/resources/config/beta/application-beta.yml
  27. 18 0
      src/main/resources/config/dev/application-dev.yml
  28. 20 0
      src/main/resources/config/prod/application-prod.yml
  29. 4 9
      src/main/resources/mapper/CmDiscernReceiptMapper.xml
  30. 91 9
      src/main/resources/mapper/CmReturnedPurchaseMapper.xml
  31. 38 1
      src/main/resources/mapper/CmReturnedPurchaseProductMapper.xml
  32. 0 3
      src/main/resources/mapper/CmUserMapper.xml
  33. 14 14
      src/main/resources/mapper/LogisticsRecordMapper.xml
  34. 10 14
      src/main/resources/mapper/NewOrderMapper.xml
  35. 8 5
      src/main/resources/mapper/NewShopOrderMapper.xml
  36. 33 73
      src/main/resources/mapper/PayShopDao.xml

+ 0 - 1
src/main/java/com/caimei/modules/club/controller/CmUserOrganizeController.java

@@ -36,7 +36,6 @@ public class CmUserOrganizeController {
             @ApiImplicitParam(required = true, name = "auditStatus", value = "审核状态 92审核不通过 90审核通过"),
             @ApiImplicitParam(required = true, name = "clubId", value = "机构Id"),
             @ApiImplicitParam(required = true, name = "userId", value = "用户Id"),
-            @ApiImplicitParam(required = true, name = "organizeType", value = "0内部结构 1外部机构"),
             @ApiImplicitParam(required = true, name = "auditNote", value = "审核备注")
     })
     @GetMapping(value = "/audit")

+ 1 - 2
src/main/java/com/caimei/modules/club/entity/CmUser.java

@@ -14,8 +14,7 @@ public class CmUser implements Serializable {
     private static final long serialVersionUID = 1L;
     private String startTime;
     private String endTime;
-    @ApiModelProperty("0内部结构 1外部机构")
-    private Integer organizeType;
+
     @ApiModelProperty("userId")
     private Integer userId;
     @ApiModelProperty("用户组织Id")

+ 9 - 26
src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java

@@ -7,13 +7,16 @@ import com.caimei.modules.order.entity.NewOrder;
 import com.caimei.modules.order.service.BpClauseService;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
 import com.caimei.modules.order.service.NewOrderService;
+import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.utils.JsonModel;
+import com.caimei.utils.ResponseJson;
 import com.github.pagehelper.PageHelper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -31,8 +34,6 @@ public class CmReturnedPurchaseController {
 
     private final NewOrderService newOrderService;
 
-    private final BpClauseService bpClauseService;
-
 
     @ApiOperation("用户退款列表")
     @GetMapping(value = "list")
@@ -44,31 +45,13 @@ public class CmReturnedPurchaseController {
     }
 
 
-    @ApiImplicitParam(required = true, name = "orderId", value = "订单Id")
+    @ApiImplicitParam(required = true, name = "退款单id", value = "id")
     @ApiOperation("用户退款详情")
-    @GetMapping(value = "toRecturnRecord")
-    public JsonModel<Map<String, Object>> toReturnRecord(CmReturnedPurchase cmReturnedPurchase) {
-        Map<String, Object> map = new HashMap(5);
+    @GetMapping(value = "/toReturnRecord/{id}")
+    public ResponseJson<NewOrder> toReturnRecord(@PathVariable("id") Integer id) {
+        CmReturnedPurchase cmReturnedPurchase = cmReturnedPurchaseService.get(id);
         NewOrder newOrder = newOrderService.get(cmReturnedPurchase.getOrderId().toString());
-        List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase);
-        BpClause bpClause = new BpClause();
-        bpClause.setEnabledStatus("1");
-        List<BpClause> bpClauses = bpClauseService.findList(bpClause);
-        //退款(退货)总金额
-        Double returnedPurchaseFee = 0D;
-        //退款总额(给买家)
-        Double refundFee = 0D;
-        for (CmReturnedPurchase bean : dataList) {
-            if (!"3".equals(bean.getStatus())) {
-                returnedPurchaseFee += bean.getReturnedPurchaseFee();
-                refundFee += bean.getRefundFee();
-            }
-        }
-        map.put("bpClauses", bpClauses);
-        map.put("cmReturnedPurchaseList", dataList);
-        map.put("order", newOrder);
-        map.put("returnedPurchaseFee", returnedPurchaseFee);
-        map.put("refundFee", refundFee);
-        return JsonModel.newInstance().success(map);
+        cmReturnedPurchaseService.toReturnRecord(newOrder, cmReturnedPurchase);
+        return ResponseJson.success(newOrder);
     }
 }

+ 11 - 4
src/main/java/com/caimei/modules/order/controller/OrderPayShopController.java

@@ -126,8 +126,8 @@ public class OrderPayShopController {
     }
 
     @ApiOperation("订单财务信息列表")
-    @PostMapping
-    public ResponseJson<PageInfo<NewOrder>> orderPayInfoList(@RequestBody OrderPayShop orderPayShop,
+    @GetMapping("/pay/infos")
+    public ResponseJson<PageInfo<NewOrder>> orderPayInfoList(OrderPayShop orderPayShop,
                                                              @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                              @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
         return payShopService.orderPayInfoList(orderPayShop, pageNum, pageSize);
@@ -136,14 +136,21 @@ public class OrderPayShopController {
     @ApiOperation("订单分账记录")
     @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
     @GetMapping("/split/record/{orderId}")
-    public ResponseJson<Map<String,Object>> findSplitRecord(@PathVariable Integer orderId) {
+    public ResponseJson<Map<String, Object>> findSplitRecord(@PathVariable Integer orderId) {
         return payShopService.findSplitRecord(orderId);
     }
 
+    @ApiOperation("订单结算记录")
+    @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
+    @GetMapping("/settle/record/{orderId}")
+    public ResponseJson<Map<String, Object>> findSettleRecord(@PathVariable Integer orderId) {
+        return payShopService.findSettleRecord(orderId);
+    }
+
     @ApiOperation("订单收付款记录")
     @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
     @GetMapping("/receipt/record/{orderId}")
-    public ResponseJson<Map<String,Object>> findReceiptRecord(@PathVariable Integer orderId) {
+    public ResponseJson<Map<String, Object>> findReceiptRecord(@PathVariable Integer orderId) {
         return payShopService.findReceiptRecord(orderId);
     }
 }

+ 5 - 2
src/main/java/com/caimei/modules/order/controller/OrganizeOrderController.java

@@ -141,6 +141,7 @@ public class OrganizeOrderController {
     }
 
     @ApiOperation("收退款记录")
+    @ApiImplicitParam(required = true, name = "orderId", value = "订单Id")
     @GetMapping(value = "toRefundRecord")
     public JsonModel toRefundRecord(CmReturnedPurchase cmReturnedPurchase, String from) {
         JsonModel jsonModel = JsonModel.newInstance();
@@ -171,8 +172,10 @@ public class OrganizeOrderController {
         try {
             NewOrder newOrder = newOrderService.get(cmReturnedPurchase.getOrderId().toString());
             List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase);
-            Double returnedPurchaseFee = 0D;    //退款(退货)总金额
-            Double refundFee = 0D;  //退款总额(给买家)
+            //退款(退货)总金额
+            Double returnedPurchaseFee = 0D;
+            //退款总额(给买家)
+            Double refundFee = 0D;
             for (CmReturnedPurchase bean : dataList) {
                 if (!bean.getStatus().equals("3")) {
                     returnedPurchaseFee += bean.getReturnedPurchaseFee();

+ 7 - 0
src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseDao.java

@@ -1,6 +1,7 @@
 package com.caimei.modules.order.dao;
 
 import com.caimei.modules.order.entity.CmReturnedPurchase;
+import com.caimei.modules.order.entity.NewShopOrder;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -14,4 +15,10 @@ public interface CmReturnedPurchaseDao {
     List<Integer> findOrderIdsInApplyReturnFlag(@Param("orderIds") List<Integer> oId);
 
     List<CmReturnedPurchase> findList(CmReturnedPurchase cmReturnedPurchase);
+
+    Double findSumReturn(Integer orderId);
+
+    CmReturnedPurchase get(Integer id);
+
+    List<NewShopOrder> findReturnShopOrder(Integer id);
 }

+ 5 - 2
src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseProductDao.java

@@ -1,6 +1,7 @@
 package com.caimei.modules.order.dao;
 
 import com.caimei.modules.order.entity.CmReturnedPurchaseProduct;
+import com.caimei.modules.order.entity.NewOrderProduct;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -8,10 +9,12 @@ import java.util.List;
 
 @Mapper
 public interface CmReturnedPurchaseProductDao {
-    
+
     List<CmReturnedPurchaseProduct> findList(CmReturnedPurchaseProduct cmReturnedPurchaseProduct);
 
     List<CmReturnedPurchaseProduct> getCmReturnedPurchaseProductList(CmReturnedPurchaseProduct purchaseProduct);
 
-    List<CmReturnedPurchaseProduct> findListByReturnTime(@Param("orderId")Integer orderId, @Param("shopOrderId")Integer shopOrderId, @Param("orderProductId")Integer orderProductId, @Param("returnTime")String returnTime);
+    List<CmReturnedPurchaseProduct> findListByReturnTime(@Param("orderId") Integer orderId, @Param("shopOrderId") Integer shopOrderId, @Param("orderProductId") Integer orderProductId, @Param("returnTime") String returnTime);
+
+    List<NewOrderProduct> findProductByShopOrder(Integer shopOrderId, Integer returnId);
 }

+ 4 - 2
src/main/java/com/caimei/modules/order/dao/PayShopDao.java

@@ -53,7 +53,7 @@ public interface PayShopDao {
 
     Double findShouldPayShopAmount(Integer shopOrderId);
 
-    Double findSettleSum(Integer shopOrderId);
+    Double findSettleSum(Integer shopOrderId,Integer status);
 
     void updateShopOrderSettleStatus(Integer shopOrderId, int i);
 
@@ -73,11 +73,13 @@ public interface PayShopDao {
 
     Double findOnlinePayCm(Integer shopOrderId, Integer status);
 
-    List<NewShopOrder> findSplitRecord(Integer orderId);
+    List<SplitRecord> findSplitRecord(Integer orderId);
 
     List<OrderPayShopRecord> findPayShopRecordsByOrder(Integer orderId);
 
     void backPayRecord(Integer id);
 
     void backPayShop(Integer id);
+
+    List<SettleRecord> findSettleRecord(Integer orderId);
 }

+ 5 - 5
src/main/java/com/caimei/modules/order/entity/CmReturnedPurchase.java

@@ -17,7 +17,7 @@ public class CmReturnedPurchase implements Serializable {
     private static final long serialVersionUID = 1L;
 
     private Integer id;
-    @ApiModelProperty("退款退货编号")
+    @ApiModelProperty("退款编号")
     private String returnedNo;
     @ApiModelProperty("主订单ID")
     private Integer orderId;
@@ -31,7 +31,7 @@ public class CmReturnedPurchase implements Serializable {
     private Integer shopOrderId;
 
     private Integer userId;
-    @ApiModelProperty("状态:1待审核、2审核通过、3审核不通过")
+    @ApiModelProperty("退款状态:1待审核、2审核通过、3审核不通过")
     private String status;
     @ApiModelProperty("退款方式 1有支付有退款(退款方式可多选具体参考以上金额)、4未支付无退款(未支付发起退款)")
     private String returnedWay;
@@ -45,7 +45,7 @@ public class CmReturnedPurchase implements Serializable {
     private String operatingOrderStatus;
     @ApiModelProperty("退款(退货)总金额")
     private Double returnedPurchaseFee;
-    @ApiModelProperty("退款总额(给买家)")
+    @ApiModelProperty("申请金额")
     private Double refundFee;
 
     @ApiModelProperty("凭证图片1")
@@ -76,7 +76,7 @@ public class CmReturnedPurchase implements Serializable {
     private String returnTime;
     @ApiModelProperty("确认退款时间(审核退款时间)")
     private String confirmReturnTime;
-    @ApiModelProperty("退款备注")
+    @ApiModelProperty("申请退款备注")
     private String remarks;
 
 
@@ -94,7 +94,7 @@ public class CmReturnedPurchase implements Serializable {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endConfirmReturnTime;
 
-    @ApiModelProperty("退款退货商品列表")
+    @ApiModelProperty("退款退货商品子订单")
     private List<ShopOrderReturned> shopOrderReturnedList;
 
     @ApiModelProperty("银行账户名")

+ 47 - 25
src/main/java/com/caimei/modules/order/entity/CmReturnedPurchaseProduct.java

@@ -1,46 +1,68 @@
 package com.caimei.modules.order.entity;
 
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
 
-/**
- * 退货退款商品Entity
- */
+
+@ApiModel(description = "退货退款商品")
 @Data
 public class CmReturnedPurchaseProduct implements Serializable {
 	
 	private static final long serialVersionUID = 1L;
 	private Integer id;
-	private Integer returnedId;		// 退货退款Id(退款退货表的Id)
-	private Integer shopOrderId;		// 子订单Id
-	private Integer productId;		// 商品Id
-	private Integer orderProductId;		// 订单商品Id
-	private Integer shopId;		// 供应商Id
-	private Integer applicationReturnedNum;		// 申请退货数量
-	private Integer applicationCancelNum;		// 申请取消数量
-	private Integer actualReturnedNum;		// 实际退货数量
-	private Integer actualCancelNum;		// 实际取消数量
-	private String returnedReceiver;		// 退款接收方:1采美、2供应商、3采美及供应商
-
-	private String status;	//退货状态	状态:1退货退款中、2已完成、3已取消
+	@ApiModelProperty("退货退款Id(退款单Id)")
+	private Integer returnedId;
+
+	private Integer shopOrderId;
+	private Integer productId;
+	private Integer orderProductId;
+	private Integer shopId;
+
+	@ApiModelProperty("待发货数量")
+	private Integer waitSendOutNum;
+	@ApiModelProperty("已发货数量")
+	private Integer sendOutNum;
+
+	@ApiModelProperty("已退货数量")
+	private Integer returnedPurchaseProductNum;
+	@ApiModelProperty("已取消数量")
+	private Integer cancelProductNum;
+
+	@ApiModelProperty("申请退货数量")
+	private Integer applicationReturnedNum;
+	@ApiModelProperty("申请取消数量")
+	private Integer applicationCancelNum;
+
+	@ApiModelProperty("本次退货数量")
+	private Integer actualReturnedNum;
+	@ApiModelProperty("本次取消数量")
+	private Integer actualCancelNum;
+
+	@ApiModelProperty("退款接收方:1采美、2供应商、3采美及供应商")
+	private String returnedReceiver;
+	@ApiModelProperty("退货状态 状态:1退货退款中、2已完成、3已取消")
+	private String status;
 
-	private Integer num;
 	private Integer presentNum;
+	@ApiModelProperty("单价")
 	private Double price;
-	private Double discount;
-	private Double discountPrice;
-	private Double taxRate;
-	private Double addedValueTax;
+	@ApiModelProperty("子订单商品数量")
+	private Integer num;
+
 	private String mainImage;
 	private String name;
 	private String shopName;
-	private Double totalFee;
+	@ApiModelProperty("子订单商品总价")
+	private Double totalAmount;
 	private Double totalAddedValueTax;
+	@ApiModelProperty("规格")
 	private String unit;
-	private Boolean firstReturn;	//该订单商品是否是首次退货退款
-	private Integer notOutStore;//商品未出库数量
-	private Integer returnedPurchaseProductNum;//商品退货完成数量
-	private Integer cancelProductNum;   //取消数量
+	@ApiModelProperty("该订单商品是否是首次退货退款")
+	private Boolean firstReturn;
+	@ApiModelProperty("商品未出库数量")
+	private Integer notOutStore;
 }

+ 2 - 0
src/main/java/com/caimei/modules/order/entity/LogisticsRecord.java

@@ -28,4 +28,6 @@ public class LogisticsRecord{
     private String productName;
     @ApiModelProperty("商品图片")
     private String image;
+    @ApiModelProperty("规格")
+    private String unit;
 }

+ 9 - 7
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -43,7 +43,7 @@ public class NewOrder implements Serializable {
     @ApiModelProperty("订单总金额")
     private Double orderTotalFee;
 
-    @ApiModelProperty("应付金额")
+    @ApiModelProperty("主订单总应付金额")
     private Double payableAmount;
 
     @ApiModelProperty("支付金额")
@@ -87,9 +87,8 @@ public class NewOrder implements Serializable {
 
     @ApiModelProperty("免邮标志 运费:-1到付,0包邮,1需要运费")
     private String freePostFlag;
-    /**
-     * '运费' v5.0版本已废弃,运费已使用商品形式存储,
-     */
+
+    @ApiModelProperty("运费:-1到付,0包邮,其他为具体运费")
     private Double freight;
 
     @ApiModelProperty("下单人")
@@ -136,13 +135,13 @@ public class NewOrder implements Serializable {
     @ApiModelProperty("发货状态:1待发货、2部分发货、3已发货")
     private String sendOutStatus;
 
-    @ApiModelProperty("退货退款类型:1部分退、2全部退")
+    @ApiModelProperty("退货退款类型:0无退款、1部分退、2全部退")
     private String refundType;
 
     @ApiModelProperty("邮费订单标识 1是邮费订单  0不是邮费订单")
     private String postageOrderFlag = "0";
 
-    @ApiModelProperty("已付金额(用户已支付金额包括余额支付和线上线下支付)")
+    @ApiModelProperty("主订单总已付金额")
     private Double paidAmount;
 
 
@@ -183,7 +182,7 @@ public class NewOrder implements Serializable {
     private Double totalAddedValueTax;
 
     @ApiModelProperty("退款状态")
-    private String orderRefundType = "";
+    private String orderRefundType;
 
     @ApiModelProperty("退款总额")
     private Double refundFee;
@@ -209,5 +208,8 @@ public class NewOrder implements Serializable {
      */
     @ApiModelProperty("展示字段:能否更改收款状态 1可以 0不可以")
     private Integer checkFlag;
+
+    @ApiModelProperty("退款信息")
+    private CmReturnedPurchase cmReturnedPurchase;
 }
 

+ 20 - 14
src/main/java/com/caimei/modules/order/entity/NewOrderProduct.java

@@ -85,12 +85,7 @@ public class NewOrderProduct {
     private Double discountFee;
     @ApiModelProperty("商品图片")
     private String productImage;
-    @ApiModelProperty("发货数量")
-    private Integer deliveryNum;
-    @ApiModelProperty("未发货数量")
-    private Integer notOutStore;
-    @ApiModelProperty("已发货数量")
-    private Integer sendOutNum;
+
     @ApiModelProperty("成本价")
     private Double costPrice;
     @ApiModelProperty("库存")
@@ -100,14 +95,13 @@ public class NewOrderProduct {
     @ApiModelProperty("比例成本百分比")
     private Double costProportional;
 
-    @ApiModelProperty("(重光电/轻光电)SN码")
-    private List<CmProductSn> cmProductSnList;
-    @ApiModelProperty("退货完成数量")
-    private Integer returnedPurchaseProductNum;
-    @ApiModelProperty("退货中数量")
-    private Integer returningPurchaseProductNum;
-    @ApiModelProperty("取消数量")
-    private Integer cancelProductNum;
+    @ApiModelProperty("发货数量")
+    private Integer deliveryNum;
+    @ApiModelProperty("未发货数量")
+    private Integer notOutStore;
+    @ApiModelProperty("已发货数量")
+    private Integer sendOutNum;
+
     @ApiModelProperty("已收数量")
     private Integer receivedNum;
     @ApiModelProperty("退货退款中数量")
@@ -127,4 +121,16 @@ public class NewOrderProduct {
     private Integer shopPercent;
     @ApiModelProperty("分帐号")
     private String splitCode;
+
+    @ApiModelProperty("退货中数量")
+    private Integer returningPurchaseProductNum;
+
+    @ApiModelProperty("已退货总数")
+    private Integer returnedPurchaseProductNum;
+    @ApiModelProperty("已取消总数")
+    private Integer cancelProductNum;
+    @ApiModelProperty("本次退货数量")
+    private Integer actualReturnedNum;
+    @ApiModelProperty("本次取消数量")
+    private Integer actualCancelNum;
 }

+ 26 - 2
src/main/java/com/caimei/modules/order/entity/NewShopOrder.java

@@ -65,6 +65,32 @@ public class NewShopOrder {
     @ApiModelProperty("主订单收款状态:1待收款、2部分收款、3已收款")
     private Integer orderReceiptStatus;
 
+
+    @ApiModelProperty("结算状态 1未结算2部分结算3已结算")
+    private Integer settleStatus;
+    @ApiModelProperty("已结算供应商金额")
+    private Double settleShopAmount;
+    @ApiModelProperty("已结算采美金额")
+    private Double settleCmAmount;
+    @ApiModelProperty("已结算组织金额")
+    private Double settleOrganizeAmount;
+    @ApiModelProperty("应结算供应商金额")
+    private Double shouldSettleShop;
+    @ApiModelProperty("应结算采美金额")
+    private Double shouldSettleCm;
+    @ApiModelProperty("应结算组织金额")
+    private Double shouldSettleOrganize;
+    @ApiModelProperty("待结算供应商金额")
+    private Double waitSettleShop;
+    @ApiModelProperty("待结算采美金额")
+    private Double waitSettleCm;
+    @ApiModelProperty("待结算组织金额")
+    private Double waitSettleOrganize;
+    @ApiModelProperty("结算时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String settleTime;
+
+
     @ApiModelProperty("子订单Id")
     private Integer shopOrderId;
     @ApiModelProperty("子订单编号")
@@ -164,8 +190,6 @@ public class NewShopOrder {
     private Double payed;
     @ApiModelProperty("分帐号")
     private String splitCode;
-    @ApiModelProperty("结算状态 1未结算2部分结算3已结算")
-    private Integer settleStatus;
     @ApiModelProperty("分账时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private String splitTime;

+ 11 - 44
src/main/java/com/caimei/modules/order/entity/SettleRecord.java

@@ -1,59 +1,26 @@
 package com.caimei.modules.order.entity;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
 
+@Data
+@ApiModel(description = "结算记录")
 public class SettleRecord implements Serializable {
 
+    @ApiModelProperty("结算金额")
     private Double settleAmount;
-    /**
-     * 结算类型 1供应商成本,2佣金
-     */
+    @ApiModelProperty("结算类型 1供应商成本,2佣金")
     private Integer settleType;
+    @ApiModelProperty("子订单id")
     private Integer shopOrderId;
+    @ApiModelProperty("分帐号")
     private String splitCode;
-    private Date settleTime;
-
-    public Double getSettleAmount() {
-        return settleAmount;
-    }
-
-    public void setSettleAmount(Double settleAmount) {
-        this.settleAmount = settleAmount;
-    }
-
-    public Integer getSettleType() {
-        return settleType;
-    }
-
-    public void setSettleType(Integer settleType) {
-        this.settleType = settleType;
-    }
-
-    public Integer getShopOrderId() {
-        return shopOrderId;
-    }
-
-    public void setShopOrderId(Integer shopOrderId) {
-        this.shopOrderId = shopOrderId;
-    }
-
-    public String getSplitCode() {
-        return splitCode;
-    }
-
-    public void setSplitCode(String splitCode) {
-        this.splitCode = splitCode;
-    }
-
+    @ApiModelProperty("结算时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    public Date getSettleTime() {
-        return settleTime;
-    }
-
-    public void setSettleTime(Date settleTime) {
-        this.settleTime = settleTime;
-    }
+    private Date settleTime;
 }

+ 14 - 3
src/main/java/com/caimei/modules/order/entity/ShopOrderReturned.java

@@ -1,21 +1,32 @@
 package com.caimei.modules.order.entity;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.util.List;
 
+@ApiModel(description = "退货退款子订单")
 @Data
 public class ShopOrderReturned implements Serializable {
+
+
     private String shopName;
     private Integer shopId;
     private Integer shopOrderId;
     private String shopOrderNo;
     private String returnedReceiver;
-    private String payStatus;//付款供应商)付款状态:1待付款、2部分付款、3已付款
-    private String sendOutStatus;//发货状态:1待发货、2部分发货、3已发货
+    @ApiModelProperty("付款状态:1待付款、2部分付款、3已付款")
+    private Integer payStatus;
+    @ApiModelProperty("收款状态:1待收款、2部分收款、3已收款")
+    private Integer receiptStatus;
+    @ApiModelProperty("发货状态:1待发货、2部分发货、3已发货")
+    private String sendOutStatus;
     private Double needPayAmount;
     private Double totalAmount;
-    private Double productAmount;//总金额 = 订单商品totalAmount
+    @ApiModelProperty("子订单金额")
+    private Double productAmount;
+    @ApiModelProperty("退款子订单商品")
     private List<CmReturnedPurchaseProduct> cmReturnedPurchaseProductList;
 }

+ 26 - 0
src/main/java/com/caimei/modules/order/entity/SplitRecord.java

@@ -0,0 +1,26 @@
+package com.caimei.modules.order.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zzj
+ */
+@ApiModel(description = "分账记录")
+@Data
+public class SplitRecord implements Serializable {
+
+    @ApiModelProperty("子订单id")
+    private Integer shopOrderId;
+    @ApiModelProperty("分账时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String splitTime;
+    @ApiModelProperty("分账金额")
+    private Double splitAccount;
+    @ApiModelProperty("分账类型:1供应商,2供应商运费,3采美佣金,5组织佣金")
+    private Integer productType;
+}

+ 5 - 0
src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java

@@ -1,6 +1,7 @@
 package com.caimei.modules.order.service;
 
 import com.caimei.modules.order.entity.CmReturnedPurchase;
+import com.caimei.modules.order.entity.NewOrder;
 
 import java.util.List;
 import java.util.Map;
@@ -12,4 +13,8 @@ public interface CmReturnedPurchaseService {
     List<CmReturnedPurchase> getReturnedPurchaseList(CmReturnedPurchase cmReturnedPurchase);
 
     List<CmReturnedPurchase> findList(CmReturnedPurchase cmReturnedPurchase);
+
+    CmReturnedPurchase get(Integer id);
+
+    void toReturnRecord(NewOrder newOrder,CmReturnedPurchase cmReturnedPurchase);
 }

+ 2 - 0
src/main/java/com/caimei/modules/order/service/PayShopService.java

@@ -40,4 +40,6 @@ public interface PayShopService {
     ResponseJson<Map<String,Object>> findReceiptRecord(Integer orderId);
 
     ResponseJson backPay(Integer id);
+
+    ResponseJson<Map<String, Object>> findSettleRecord(Integer orderId);
 }

+ 17 - 7
src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java

@@ -23,13 +23,9 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     @Resource
     private CmReturnedPurchaseProductDao cmReturnedPurchaseProductDao;
     @Resource
-    private NewOrderProductDao newOrderProductDao;
-    @Resource
     private NewShopOrderService newShopOrderService;
     @Resource
-    private OrderUtils orderUtils;
-    @Resource
-    private NewOrderDao newOrderDao;
+    private OrderUtils orderUtil;
 
     @Override
     public List<Integer> findOrderIdsInApplyReturnFlag(List<Integer> oId) {
@@ -51,7 +47,6 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
                     //计算商品的未出库和已取消和已发货数量
                     Integer returnedPurchaseProductNum = 0;
                     Integer cancelProductNum = 0;
-                    NewOrderProduct newOrderProduct = newOrderProductDao.get(item.getOrderProductId());
                     //获取退货退款记录
                     CmReturnedPurchaseProduct purchaseProduct = new CmReturnedPurchaseProduct();
                     purchaseProduct.setShopOrderId(item.getShopOrderId());
@@ -102,7 +97,7 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
                         NewShopOrder shopOrder = newShopOrderService.findByShopOrderId(item.getShopOrderId());
                         if (null != shopOrder) {
                             shopOrderReturned.setProductAmount(shopOrder.getProductAmount());
-                            shopOrderReturned.setPayStatus(shopOrder.getPayStatus().toString());
+                            shopOrderReturned.setPayStatus(shopOrder.getPayStatus());
                             shopOrderReturned.setSendOutStatus(shopOrder.getSendOutStatus());
                             shopOrderReturned.setShopOrderNo(shopOrder.getShopOrderNo());
                         }
@@ -120,4 +115,19 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     public List<CmReturnedPurchase> findList(CmReturnedPurchase cmReturnedPurchase) {
         return cmReturnedPurchaseDao.findList(cmReturnedPurchase);
     }
+
+    @Override
+    public CmReturnedPurchase get(Integer id) {
+        return cmReturnedPurchaseDao.get(id);
+    }
+
+    @Override
+    public void toReturnRecord(NewOrder newOrder, CmReturnedPurchase cmReturnedPurchase) {
+        orderUtil.setReceiverVal(newOrder);
+        List<NewShopOrder> shopOrders = cmReturnedPurchaseDao.findReturnShopOrder(cmReturnedPurchase.getId());
+        shopOrders.forEach(s -> {
+            List<NewOrderProduct> orderProducts = cmReturnedPurchaseProductDao.findProductByShopOrder(s.getShopOrderId(), cmReturnedPurchase.getId());
+            s.setNewOrderProducts(orderProducts);
+        });
+    }
 }

+ 1 - 37
src/main/java/com/caimei/modules/order/service/impl/NewShopOrderServiceImpl.java

@@ -1,13 +1,11 @@
 package com.caimei.modules.order.service.impl;
 
-import com.caimei.modules.club.entity.CmProductSn;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.NewShopOrderService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -17,46 +15,12 @@ public class NewShopOrderServiceImpl implements NewShopOrderService {
     private NewShopOrderDao newShopOrderDao;
     @Resource
     private NewOrderProductDao newOrderProductDao;
-    @Resource
-    private ProductDao productDao;
-    @Resource
-    private CmProductSnDao cmProductSnDao;
-    @Resource
-    private LogisticsBatchDao logisticsBatchDao;
-    @Resource
-    private LogisticsRecordDao logisticsRecordDao;
-    @Resource
-    private LogisticsInformationDao logisticsInformationDao;
 
     @Override
     public NewShopOrder findByShopOrderId(Integer shopOrderId) {
         NewShopOrder shopOrder = newShopOrderDao.findByShopOrderId(shopOrderId);
         List<NewOrderProduct> list = newOrderProductDao.findListByShopOrderId(shopOrder.getShopOrderId());
-        List<NewOrderProduct> listSnProduct = new ArrayList<NewOrderProduct>();
-        List<NewOrderProduct> listAll = new ArrayList<NewOrderProduct>();
-        List<CmProductSn> listSn = new ArrayList<CmProductSn>();
-
-        //通过产品Id查找一级分类,如果在(重光电或者轻光电下则是SN产品)
-        if (null != list && list.size() > 0) {
-            for (NewOrderProduct bean : list) {
-                Integer productId = bean.getProductId();
-                String bigTypeName = productDao.findProductBigTypeByProductId(productId);
-                if (bigTypeName.equals(ProductType.Q1.getTypeName()) || bigTypeName.equals(ProductType.Q2.getTypeName())) {
-                    listSn = cmProductSnDao.getListSignByOrderProduct(bean.getOrderProductId(), bean.getShopOrderId());
-                    int num = bean.getNum() + bean.getPresentNum() - (listSn != null ? listSn.size() : 0);
-                    for (int i = 0; i < num; i++) {
-                        listSn.add(i, new CmProductSn());
-                    }
-                    bean.setCmProductSnList(listSn);
-                    listSnProduct.add(bean);
-                } else {
-                    bean.setCmProductSnList(null);
-                }
-                listAll.add(bean);
-            }
-        }
-        shopOrder.setSnOrderProducts(listSnProduct);
-        shopOrder.setNewOrderProducts(listAll);
+        shopOrder.setNewOrderProducts(list);
         return shopOrder;
     }
 }

+ 2 - 1
src/main/java/com/caimei/modules/order/service/impl/OrderDeliverServiceImpl.java

@@ -108,7 +108,8 @@ public class OrderDeliverServiceImpl implements OrderDeliverService {
                  */
                 formation.setState("1");
                 formation.setRemarks(dto.getRemark());
-                formation.setLogisticsCompanyName(t.getLogisticsCompanyName());//物流公司名称
+                //物流公司名称
+                formation.setLogisticsCompanyName(t.getLogisticsCompanyName());
                 formation.setLogisticsCompanyCode(t.getLogisticsCompanyCode());
                 formation.setUpdateDate(new Date());
                 informationDao.insert(formation);

+ 16 - 4
src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java

@@ -195,7 +195,7 @@ public class PayShopServiceImpl implements PayShopService {
 
     @Override
     public ResponseJson splitShopOrders(List<Integer> shopOrderIds) {
-        Integer xsfzmds = (Integer) redisService.get("XSFZMDS");
+        Integer xsfzmds = (Integer) redisService.get("OGFZMDS");
         //验锁
         if (null != xsfzmds && xsfzmds > 0) {
             return ResponseJson.error("请勿短时间内重复分账,等待支付公司返回分账结果!");
@@ -336,7 +336,7 @@ public class PayShopServiceImpl implements PayShopService {
                         // 没有佣金分账,全是成本,本笔交易已分帐
                         newOrderDao.updateBySplitStatus(orderRelation.getMbOrderId());
                         // 没有佣金分账也解锁
-                        redisService.remove("XSFZMDS");
+                        redisService.remove("OGFZMDS");
                     }
                 }
             }
@@ -398,7 +398,7 @@ public class PayShopServiceImpl implements PayShopService {
         orderUtils.setReceiverVal(newOrder);
         orderUtils.setRefundVal(newOrder);
         val.put("order", newOrder);
-        List<NewShopOrder> splitRecord = orderUtils.getSplitRecord(newOrder);
+        List<SplitRecord> splitRecord = orderUtils.getSplitRecord(newOrder);
         val.put("splitRecord", splitRecord);
         return ResponseJson.success(val);
     }
@@ -414,7 +414,7 @@ public class PayShopServiceImpl implements PayShopService {
         val.put("receiptList", receiptVos);
         List<OrderPayShopRecord> payRecords = orderUtils.getPayRecords(newOrder);
         val.put("payList", payRecords);
-        return null;
+        return ResponseJson.success(val);
     }
 
     @Transactional(readOnly = false, rollbackFor = Exception.class)
@@ -450,6 +450,18 @@ public class PayShopServiceImpl implements PayShopService {
         return ResponseJson.success();
     }
 
+    @Override
+    public ResponseJson<Map<String, Object>> findSettleRecord(Integer orderId) {
+        Map<String, Object> val = new HashMap<>(2);
+        NewOrder newOrder = newOrderDao.get(orderId.toString());
+        orderUtils.setReceiverVal(newOrder);
+        orderUtils.setRefundVal(newOrder);
+        val.put("order", newOrder);
+        List<SettleRecord> settleRecord = orderUtils.getSettleRecord(newOrder);
+        val.put("settleRecord", settleRecord);
+        return ResponseJson.success(val);
+    }
+
 
     public void setSplitAccountDetail(NewShopOrder shopOrder, PayParamBo payParam, List<SplitAccountPo> list) {
         // 待分账总金额 = 本次支付金额,单位/元

+ 53 - 20
src/main/java/com/caimei/modules/order/util/OrderUtils.java

@@ -19,6 +19,7 @@ import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
 
 
 /**
@@ -41,7 +42,7 @@ public class OrderUtils {
     @Resource
     private NewShopOrderDao shopOrderDao;
     @Resource
-    private CmReturnedPurchaseService cmReturnedPurchaseService;
+    private CmReturnedPurchaseDao returnDao;
     @Resource
     private CmDiscernReceiptDao receiptDao;
 
@@ -112,6 +113,17 @@ public class OrderUtils {
         Double paidShop = shopOrder.getPayedShopAmount();
         // 线下由组织代收款,已收金额减已付采美和供应商则为已付组织
         Double paidOrganize = MathUtil.sub(receiptTotal.get(), (MathUtil.add(paidCm, paidShop))).doubleValue();
+
+        Double waitSettleShop = 0d;
+        Double waitSettleCm = 0d;
+        Double waitSettleOrganize = 0d;
+        Double settleShop = 0d;
+        Double settleCm = 0d;
+        Double settleOrganize = 0d;
+        Double shouldSettleShop = 0d;
+        Double shouldSettleCm = 0d;
+        Double shouldSettleOrganize = 0d;
+
         if (onlineFlag.get()) {
             // 线上已付采美
             paidCm = payShopDao.findOnlinePayCm(shopOrder.getShopOrderId(), 3);
@@ -121,13 +133,34 @@ public class OrderUtils {
             paidOrganize = payShopDao.findOnlinePayCm(shopOrder.getShopOrderId(), 5);
             shopOrder.setPayCmAmount(paidCm);
             shopOrder.setPayedShopAmount(paidShop);
+            // 未结供应商 = 应付 - 已结
+            settleShop = payShopDao.findSettleSum(shopOrder.getShopOrderId(), 1);
+            waitSettleShop = MathUtil.sub(v, settleShop).doubleValue();
+            settleCm = payShopDao.findSettleSum(shopOrder.getShopOrderId(), 2);
+            waitSettleCm = MathUtil.sub(cmFee, settleCm).doubleValue();
+            settleOrganize = payShopDao.findSettleSum(shopOrder.getShopOrderId(), 3);
+            waitSettleOrganize = MathUtil.sub(organizeFee.get(), settleOrganize).doubleValue();
+            shouldSettleShop = v;
+            shouldSettleCm = cmFee;
+            shouldSettleOrganize = organizeFee.get().doubleValue();
         }
+        shopOrder.setWaitSettleShop(waitSettleShop);
+        shopOrder.setWaitSettleCm(waitSettleCm);
+        shopOrder.setWaitSettleOrganize(waitSettleOrganize);
+        shopOrder.setSettleShopAmount(settleShop);
+        shopOrder.setSettleCmAmount(settleCm);
+        shopOrder.setSettleOrganizeAmount(settleOrganize);
+        shopOrder.setShouldSettleShop(shouldSettleShop);
+        shopOrder.setShouldSettleOrganize(shouldSettleOrganize);
+        shopOrder.setShouldSettleCm(shouldSettleCm);
         // 待付组织 = 应付 - 已付
         Double wait = MathUtil.sub(organizeFee.get(), paidOrganize).doubleValue();
 
         shopOrder.setWaitPayOrganize(wait);
         shopOrder.setShouldPayOrganize(organizeFee.get().doubleValue());
         shopOrder.setPaidOrganize(paidOrganize);
+        shopOrder.setPayedShopAmount(paidShop);
+        shopOrder.setPayCmAmount(paidCm);
         shopOrder.setBrokerage(organizeFee.get().doubleValue());
         shopOrder.setWaitPayCmAmount(MathUtil.sub(cmFee, paidCm).doubleValue());
         shopOrder.setWaitPayShop(MathUtil.sub(v, paidShop).doubleValue());
@@ -189,7 +222,7 @@ public class OrderUtils {
                     payShopDao.updateSettleStatus(shopOrderId, 1);
                     //计算供应商成本,结算金额,修改结算状态
                     Double shouldPayShopAmount = payShopDao.findShouldPayShopAmount(shopOrderId);
-                    Double settleSum = payShopDao.findSettleSum(shopOrderId);
+                    Double settleSum = payShopDao.findSettleSum(shopOrderId, 1);
                     if (shouldPayShopAmount > settleSum) {
                         //成本>结算金额,部分结算
                         payShopDao.updateShopOrderSettleStatus(shopOrderId, 2);
@@ -218,6 +251,16 @@ public class OrderUtils {
         List<NewShopOrder> shopOrders = shopOrderDao.findListByOrderId(order.getOrderId());
         shopOrders.forEach(this::getShouldPay);
         order.setNewShopOrders(shopOrders);
+        order.setAlreadyReceipt(shopOrders.get(0).getReceiptTotalFee());
+
+        Double totalPayShop = shopOrders.stream().mapToDouble(NewShopOrder::getShouldPayShopAmount).sum();
+        Double totalPayCm = shopOrders.stream().mapToDouble(NewShopOrder::getShouldPayCmAmount).sum();
+        order.setPayableAmount(MathUtil.add(totalPayShop,totalPayCm).doubleValue());
+
+        Double totalPaidShop = shopOrders.stream().mapToDouble(NewShopOrder::getPayedShopAmount).sum();
+        Double totalPaidCm = shopOrders.stream().mapToDouble(NewShopOrder::getPayCmAmount).sum();
+        order.setPaidAmount(MathUtil.add(totalPaidCm,totalPaidShop).doubleValue());
+        setRefundVal(order);
         return order;
     }
 
@@ -277,7 +320,7 @@ public class OrderUtils {
                             // 保存分账详情
                             newOrderDao.insertSplitAccount(splitAccount);
                         }
-                        redisService.remove("XSFZMDS");
+                        redisService.remove("OGFZMDS");
                         log.info("【手动分账】>>>>>>>>>>此订单分账结束");
                     }
                 }
@@ -311,17 +354,7 @@ public class OrderUtils {
      * @param newOrder
      */
     public void setRefundVal(NewOrder newOrder) {
-        CmReturnedPurchase cmReturnedPurchase = new CmReturnedPurchase();
-        cmReturnedPurchase.setOrderId(newOrder.getOrderId());
-        List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase);
-        //退款总额(给买家)
-        Double refundFee = 0D;
-        for (CmReturnedPurchase bean : dataList) {
-            if (!"3".equals(bean.getStatus())) {
-                refundFee += bean.getRefundFee();
-            }
-        }
-        newOrder.setRefundFee(refundFee);
+        newOrder.setRefundFee(returnDao.findSumReturn(newOrder.getOrderId()));
     }
 
     /**
@@ -329,12 +362,8 @@ public class OrderUtils {
      *
      * @param newOrder
      */
-    public List<NewShopOrder> getSplitRecord(NewOrder newOrder) {
-        List<NewShopOrder> shopOrders = payShopDao.findSplitRecord(newOrder.getOrderId());
-        if (null != shopOrders && shopOrders.size() > 0) {
-            shopOrders.forEach(this::getShouldPay);
-        }
-        return shopOrders;
+    public List<SplitRecord> getSplitRecord(NewOrder newOrder) {
+        return payShopDao.findSplitRecord(newOrder.getOrderId());
     }
 
     public List<ReceiptVo> getReceiptRecord(NewOrder newOrder) {
@@ -417,4 +446,8 @@ public class OrderUtils {
         // 修改cm_order状态
         newOrderDao.updateReceiptStatus(status, orderId);
     }
+
+    public List<SettleRecord> getSettleRecord(NewOrder newOrder) {
+        return payShopDao.findSettleRecord(newOrder.getOrderId());
+    }
 }

+ 1 - 2
src/main/java/com/caimei/utils/formDataUtils.java

@@ -48,11 +48,10 @@ public class formDataUtils {
 
     private String saveFile(HttpServletRequest request, MultipartFile file) throws IOException {
         String originalFilename = file.getOriginalFilename();
-        String name = file.getName();
         String randomUUID = UUID.randomUUID().toString();
         int index = originalFilename.lastIndexOf(".");
         String exet = originalFilename.substring(index);
-        String filePath = "/mnt/newdatadrive/data/runtime/jar-instance/mall-admin/tempImage/";
+        String filePath = "/mnt/newdatadrive/data/runtime/jar-instance/mall/tempImage/";
         filePath += "\\" + randomUUID + exet;
         file.transferTo(new File(filePath));
         logger.info(">>>>>>>>>>>>>>>>图片上传路径:" + filePath);

+ 19 - 0
src/main/resources/config/beta/application-beta.yml

@@ -23,6 +23,25 @@ spring:
       uri: mongodb://zzj:easyCome.@172.31.165.29:27017/userInfo
     #数据源连接--end
 
+  redis:
+    host: 172.31.165.27
+    port: 6379
+    password: 6#xsI%b4o@5c3RoE
+    #Redis数据库索引(默认为0)
+    database: 0
+    #连接池最大连接数(使用负值表示没有限制)
+    jedis:
+      pool:
+        max-active: 50
+        #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: 3000
+        #连接池中的最大空闲连接
+        max-idle: 20
+        #连接池中的最小空闲连接
+        min-idle: 2
+    #连接超时时间(毫秒)
+    timeout: 5000
+
   #模板引擎配置
   thymeleaf:
     #路径

+ 18 - 0
src/main/resources/config/dev/application-dev.yml

@@ -23,6 +23,24 @@ spring:
       uri: mongodb://zzj:easyCome.@47.107.48.218:27017/userInfo
     #数据源连接--end
 
+  redis:
+    host: 192.168.2.100
+    port: 6379
+    #password: 123456
+    #Redis数据库索引(默认为0)
+    database: 0
+    jedis:
+      pool:
+        max-active: 50
+        #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: -1
+        #连接池中的最大空闲连接
+        max-idle: 20
+        #连接池中的最小空闲连接
+        min-idle: 2
+    #连接超时时间(毫秒)
+    timeout: 5000
+
   #模板引擎配置
   thymeleaf:
     #路径

+ 20 - 0
src/main/resources/config/prod/application-prod.yml

@@ -22,6 +22,26 @@ spring:
       uri: mongodb://zzj:easyCome.@172.31.165.26:27017/userInfo
     #数据源连接--end
 
+  redis:
+    host: 172.31.165.23
+    port: 6379
+    #password: 6#xsI%b4o@5c3RoE
+    #Redis数据库索引(默认为0)
+    database: 0
+    #连接池最大连接数(使用负值表示没有限制)
+    jedis:
+      pool:
+        max-active: 50
+        #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: 3000
+        #连接池中的最大空闲连接
+        max-idle: 20
+        #连接池中的最小空闲连接
+        min-idle: 2
+    #连接超时时间(毫秒)
+    timeout: 5000
+
+
   #模板引擎配置
   thymeleaf:
     #路径

+ 4 - 9
src/main/resources/mapper/CmDiscernReceiptMapper.xml

@@ -36,7 +36,7 @@
     </select>
 
     <select id="findOrderReceipt" resultType="double">
-        select sum(associateAmount)
+        select ifnull(sum(associateAmount),0)
         from cm_receipt_order_relation cror
                  left join cm_discern_receipt cdr on cror.receiptId = cdr.id
         where cror.orderId = #{orderId}
@@ -47,7 +47,6 @@
     </select>
 
     <select id="findReceiptList" resultType="com.caimei.modules.order.entity.ReceiptVo">
-        -- relationType值为1是为子订单Id,为2时为主订单Id)
         SELECT
         a.id AS "receiptId",
         a.payWay AS "payWay",
@@ -94,17 +93,13 @@
                 AND ((cr.orderNo like concat('%',#{orderNo},'%')) OR (cso.shopOrderNo like concat('%',#{orderNo},'%')))
             </if>
             <if test="orderId != null and orderId != ''">
-                AND (cr.orderId = #{orderId} OR (crr.relationType = '1' AND cso_cr.orderId = #{orderId}))
+                AND cr.orderId = #{orderId}
             </if>
             <if test="userName != null and userName != ''">
                 AND (u.userName LIKE concat('%',#{userName},'%') or u.name LIKE concat('%',#{userName},'%'))
             </if>
             <if test="receiptProgress != null">
-                and (case when crr.relationType = '1' then
-                cso_cr.receiptStatus
-                else
-                cr.receiptStatus
-                end) = #{receiptProgress}
+                cr.receiptStatus = #{receiptProgress}
             </if>
             <if test="associationNum != null and associationNum != ''">
                 <if test="associationNum == 1">
@@ -140,7 +135,7 @@
                co.orderId,
                co.payTotalFee as orderAmount,
                co.payableAmount,
-               (select sum(cror.associateAmount)
+               (select ifnull(sum(cror.associateAmount),0)
                 from cm_receipt_order_relation cror
                          left join cm_order o on o.orderId = cror.orderId
                          left join cm_discern_receipt cdr on cdr.id = cror.receiptId

+ 91 - 9
src/main/resources/mapper/CmReturnedPurchaseMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.modules.order.dao.CmReturnedPurchaseDao">
     <sql id="cmReturnedPurchaseColumns">
-		a.id AS "id",
+        a.id AS "id",
 		a.returnedNo AS "returnedNo",
 		a.orderID AS "orderId",
 		a.userID AS "userId",
@@ -39,12 +39,12 @@
 		a.confirmReturnTime AS "confirmReturnTime",
 		b.orderNo as "orderNo",
 		c.userName as "userName"
-	</sql>
+    </sql>
 
     <sql id="cmReturnedPurchaseJoins">
-		left join cm_order as b on a.orderID = b.orderID
+        left join cm_order as b on a.orderID = b.orderID
 		left join user as c on a.userID = c.userID
-	</sql>
+    </sql>
 
     <select id="findOrderIdInReturnPurchase" resultType="integer">
         select orderID from cm_returned_purchase where status = '1'
@@ -104,16 +104,20 @@
                 AND a.confirmReturnTime = #{confirmReturnTime}
             </if>
             <if test="beginReturnTime != null">
-                AND STR_TO_DATE(returnTime,'%Y-%m-%d %H:%i') <![CDATA[  >  ]]> STR_TO_DATE(#{beginReturnTime},'%Y-%m-%d %H:%i')
+                AND STR_TO_DATE(returnTime,'%Y-%m-%d %H:%i') <![CDATA[  >  ]]> STR_TO_DATE(#{beginReturnTime},'%Y-%m-%d
+                %H:%i')
             </if>
             <if test="endReturnTime != null">
-                AND STR_TO_DATE(returnTime,'%Y-%m-%d %H:%i') <![CDATA[  <  ]]> STR_TO_DATE(#{endReturnTime},'%Y-%m-%d %H:%i')
+                AND STR_TO_DATE(returnTime,'%Y-%m-%d %H:%i') <![CDATA[  <  ]]> STR_TO_DATE(#{endReturnTime},'%Y-%m-%d
+                %H:%i')
             </if>
             <if test="beginConfirmReturnTime != null">
-                AND STR_TO_DATE(confirmReturnTime,'%Y-%m-%d %H:%i') <![CDATA[  >  ]]> STR_TO_DATE(#{beginConfirmReturnTime},'%Y-%m-%d %H:%i')
+                AND STR_TO_DATE(confirmReturnTime,'%Y-%m-%d %H:%i') <![CDATA[  >  ]]>
+                STR_TO_DATE(#{beginConfirmReturnTime},'%Y-%m-%d %H:%i')
             </if>
             <if test="endConfirmReturnTime != null">
-                AND STR_TO_DATE(confirmReturnTime,'%Y-%m-%d %H:%i') <![CDATA[  <  ]]> STR_TO_DATE(#{endConfirmReturnTime},'%Y-%m-%d %H:%i')
+                AND STR_TO_DATE(confirmReturnTime,'%Y-%m-%d %H:%i') <![CDATA[  <  ]]>
+                STR_TO_DATE(#{endConfirmReturnTime},'%Y-%m-%d %H:%i')
             </if>
             <if test="userName != null and userName != ''">
                 AND c.userName like
@@ -124,6 +128,84 @@
             </if>
             and a.delFlag = 0
         </where>
-            order by a.returnTime desc
+        order by a.returnTime desc
+    </select>
+
+    <select id="findSumReturn" resultType="java.lang.Double">
+        select sum(ifnull(refundFee, 0))
+        from cm_returned_purchase
+        where orderId = #{orderId}
+          and delFlag = 0
+    </select>
+
+    <select id="get" resultType="com.caimei.modules.order.entity.CmReturnedPurchase">
+        select a.id,
+               returnedNo,
+               a.orderId,
+               a.userId,
+               a.status,
+               returnedWay,
+               payType,
+               operatingOrderStatus,
+               bankAccountName,
+               bankAccountNo,
+               openBank,
+               bankAccountType,
+               returnedPurchaseFee,
+               refundFee,
+               refundBalanceFee,
+               refundOnlineFee,
+               refundOfflineFee,
+               image1,
+               image2,
+               image3,
+               image4,
+               image5,
+               reviewImage1,
+               reviewImage2,
+               reviewImage3,
+               reviewImage4,
+               reviewImage5,
+               a.remarks,
+               reviewRemarks,
+               applicationUserId,
+               returnTime,
+               reviewUserId,
+               confirmReturnTime,
+               a.refundType,
+               s.name        AS "applicationUserName",
+               s1.name       AS "reviewUserName",
+               co.organizeID AS "organizeId"
+        from cm_returned_purchase a
+        LEFT JOIN sys_user s on s.id = a.applicationUserId
+        LEFT JOIN sys_user s1 on s1.id = a.reviewUserId
+        LEFT JOIN cm_order co ON a.orderID = co.orderID
+        where a.id = #{id}
+    </select>
+
+    <select id="findReturnShopOrder" resultType="com.caimei.modules.order.entity.NewShopOrder">
+        select cso.shopOrderId,
+               shoporderNo,
+               organizeId,
+               cso.userId,
+               cso.shopId,
+               outStoreNum,
+               productAmount,
+               totalAmount,
+               payStatus,
+               receiptStatus,
+               sendOutStatus,
+               refundStatus,
+               payedShopAmount,
+               shouldPayShopAmount,
+               payCmAmount,
+               s.name as shopName
+        from cm_shop_order cso
+        left join shop s on cso.shopId =s.shopId
+        left join cm_returned_purchase_product crpp on cso.shopOrderId = crpp.shopOrderId
+        left join cm_returned_purchase crp on crp.id = crpp.returnedId
+        where crpp.id = #{id}
+        and crp.status = 2
+        and crp.delFlag = 0
     </select>
 </mapper>

+ 38 - 1
src/main/resources/mapper/CmReturnedPurchaseProductMapper.xml

@@ -10,7 +10,6 @@
 		a.orderProductId AS "orderProductId",
 		a.shopId AS "shopId",
 		a.shopOrderId as "shopOrderId",
-		a.returnedReceiver AS "returnedReceiver",
 		a.applicationReturnedNum AS "applicationReturnedNum",
 		a.applicationCancelNum AS "applicationCancelNum",
 		a.actualReturnedNum AS "actualReturnedNum",
@@ -76,4 +75,42 @@
             and b.delFlag = 0
         </where>
     </select>
+
+    <select id="findProductByShopOrder" resultType="com.caimei.modules.order.entity.NewOrderProduct">
+        SELECT
+            a.orderProductId AS "orderProductId",
+            a.shopId AS "shopId",
+            a.shopOrderId as "shopOrderId",
+            a.actualReturnedNum AS "actualReturnedNum",
+            a.actualCancelNum AS "actualCancelNum",
+            b.status as status,
+            cop.productUnit as unit,
+            cop.num,
+            cop.totalAmount,
+            cop.price,
+            (select sum(ca.actualReturnedNum)
+                from cm_returned_purchase_product ca
+                left join cm_returned_purchase cb
+                 on ca.returnedId = cb.id
+             where ca.orderProductId = a.orderProductId
+              and cb.status=2
+               and cb.delFlag=0) as returnedPurchaseProductNum,
+            (select sum(da.actualCancelNum)
+            from cm_returned_purchase_product da
+             left join cm_returned_purchase db
+                 on da.returnedId = db.id
+             where da.orderProductId = a.orderProductId
+               and db.status=2
+               and db.delFlag=0)
+                as cancelProductNum,
+            (select IFNULL(SUM(clr.num),0) from cm_logistics_record clr where clr.orderProductID = a.orderProductID) as sendOutNum,
+               (cop.num-(select IFNULL(SUM(clr.num),0) from cm_logistics_record clr where clr.orderProductID = a.orderProductID)) as notOutStore
+        FROM cm_returned_purchase_product a
+        left join cm_returned_purchase b on a.returnedId = b.id
+        left join cm_order_product cop on a.orderProductId = cop.orderProductId
+        where a.shopOrderId = #{shopOrderId}
+            AND a.returnedID = #{returnId}
+            AND b.status = 2
+            AND b.delFlag = 0
+    </select>
 </mapper>

+ 0 - 3
src/main/resources/mapper/CmUserMapper.xml

@@ -156,9 +156,6 @@
     <update id="update">
         UPDATE user
         <set>
-            <if test="organizeType != null">
-                organizeType = #{organizeType},
-            </if>
             <if test="account != null and account != ''">
                 account = #{account},
             </if>

+ 14 - 14
src/main/resources/mapper/LogisticsRecordMapper.xml

@@ -3,18 +3,6 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.modules.order.dao.LogisticsRecordDao">
-    <sql id="columns">
-        a.id AS id,
-        a.logisticsBatchId AS logisticsBatchId,
-        a.shopOrderId AS shopOrderId,
-        a.orderId AS orderId,
-        a.orderProductId AS orderProductId,
-        a.buyNum AS buyNum,
-        a.num AS num,
-        a.productId AS productId,
-        a.productName AS productName,
-        a.image AS image
-    </sql>
 
     <insert id="insert">
         INSERT INTO cm_logistics_record (logisticsBatchID,
@@ -39,7 +27,19 @@
 
     <select id="findByLogisticsBatchId" resultType="com.caimei.modules.order.entity.LogisticsRecord">
         select
-        <include refid="columns"/>
-        from cm_logistics_record a where a.logisticsBatchId = #{logisticsBatchId}
+            a.id AS id,
+            a.logisticsBatchId AS logisticsBatchId,
+            a.shopOrderId AS shopOrderId,
+            a.orderId AS orderId,
+            a.orderProductId AS orderProductId,
+            a.buyNum AS buyNum,
+            a.num AS num,
+            a.productId AS productId,
+            a.productName AS productName,
+            a.image AS image,
+            cop.productUnit as unit
+        from cm_logistics_record a
+        left join cm_order_product cop on a.orderProductID = cop.orderProductID
+        where a.logisticsBatchId = #{logisticsBatchId}
     </select>
 </mapper>

+ 10 - 14
src/main/resources/mapper/NewOrderMapper.xml

@@ -484,7 +484,7 @@
                shopId,
                type,
                subUserNo,
-               SUM(splitAccount) AS splitAccount,
+               ifnull(SUM(splitAccount),0) AS splitAccount,
                mbOrderId,
                orderRequestNo,
                payStatus,
@@ -531,7 +531,7 @@
     </select>
 
     <select id="getPaidShopAmount" resultType="java.lang.Double">
-        SELECT SUM(payAmount)
+        SELECT ifnull(SUM(payAmount),0)
         FROM cm_pay_shop_record
         WHERE STATUS = 1
           AND delFlag = 0
@@ -578,7 +578,7 @@
     </select>
 
     <select id="getOrderProductPaidAmount" resultType="java.lang.Double">
-        SELECT SUM(splitAccount)
+        SELECT ifnull(SUM(splitAccount),0)
         FROM cm_split_account
         WHERE orderProductId = #{orderProductId}
           AND payStatus = 1
@@ -586,7 +586,7 @@
     </select>
 
     <select id="findPayAmount" resultType="java.lang.Double">
-        SELECT SUM(splitAccount)
+        SELECT ifnull(SUM(splitAccount),0)
         FROM cm_split_account csa
                  LEFT JOIN cm_receipt_order_relation cror ON csa.shopOrderId = cror.shopOrderId
         WHERE csa.shopOrderId = #{shopOrderId}
@@ -611,9 +611,8 @@
         co.sendOutStatus AS sendOutStatus,
         co.receiptStatus AS receiptStatus,
         co.productCount AS productCount,
-        (SELECT IFNULL(sum(cop.shouldPayFee),0) FROM cm_order_product cop WHERE cop.orderId=co.orderId) AS
-        "shouldPayProduct",
-        co.status AS status,
+        co.freight,
+        (SELECT IFNULL(sum(cop.shouldPayFee),0) FROM cm_order_product cop WHERE cop.orderId=co.orderId) AS "shouldPayProduct",
         co.postageOrderFlag AS postageOrderFlag,
         c.name AS clubName
         FROM cm_order co
@@ -636,9 +635,6 @@
             <if test="shopOrderNo != null and shopOrderNo != ''">
                 AND cso.shopOrderNo like concat('%', #{shopOrderNo} ,'%')
             </if>
-            <if test="orderTime != null and orderTime != ''">
-                AND co.orderTime = #{orderTime}
-            </if>
             <if test="orderStartTime != null and orderStartTime != ''">
                 AND co.orderTime <![CDATA[  >=  ]]> #{orderStartTime}
             </if>
@@ -651,15 +647,15 @@
             <if test="payStatus != null and payStatus != ''">
                 AND co.payStatus = #{payStatus}
             </if>
-            <if test="refundType != null and refundType != ''">
+            <if test="refundStatus != null and refundStatus != ''">
                 AND
-                <if test="refundType == 0">
+                <if test="refundStatus == 0">
                     co.refundType = 0 or co.refundType is null
                 </if>
-                <if test="refundType == 1">
+                <if test="refundStatus == 1">
                     co.refundType = 1
                 </if>
-                <if test="refundType == 2">
+                <if test="refundStatus == 2">
                     co.refundType = 2
                 </if>
             </if>

+ 8 - 5
src/main/resources/mapper/NewShopOrderMapper.xml

@@ -57,7 +57,8 @@
     		a.paying AS paying,
     		a.costType AS costType,
     		a.modifyShouldPayNote AS modifyShouldPayNote,
-    		proportional AS proportional
+    		proportional AS proportional,
+            a.settleStatus as settleStatus
     </sql>
 
     <update id="update">
@@ -234,8 +235,8 @@
     <select id="findListByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
         SELECT<include refid="shopOrderColumns"/>,
         b.name as shopName,
-        ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),0) as payedShopAmount,
-        ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),0) as payCmAmount
+        (select ifnull(sum(payAmount),0) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0) as payedShopAmount,
+        (select ifnull(sum(payCmAmount),0) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0) as payCmAmount
         FROM cm_shop_order a
         left join shop b on a.shopId = b.shopId
         WHERE a.orderId = #{orderId} ORDER BY a.shopOrderNo DESC
@@ -302,8 +303,10 @@
         a.shopProductAmount AS shopProductAmount,
         a.shopPostFee AS shopPostFee,
         a.shouldPayShopAmount AS shouldPayShopAmount,
-        ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),0) as payedShopAmount,
-        ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),0) as payCmAmount,
+        ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and
+        delFlag = 0),0) as payedShopAmount,
+        ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and
+        delFlag = 0),0) as payCmAmount,
         a.paying AS paying,
         a.settleStatus AS settleStatus,
         a.differenceType AS differenceType,

+ 33 - 73
src/main/resources/mapper/PayShopDao.xml

@@ -203,14 +203,14 @@
 
     <update id="backPayRecord">
         update cm_pay_shop_record
-        set status = 0,
+        set status  = 0,
             payTime = null
         where payShopID = #{id}
     </update>
 
     <update id="backPayShop">
         update cm_pay_shop
-        set status = 0,
+        set status  = 0,
             payTime = null
         where id = #{id}
     </update>
@@ -324,9 +324,13 @@
                         a.payStatus         AS payStatus,
                         a.shopProductAmount AS shopProductAmount,
                         a.shopPostFee       AS shopPostFee,
-                        ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),
+                        ifnull((select sum(payAmount)
+                                from cm_pay_shop_record
+                                where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),
                                0)           as payedShopAmount,
-                        ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),
+                        ifnull((select sum(payCmAmount)
+                                from cm_pay_shop_record
+                                where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),
                                0)           as payCmAmount,
                         a.payedShopAmount   AS payedShopAmount,
                         co.payTotalFee      AS payTotalFee,
@@ -368,10 +372,10 @@
                   AND rp.status = '2'
                   AND rp.delFlag = '0') AS returnedNum
         from cm_order_product cop
-                 left join cm_sku cs on cop.skuId = cs.skuId
-                 left join product p on p.productID = cop.productID
-                 left join cm_order co on co.orderID = cop.orderID
-                 left join user u on u.userID = co.userID
+        left join cm_sku cs on cop.skuId = cs.skuId
+        left join product p on p.productID = cop.productID
+        left join cm_order co on co.orderID = cop.orderID
+        left join user u on u.userID = co.userID
         where cop.shopOrderID = #{shopOrderId}
     </select>
 
@@ -426,7 +430,7 @@
     <select id="findSettleSum" resultType="java.lang.Double">
         SELECT IFNULL(SUM(settleAmount), 0)
         FROM cm_settle_record
-        WHERE settleType = 1
+        WHERE settleType = #{status}
           AND shopOrderId = #{shopOrderId}
     </select>
 
@@ -472,8 +476,10 @@
         a.payStatus AS payStatus,
         a.shopProductAmount AS shopProductAmount,
         a.shopPostFee AS shopPostFee,
-        ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),0) as payedShopAmount,
-        ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and delFlag = 0),0) as payCmAmount,
+        ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and
+        delFlag = 0),0) as payedShopAmount,
+        ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and status = 1 and
+        delFlag = 0),0) as payCmAmount,
         a.payedShopAmount AS payedShopAmount,
         co.payTotalFee AS payTotalFee,
         s.name AS shopName,
@@ -490,69 +496,18 @@
     </select>
 
     <select id="findOnlinePayCm" resultType="java.lang.Double">
-        SELECT SUM(splitAccount)
+        SELECT ifnull(SUM(splitAccount),0)
         FROM cm_split_account
         WHERE productType = #{status}
           AND shoporderid = #{shopOrderId}
     </select>
 
-    <select id="findSplitRecord" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT a.payCmAmount              AS payCmAmount,
-               a.shopOrderId              AS shopOrderId,
-               a.orderId                  AS orderId,
-               a.organizeId               AS organizeId,
-               a.shopOrderNo              AS shopOrderNo,
-               a.orderNo                  AS orderNo,
-               a.userId                   AS userId,
-               a.shopId                   AS shopId,
-               a.itemCount                AS itemCount,
-               a.townId                   AS townId,
-               a.productAmount            AS productAmount,
-               a.discountAmount           AS discountAmount,
-               a.totalAmount              AS totalAmount,
-               a.payFlag                  AS payFlag,
-               a.payTime                  AS payTime,
-               a.finishTime               AS finishTime,
-               a.refundStatus             AS refundStatus,
-               a.needPayAmount            AS needPayAmount,
-               a.canRefundAmount          AS canRefundAmount,
-               a.refundAmount             AS refundAmount,
-               a.clubId                   AS clubId,
-               a.spId                     AS spId,
-               a.orderBeanAmount          AS orderBeanAmount,
-               a.useBeanAmount            AS useBeanAmount,
-               a.useBeanFlag              AS useBeanFlag,
-               a.canRefundFlag            AS canRefundFlag,
-               a.useBalanceFlag           AS useBalanceFlag,
-               a.canRefundBeans           AS canRefundBeans,
-               a.freePostageFee           AS freePostageFee,
-               a.freePostageTicketId      AS freePostageTicketId,
-               a.brokerage                AS brokerage,
-               a.delFlag                  AS delFlag,
-               a.refundsAmount            AS refundsAmount,
-               a.orderTime                AS orderTime,
-               a.presentNum               AS presentNum,
-               IFNULL(a.outStoreTimes, 0) AS outStoreTimes,
-               a.receiveGoodsTime         AS receiveGoodsTime,
-               a.note                     AS note,
-               a.payStatus                AS payStatus,
-               a.shopProductAmount        AS shopProductAmount,
-               a.shopPostFee              AS shopPostFee,
-               a.shopTaxFee               AS shopTaxFee,
-               a.shouldPayShopAmount      AS shouldPayShopAmount,
-               a.payedShopAmount          AS payedShopAmount,
-               a.paying                   AS paying,
-               b.name                     as shopName,
-               ifnull((select sum(payAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and delFlag = 0 and status = 1),
-                      0)                  as payedShopAmount,
-               ifnull((select sum(payCmAmount) from cm_pay_shop_record where shopOrderId = a.shopOrderId and delFlag = 0 and status = 1),
-                      0)                  as payCmAmount,
-               cps.payTime as splitTime
-        FROM cm_pay_shop_record cps
-        left join cm_shop_order a on a.shopOrderId = cps.shopOrderID
-        left join shop b on a.shopId = b.shopId
-        WHERE a.orderId = #{orderId}
-        ORDER BY a.shopOrderNo DESC
+    <select id="findSplitRecord" resultType="com.caimei.modules.order.entity.SplitRecord">
+        select shopOrderId,
+               splitAccount,
+               productType,
+               splitTime
+        from cm_split_account
     </select>
 
     <select id="findPayShopRecordsByOrder" resultType="com.caimei.modules.order.entity.OrderPayShopRecord">
@@ -572,9 +527,14 @@
         LEFT JOIN cm_offline_collection f ON a.payType = f.type
         left join cm_pay_shop cps on a.shopID = cps.shopID
         WHERE a.shopOrderID in (select shopOrderId from cm_shop_order where orderId = #{orderId})
-        and a.delFlag = 0
-        and cps.delFlag = 0
-        and a.status = 1
-        and cps.status = 1
+          and a.delFlag = 0
+          and cps.delFlag = 0
+          and a.status = 1
+          and cps.status = 1
+    </select>
+
+    <select id="findSettleRecord" resultType="com.caimei.modules.order.entity.SettleRecord">
+        select settleAmount, settleType, shopOrderId, splitCode, settleTime
+        from cm_settle_record
     </select>
 </mapper>