浏览代码

Merge remote-tracking branch 'origin/developer' into developerB

# Conflicts:
#	src/main/resources/mapper/NewOrderMapper.xml
huangzhiguo 1 年之前
父节点
当前提交
1a610c6fb8
共有 66 个文件被更改,包括 1335 次插入1027 次删除
  1. 5 0
      pom.xml
  2. 0 1
      src/main/java/com/caimei/CaimeiMallAdminApplication.java
  3. 2 1
      src/main/java/com/caimei/modules/club/dao/CmUserDao.java
  4. 2 1
      src/main/java/com/caimei/modules/homepage/dao/ActiveDao.java
  5. 19 5
      src/main/java/com/caimei/modules/order/controller/CmOrderRemarkController.java
  6. 33 3
      src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java
  7. 3 3
      src/main/java/com/caimei/modules/order/controller/OrderDeliverController.java
  8. 3 3
      src/main/java/com/caimei/modules/order/controller/OrderPayShopController.java
  9. 3 3
      src/main/java/com/caimei/modules/order/controller/OrderReceiptController.java
  10. 12 4
      src/main/java/com/caimei/modules/order/controller/OrganizeOrderController.java
  11. 3 1
      src/main/java/com/caimei/modules/order/dao/CmDiscernReceiptDao.java
  12. 2 2
      src/main/java/com/caimei/modules/order/dao/CmOrderRemarkDao.java
  13. 0 13
      src/main/java/com/caimei/modules/order/dao/CmProductSnDao.java
  14. 4 0
      src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseDao.java
  15. 80 0
      src/main/java/com/caimei/modules/order/dao/CmUserBalanceRecordMapper.java
  16. 1 1
      src/main/java/com/caimei/modules/order/dao/NewOrderDao.java
  17. 4 1
      src/main/java/com/caimei/modules/order/dao/NewOrderProductDao.java
  18. 2 0
      src/main/java/com/caimei/modules/order/entity/CmOrderRemark.java
  19. 66 0
      src/main/java/com/caimei/modules/order/entity/CmUserBalanceRecord.java
  20. 2 0
      src/main/java/com/caimei/modules/order/entity/LogisticsBatch.java
  21. 98 0
      src/main/java/com/caimei/modules/order/entity/NewOrder.java
  22. 0 2
      src/main/java/com/caimei/modules/order/entity/NewOrderProduct.java
  23. 12 1
      src/main/java/com/caimei/modules/order/entity/NewShopOrder.java
  24. 2 0
      src/main/java/com/caimei/modules/order/entity/ReceiptVo.java
  25. 1 1
      src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java
  26. 3 0
      src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java
  27. 86 0
      src/main/java/com/caimei/modules/order/service/CmUserBalanceRecordService.java
  28. 1 1
      src/main/java/com/caimei/modules/order/service/OrderDeliverService.java
  29. 1 1
      src/main/java/com/caimei/modules/order/service/PayShopService.java
  30. 17 5
      src/main/java/com/caimei/modules/order/service/impl/CmDiscernReceiptServiceImpl.java
  31. 2 2
      src/main/java/com/caimei/modules/order/service/impl/CmOrderRemarkServiceImpl.java
  32. 168 3
      src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java
  33. 141 0
      src/main/java/com/caimei/modules/order/service/impl/CmUserBalanceRecordServiceImpl.java
  34. 2 4
      src/main/java/com/caimei/modules/order/service/impl/NewOrderServiceImpl.java
  35. 15 2
      src/main/java/com/caimei/modules/order/service/impl/OrderDeliverServiceImpl.java
  36. 17 8
      src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java
  37. 64 2
      src/main/java/com/caimei/modules/order/util/OrderUtils.java
  38. 20 108
      src/main/java/com/caimei/modules/products/controller/CmMallOrganizeProductsController.java
  39. 0 158
      src/main/java/com/caimei/modules/products/controller/CmMallProductsClassifyController.java
  40. 1 11
      src/main/java/com/caimei/modules/products/dao/CmMallOrganizeProductsDao.java
  41. 0 28
      src/main/java/com/caimei/modules/products/dao/CmMallProductLadderPriceDao.java
  42. 0 27
      src/main/java/com/caimei/modules/products/dao/CmMallProductsClassifyDao.java
  43. 2 0
      src/main/java/com/caimei/modules/products/entity/Sku.java
  44. 0 6
      src/main/java/com/caimei/modules/products/service/CmMallOrganizeProductsService.java
  45. 0 22
      src/main/java/com/caimei/modules/products/service/CmMallProductsClassifyService.java
  46. 3 18
      src/main/java/com/caimei/modules/products/service/impl/CmMallOrganizeProductsServiceImpl.java
  47. 0 71
      src/main/java/com/caimei/modules/products/service/impl/CmMallProductsClassifyServiceImpl.java
  48. 1 0
      src/main/resources/application.yml
  49. 3 0
      src/main/resources/config/dev/application-dev.yml
  50. 6 6
      src/main/resources/mapper/ActiveMapper.xml
  51. 4 4
      src/main/resources/mapper/BannerMapper.xml
  52. 26 10
      src/main/resources/mapper/CmDiscernReceiptMapper.xml
  53. 35 99
      src/main/resources/mapper/CmMallOrganizeProductsMapper.xml
  54. 0 160
      src/main/resources/mapper/CmMallProductLadderPriceMapper.xml
  55. 0 113
      src/main/resources/mapper/CmMallProductsClassifyMapper.xml
  56. 2 2
      src/main/resources/mapper/CmOrderRemarkMapper.xml
  57. 0 33
      src/main/resources/mapper/CmProductSnMapper.xml
  58. 53 4
      src/main/resources/mapper/CmReturnedPurchaseMapper.xml
  59. 4 1
      src/main/resources/mapper/CmReturnedPurchaseProductMapper.xml
  60. 146 0
      src/main/resources/mapper/CmUserBalanceRecordMapper.xml
  61. 50 0
      src/main/resources/mapper/CmUserMapper.xml
  62. 8 6
      src/main/resources/mapper/FloorMapper.xml
  63. 59 57
      src/main/resources/mapper/NewOrderMapper.xml
  64. 14 4
      src/main/resources/mapper/NewOrderProductMapper.xml
  65. 20 3
      src/main/resources/mapper/NewShopOrderMapper.xml
  66. 2 2
      src/main/resources/mapper/PayShopDao.xml

+ 5 - 0
pom.xml

@@ -21,6 +21,11 @@
     </parent>
 
     <dependencies>
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-annotations</artifactId>
+            <version>1.6.2</version>
+        </dependency>
         <dependency>
             <groupId>com.squareup.okhttp3</groupId>
             <artifactId>okhttp</artifactId>

+ 0 - 1
src/main/java/com/caimei/CaimeiMallAdminApplication.java

@@ -8,7 +8,6 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.EnableMBeanExport;
 import org.springframework.context.annotation.Import;
 import org.springframework.jmx.support.RegistrationPolicy;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 import javax.servlet.MultipartConfigElement;
 

+ 2 - 1
src/main/java/com/caimei/modules/club/dao/CmUserDao.java

@@ -17,4 +17,5 @@ public interface CmUserDao {
     void update(CmUser cmUser);
 
     CmUser findUserById(Integer userId);
-}
+    CmUser get(Integer userId);
+}

+ 2 - 1
src/main/java/com/caimei/modules/homepage/dao/ActiveDao.java

@@ -4,6 +4,7 @@ import com.caimei.modules.homepage.enity.Active;
 import com.caimei.modules.homepage.enity.ActiveImages;
 import com.caimei.modules.homepage.enity.BackProduct;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -25,7 +26,7 @@ public interface ActiveDao {
 
     void updateActive(Active active);
 
-    void insertImageProduct(Integer activeId, Integer imageId, Integer productId, Integer sort);
+    void insertImageProduct(@Param("activeId")Integer activeId, @Param("imageId")Integer imageId, @Param("productId") Integer productId, @Param("sort")Integer sort);
 
     List<Active> findActiveList(Active active);
 

+ 19 - 5
src/main/java/com/caimei/modules/order/controller/CmOrderRemarkController.java

@@ -2,7 +2,11 @@ package com.caimei.modules.order.controller;
 
 
 import com.caimei.modules.order.entity.CmOrderRemark;
+import com.caimei.modules.order.entity.NewOrder;
+import com.caimei.modules.order.entity.NewShopOrder;
 import com.caimei.modules.order.service.CmOrderRemarkService;
+import com.caimei.modules.order.service.NewOrderService;
+import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.utils.ResponseJson;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -17,6 +21,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 @Api(tags = "订单备注api")
@@ -27,12 +32,21 @@ public class CmOrderRemarkController {
 
 
     private final CmOrderRemarkService cmOrderRemarkService;
-
+    private final NewOrderService newOrderService;
+    private final OrderUtils orderUtil;
 
     @ApiOperation("订单备注详情")
-    @GetMapping(value = "/remarksView/{orderId}")
-    public ResponseJson<List<CmOrderRemark>> remarksView(@PathVariable("orderId") Integer orderId) {
-        List<CmOrderRemark> remarksList = cmOrderRemarkService.findList(orderId);
+    @GetMapping(value = "/remarksView/{orderId}/{shopOrderId}")
+    public ResponseJson<List<CmOrderRemark>> remarksView(@PathVariable("orderId") Integer orderId,@PathVariable("shopOrderId") Integer shopOrderId) {
+        List<CmOrderRemark> remarksList = cmOrderRemarkService.findList(shopOrderId);
+        NewOrder newOrder = newOrderService.get(orderId.toString());
+        orderUtil.setOrderValue(newOrder);
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(shopOrderId)).collect(Collectors.toList());
+        newOrder.setNewShopOrders(newShopOrders);
+        if(remarksList!=null&&remarksList.size()>0){
+
+            remarksList.get(0).setNewOrder(newOrder);
+        }
         return ResponseJson.success(remarksList);
     }
 
@@ -54,4 +68,4 @@ public class CmOrderRemarkController {
     public void downFile(Integer fileId, HttpServletRequest request, HttpServletResponse response) throws IOException {
         cmOrderRemarkService.downFile(fileId, request, response);
     }
-}
+}

+ 33 - 3
src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java

@@ -3,6 +3,7 @@ package com.caimei.modules.order.controller;
 import com.caimei.modules.club.entity.Page;
 import com.caimei.modules.order.entity.CmReturnedPurchase;
 import com.caimei.modules.order.entity.NewOrder;
+import com.caimei.modules.order.entity.NewShopOrder;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
 import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.modules.order.util.OrderUtils;
@@ -16,9 +17,13 @@ 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;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Api(tags = "退货退款api")
 @RequiredArgsConstructor
@@ -37,18 +42,43 @@ public class CmReturnedPurchaseController {
     @GetMapping(value = "list")
     public JsonModel list(CmReturnedPurchase cmReturnedPurchase, Page page) {
         PageHelper.startPage(page.getIndex(), page.getPageSize());
-        List<CmReturnedPurchase> returnedPurchaseList = cmReturnedPurchaseService.findList(cmReturnedPurchase);
+        List<CmReturnedPurchase> returnedPurchaseList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase);
         Page<CmReturnedPurchase> purchasePage = new Page<>(returnedPurchaseList);
         return JsonModel.newInstance().success(purchasePage);
     }
 
+    /**
+     * 接口参数:
+     * 用户撤销退款id
+     * 组织organizeId
+     * 主订单orderId
+     * 子订单shopOrderId
+     * @param cmReturnedPurchase
+     * @return
+     */
+    @ApiOperation("用户撤销退款")
+    @GetMapping(value = "revokeApply")
+    public ResponseJson<String> revokeApply(CmReturnedPurchase cmReturnedPurchase) {
+            cmReturnedPurchase = cmReturnedPurchaseService.get(cmReturnedPurchase.getId());
+            if (!"2".equals(cmReturnedPurchase.getStatus())) {
+               return ResponseJson.error("该退款单状态已发生改变,不可撤销");
+            }
+            cmReturnedPurchaseService.revokeApply(cmReturnedPurchase);
+
+        return ResponseJson.success("已撤销退款");
+    }
+
 
     @ApiOperation("用户退款单详情")
     @GetMapping(value = "/toReturnRecord/{id}")
     public ResponseJson<NewOrder> toReturnRecord(@PathVariable("id") Integer id) {
         CmReturnedPurchase cmReturnedPurchase = cmReturnedPurchaseService.get(id);
         NewOrder newOrder = newOrderService.get(cmReturnedPurchase.getOrderId().toString());
-        orderUtil.setOrderPostInfo(newOrder);
+        //过滤子订单
+        orderUtil.setOrderValue(newOrder);
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders();
+//        .stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(cmReturnedPurchase.getShopOrderId())).collect(Collectors.toList());
+        newOrder.setNewShopOrders(newShopOrders);
         newOrder.setCmReturnedPurchase(cmReturnedPurchase);
         cmReturnedPurchaseService.toReturnRecord(newOrder, cmReturnedPurchase);
         return ResponseJson.success(newOrder);
@@ -67,4 +97,4 @@ public class CmReturnedPurchaseController {
     }
 
 
-}
+}

+ 3 - 3
src/main/java/com/caimei/modules/order/controller/OrderDeliverController.java

@@ -42,9 +42,9 @@ public class OrderDeliverController {
     }
 
     @ApiOperation("发货记录")
-    @GetMapping("/deliver/details/{orderId}")
-    public ResponseJson<List<LogisticsInfoVo>> logisticsDetails(@PathVariable("orderId") Integer orderId) {
-        return deliverService.findDetails(orderId);
+    @GetMapping("/deliver/details/{orderId}/{shopOrderId}")
+    public ResponseJson<List<LogisticsInfoVo>> logisticsDetails(@PathVariable("orderId") Integer orderId,@PathVariable("shopOrderId") Integer shopOrderId) {
+        return deliverService.findDetails(orderId,shopOrderId);
     }
 
     @ApiOperation("物流公司")

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

@@ -150,8 +150,8 @@ public class OrderPayShopController {
 
     @ApiOperation("订单收付款记录")
     @ApiImplicitParam(name = "orderId", value = "订单id", required = true)
-    @GetMapping("/receipt/record/{orderId}")
-    public ResponseJson<Map<String, Object>> findReceiptRecord(@PathVariable Integer orderId) {
-        return payShopService.findReceiptRecord(orderId);
+    @GetMapping("/receipt/record/{orderId}/{shopOrderId}")
+    public ResponseJson<Map<String, Object>> findReceiptRecord(@PathVariable Integer orderId,@PathVariable Integer shopOrderId) {
+        return payShopService.findReceiptRecord(orderId,shopOrderId);
     }
 }

+ 3 - 3
src/main/java/com/caimei/modules/order/controller/OrderReceiptController.java

@@ -60,9 +60,9 @@ public class OrderReceiptController {
 
     @ApiOperation("收款详情")
     @ApiImplicitParam(required = true, name = "id", value = "收款Id")
-    @GetMapping("/receipt/detail/{id}")
-    public ResponseJson<ReceiptDetail> receiptDetail(@PathVariable("id") Integer id) {
-        return ResponseJson.success(cmDiscernReceiptService.findReceiptDetail(id));
+    @GetMapping("/receipt/detail/{id}/{shopOrderId}")
+    public ResponseJson<ReceiptDetail> receiptDetail(@PathVariable("id") Integer id,@PathVariable("shopOrderId") Integer shopOrderId) {
+        return ResponseJson.success(cmDiscernReceiptService.findReceiptDetail(id,shopOrderId));
     }
 
     @ApiOperation("收款帐号列表")

+ 12 - 4
src/main/java/com/caimei/modules/order/controller/OrganizeOrderController.java

@@ -19,6 +19,7 @@ import org.junit.Assert;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Api(tags = "订单api")
@@ -93,7 +94,8 @@ public class OrganizeOrderController {
         List<BpClause> bpClauses = bpClauseService.findList(bpClause);
         map.put("bpClauses", bpClauses);
         orderUtil.setOrderValue(order);
-        orderUtil.setOrderPostInfo(order);
+//        orderUtil.setOrderPostInfo(order);
+
         /**
          *  当主订单为【待收款】或者为线下支付的【部分收款】状态时,才显示更改订单状态按钮
          *  (排除交易全退订单)
@@ -110,7 +112,7 @@ public class OrganizeOrderController {
         order.setCheckFlag(checkFlag);
         map.put("order", order);
 
-        List<Voucher> vouchers = newOrderService.findVoucher(order.getOrderId());
+        List<Voucher> vouchers = newOrderService.findVoucher(order.getShopOrderId());
         map.put("voucher", vouchers);
         CmReturnedPurchase cmReturnedPurchase = new CmReturnedPurchase();
         cmReturnedPurchase.setStatus("2");
@@ -175,8 +177,14 @@ public class OrganizeOrderController {
         Map<String, Object> map = new HashMap();
         try {
             NewOrder newOrder = newOrderService.get(cmReturnedPurchase.getOrderId().toString());
-            orderUtil.setOrderPostInfo(newOrder);
-            List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase);
+//            orderUtil.setOrderPostInfo(newOrder);
+            //过滤子订单
+            orderUtil.setOrderValue(newOrder);
+            List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(cmReturnedPurchase.getShopOrderId())).collect(Collectors.toList());
+            newOrder.setNewShopOrders(newShopOrders);
+
+
+            List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase).stream().filter(returnedPurchase -> returnedPurchase.getShopOrderId() .equals( cmReturnedPurchase.getShopOrderId())).collect(Collectors.toList());
             //退款(退货)总金额
             Double returnedPurchaseFee = 0D;
             //退款总额(给买家)

+ 3 - 1
src/main/java/com/caimei/modules/order/dao/CmDiscernReceiptDao.java

@@ -21,7 +21,9 @@ public interface CmDiscernReceiptDao {
 
     List<OrderRelationRecord> findOrderRelation(Integer receiptId);
 
-    List<NewShopOrder> findReceiptShopOrder(Integer orderId);
+    List<NewShopOrder> findReceiptShopOrder(@Param("orderId") Integer orderId,@Param("shopOrderId")Integer shopOrderId);
+
+    Double findShoOrderIDReceipt(@Param("shopOrderID") Integer orderID);
 
     List<ReceiptPayType> findReceiptType();
 

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

@@ -10,7 +10,7 @@ import java.util.List;
 @Mapper
 public interface CmOrderRemarkDao{
 
-    List<CmOrderRemark> findList(Integer orderId);
+    List<CmOrderRemark> findList(Integer shopOrderID);
 
     void insert(CmOrderRemark remark);
 
@@ -27,4 +27,4 @@ public interface CmOrderRemarkDao{
     void insertImage(RemarkImage i);
 
     void insertFile(OssFile o);
-}
+}

+ 0 - 13
src/main/java/com/caimei/modules/order/dao/CmProductSnDao.java

@@ -1,13 +0,0 @@
-package com.caimei.modules.order.dao;
-
-import com.caimei.modules.club.entity.CmProductSn;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface CmProductSnDao {
-
-    List<CmProductSn> getListSignByOrderProduct(@Param("orderProductId") Integer orderProductId, @Param("shopOrderId") Integer shopOrderId);
-}

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

@@ -26,4 +26,8 @@ public interface CmReturnedPurchaseDao {
     List<Integer> findReturnIds(Integer orderId);
 
     List<ReturnRecord> findRecordByShopOrder(Integer shopOrderId);
+
+    int updateRevokeApply(CmReturnedPurchase cmReturnedPurchase);
+
+    List<CmReturnedPurchase> findReturnedPurchaseRecord(CmReturnedPurchase item);
 }

+ 80 - 0
src/main/java/com/caimei/modules/order/dao/CmUserBalanceRecordMapper.java

@@ -0,0 +1,80 @@
+package com.caimei.modules.order.dao;
+
+import java.util.List;
+
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户余额收支记录Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Mapper
+public interface CmUserBalanceRecordMapper
+{
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 删除用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordByIds(Integer[] ids);
+
+    /**
+     * 修改批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int updateDelCmUserBalanceRecordByIds(Integer[] ids);
+}

+ 1 - 1
src/main/java/com/caimei/modules/order/dao/NewOrderDao.java

@@ -52,7 +52,7 @@ public interface NewOrderDao {
 
     void updateReceiptStatus(Integer status, String orderStatus,Integer orderId);
 
-    List<Voucher> findVoucher(Integer orderId);
+    List<Voucher> findVoucher(Integer shopOrderID);
 
     List<String> findVocherImage(Integer id);
 

+ 4 - 1
src/main/java/com/caimei/modules/order/dao/NewOrderProductDao.java

@@ -2,15 +2,18 @@ package com.caimei.modules.order.dao;
 
 import com.caimei.modules.order.entity.NewOrderProduct;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 @Mapper
 public interface NewOrderProductDao {
-    
+
     NewOrderProduct get(Integer orderProductId);
 
     List<NewOrderProduct> findListByShopOrderId(Integer shopOrderId);
+    
+    Integer CountReturnedPurchaseProduct(@Param("shopOrderID") Integer shopOrderID, @Param("orderProductID") Integer orderProductID);
 
     Integer getReturningNum(Integer orderProductId);
 

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

@@ -28,4 +28,6 @@ public class CmOrderRemark implements Serializable {
     private List<String> images;
     @ApiModelProperty("上传文件")
     private List<OssFile> ossFiles;
+    @ApiModelProperty("订单信息")
+    NewOrder newOrder;
 }

+ 66 - 0
src/main/java/com/caimei/modules/order/entity/CmUserBalanceRecord.java

@@ -0,0 +1,66 @@
+package com.caimei.modules.order.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+/**
+ * 用户余额收支记录对象 cm_user_balance_record
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmUserBalanceRecord")
+public class CmUserBalanceRecord implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Integer id;
+
+    /** 用户ID */
+    private Integer userId;
+
+    /** 收支类型:1收入,2支出 */
+    private String type;
+
+    /** 余额类型:1线下余额抵扣,2多收退款到余额,3申请退款到线下余额,4余额充值,5余额提现,6线下订金订单充值,7线下余额订单充值,8线下订金订单退款,9线下余额订单退款,10线上余额抵扣,13申请退款到线上余额,16线上订金订单充值,17线上余额订单充值,18线上订金订单退款,19线上余额订单退款 */
+    private String balanceType;
+
+    /** 添加时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date addDate;
+
+    /** 金额 */
+    private BigDecimal amount;
+
+    /** 主订单ID(适用余额类型1,3[类型为3多次退款存在相同记录ID则需通过退款ID唯一区分]) */
+    private Integer orderId;
+
+    /** 子订单Id */
+    private Integer shopOrderId;
+
+    /** 收款ID(适用余额类型2) */
+    private Integer receiptId;
+
+    /** 退货退款ID(适用余额类型3) */
+    private Integer returnedId;
+
+    /** 用户提现ID对应表(cm_user_balance_withdrawals) */
+    private Integer withdrawalsId;
+
+    /** 备注 */
+    private String remark;
+
+    /** 删除标记 0 否,其余是 */
+    private String delFlag;
+
+}

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

@@ -34,4 +34,6 @@ public class LogisticsBatch {
     private String remark;
     @ApiModelProperty("备注图片,以##隔开")
     private String remarkImage;
+    @ApiModelProperty("订单信息")
+    NewOrder newOrder;
 }

+ 98 - 0
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -19,6 +19,9 @@ public class NewOrder implements Serializable {
 
     private String orderNo;
 
+    @ApiModelProperty("订单可见度")
+    private Integer orderSeen;
+
     @ApiModelProperty("结算状态")
     private Integer settleStatus;
 
@@ -150,6 +153,9 @@ public class NewOrder implements Serializable {
     @ApiModelProperty("退货退款类型:0无退款、1部分退、2全部退")
     private String refundType;
 
+    private String orderType;//    订单类型 0协销订单、 1普通订单、 2呵呵订单
+
+
     @ApiModelProperty("邮费订单标识 1是邮费订单  0不是邮费订单")
     private String postageOrderFlag = "0";
 
@@ -224,8 +230,100 @@ public class NewOrder implements Serializable {
      */
     @ApiModelProperty("展示字段:能否更改收款状态 1可以 0不可以")
     private Integer checkFlag;
+    /**
+     * 当主订单为【待收款】或者为线下支付的【部分收款】状态时,才显示更改订单状态按钮
+     * (排除交易全退订单)
+     */
+    @ApiModelProperty("1WWW、2CRM、3APP[历史数据]、4客服、5外单、6小程序[采美,星范等]")
+    private Integer orderSource;
 
     @ApiModelProperty("退款信息")
     private CmReturnedPurchase cmReturnedPurchase;
+
+
+    private Integer organizeStoreId;    // 组织门店id
+    private Integer shopOrderId;        // varchar(100) comment '子订单Id',
+    private String shopOrderIds;        // varchar(100) comment '子订单Id',
+    private Double promotionFullReduction;             //DECIMAL(20,2) DEFAULT 0.00  NULL   COMMENT '促销满减优惠' AFTER `discountFee`,
+    private Integer mainSpId;            // bigint(6),
+    private String clubScanTime;        // varchar(19),
+    private String payWay;              // 支付方式,(协销订单可能会存在多种进账方式用,隔开),
+    private Integer payTypeId;           // int(11) comment '支付类型',
+    private String cooFreeFlag;          // char(1) comment '库分期免息状态',
+    private Integer cooFreeRate;         // int(3) comment '库分期分期费率',
+    private Double cooFreeAmount;       // decimal(20,2) comment '库分期免息金额',
+    private Integer promotionalGiftsCount; // INT(11) NULL   COMMENT '促销赠品总数' AFTER `presentCount
+    private String splitFlag; // 订单能否拆分 1 为可拆分, 0为不可拆分
+    private String closeTime;   // 订单关闭时间
+    private Double discountAmount;  // 优惠金额:经理折扣+促销优惠+优惠券抵扣金额
+    // ---------------- v5.0.0 新加
+    private Double totalDiscount;//订单退款已退的经理折扣金额
+    private Integer zeroCostFlag;//订单0成本标识
+    private Integer userBeans;//采美豆抵扣运费数量(100:1)
+    // -----------------  v5.0.0 end
+    private Integer returnGoodsStutas;//能否退货  1 能 2 不能
+    //-------------        虚拟字段   ----------------------------
+    private Integer settleRecordNum;   //佣金结算数量
+    private String unReceipt;//未收金额(需要包含运费,目前只存在普通订单存在运费)
+    private String paid;//已付金额(不需要包含运费,等同于订单商品金额)
+    private String unpaid;//未付金额(不需要包含运费,等同于订单商品金额)
+    private String startConfirmTime;
+    private String endConfirmTime;
+    private String startRefundTime;
+    private String endRefundTime;
+    private String shopNameInfo;//
+    private String spName;
+    private Integer serviceProviderId;  //协销Id
+    private Double settleAmount;   // 已结算金额
+    private Integer splitCount;  //分账记录数
+
+    // 促销
+    private String searchflag;//0搜索,1导出
+    private String[] shopNote;  //子订单备注   修改时用来记录一下的
+    private String rebateOrder;  //是不是返佣订单 是的1,  不是的0
+    private String[] ps;    //付款状态集合
+    private Double shouldPayShopAmount; //付供应商总金额
+    private Double returnValue;  //退款总金额
+    private Boolean returnedFreightFlag;//机构运费退货标识
+    private List<NewOrderProduct> newOrderProducts;  // 订单商品列表
+
+    // 收款确认类型(1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联)
+    private String confirmType;
+    private Double orderReceivedAmount;//订单已收金额(此收款只计算线上线下收款记录payableAmount表金额)
+    private Double returnBalanceAmount;// 退款余额金额
+    private String secondHandOrderFlag;//二手商品订单标识  0非二手商品订单、 1二手商品订单
+    private boolean receiptOrderFlag;// 判断订单中抹平的订单是否是和多个订单一起支付的,
+    private Integer rechargeGoods; //1,缴纳订金;2,充值余额
+    private String affirmPaymentFlag;// 二手订单确认付款供应商标识 0未确认,1已确认
+    private String rebateFlag;//返佣订单标识,0非返佣订单,1返佣订单,2普通订单有返佣服务费
+    private String rebateFee; // 返佣服务费
+    private String associationType;//订单关联方式: 1手动 2自动
+    private Double ableUserMoney; //当前下单用户可用余额
+    private String organizeStoreName;//组织机构名称
+    /**
+     * 优惠券机构关联Id
+     */
+    private Integer clubCouponId;
+    private Double couponAmount;    //优惠券抵扣金额
+    private Double svipFullReduction;   //超级会员优惠
+    private Integer collageFlag;    // 拼团订单标识:1拼团订单,0不是
+    private Integer collageStatus;  // 拼团状态:1拼团中,2已拼成
+    private Double reductionAmount;    //分享减免金额
+    private Double reductionTouchPrice; //分享减免条件
+    private Integer onlinfePayFlag;  //线上支付标记
+
+    private Integer productCategory;//商品订单状态 1.普通订单 2.二手订单
+
+    private Integer productCode;//订单商品是否是采美信息分帐号收款的线上支付子订单
+
+    private Integer numbers;    // 总数
+    private Double totalMoney;  // 总金额
+
+
+    /**
+     * 呵呵商城优惠券
+     */
+    private Integer receiveCouponId;
+    private Integer delFlag;
 }
 

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

@@ -27,8 +27,6 @@ public class NewOrderProduct {
     private Integer presentNum;
     @ApiModelProperty("skuId")
     private Integer skuId;
-    @ApiModelProperty("组织skuId")
-    private Integer organizeSkuId;
     @ApiModelProperty("商品编号")
     private String productNo;
     @ApiModelProperty("订单商品购买价格")

+ 12 - 1
src/main/java/com/caimei/modules/order/entity/NewShopOrder.java

@@ -29,6 +29,8 @@ public class NewShopOrder {
     private Double freight;
     @ApiModelProperty("主订单总佣金")
     private Double totalBrokerage;
+    @ApiModelProperty("免邮标志 运费:-1到付,0包邮,1需要运费,-2仪器到付其它包邮")
+    private String shopPostFlag;
     @ApiModelProperty("主订单收款金额")
     private Double receiptTotalFee;
     @ApiModelProperty("付款单的商品费, 子订单商品的成本价的和")
@@ -46,6 +48,9 @@ public class NewShopOrder {
     @ApiModelProperty("待付采美")
     private Double waitPayCmAmount;
 
+    @ApiModelProperty("子订单待付金额")
+    private Double restAmount;
+
     @ApiModelProperty("应付供应商 = 商品费 + 运费 + 税费")
     private Double shouldPayShopAmount;
     @ApiModelProperty("已付供应商")
@@ -65,7 +70,7 @@ public class NewShopOrder {
     @ApiModelProperty("买家/客户")
     private String buyer;
     @ApiModelProperty("子订单收款状态:1待收款、2部分收款、3已收款")
-    private Integer receiptStatus;
+    private String receiptStatus;
     @ApiModelProperty("主订单收款状态:1待收款、2部分收款、3已收款")
     private Integer orderReceiptStatus;
 
@@ -99,6 +104,8 @@ public class NewShopOrder {
     private Integer shopOrderId;
     @ApiModelProperty("子订单编号")
     private String shopOrderNo;
+    @ApiModelProperty("0待确认,11待收待发,12待收部发,13待收全发,21部收待发,22部收部发,23部收全发,31已收待发,32已收部发,33已收全发,4交易完成,5订单完成,6已关闭,7交易全退")
+    private String shopStatus;
     @ApiModelProperty("订单编号")
     private String orderNo;
     @ApiModelProperty("订单Id")
@@ -180,6 +187,10 @@ public class NewShopOrder {
     private String postFeeCos = "0";
     @ApiModelProperty("机构名称")
     private String clubName;
+    @ApiModelProperty("退款状态 1无退款,3有退款")
+    private String refundStatus;
+    @ApiModelProperty("支付凭证")
+    List<Voucher> vouchers;
     /**
      *  付款列表展示数据
      */

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

@@ -27,6 +27,8 @@ public class ReceiptVo implements Serializable {
     @ApiModelProperty("收款id")
     private Integer receiptId;
 
+    @ApiModelProperty("子订单编号")
+    private String  shopOrderId;
     @ApiModelProperty("关联子订单号")
     private String  shopOrderNos;
 

+ 1 - 1
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -13,7 +13,7 @@ public interface CmDiscernReceiptService {
 
     PageInfo<ReceiptVo> findReceiptList(ReceiptVo receiptVo, Integer pageNum, Integer pageSize);
 
-    ReceiptDetail findReceiptDetail(Integer id);
+    ReceiptDetail findReceiptDetail(Integer id,Integer shopOrderId);
 
     List<ReceiptPayType> findPayType();
 

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

@@ -14,6 +14,9 @@ public interface CmReturnedPurchaseService {
 
     CmReturnedPurchase get(Integer id);
 
+     void revokeApply(CmReturnedPurchase cmReturnedPurchase);
+
+
     void toReturnRecord(NewOrder newOrder,CmReturnedPurchase cmReturnedPurchase);
 
     List<NewOrder> getReturnDetailList(Integer orderId);

+ 86 - 0
src/main/java/com/caimei/modules/order/service/CmUserBalanceRecordService.java

@@ -0,0 +1,86 @@
+package com.caimei.modules.order.service;
+
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+
+import java.util.List;
+
+/**
+ * 用户余额收支记录Service接口
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+public interface CmUserBalanceRecordService
+{
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的用户余额收支记录主键集合
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordByIds(Integer[] ids);
+
+    /**
+     * 删除用户余额收支记录信息
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 批量新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    public void batchAddCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList);
+
+    /**
+     * 批量修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    public void batchUpdateCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList);
+}

+ 1 - 1
src/main/java/com/caimei/modules/order/service/OrderDeliverService.java

@@ -18,7 +18,7 @@ public interface OrderDeliverService {
 
     ResponseJson confirmDeliver(DeliverDto dto);
 
-    ResponseJson<List<LogisticsInfoVo>> findDetails(Integer orderId);
+    ResponseJson<List<LogisticsInfoVo>> findDetails(Integer orderId,Integer shopOrderId);
 
     ResponseJson<List<CompanyVo>> getLogisticsCompany(String value);
 }

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

@@ -37,7 +37,7 @@ public interface PayShopService {
 
     ResponseJson<Map<String,Object>> findSplitRecord(Integer orderId);
 
-    ResponseJson<Map<String,Object>> findReceiptRecord(Integer orderId);
+    ResponseJson<Map<String,Object>> findReceiptRecord(Integer orderId,Integer shopOrderId);
 
     ResponseJson backPay(Integer id);
 

+ 17 - 5
src/main/java/com/caimei/modules/order/service/impl/CmDiscernReceiptServiceImpl.java

@@ -4,12 +4,14 @@ import com.caimei.modules.order.dao.CmDiscernReceiptDao;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmDiscernReceiptService;
 import com.caimei.modules.order.service.NewOrderService;
+import com.caimei.utils.MathUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.List;
 
 @Slf4j
@@ -36,18 +38,28 @@ public class CmDiscernReceiptServiceImpl implements CmDiscernReceiptService {
     }
 
     @Override
-    public ReceiptDetail findReceiptDetail(Integer id) {
+    public ReceiptDetail findReceiptDetail(Integer id,Integer shopOrderId) {
         ReceiptDetail r = cmDiscernReceiptDao.findReceiptDetail(id);
         List<ReceiptOrderInfo> orderInfos = cmDiscernReceiptDao.findReceiptOrder(r.getOrderId());
         orderInfos.forEach(o -> {
             o.setRecords(cmDiscernReceiptDao.findOrderRelation(r.getReceiptId()));
-            if (1 == r.getPayWay()) {
-                o.setShopOrders(cmDiscernReceiptDao.findReceiptShopOrder(o.getOrderId()));
-            }
+//            if (1 == r.getPayWay()) {
+            List<NewShopOrder> receiptShopOrder = cmDiscernReceiptDao.findReceiptShopOrder(o.getOrderId(), shopOrderId);
+            receiptShopOrder.forEach(newShopOrder -> {
+                BigDecimal add = MathUtil.add(newShopOrder.getReceiptAmount(), cmDiscernReceiptDao.findShoOrderIDReceipt(newShopOrder.getShopOrderId()));
+                newShopOrder.setReceiptAmount(add.doubleValue());
+                BigDecimal sub = MathUtil.sub(
+                        newShopOrder.getRealPay() != null ? newShopOrder.getRealPay() : newShopOrder.getNeedPayAmount()
+                        , newShopOrder.getReceiptAmount());
+                newShopOrder.setRestAmount(sub.doubleValue());
+            });
+
+            o.setShopOrders(receiptShopOrder);
+//            }
         });
         r.setOrderInfos(orderInfos);
         if (2 == r.getPayWay()) {
-            List<Voucher> vouchers = orderService.findVoucher(r.getOrderId());
+            List<Voucher> vouchers = orderService.findVoucher(shopOrderId);
             r.setVouchers(vouchers);
         }
         return r;

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

@@ -35,8 +35,8 @@ public class CmOrderRemarkServiceImpl implements CmOrderRemarkService {
     private OSSUtils ossUtils;
 
     @Override
-    public List<CmOrderRemark> findList(Integer orderId) {
-        List<CmOrderRemark> list = cmOrderRemarkDao.findList(orderId);
+    public List<CmOrderRemark> findList(Integer shopOrderID) {
+        List<CmOrderRemark> list = cmOrderRemarkDao.findList(shopOrderID);
         list.forEach(l -> {
             l.setImages(cmOrderRemarkDao.findImages(l.getId()));
             l.setOssFiles(cmOrderRemarkDao.findFiles(l.getId()));

+ 168 - 3
src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java

@@ -1,17 +1,27 @@
 package com.caimei.modules.order.service.impl;
 
+import com.caimei.modules.club.dao.CmUserDao;
+import com.caimei.modules.club.entity.CmUser;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
+import com.caimei.modules.order.service.CmUserBalanceRecordService;
 import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.modules.order.service.NewShopOrderService;
 import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.utils.AppUtils;
+import com.caimei.utils.MathUtil;
+import com.caimei.utils.NewOrderStatus;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.*;
 
 @Slf4j
@@ -30,11 +40,19 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     @Resource
     private NewOrderService orderService;
     @Resource
+    private NewOrderDao orderDao;
+    @Resource
+    private CmUserBalanceRecordService cmUserBalanceRecordService;
+    @Resource
     private OrderUtils orderUtil;
     @Resource
     private PayShopDao payShopDao;
     @Resource
     private NewShopOrderDao shopOrderDao;
+    @Resource
+    private CmUserDao cmUserDao;
+    @Resource
+    private NewOrderProductDao newOrderProductDao;
 
 
     @Override
@@ -45,6 +63,7 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
             for (CmReturnedPurchase bean : dataList) {
                 CmReturnedPurchaseProduct cmReturnedPurchaseProduct = new CmReturnedPurchaseProduct();
                 cmReturnedPurchaseProduct.setReturnedId(bean.getId());
+                cmReturnedPurchaseProduct.setShopOrderId(bean.getShopOrderId());
                 List<CmReturnedPurchaseProduct> list = cmReturnedPurchaseProductDao.findList(cmReturnedPurchaseProduct);
                 for (CmReturnedPurchaseProduct item : list) {
                     //设置全路径
@@ -129,12 +148,12 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     @Override
     public void toReturnRecord(NewOrder newOrder, CmReturnedPurchase cmReturnedPurchase) {
         orderUtil.setReceiverVal(newOrder);
-        List<NewShopOrder> shopOrders = cmReturnedPurchaseDao.findReturnShopOrder(cmReturnedPurchase.getId());
-        shopOrders.forEach(s -> {
+//        List<NewShopOrder> shopOrders = cmReturnedPurchaseDao.findReturnShopOrder(cmReturnedPurchase.getId());
+        newOrder.getNewShopOrders().forEach(s -> {
             List<NewOrderProduct> orderProducts = cmReturnedPurchaseProductDao.findProductByShopOrder(s.getShopOrderId(), cmReturnedPurchase.getId());
             s.setNewOrderProducts(orderProducts);
         });
-        newOrder.setNewShopOrders(shopOrders);
+//        newOrder.setNewShopOrders(shopOrders);
     }
 
     @Override
@@ -164,4 +183,150 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
         map.put("returns", returns);
         return map;
     }
+
+    @Transactional(readOnly = false)
+    @Override
+    public void revokeApply(CmReturnedPurchase cmReturnedPurchase) {
+        try {
+            //1.撤销退款退货表审核通过信息
+            cmReturnedPurchase.setConfirmReturnTime(null);
+            cmReturnedPurchase.setReviewImage1(null);
+            cmReturnedPurchase.setReviewImage2(null);
+            cmReturnedPurchase.setReviewImage3(null);
+            cmReturnedPurchase.setReviewImage4(null);
+            cmReturnedPurchase.setReviewImage5(null);
+            cmReturnedPurchase.setStatus("1");
+            cmReturnedPurchase.setReviewUserId(null);
+            cmReturnedPurchase.setReviewRemarks(null);
+            cmReturnedPurchaseDao.updateRevokeApply(cmReturnedPurchase);
+            NewOrder newOrder = orderService.get(cmReturnedPurchase.getOrderId().toString());
+            NewShopOrder newShopOrder = shopOrderDao.get(cmReturnedPurchase.getShopOrderId());
+            //2.查询除本次撤销记录外存在的其他的有效记录
+            CmReturnedPurchase item = new CmReturnedPurchase();
+            item.setStatus("2");
+//            item.setOrderId(cmReturnedPurchase.getOrderId());
+            item.setShopOrderId(cmReturnedPurchase.getShopOrderId());
+            List<CmReturnedPurchase> returnedPurchaseRecord = cmReturnedPurchaseDao.findReturnedPurchaseRecord(item);
+            if (CollectionUtils.isNotEmpty(returnedPurchaseRecord)) {
+                //存在退款记录则本次撤销后订单状态为部分退款
+                //部分退货
+                newOrder.setRefundType("1");
+                String status = newShopOrder.getShopStatus();
+                if (StringUtils.equals("5", status)) {//如果之前为交易全退,撤销后则变为
+                    newShopOrder.setShopStatus("1");//待收待发
+//                    if (StringUtils.equals("1", newShopOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+//                        newShopOrder.setShopStatus(NewOrderStatus.DAISHOU_BUFA.getCode());//待收部发
+//                    }
+//                    if (StringUtils.equals("2", newShopOrder.getReceiptStatus())) {
+//                        newShopOrder.setShopStatus(NewOrderStatus.BUSHOU_BUFA.getCode());//部收部发
+//                    }
+//                    if (StringUtils.equals("3", newShopOrder.getReceiptStatus())) {
+//                        newShopOrder.setShopStatus(NewOrderStatus.YISHOU_BUFA.getCode());//已收部发
+//                    }
+                }
+            } else {
+                //不存在退款记录则本次退款为未退款
+                String status = newShopOrder.getShopStatus();
+                newOrder.setRefundType("");
+                if (StringUtils.equals("5", status)) {//如果之前为交易全退,撤销后则变为
+                    newShopOrder.setShopStatus("1");//待收待发
+//                    if (StringUtils.equals("1", newShopOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+//                        newShopOrder.setShopStatus(NewOrderStatus.DAISHOU_DAIFA.getCode());//待收待发
+//                    }
+//                    if (StringUtils.equals("2", newShopOrder.getReceiptStatus())) {
+//                        newShopOrder.setShopStatus(NewOrderStatus.BUSHOU_DAIFA.getCode());//部收待发
+//                    }
+//                    if (StringUtils.equals("3", newShopOrder.getReceiptStatus())) {
+//                        newShopOrder.setShopStatus(NewOrderStatus.YISHOU_DAIFA.getCode());//已收待发
+//                    }
+                }
+            }
+            newShopOrder.setRefundStatus("1");//无退款
+            //更新订单信息
+            orderDao.update(newOrder);
+            shopOrderDao.update(newShopOrder);
+
+            //更新用户余额总金额
+            Integer userID = newOrder.getUserId();
+            CmUser cmUser = cmUserDao.get(userID);
+            Double refundBalanceFee = cmReturnedPurchase.getRefundBalanceFee();
+            cmUser.setUserId(userID);
+
+            CmUserBalanceRecord balanceRecord = cmUserBalanceRecordService.getByCmUserBalanceRecord(new CmUserBalanceRecord().setReturnedId(cmReturnedPurchase.getId()));
+            //充值或缴纳订金订单
+            if (balanceRecord != null) {
+                balanceRecord.setRemark("已撤销退款");
+                cmUser.setUserMoney(cmUser.getUserMoney() + cmReturnedPurchase.getRefundFee());
+            } else {
+                cmUser.setAbleUserMoney(cmUser.getAbleUserMoney() - refundBalanceFee);
+                cmUser.setUserMoney(cmUser.getUserMoney() - refundBalanceFee);
+            }
+
+            //撤销审核通过的余额记录
+            if (refundBalanceFee > 0) {//存在余额退款
+                //撤销余额收支记录
+                balanceRecord.setUserId(newOrder.getUserId());
+//                balanceRecord.setOrderId(newOrder.getOrderId());
+                balanceRecord.setShopOrderId(cmReturnedPurchase.getShopOrderId());
+                balanceRecord.setReturnedId(cmReturnedPurchase.getId());
+                balanceRecord.setRemark("撤销退款,余额记录无效-后台");
+                balanceRecord.setDelFlag("1");
+            }
+            cmUserDao.update(cmUser);
+            if(balanceRecord!=null){
+                cmUserBalanceRecordService.updateCmUserBalanceRecord(balanceRecord);
+            }
+//            //撤销退款采美豆
+//            Integer userBeans = Integer.valueOf(cmUser.getUserBeans());
+//            Integer num = cmUserbeanshistoryDao.findByBeansType(newOrder.getOrderID());
+//            if (num != null && num > 0) {
+//                userBeans = userBeans + num;
+//            }
+//            if (newOrder.getUserBeans() != null && newOrder.getUserBeans() > 0) {
+//                userBeans = userBeans - newOrder.getUserBeans();
+//            }
+//            cmUserbeanshistoryDao.updateBeansHistoryByReturned(newOrder.getOrderID());
+//            cmUserDao.updateUserBeans(newOrder.getUserID(), userBeans);
+//            //撤销优惠券退款
+//            if (newOrder.getCouponAmount() > 0) {
+//                cmCouponClubDao.deleteByReturnedId(cmReturnedPurchase.getId());
+//            }
+            //修改子订单信息
+            updateShopOrderAmount(newOrder.getOrderId(),cmReturnedPurchase.getShopOrderId(),returnedPurchaseRecord);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    public void updateShopOrderAmount(Integer orderId,Integer shopOrderId,List<CmReturnedPurchase> returnedPurchaseRecord) {
+        //修改子订单付供应商金额
+        List<NewShopOrder> shopOrders = shopOrderDao.findListByOrderId(orderId);
+        shopOrders.removeIf(s -> 998 == s.getShopId());
+        for (NewShopOrder shopOrder : shopOrders) {
+            if(shopOrderId!=null&&shopOrderId!=shopOrder.getShopOrderId()){
+                continue;
+            }
+            List<NewOrderProduct> orderProducts = newOrderProductDao.findListByShopOrderId(shopOrder.getShopOrderId());
+            BigDecimal totalCostFee = BigDecimal.ZERO;
+            BigDecimal shopTaxFee = BigDecimal.ZERO;
+            for (NewOrderProduct orderProduct : orderProducts) {
+                Integer count = newOrderProductDao.CountReturnedPurchaseProduct(shopOrder.getShopOrderId(), orderProduct.getOrderProductId());
+                count = count == null ? 0 : count;
+                Integer number = orderProduct.getNum() + orderProduct.getPresentNum() - count;
+                totalCostFee = totalCostFee.add(MathUtil.mul(number, orderProduct.getCostPrice()));
+                shopTaxFee = shopTaxFee.add(MathUtil.mul(number, orderProduct.getSingleShouldPayTotalTax()));
+            }
+            // 商品费
+            shopOrder.setShopProductAmount(totalCostFee.doubleValue());
+            // 应付税费
+            shopOrder.setTotalAddedValueTax(shopTaxFee.doubleValue());
+            if (null == shopOrder.getShopPostFee()) {
+                shopOrder.setShopPostFee(0D);
+            }
+            // 付供应商
+            double shouldPayShopAmount = shopOrder.getShopProductAmount() + shopOrder.getShopPostFee() + shopOrder.getTotalAddedValueTax();
+            shopOrder.setShouldPayShopAmount(shouldPayShopAmount);
+            shopOrderDao.update(shopOrder);
+        }
+
+    }
 }

+ 141 - 0
src/main/java/com/caimei/modules/order/service/impl/CmUserBalanceRecordServiceImpl.java

@@ -0,0 +1,141 @@
+package com.caimei.modules.order.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.aliyun.oss.common.utils.StringUtils;
+import com.caimei.modules.order.dao.CmUserBalanceRecordMapper;
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+import com.caimei.modules.order.service.CmUserBalanceRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 用户余额收支记录Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Service
+public class CmUserBalanceRecordServiceImpl implements CmUserBalanceRecordService {
+    @Autowired
+    private CmUserBalanceRecordMapper cmUserBalanceRecordMapper;
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    @Override
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id) {
+        return cmUserBalanceRecordMapper.getCmUserBalanceRecordById(id);
+    }
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    @Override
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.getByCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    @Override
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.getCmUserBalanceRecordList(cmUserBalanceRecord);
+    }
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    @Override
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.addCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    @Override
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.updateCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的用户余额收支记录主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int delCmUserBalanceRecordByIds(Integer[] ids) {
+        return cmUserBalanceRecordMapper.updateDelCmUserBalanceRecordByIds(ids);
+        //return cmUserBalanceRecordMapper.delCmUserBalanceRecordByIds(ids);
+    }
+
+    /**
+     * 删除用户余额收支记录信息
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int delCmUserBalanceRecordById(Integer id) {
+        return cmUserBalanceRecordMapper.updateCmUserBalanceRecord(new CmUserBalanceRecord().setId(id).setDelFlag("1"));
+        //return cmUserBalanceRecordMapper.delCmUserBalanceRecordById(id);
+    }
+
+    /**
+     * 批量新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public void batchAddCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList) {
+        if (null != cmUserBalanceRecordList) {
+            for (CmUserBalanceRecord cmUserBalanceRecord : cmUserBalanceRecordList) {
+                if (null != cmUserBalanceRecord) {
+                    cmUserBalanceRecordMapper.addCmUserBalanceRecord(cmUserBalanceRecord);
+                }
+            }
+        }
+    }
+
+    /**
+     * 批量修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public void batchUpdateCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList) {
+        if (null != cmUserBalanceRecordList) {
+            for (CmUserBalanceRecord cmUserBalanceRecord : cmUserBalanceRecordList) {
+                if (null != cmUserBalanceRecord) {
+                    cmUserBalanceRecordMapper.updateCmUserBalanceRecord(cmUserBalanceRecord);
+                }
+            }
+        }
+    }
+}

+ 2 - 4
src/main/java/com/caimei/modules/order/service/impl/NewOrderServiceImpl.java

@@ -30,8 +30,6 @@ public class NewOrderServiceImpl implements NewOrderService {
     @Resource
     private NewOrderDao newOrderDao;
     @Resource
-    private CmReturnedPurchaseDao cmReturnedPurchaseDao;
-    @Resource
     private NewShopOrderDao newShopOrderDao;
     @Resource
     private OrderUserInfoService orderUserInfoService;
@@ -129,8 +127,8 @@ public class NewOrderServiceImpl implements NewOrderService {
     }
 
     @Override
-    public List<Voucher> findVoucher(Integer orderId) {
-        List<Voucher> voucher = newOrderDao.findVoucher(orderId);
+    public List<Voucher> findVoucher(Integer shopOrderID) {
+        List<Voucher> voucher = newOrderDao.findVoucher(shopOrderID);
         voucher.forEach(v -> v.setImages(newOrderDao.findVocherImage(v.getId())));
         return voucher;
     }

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

@@ -2,6 +2,7 @@ package com.caimei.modules.order.service.impl;
 
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
+import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.modules.order.service.OrderDeliverService;
 import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.utils.ResponseJson;
@@ -11,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -32,6 +34,8 @@ public class OrderDeliverServiceImpl implements OrderDeliverService {
     private LogisticsRecordDao recordDao;
     @Resource
     private LogisticsInformationDao informationDao;
+    @Resource
+    private NewOrderDao newOrderDao;
 
     @Override
     public NewOrder toDeliver(Integer orderId) {
@@ -122,10 +126,19 @@ public class OrderDeliverServiceImpl implements OrderDeliverService {
     }
 
     @Override
-    public ResponseJson<List<LogisticsInfoVo>> findDetails(Integer orderId) {
+    public ResponseJson<List<LogisticsInfoVo>> findDetails(Integer orderId ,Integer shopOrderId) {
         List<LogisticsInfoVo> result = new ArrayList<>();
         //查询这个子订单所有的发货批次记录
-        List<LogisticsBatch> lbs = logisticsBatchDao.findBatch(orderId, null);
+        List<LogisticsBatch> lbs = logisticsBatchDao.findBatch(orderId, null).stream().filter(remark -> remark.getShopOrderId() .equals(shopOrderId)).collect(Collectors.toList());
+        //过滤子订单
+        NewOrder newOrder = newOrderDao.get(orderId.toString());
+        orderUtil.setOrderValue(newOrder);
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(shopOrderId)).collect(Collectors.toList());
+        newOrder.setNewShopOrders(newShopOrders);
+        if(lbs!=null&&lbs.size()>0){
+            lbs.get(0).setNewOrder(newOrder);
+        }
+
         for (LogisticsBatch l : lbs) {
             LogisticsInfoVo liv = new LogisticsInfoVo();
             // 每一批的发货商品记录

+ 17 - 8
src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java

@@ -23,6 +23,7 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
 
 
 /**
@@ -302,12 +303,13 @@ public class PayShopServiceImpl implements PayShopService {
                              *  由于供应商承担付款手续费,只用参与真实分账部分处理0.1%分账手续费,
                              *  不在setSplitAccountDetail计算过程中扣除分账手续费
                              */
-                            BigDecimal bigDecimal = MathUtil.div(value, 1.001).setScale(2, RoundingMode.HALF_UP);
-                            // 一分钱的时候分账0 ,手续费为最低0.01
-                            if (0.01 == bigDecimal.doubleValue()) {
-                                bigDecimal = BigDecimal.valueOf(0);
+                            // 分账计算的时候未处理手续费,总额处理手续费   x + x * 0.1% = value
+                            BigDecimal div = MathUtil.div(value, 1.001, 2);
+                            if (MathUtil.sub(value, div).doubleValue() < 0.01) {
+                                // 如果手续费小于最低手续费,取0.01
+                                div = MathUtil.round(MathUtil.sub(value, 0.01), 2);
                             }
-                            splitBillRule.setSplitBillAmount(bigDecimal);
+                            splitBillRule.setSplitBillAmount(div);
                             splitBillRule.setSplitBillMerchantNo(key);
                             splitBillRules.add(splitBillRule);
                         } else {
@@ -489,13 +491,20 @@ public class PayShopServiceImpl implements PayShopService {
     }
 
     @Override
-    public ResponseJson<Map<String, Object>> findReceiptRecord(Integer orderId) {
+    public ResponseJson<Map<String, Object>> findReceiptRecord(Integer orderId,Integer shopOrderId) {
         Map<String, Object> val = new HashMap<>(3);
+        //过滤子订单
         NewOrder newOrder = newOrderDao.get(orderId.toString());
         orderUtils.setReceiverVal(newOrder);
-        orderUtils.setRefundVal(newOrder);
-        orderUtils.setOrderPostInfo(newOrder);
+        orderUtils.setOrderValue(newOrder);
+
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(shopOrderId)).collect(Collectors.toList());
+        newOrder.setNewShopOrders(newShopOrders);
+        if(newOrder.getNewShopOrders()!=null&&newOrder.getNewShopOrders().size()>0){
+            newOrder.getNewShopOrders().get(0).setPostageInfo(newOrder.getPostageInfo());
+        }
         val.put("order", newOrder);
+        newOrder.setShopOrderId(shopOrderId);
         List<ReceiptVo> receiptVos = orderUtils.getReceiptRecord(newOrder);
         val.put("receiptList", receiptVos);
         List<OrderPayShopRecord> payRecords = orderUtils.getPayRecords(newOrder);

+ 64 - 2
src/main/java/com/caimei/modules/order/util/OrderUtils.java

@@ -5,6 +5,7 @@ import com.caimei.modules.order.constant.Constant;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
+import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.utils.*;
 import com.caimei.utils.payUtil.MyBeanUtils;
 import com.caimei.utils.payUtil.RSA;
@@ -48,7 +49,10 @@ public class OrderUtils {
     private CmReturnedPurchaseDao returnDao;
     @Resource
     private CmDiscernReceiptDao receiptDao;
-
+    @Resource
+    private  NewOrderService newOrderService;
+    @Resource
+    private CmDiscernReceiptDao cmDiscernReceiptDao;
 
     /**
      * 计算子订单应付
@@ -319,6 +323,62 @@ public class OrderUtils {
              */
             order.setPostageInfo("¥ 0.00");
         }
+
+        if(null!=order.getNewShopOrders()){
+            for (NewShopOrder newShopOrder : order.getNewShopOrders()) {
+                BigDecimal add = MathUtil.add(newShopOrder.getReceiptAmount(),cmDiscernReceiptDao.findShoOrderIDReceipt(newShopOrder.getShopOrderId()));
+                double v = add.doubleValue();
+                newShopOrder.setReceiptAmount(v);
+                BigDecimal sub = MathUtil.sub(
+//                        newShopOrder.getWaitPayShop()
+                        newShopOrder.getRealPay() != null ? newShopOrder.getRealPay() : newShopOrder.getNeedPayAmount()
+                        , newShopOrder.getReceiptAmount());
+                newShopOrder.setRestAmount(sub.doubleValue());
+
+                Double ColdChina = Double.valueOf(700);
+                String shopPostFlag = newShopOrder.getShopPostFlag()!=null?newShopOrder.getShopPostFlag():"-2";
+                String PostageInfo = null;
+                if (null!=newShopOrder.getIsColdChina()&&newShopOrder.getIsColdChina()==1) {
+                    if ("2".equals(newShopOrder.getShopPostFlag())) {
+                        // 到付
+                        PostageInfo = "¥" + ColdChina + "(" + (newShopOrder.getIsColdChina()==1 ? "冷链费: ¥" + ColdChina + "," : "") + "其他: 到付)";
+                    } else if ("0" .equals(newShopOrder.getShopPostFlag())) {
+                        // 包邮
+                        PostageInfo = "¥" + ColdChina+ "(" + (newShopOrder.getIsColdChina()==1 ? "冷链费: ¥" + ColdChina + "," : "") + "其他: 包邮)";
+                    } else {
+                        // 有运费
+                        PostageInfo = "¥" + MathUtil.add(newShopOrder.getShopPostFee(), ColdChina) + "(" + (newShopOrder.getIsColdChina()==1 ? "冷链费: ¥" + ColdChina + "," : "") + "其他: ¥" + newShopOrder.getShopPostFee()+ ")";
+                    }
+                } else {
+                    PostageInfo = shopPostFlag.equals("2") ? "到付" : shopPostFlag.equals("0") ? "包邮" : "¥" + newShopOrder.getShopPostFee();
+                }
+                //支付凭证
+                List<Voucher> vouchers = newOrderService.findVoucher(newShopOrder.getShopOrderId());
+                newShopOrder.setPostageInfo(PostageInfo);
+                newShopOrder.setVouchers(vouchers);
+                if ("1".equals( newShopOrder.getShopStatus() )) {
+                    if ( "1".equals(newShopOrder.getReceiptStatus()) && "1".equals( newShopOrder.getSendOutStatus())){
+                        newShopOrder.setShopStatus("11");
+                    } else if ( "1".equals( newShopOrder.getReceiptStatus()) && "2".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("12");
+                    } else if ( "1".equals( newShopOrder.getReceiptStatus()) && "3".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("13");
+                    } else if ( "2".equals( newShopOrder.getReceiptStatus()) && "1".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("21");
+                    } else if ( "2".equals( newShopOrder.getReceiptStatus()) && "2".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("22");
+                    } else if ( "2".equals( newShopOrder.getReceiptStatus()) && "3".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("23");
+                    } else if ( "3".equals( newShopOrder.getReceiptStatus()) && "1".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("31");
+                    } else if ( "3".equals( newShopOrder.getReceiptStatus()) && "2".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("32");
+                    } else if ( "3".equals( newShopOrder.getReceiptStatus()) && "3".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("33");
+                    }
+                }
+            }
+        }
         return order;
     }
 
@@ -444,7 +504,9 @@ public class OrderUtils {
 
     public List<ReceiptVo> getReceiptRecord(NewOrder newOrder) {
         ReceiptVo receiptVo = new ReceiptVo();
-        receiptVo.setOrderId(newOrder.getOrderId().toString());
+        receiptVo.setOrderId(newOrder.getShopOrderId().toString());
+        receiptVo.setOrganizeId(4);
+
         return receiptDao.findReceiptList(receiptVo);
     }
 

+ 20 - 108
src/main/java/com/caimei/modules/products/controller/CmMallOrganizeProductsController.java

@@ -1,26 +1,14 @@
 package com.caimei.modules.products.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.caimei.modules.club.entity.Page;
 import com.caimei.modules.products.entity.CmMallOrganizeProducts;
-import com.caimei.modules.products.entity.CmMallPageModules;
-import com.caimei.modules.products.entity.CmMallProductsClassify;
 import com.caimei.modules.products.service.CmMallOrganizeProductsService;
-import com.caimei.modules.products.service.CmMallProductsClassifyService;
-import com.caimei.modules.shiro.entity.CmMallAdminUser;
-import com.caimei.modules.shiro.service.ShiroService;
 import com.caimei.utils.JsonModel;
-import com.caimei.utils.TokenEncryptUtils;
 import com.github.pagehelper.PageHelper;
 import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 import org.thymeleaf.util.StringUtils;
 
-import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -37,7 +25,6 @@ import java.util.Map;
 public class CmMallOrganizeProductsController {
 
     private final CmMallOrganizeProductsService cmMallOrganizeProductsService;
-    private final CmMallProductsClassifyService cmMallProductsClassifyService;
 
     /**
      * 商品列表
@@ -50,15 +37,6 @@ public class CmMallOrganizeProductsController {
         return JsonModel.newInstance().success(organizeProductsPage);
     }
 
-    /**
-     * 商品模块列表
-     */
-    @GetMapping("/module")
-    public JsonModel findAllModule(Integer organizeId) {
-        List<CmMallPageModules> mallPageModulesList = cmMallOrganizeProductsService.findAllModule(organizeId);
-        return JsonModel.newInstance().success(mallPageModulesList);
-    }
-
     /**
      * 编辑回显
      */
@@ -89,8 +67,8 @@ public class CmMallOrganizeProductsController {
     @GetMapping(value = "/switchLine/{id}")
     public JsonModel switchLine(@PathVariable("id") Integer id) {
         CmMallOrganizeProducts organizeProducts = cmMallOrganizeProductsService.get(id);
-        if (1 == organizeProducts.getValidFlag()) {
-            organizeProducts.setValidFlag(2);
+        if (2 == organizeProducts.getValidFlag()) {
+            organizeProducts.setValidFlag(3);
         } else {
             //上线商品
             organizeProducts.setValidFlag(1);
@@ -99,89 +77,23 @@ public class CmMallOrganizeProductsController {
         return JsonModel.newInstance().success();
     }
 
-    /**
-     * 批量更新排序值
-     *
-     * @param newProducSorttList (商品id-排序值,...)
-     * @return
-     */
-    @GetMapping(value = "batchSaveSort")
-    public JsonModel batchSaveSort(String newProducSorttList, Integer modules) {
-        JsonModel jsonModel = JsonModel.newInstance();
-        try {
-            String[] newPageLists = newProducSorttList.split(",");
-            for (String list : newPageLists) {
-                String[] split = list.split("-");
-                if (split.length == 1 || split.length < 1) {
-                    String id = split[0];
-                    String sort = null;
-                    cmMallOrganizeProductsService.saveSort(modules, sort, id);
-                } else {
-                    String id = split[0];
-                    String sort = split[1];
-                    if (CmMallProductsClassifyController.isInteger(sort)) {
-                        if (StringUtils.equals("0", sort)) {
-                            return jsonModel.error("排序值只能填写大于等于1的整数");
-                        }
-                        cmMallOrganizeProductsService.saveSort(modules, sort, id);
-                    } else {
-                        return jsonModel.error("排序值只能为数字");
-                    }
-                }
-            }
-            return jsonModel.success("更新排序成功", "");
-        } catch (Exception e) {
-            return jsonModel.error("更新排序失败");
-        }
-    }
-
-    /**
-     * 添加商品数据
-     *
-     * @param cmMallOrganizeProducts
-     * @param page                   分页数据
-     * @return
-     */
-    @GetMapping(value = "toAddProduct1")
-    public JsonModel toAddProduct1(CmMallOrganizeProducts cmMallOrganizeProducts, Page page) {
-        //获取采美所有商品
-        Map<String, Object> map = new HashMap();
-        PageHelper.startPage(page.getIndex(), page.getPageSize());
-        List<CmMallOrganizeProducts> listBuyMall = cmMallOrganizeProductsService.findListBuyMall(cmMallOrganizeProducts);
-        Page<CmMallOrganizeProducts> productsPage = new Page<>(listBuyMall);
-        //获取商品分类列表
-        List<CmMallProductsClassify> listByEffective = cmMallProductsClassifyService.findListByEffective(cmMallOrganizeProducts.getOrganizeId());
-        map.put("productsPage", productsPage);
-        map.put("listByEffective", listByEffective);
-        return JsonModel.newInstance().success(map);
-    }
+//
+//    /**
+//     * 添加商品数据
+//     *
+//     * @param cmMallOrganizeProducts
+//     * @param page                   分页数据
+//     * @return
+//     */
+//    @GetMapping(value = "toAddProduct1")
+//    public JsonModel toAddProduct1(CmMallOrganizeProducts cmMallOrganizeProducts, Page page) {
+//        //获取采美所有商品
+//        Map<String, Object> map = new HashMap();
+//        PageHelper.startPage(page.getIndex(), page.getPageSize());
+//        List<CmMallOrganizeProducts> listBuyMall = cmMallOrganizeProductsService.findListBuyMall(cmMallOrganizeProducts);
+//        Page<CmMallOrganizeProducts> productsPage = new Page<>(listBuyMall);
+//        map.put("productsPage", productsPage);
+//        return JsonModel.newInstance().success(map);
+//    }
 
-    /**
-     * 添加商品
-     *
-     * @param cmMallOrganizeProducts
-     * @return
-     */
-    @PostMapping(value = "saveAddProductInfo")
-    public JsonModel saveAddProductInfo(@RequestBody CmMallOrganizeProducts cmMallOrganizeProducts) {
-        JsonModel jsonModel = JsonModel.newInstance();
-        try {
-
-            return jsonModel.success("添加成功", "");
-        } catch (Exception e) {
-            return jsonModel.error("添加失败");
-        }
-    }
-
-    /**
-     * //取消模块内商品
-     *
-     * @param cmMallOrganizeProducts
-     * @return
-     */
-    @PostMapping(value = "canncelProduct")
-    public JsonModel canncelProduct(@RequestBody CmMallOrganizeProducts cmMallOrganizeProducts) {
-        cmMallOrganizeProductsService.canncelPreferredProduct(cmMallOrganizeProducts);
-        return JsonModel.newInstance().success();
-    }
 }

+ 0 - 158
src/main/java/com/caimei/modules/products/controller/CmMallProductsClassifyController.java

@@ -1,158 +0,0 @@
-package com.caimei.modules.products.controller;
-
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.caimei.modules.club.entity.Page;
-import com.caimei.modules.products.entity.CmMallOrganizeProducts;
-import com.caimei.modules.products.entity.CmMallProductsClassify;
-import com.caimei.modules.products.service.CmMallOrganizeProductsService;
-import com.caimei.modules.products.service.CmMallProductsClassifyService;
-import com.caimei.utils.JsonModel;
-import com.github.pagehelper.PageHelper;
-import lombok.RequiredArgsConstructor;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
-import java.util.List;
-import java.util.regex.Pattern;
-
-/**
- * 小程序商品分类Controller
- *
- * @author lijun
- * @version 2019-12-03
- */
-@RestController
-@RequiredArgsConstructor
-@RequestMapping(value = "/product/cmMallProductsClassify")
-public class CmMallProductsClassifyController {
-
-    private final CmMallProductsClassifyService cmMallProductsClassifyService;
-    private final CmMallOrganizeProductsService cmMallOrganizeProductsService;
-
-    /**
-     * 商品分类列表
-     */
-    @GetMapping(value = {"list"})
-    public JsonModel list(CmMallProductsClassify cmMallProductsClassify, Page page) {
-        PageHelper.startPage(page.getIndex(), page.getPageSize());
-        List<CmMallProductsClassify> productsClassifyList = cmMallProductsClassifyService.findList(cmMallProductsClassify);
-        Page<CmMallProductsClassify> classifyPage = new Page<>(productsClassifyList);
-        return JsonModel.newInstance().success(classifyPage);
-    }
-
-    /**
-     * 编辑回显
-     *
-     * @param id
-     * @return
-     */
-    @GetMapping(value = "form")
-    public JsonModel form(Integer id) {
-        CmMallProductsClassify mallProductsClassify = cmMallProductsClassifyService.get(id);
-        return JsonModel.newInstance().success(mallProductsClassify);
-    }
-
-    /**
-     * 编辑,保存
-     *
-     * @param cmMallProductsClassify
-     * @return
-     */
-    @PostMapping(value = "save")
-    public JsonModel save(@RequestBody CmMallProductsClassify cmMallProductsClassify) {
-        JsonModel jsonModel = JsonModel.newInstance();
-        //保存商品名字不能重复
-        List<CmMallProductsClassify> productsClassifyListByName = cmMallProductsClassifyService.getProductsClassifyListByName(cmMallProductsClassify);
-        if (CollectionUtils.isNotEmpty(productsClassifyListByName) && productsClassifyListByName.size() > 0) {
-            return jsonModel.error("分类名称不能重复");
-        }
-        //判断该商品是是否选择的是停用,如果停用判断该分类下是否存在商品
-        if (StringUtils.equals("2", cmMallProductsClassify.getStatus())) {
-            CmMallOrganizeProducts cmMallOrganizeProducts = new CmMallOrganizeProducts();
-            cmMallOrganizeProducts.setOrganizeId(cmMallProductsClassify.getOrganizeId());
-            List<CmMallOrganizeProducts> list1 = cmMallOrganizeProductsService.findList(cmMallOrganizeProducts);
-            if (CollectionUtils.isNotEmpty(list1)) {
-                return jsonModel.error("该分类中还存在商品,请把该分类的商品转移到别的分类后,再停用该分类");
-            }
-        }
-
-        Date date = new Date();
-        if (cmMallProductsClassify.getId() == null) {//是新增
-            cmMallProductsClassify.setAddTime(date);
-            cmMallProductsClassify.setDelFlag("0");
-        }
-        cmMallProductsClassify.setUpdateTime(date);
-        cmMallProductsClassifyService.save(cmMallProductsClassify);
-        return jsonModel.success();
-    }
-
-    /**
-     * 启用,关闭
-     *
-     * @param id 分类id
-     * @return
-     */
-    @GetMapping(value = "switchClassify")
-    public JsonModel switchClassify(Integer id) {
-        JsonModel jsonModel = JsonModel.newInstance();
-        CmMallProductsClassify mallProductsClassify = cmMallProductsClassifyService.get(id);
-        CmMallOrganizeProducts cmMallOrganizeProducts = new CmMallOrganizeProducts();
-        cmMallOrganizeProducts.setOrganizeId(mallProductsClassify.getOrganizeId());
-        List<CmMallOrganizeProducts> list = cmMallOrganizeProductsService.findList(cmMallOrganizeProducts);
-        if (CollectionUtils.isNotEmpty(list)) {
-            return jsonModel.error("该分类中还存在商品,请把该分类的商品转移到别的分类后,再停用该分类");
-        }
-        if (mallProductsClassify.getStatus().equals("1")) {
-            mallProductsClassify.setStatus("2");//1启用,2停用
-        } else {
-            mallProductsClassify.setStatus("1");//1启用,2停用
-        }
-        mallProductsClassify.setUpdateTime(new Date());
-        cmMallProductsClassifyService.updateStatus(mallProductsClassify);//更新会所表数据
-        return jsonModel.success();
-    }
-
-    /**
-     * 批量更新排序值
-     *
-     * @param newProducSorttList (分类id-排序值,...)
-     * @return
-     */
-    @GetMapping(value = "batchSaveSort")
-    public JsonModel batchSaveSort(String newProducSorttList) {
-        JsonModel jsonModel = JsonModel.newInstance();
-        try {
-            String[] newPageLists = newProducSorttList.split(",");
-            for (String list : newPageLists) {
-                String[] split = list.split("-");
-                if (split.length == 1 || split.length < 1) {
-                    return jsonModel.error("排序值不能为空!");
-                }
-                String s = split[1];//判断是否是数字,或者为空
-                if (StringUtils.isNotEmpty(s)) {
-                    if (isInteger(s)) {
-                        if (StringUtils.equals("0", s)) {
-                            return jsonModel.error("排序值只能填写大于等于1的整数");
-                        }
-                        String id = split[0];
-                        String sort = split[1];
-                        cmMallProductsClassifyService.saveSort(sort, id);
-                    } else {
-                        return jsonModel.error("排序值只能为数字");
-                    }
-                } else {
-                    return jsonModel.error("排序值不能为空!");
-                }
-            }
-            return jsonModel.success("更新排序成功", "");
-        } catch (Exception e) {
-            return jsonModel.error("更新排序失败");
-        }
-    }
-
-    public static boolean isInteger(String str) {
-        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
-        return pattern.matcher(str).matches();
-    }
-}

+ 1 - 11
src/main/java/com/caimei/modules/products/dao/CmMallOrganizeProductsDao.java

@@ -16,23 +16,13 @@ public interface CmMallOrganizeProductsDao {
 
     List<CmMallOrganizeProducts> findList(CmMallOrganizeProducts cmMallOrganizeProducts);
 
-    List<CmMallPageModules> findAllModule(Integer organizeId);
-
     void updateProductInfo(CmMallOrganizeProducts cmMallOrganizeProducts);
 
     CmMallOrganizeProducts get(Integer id);
 
-    void updateValidFlag(CmMallOrganizeProducts organizeProducts);
-
-    void saveSort(@Param("modules") Integer modules, @Param("sort") String sort, @Param("id") String id);
-
     List<CmMallOrganizeProducts> findListBuyMall(CmMallOrganizeProducts cmMallOrganizeProducts);
 
-    List<Integer> getAllExistsProductList(Integer modules);
-
-    void canncelPreferredProduct(CmMallOrganizeProducts cmMallOrganizeProducts);
-
-    List<Sku> findSkus(String productId);
+    List<Sku> findSkus(String productId,String organizeId);
 
     void updateSku(Sku s);
 }

+ 0 - 28
src/main/java/com/caimei/modules/products/dao/CmMallProductLadderPriceDao.java

@@ -1,28 +0,0 @@
-package com.caimei.modules.products.dao;
-
-import com.caimei.modules.products.entity.CmMallProductLadderPrice;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface CmMallProductLadderPriceDao {
-
-    int deleteByPrimaryKey(Long id);
-
-    int insert(CmMallProductLadderPrice record);
-
-    int insertSelective(CmMallProductLadderPrice record);
-
-    CmMallProductLadderPrice selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(CmMallProductLadderPrice record);
-
-    int updateByPrimaryKey(CmMallProductLadderPrice record);
-
-    List<CmMallProductLadderPrice> selectByProductId(Long productId);
-
-    Long selectIdByProductIdAndLadderNum(@Param("productId") Long productId, @Param("ladderNum") Long ladderNum);
-
-}

+ 0 - 27
src/main/java/com/caimei/modules/products/dao/CmMallProductsClassifyDao.java

@@ -1,27 +0,0 @@
-package com.caimei.modules.products.dao;
-
-import com.caimei.modules.products.entity.CmMallProductsClassify;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface CmMallProductsClassifyDao {
-
-    List<CmMallProductsClassify> findList(CmMallProductsClassify cmMallProductsClassify);
-
-    CmMallProductsClassify get(Integer id);
-
-    List<CmMallProductsClassify> getProductsClassifyListByName(CmMallProductsClassify cmMallProductsClassify);
-
-    void insert(CmMallProductsClassify cmMallProductsClassify);
-
-    void update(CmMallProductsClassify cmMallProductsClassify);
-
-    void updateStatus(CmMallProductsClassify mallProductsClassify);
-
-    void saveSort(@Param("sort") String sort, @Param("id") String id);
-
-    List<CmMallProductsClassify> findListByEffective(String organizeId);
-}

+ 2 - 0
src/main/java/com/caimei/modules/products/entity/Sku.java

@@ -29,6 +29,8 @@ public class Sku {
     private Double price;
     @ApiModelProperty("包装规格")
     private String unit;
+    @ApiModelProperty("库存")
+    private String stock;
     @ApiModelProperty("分账组织佣金比例")
     private Integer organizePercent;
     @ApiModelProperty("分账供应商成本比例")

+ 0 - 6
src/main/java/com/caimei/modules/products/service/CmMallOrganizeProductsService.java

@@ -12,17 +12,11 @@ public interface CmMallOrganizeProductsService {
 
     Page<CmMallOrganizeProducts> findPage(Page page, CmMallOrganizeProducts cmMallOrganizeProducts);
 
-    List<CmMallPageModules> findAllModule(Integer organizeId);
-
     void updateProductInfo(CmMallOrganizeProducts cmMallOrganizeProducts);
 
     CmMallOrganizeProducts get(Integer id);
 
     void updateValidFlag(CmMallOrganizeProducts organizeProducts);
 
-    void saveSort(Integer modules, String sort, String id);
-
     List<CmMallOrganizeProducts> findListBuyMall(CmMallOrganizeProducts cmMallOrganizeProducts);
-
-    void canncelPreferredProduct(CmMallOrganizeProducts cmMallOrganizeProducts);
 }

+ 0 - 22
src/main/java/com/caimei/modules/products/service/CmMallProductsClassifyService.java

@@ -1,22 +0,0 @@
-package com.caimei.modules.products.service;
-
-import com.caimei.modules.products.entity.CmMallProductsClassify;
-
-import java.util.List;
-
-public interface CmMallProductsClassifyService {
-
-    List<CmMallProductsClassify> findList(CmMallProductsClassify cmMallProductsClassify);
-
-    CmMallProductsClassify get(Integer id);
-
-    List<CmMallProductsClassify> getProductsClassifyListByName(CmMallProductsClassify cmMallProductsClassify);
-
-    void save(CmMallProductsClassify cmMallProductsClassify);
-
-    void updateStatus(CmMallProductsClassify mallProductsClassify);
-
-    void saveSort(String sort, String id);
-
-    List<CmMallProductsClassify> findListByEffective(String organizeId);
-}

+ 3 - 18
src/main/java/com/caimei/modules/products/service/impl/CmMallOrganizeProductsServiceImpl.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.caimei.modules.club.entity.Page;
 import com.caimei.modules.products.dao.CmMallOrganizeProductsDao;
 import com.caimei.modules.products.entity.CmMallOrganizeProducts;
-import com.caimei.modules.products.entity.CmMallPageModules;
 import com.caimei.modules.products.entity.Sku;
 import com.caimei.modules.products.service.CmMallOrganizeProductsService;
 import com.caimei.utils.AppUtils;
@@ -35,7 +34,7 @@ public class CmMallOrganizeProductsServiceImpl implements CmMallOrganizeProducts
         List<CmMallOrganizeProducts> products = cmMallOrganizeProductsDao.findList(cmMallOrganizeProducts);
         if (null != products && products.size() > 0) {
             products.forEach(p -> {
-                List<Sku> skus = cmMallOrganizeProductsDao.findSkus(p.getProductId());
+                List<Sku> skus = cmMallOrganizeProductsDao.findSkus(p.getProductId(), cmMallOrganizeProducts.getOrganizeId());
                 p.setSkus(skus);
                 p.setCostPrice(skus.get(0).getCostPrice());
                 p.setPrice(skus.get(0).getPrice().toString());
@@ -45,11 +44,6 @@ public class CmMallOrganizeProductsServiceImpl implements CmMallOrganizeProducts
         return new Page<>(products);
     }
 
-    @Override
-    public List<CmMallPageModules> findAllModule(Integer organizeId) {
-        return cmMallOrganizeProductsDao.findAllModule(organizeId);
-    }
-
     @Override
     public void updateProductInfo(CmMallOrganizeProducts cmMallOrganizeProducts) {
         List<Sku> skus = cmMallOrganizeProducts.getSkus();
@@ -61,18 +55,13 @@ public class CmMallOrganizeProductsServiceImpl implements CmMallOrganizeProducts
     @Override
     public CmMallOrganizeProducts get(Integer id) {
         CmMallOrganizeProducts cmMallOrganizeProducts = cmMallOrganizeProductsDao.get(id);
-        cmMallOrganizeProducts.setSkus(cmMallOrganizeProductsDao.findSkus(cmMallOrganizeProducts.getProductId()));
+        cmMallOrganizeProducts.setSkus(cmMallOrganizeProductsDao.findSkus(cmMallOrganizeProducts.getProductId(),cmMallOrganizeProducts.getOrganizeId()));
         return cmMallOrganizeProducts;
     }
 
     @Override
     public void updateValidFlag(CmMallOrganizeProducts organizeProducts) {
-        cmMallOrganizeProductsDao.updateValidFlag(organizeProducts);
-    }
-
-    @Override
-    public void saveSort(Integer modules, String sort, String id) {
-        cmMallOrganizeProductsDao.saveSort(modules, sort, id);
+        cmMallOrganizeProductsDao.updateProductInfo(organizeProducts);
     }
 
     @Override
@@ -86,8 +75,4 @@ public class CmMallOrganizeProductsServiceImpl implements CmMallOrganizeProducts
         return listBuyMall;
     }
 
-    @Override
-    public void canncelPreferredProduct(CmMallOrganizeProducts cmMallOrganizeProducts) {
-        cmMallOrganizeProductsDao.canncelPreferredProduct(cmMallOrganizeProducts);
-    }
 }

+ 0 - 71
src/main/java/com/caimei/modules/products/service/impl/CmMallProductsClassifyServiceImpl.java

@@ -1,71 +0,0 @@
-package com.caimei.modules.products.service.impl;
-
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.caimei.modules.products.dao.CmMallProductsClassifyDao;
-import com.caimei.modules.products.entity.CmMallOrganizeProducts;
-import com.caimei.modules.products.entity.CmMallProductsClassify;
-import com.caimei.modules.products.service.CmMallOrganizeProductsService;
-import com.caimei.modules.products.service.CmMallProductsClassifyService;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-@Service
-public class CmMallProductsClassifyServiceImpl implements CmMallProductsClassifyService {
-    
-    @Resource
-    private CmMallProductsClassifyDao cmMallProductsClassifyDao;
-    @Resource
-    private CmMallOrganizeProductsService cmMallOrganizeProductsService;
-
-    @Override
-    public List<CmMallProductsClassify> findList(CmMallProductsClassify cmMallProductsClassify) {
-        List<CmMallProductsClassify> classifyList = cmMallProductsClassifyDao.findList(cmMallProductsClassify);
-        if (null != classifyList && classifyList.size() > 0) {
-            for (CmMallProductsClassify c : classifyList) {
-                CmMallOrganizeProducts cmMallOrganizeProducts = new CmMallOrganizeProducts();
-                cmMallOrganizeProducts.setOrganizeId(c.getOrganizeId());
-                List<CmMallOrganizeProducts> list1 = cmMallOrganizeProductsService.findList(cmMallOrganizeProducts);
-                if (CollectionUtils.isNotEmpty(list1)) {
-                    c.setContainsProduct("1");//是否包含商品,1包含商品,其它为不包含商品
-                }
-            }
-        }
-        return classifyList;
-    }
-
-    @Override
-    public CmMallProductsClassify get(Integer id) {
-        return cmMallProductsClassifyDao.get(id);
-    }
-
-    @Override
-    public List<CmMallProductsClassify> getProductsClassifyListByName(CmMallProductsClassify cmMallProductsClassify) {
-        return cmMallProductsClassifyDao.getProductsClassifyListByName(cmMallProductsClassify);
-    }
-
-    @Override
-    public void save(CmMallProductsClassify cmMallProductsClassify) {
-        if (cmMallProductsClassify.getId() == null) {
-            cmMallProductsClassifyDao.insert(cmMallProductsClassify);
-        } else {
-            cmMallProductsClassifyDao.update(cmMallProductsClassify);
-        }
-    }
-
-    @Override
-    public void updateStatus(CmMallProductsClassify mallProductsClassify) {
-        cmMallProductsClassifyDao.updateStatus(mallProductsClassify);
-    }
-
-    @Override
-    public void saveSort(String sort, String id) {
-        cmMallProductsClassifyDao.saveSort(sort, id);
-    }
-
-    @Override
-    public List<CmMallProductsClassify> findListByEffective(String organizeId) {
-        return cmMallProductsClassifyDao.findListByEffective(organizeId);
-    }
-}

+ 1 - 0
src/main/resources/application.yml

@@ -10,3 +10,4 @@ spring:
 logging:
   level:
     com.caimei.modules.products.dao: debug
+    com.caimei.modules.order.dao: debug

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

@@ -12,6 +12,9 @@ spring:
     #数据源连接--start
   datasource:
     driverClassName: com.mysql.jdbc.Driver
+#    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+#    username: developer
+#    password: 05bZ/OxTB:X+yd%1
     url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
     username: developer
     password: J5p3tgOVazNl4ydf

+ 6 - 6
src/main/resources/mapper/ActiveMapper.xml

@@ -24,7 +24,7 @@
 
     <insert id="insertImageProduct">
         insert into cm_mall_active_product(activeId, imageId, productId, sort)
-        values (#{activeId}, #{imageId}, #{productId}, #{sort})
+        values (#{activeId}, #{imageId},#{productId}, #{sort})
     </insert>
 
     <update id="updateActive">
@@ -113,11 +113,11 @@
     <select id="findProducts" resultType="com.caimei.modules.homepage.enity.BackProduct">
         select DISTINCT p.name  as productName,
                         p.mainImage,
-                        cmop.id as productId,
+                        cmop.productId as productId,
                         cmop.validFlag,
                         cmp.sort
         from cm_mall_active_product cmp
-        left join cm_mall_organize_products cmop on cmp.productId = cmop.id
+        left join cm_organize_product_info cmop on cmp.productId = cmop.productId
         left join product p on cmop.productId = p.productID
         where cmp.activeId = #{id}
     </select>
@@ -125,14 +125,14 @@
     <select id="findProductsByImage" resultType="com.caimei.modules.homepage.enity.BackProduct">
         select DISTINCT p.name  as productName,
                         p.mainImage,
-                        cmop.id as productId,
+                        cmop.productId as productId,
                         cmop.validFlag,
                         cmp.sort
         from cm_mall_active_product cmp
-        left join cm_mall_organize_products cmop on cmp.productId = cmop.id
+        left join cm_organize_product_info cmop on cmp.productId = cmop.productId
         left join product p on cmop.productId = p.productID
         where cmp.imageId = #{id}
     </select>
 
 
-</mapper>
+</mapper>

+ 4 - 4
src/main/resources/mapper/BannerMapper.xml

@@ -104,10 +104,10 @@
     <select id="findProducts" resultType="com.caimei.modules.homepage.enity.BackProduct">
         select p.name as productName,
                p.mainImage,
-               cmop.id as productId,
+               cmop.productId as productId,
                cmop.validFlag
-        from cm_mall_organize_products cmop
+        from cm_organize_product_info cmop
         left join product p on p.productID = cmop.productID
-        where cmop.id = #{jumpProductId}
+        where cmop.productId = #{jumpProductId}
     </select>
-</mapper>
+</mapper>

+ 26 - 10
src/main/resources/mapper/CmDiscernReceiptMapper.xml

@@ -76,9 +76,8 @@
         LEFT JOIN cm_offline_collection cof ON a.payType = cof.type
         <where>
             crr.relationType = 1
-            <if test="organizeId != null">
-                AND cr.organizeId = #{organizeId}
-            </if>
+            AND cr.organizeId = #{organizeId}
+
             <if test="receiptId != null">
                 AND a.id = #{receiptId}
             </if>
@@ -101,7 +100,7 @@
                 AND ((cr.orderNo like concat('%',#{orderNo},'%')) OR (cso.shopOrderNo like concat('%',#{orderNo},'%')))
             </if>
             <if test="orderId != null and orderId != ''">
-                AND cr.orderId = #{orderId}
+                AND( cr.orderId = #{orderId} or cso.shopOrderId = #{orderId})
             </if>
             <if test="clubName != null and clubName != ''">
                 AND (c.name LIKE concat('%',#{clubName},'%'))
@@ -149,13 +148,14 @@
         c.name as clubName
         FROM cm_discern_receipt a
         LEFT JOIN cm_receipt_order_relation crr ON crr.receiptId = a.id AND crr.delFlag = '0'
-        LEFT JOIN cm_order cr ON cr.orderId = crr.orderId
-        LEFT JOIN cm_shop_order cso ON cso.orderId = cr.orderId
+        LEFT JOIN cm_shop_order cso ON cso.orderId = crr.orderId
+        LEFT JOIN cm_order cr ON cr.orderId = cso.orderId
         LEFT JOIN club c ON cr.userId = c.userId
         left join serviceprovider sp ON c.spID = sp.serviceProviderID
         LEFT JOIN cm_offline_collection cof ON a.payType = cof.type
         <where>
             crr.relationType != 1
+            and a.delFlag = 0
             <if test="organizeId != null">
                 AND cr.organizeId = #{organizeId}
             </if>
@@ -181,7 +181,7 @@
                 AND ((cr.orderNo like concat('%',#{orderNo},'%')) OR (cso.shopOrderNo like concat('%',#{orderNo},'%')))
             </if>
             <if test="orderId != null and orderId != ''">
-                AND cr.orderId = #{orderId}
+                AND( cr.orderId = #{orderId} or cso.shopOrderId = #{orderId})
             </if>
             <if test="clubName != null and clubName != ''">
                 AND (c.name LIKE concat('%',#{clubName},'%'))
@@ -201,10 +201,11 @@
                     <![CDATA[ > ]]> 1
                 </if>
             </if>
-            and a.delFlag = 0
+
         </where>
         group by a.id
         order by a.id desc)
+
     </select>
 
     <select id="findReceiptDetail" resultType="com.caimei.modules.order.entity.ReceiptDetail">
@@ -215,11 +216,15 @@
                cdr.receiptStatus AS receiptStatus,
                cdr.smsContent    AS smsContent,
                cdr.payWay        AS payWay,
-               cror.orderId
+               cso.orderId,
+               cso.shopOrderId
         from cm_discern_receipt cdr
                  left join cm_receipt_order_relation cror on cdr.id = cror.receiptID
                  LEFT JOIN cm_offline_collection cof ON cdr.payType = cof.type
+                 LEFT JOIN cm_shop_order cso ON cso.shopOrderId = cror.shopOrderId or cso.orderId = cror.orderId
+--                  LEFT JOIN cm_order cr ON cr.orderId = cso.orderId
         where cdr.id = #{id}
+        group by cdr.id
     </select>
 
     <select id="findReceiptOrder" resultType="com.caimei.modules.order.entity.ReceiptOrderInfo">
@@ -265,13 +270,24 @@
 
     <select id="findReceiptShopOrder" resultType="com.caimei.modules.order.entity.NewShopOrder">
         select cso.shopOrderNo,
-               shopOrderId,
+               cso.shopOrderId,
                cso.realPay,
+               cso.needPayAmount,
                cso.receiptAmount,
                cso.receiptStatus as shopReceiptStatus
         from cm_order co
                  left join cm_shop_order cso on co.orderId = cso.orderId
         where co.orderId = #{orderId}
+        <if test="shopOrderId != null">
+            AND cso.shopOrderId = #{shopOrderId}
+        </if>
+    </select>
+
+    <select id="findShoOrderIDReceipt" resultType="double">
+        select IFNULL(sum(associateAmount),0) from cm_receipt_order_relation cror
+                                             left join cm_discern_receipt cdr on cror.receiptID = cdr.id
+        where cror.shopOrderID = #{shopOrderID} and cror.delFlag = '0'
+          and cdr.delFlag = '0' and cdr.receiptStatus = '3' and cdr.payWay != '3'
     </select>
 
     <select id="findReceiptType" resultType="com.caimei.modules.order.entity.ReceiptPayType">

+ 35 - 99
src/main/resources/mapper/CmMallOrganizeProductsMapper.xml

@@ -4,93 +4,63 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.modules.products.dao.CmMallOrganizeProductsDao">
     <sql id="cmMallOrganizeProductsColumns">
-        a.id AS "productId",
-		a.organizeId AS "organizeId",
-		a.productId AS "cmProductId",
-		a.validFlag AS "validFlag",
-		a.addTime AS "addTime",
-		a.delFlag AS "delFlag",
-		p.mainImage AS "mainImage",
-		p.name AS "productName",
+        a.productId,
+		copi.organizeId,
+		copi.validFlag,
+		a.addTime,
+		a.mainImage,
+		a.name AS "productName",
 		s.name AS "shopName"
     </sql>
 
     <sql id="cmMallOrganizeProductsJoins">
-        LEFT JOIN product p on p.productId = a.productId
-		LEFT JOIN shop s on s.shopId = p.shopId
+        LEFT JOIN shop s on s.shopId = a.shopId
+        left join cm_organize_product_info copi on a.productID = copi.productId
     </sql>
 
     <select id="findList" resultType="com.caimei.modules.products.entity.CmMallOrganizeProducts">
-        SELECT
+        SELECT DISTINCT
         <include refid="cmMallOrganizeProductsColumns"/>
-        FROM cm_mall_organize_products a
+        FROM product a
         <include refid="cmMallOrganizeProductsJoins"/>
         <where>
-            <if test="id != null">
-                AND a.id = #{id}
-            </if>
             <if test="productId != null">
                 AND a.productId = #{productId}
             </if>
             <if test="organizeId != null">
-                AND a.organizeId = #{organizeId}
+                AND copi.organizeId = #{organizeId}
             </if>
             <if test="validFlag != null">
-                AND a.validFlag = #{validFlag}
+                AND copi.validFlag = #{validFlag}
             </if>
             <if test="productName != null and productName != ''">
-                AND p.name LIKE concat('%',#{productName},'%')
+                AND a.name LIKE concat('%',#{productName},'%')
             </if>
             <if test="shopName != null and shopName != ''">
                 AND s.name LIKE concat('%',#{shopName},'%')
             </if>
-            and a.delFlag = 0
         </where>
+        group by a.productId
         ORDER BY
-        a.addTime DESC,a.id DESC
-    </select>
-
-    <select id="findAllModule" resultType="com.caimei.modules.products.entity.CmMallPageModules" parameterType="int">
-        SELECT *
-        FROM cm_mall_page_modules
-        WHERE organizeId = #{organizeId}
+        a.addTime DESC,a.productId DESC
     </select>
 
     <update id="updateProductInfo">
-        UPDATE cm_mall_organize_products
-        SET validFlag  = #{validFlag},
-            updateTime = now()
-        WHERE id = #{id}
+        UPDATE cm_organize_product_info
+        SET validFlag = #{validFlag}
+        WHERE productId = #{productId}
+          and organizeId = #{organizeId}
     </update>
 
     <select id="get" resultType="com.caimei.modules.products.entity.CmMallOrganizeProducts">
         SELECT
         <include refid="cmMallOrganizeProductsColumns"/>
-        FROM cm_mall_organize_products a
+        FROM product a
         <include refid="cmMallOrganizeProductsJoins"/>
-        WHERE a.id = #{id}
+        WHERE copi.organizeId=4 and a.productID = #{id}
+        group by a.productId
     </select>
 
-    <update id="updateValidFlag">
-        UPDATE cm_mall_organize_products
-        SET validFlag = #{validFlag}
-        WHERE id = #{productId}
-    </update>
-
-    <update id="saveSort">
-        UPDATE cm_mall_organize_products SET
-        <if test="modules == 1">
-            preferredProductSort = #{sort}
-        </if>
-        <if test="modules == 2">
-            preferentialProductSort = #{sort}
-        </if>
-        <if test="modules == 3">
-            commonlyProductSort = #{sort}
-        </if>
-        WHERE id = #{id}
-    </update>
-
     <select id="findListBuyMall" resultType="com.caimei.modules.products.entity.CmMallOrganizeProducts">
         SELECT
         <include refid="cmMallOrganizeProductsColumns"/>
@@ -117,58 +87,24 @@
         ORDER BY a.addTime DESC,a.id DESC
     </select>
 
-    <select id="getAllExistsProductList" resultType="Integer">
-        SELECT
-        a.id
-        FROM cm_mall_organize_products a
-        WHERE a.delFlag = 0
-        <if test="modules == 1">
-            and a.preferredProduct = 1
-        </if>
-        <if test="modules == 2">
-            and a.preferentialProduct = 1
-        </if>
-        <if test="modules == 3">
-            and a.commonlyProduct = 1
-        </if>
-    </select>
-
     <select id="findSkus" resultType="com.caimei.modules.products.entity.Sku">
-        select cmps.id,
-               cmps.mallProductId as productId,
-               cs.skuId,
-               ROUND(cmps.price * cmps.shopPercent / 100,2) AS costPrice,
-               cmps.minBuyNumber,
-               cmps.price,
-               cs.unit
-        from cm_mall_product_sku cmps
-        left join cm_sku cs on cmps.skuId = cs.skuId
-        where cmps.mallProductId = #{productId}
-        order by cmps.price asc
+        select cs.skuId,
+               cs.productId,
+               ROUND(cs.price * cs.shopPercent / 100, 2) AS costPrice,
+               cs.minBuyNumber,
+               cs.price,
+               cs.unit,
+               cs.stock
+        from cm_sku cs
+        where cs.productId = #{productId}
+            and cs.organizeId = #{organizeId}
+        order by cs.price asc
     </select>
 
-    <update id="canncelPreferredProduct">
-        UPDATE cm_mall_organize_products SET
-        <if test="modules == 1">
-            preferredProduct = 0,
-            preferredProductSort = null,
-        </if>
-        <if test="modules == 2">
-            preferentialProduct = 0,
-            preferentialProductSort = null,
-        </if>
-        <if test="modules == 3">
-            commonlyProduct = 0,
-            commonlyProductSort = null,
-        </if>
-        updateTime = #{updateTime}
-        WHERE id = #{id}
-    </update>
-
     <update id="updateSku">
-        update cm_mall_product_sku
+        update cm_sku
         set minBuyNumber = #{minBuyNumber},
             price        = #{price}
-        where id = #{id}
+        where skuId = #{id}
     </update>
 </mapper>

+ 0 - 160
src/main/resources/mapper/CmMallProductLadderPriceMapper.xml

@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.caimei.modules.products.dao.CmMallProductLadderPriceDao">
-  <resultMap id="BaseResultMap" type="com.caimei.modules.products.entity.CmMallProductLadderPrice">
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="productId" jdbcType="BIGINT" property="productId" />
-    <result column="ladderNum" jdbcType="BIGINT" property="ladderNum" />
-    <result column="buyNum" jdbcType="BIGINT" property="buyNum" />
-    <result column="buyPrice" jdbcType="DECIMAL" property="buyPrice" />
-    <result column="createBy" jdbcType="BIGINT" property="createBy" />
-    <result column="createDate" jdbcType="TIMESTAMP" property="createDate" />
-    <result column="updateBy" jdbcType="BIGINT" property="updateBy" />
-    <result column="updateDate" jdbcType="TIMESTAMP" property="updateDate" />
-    <result column="delFlag" jdbcType="CHAR" property="delFlag" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, productId, ladderNum, buyNum, buyPrice, createBy, createDate, updateBy, updateDate,
-    delFlag
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select
-    <include refid="Base_Column_List" />
-    from cm_mall_product_ladder_price
-    where id = #{id,jdbcType=BIGINT}
-  </select>
-  <select id="selectByProductId" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select
-    <include refid="Base_Column_List" />
-    from cm_mall_product_ladder_price
-    where productId = #{productId,jdbcType=BIGINT}
-    order by ladderNum
-  </select>
-  <select id="selectIdByProductIdAndLadderNum" parameterType="java.lang.Long" resultType="java.lang.Long">
-    select id
-    from cm_mall_product_ladder_price
-    where productId = #{productId,jdbcType=BIGINT}
-      and ladderNum = #{ladderNum,jdbcType=BIGINT}
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
-    delete from cm_mall_product_ladder_price
-    where id = #{id,jdbcType=BIGINT}
-  </delete>
-  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.caimei.modules.products.entity.CmMallProductLadderPrice" useGeneratedKeys="true">
-    insert into cm_mall_product_ladder_price (productId, ladderNum, buyNum,
-      buyPrice, createBy, createDate,
-      updateBy, updateDate, delFlag
-      )
-    values (#{productId,jdbcType=BIGINT}, #{ladderNum,jdbcType=BIGINT}, #{buyNum,jdbcType=BIGINT},
-      #{buyPrice,jdbcType=DECIMAL}, #{createBy,jdbcType=BIGINT}, #{createDate,jdbcType=TIMESTAMP},
-      #{updateBy,jdbcType=BIGINT}, #{updateDate,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=CHAR}
-      )
-  </insert>
-  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.caimei.modules.products.entity.CmMallProductLadderPrice" useGeneratedKeys="true">
-    insert into cm_mall_product_ladder_price
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="productId != null">
-        productId,
-      </if>
-      <if test="ladderNum != null">
-        ladderNum,
-      </if>
-      <if test="buyNum != null">
-        buyNum,
-      </if>
-      <if test="buyPrice != null">
-        buyPrice,
-      </if>
-      <if test="createBy != null">
-        createBy,
-      </if>
-      <if test="createDate != null">
-        createDate,
-      </if>
-      <if test="updateBy != null">
-        updateBy,
-      </if>
-      <if test="updateDate != null">
-        updateDate,
-      </if>
-      <if test="delFlag != null">
-        delFlag,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="productId != null">
-        #{productId,jdbcType=BIGINT},
-      </if>
-      <if test="ladderNum != null">
-        #{ladderNum,jdbcType=BIGINT},
-      </if>
-      <if test="buyNum != null">
-        #{buyNum,jdbcType=BIGINT},
-      </if>
-      <if test="buyPrice != null">
-        #{buyPrice,jdbcType=DECIMAL},
-      </if>
-      <if test="createBy != null">
-        #{createBy,jdbcType=BIGINT},
-      </if>
-      <if test="createDate != null">
-        #{createDate,jdbcType=TIMESTAMP},
-      </if>
-      <if test="updateBy != null">
-        #{updateBy,jdbcType=BIGINT},
-      </if>
-      <if test="updateDate != null">
-        #{updateDate,jdbcType=TIMESTAMP},
-      </if>
-      <if test="delFlag != null">
-        #{delFlag,jdbcType=CHAR},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.caimei.modules.products.entity.CmMallProductLadderPrice">
-    update cm_mall_product_ladder_price
-    <set>
-      <if test="productId != null">
-        productId = #{productId,jdbcType=BIGINT},
-      </if>
-      <if test="ladderNum != null">
-        ladderNum = #{ladderNum,jdbcType=BIGINT},
-      </if>
-      <if test="buyNum != null">
-        buyNum = #{buyNum,jdbcType=BIGINT},
-      </if>
-      <if test="buyPrice != null">
-        buyPrice = #{buyPrice,jdbcType=DECIMAL},
-      </if>
-      <if test="createBy != null">
-        createBy = #{createBy,jdbcType=BIGINT},
-      </if>
-      <if test="createDate != null">
-        createDate = #{createDate,jdbcType=TIMESTAMP},
-      </if>
-      <if test="updateBy != null">
-        updateBy = #{updateBy,jdbcType=BIGINT},
-      </if>
-      <if test="updateDate != null">
-        updateDate = #{updateDate,jdbcType=TIMESTAMP},
-      </if>
-      <if test="delFlag != null">
-        delFlag = #{delFlag,jdbcType=CHAR},
-      </if>
-    </set>
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.caimei.modules.products.entity.CmMallProductLadderPrice">
-    update cm_mall_product_ladder_price
-    set productId = #{productId,jdbcType=BIGINT},
-      ladderNum = #{ladderNum,jdbcType=BIGINT},
-      buyNum = #{buyNum,jdbcType=BIGINT},
-      buyPrice = #{buyPrice,jdbcType=DECIMAL},
-      createBy = #{createBy,jdbcType=BIGINT},
-      createDate = #{createDate,jdbcType=TIMESTAMP},
-      updateBy = #{updateBy,jdbcType=BIGINT},
-      updateDate = #{updateDate,jdbcType=TIMESTAMP},
-      delFlag = #{delFlag,jdbcType=CHAR}
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-</mapper>

+ 0 - 113
src/main/resources/mapper/CmMallProductsClassifyMapper.xml

@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.caimei.modules.products.dao.CmMallProductsClassifyDao">
-    <sql id="cmMallProductsClassifyColumns">
-		a.id AS "id",
-		a.organizeId AS "organizeId",
-		a.classifyName AS "classifyName",
-		a.classifyImage AS "classifyImage",
-		a.sort AS "sort",
-		a.status AS "status",
-		a.addTime AS "addTime",
-		a.updateTime AS "updateTime",
-		a.postageToPay AS "postageToPay",
-		a.delFlag AS "delFlag"
-	</sql>
-
-    <select id="findList" resultType="com.caimei.modules.products.entity.CmMallProductsClassify">
-        SELECT
-        <include refid="cmMallProductsClassifyColumns"/>
-        FROM cm_mall_products_classify a
-        <where>
-            a.organizeId = #{organizeId}
-            AND a.delFlag = 0
-        </where>
-            ORDER BY -sort DESC,a.addTime DESC,a.id DESC
-    </select>
-
-    <select id="get" resultType="com.caimei.modules.products.entity.CmMallProductsClassify">
-        SELECT
-        <include refid="cmMallProductsClassifyColumns"/>
-        FROM cm_mall_products_classify a
-        WHERE a.id = #{id}
-        AND a.delFlag = 0
-    </select>
-
-    <select id="getProductsClassifyListByName" resultType="com.caimei.modules.products.entity.CmMallProductsClassify">
-        SELECT
-        <include refid="cmMallProductsClassifyColumns"/>
-        FROM cm_mall_products_classify a
-        <where>
-            a.classifyName = #{classifyName}
-			AND a.organizeId = #{organizeId}
-            <if test="id != null and id != ''">
-                AND a.id != #{id}
-            </if>
-        </where>
-        AND a.delFlag = 0
-    </select>
-
-    <insert id="insert" parameterType="com.caimei.modules.products.entity.CmMallProductsClassify"  keyProperty="id" useGeneratedKeys="true">
-		INSERT INTO cm_mall_products_classify(
-			organizeId,
-			classifyName,
-			classifyImage,
-			sort,
-			status,
-			addTime,
-			updateTime,
-			postageToPay,
-			delFlag
-		) VALUES (
-			#{organizeId},
-			#{classifyName},
-			#{classifyImage},
-			#{sort},
-			#{status},
-			#{addTime},
-			#{updateTime},
-			#{postageToPay},
-			#{delFlag}
-		)
-	</insert>
-
-    <update id="update">
-		UPDATE cm_mall_products_classify SET
-			organizeId = #{organizeId},
-			classifyName = #{classifyName},
-			classifyImage = #{classifyImage},
-			sort = #{sort},
-			status = #{status},
-			addTime = #{addTime},
-			postageToPay = #{postageToPay},
-			updateTime = #{updateTime}
-		WHERE id = #{id}
-	</update>
-
-    <update id="updateStatus">
-		UPDATE cm_mall_products_classify SET
-		status = #{status},
-		updateTime = #{updateTime}
-		WHERE id = #{id}
-	</update>
-
-    <update id="saveSort">
-		UPDATE cm_mall_products_classify SET
-		sort = #{sort}
-		WHERE id = #{id}
-	</update>
-
-	<!--获取启用且未被删除的商品分类-->
-	<select id="findListByEffective" resultType="com.caimei.modules.products.entity.CmMallProductsClassify">
-		SELECT
-		<include refid="cmMallProductsClassifyColumns"/>
-		FROM cm_mall_products_classify a
-		<where>
-			a.organizeId = #{organizeId}
-			AND a.status = 1
-		</where>
-		AND a.delFlag = 0
-	</select>
-</mapper>

+ 2 - 2
src/main/resources/mapper/CmOrderRemarkMapper.xml

@@ -14,7 +14,7 @@
                cu.accountName AS "createName"
         FROM cm_order_remark a
                  LEFT JOIN cm_mall_admin_user cu ON cu.id = a.createBy
-        where a.orderId = #{orderId}
+        where a.shopOrderID = #{shopOrderID}
         ORDER BY a.createDate
     </select>
 
@@ -74,4 +74,4 @@
             createDate  = #{createDate}
         WHERE id = #{id}
     </update>
-</mapper>
+</mapper>

+ 0 - 33
src/main/resources/mapper/CmProductSnMapper.xml

@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.caimei.modules.order.dao.CmProductSnDao">
-    <sql id="cmProductSnColumns">
-		a.snID AS "snId",
-		a.snCode AS "snCode",
-		a.orderNo AS "orderNo",
-		a.orderID AS "orderId",
-		a.shopOrderNo AS "shopOrderNo",
-		a.shopOrderID AS "shopOrderId",
-		a.productID AS "productId",
-		a.orderProductID AS "orderProductId",
-		a.source AS "source",
-		a.createTime AS "createTime",
-		a.updateTime AS "updateTime"
-	</sql>
-
-    <select id="getListSignByOrderProduct" parameterType="java.lang.Integer" resultType="com.caimei.modules.club.entity.CmProductSn">
-        SELECT
-        <include refid="cmProductSnColumns"/>
-        FROM cm_product_sn a
-        <where>
-            <if test="shopOrderId != null">
-                AND shopOrderID = #{shopOrderId}
-            </if>
-            <if test="orderProductId != null">
-                AND orderProductID = #{orderProductId}
-            </if>
-        </where>
-    </select>
-</mapper>

+ 53 - 4
src/main/resources/mapper/CmReturnedPurchaseMapper.xml

@@ -6,6 +6,7 @@
     <sql id="cmReturnedPurchaseColumns">
         a.id AS "id",
 		a.returnedNo AS "returnedNo",
+		a.shopOrderId AS "shopOrderId",
 		a.orderID AS "orderId",
 		a.userID AS "userId",
 		a.status AS "status",
@@ -69,11 +70,13 @@
         s1.name AS "reviewUserName",
         co.organizeID AS "organizeId",
         c.name as clubName,
-        co.orderNo
+        co.orderNo,
+        cso.shopOrderNo
         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
+        LEFT JOIN cm_shop_order cso ON a.shopOrderId=cso.shopOrderId
         left join club c on c.userId = co.userId
         <where>
             <if test="organizeId != null">
@@ -86,7 +89,10 @@
                 AND a.returnedNo = #{returnedNo}
             </if>
             <if test="orderId != null and orderId !=''">
-                AND a.orderID = #{orderId}
+                AND  a.orderId = #{orderId}
+            </if>
+            <if test="shopOrderId != null and shopOrderId !=''">
+                AND  a.shopOrderId = #{shopOrderId}
             </if>
             <if test="userId != null and userId !=''">
                 AND a.userID = #{userId}
@@ -105,10 +111,11 @@
                 concat('%',#{clubName},'%')
             </if>
             <if test="orderNo != null and orderNo != ''">
-                AND b.orderNo = #{orderNo}
+                AND (co.orderNo = #{orderNo} or cso.shopOrderNo = #{orderNo})
             </if>
             and a.delFlag = 0
         </where>
+        group by a.id
         order by a.returnTime desc
     </select>
 
@@ -205,4 +212,46 @@
         from cm_returned_purchase
         where id = #{id}
     </select>
-</mapper>
+
+    <update id="updateRevokeApply">
+        UPDATE cm_returned_purchase
+        <set>
+            status = #{status},
+            reviewImage1 = #{reviewImage1},
+            reviewImage1 = #{reviewImage2},
+            reviewImage1 = #{reviewImage3},
+            reviewImage1 = #{reviewImage4},
+            reviewImage1 = #{reviewImage5},
+            reviewRemarks = #{reviewRemarks},
+            applicationUserID = #{applicationUserId},
+            confirmReturnTime = #{confirmReturnTime},
+            reviewUserID = #{reviewUserId},
+        </set>
+        WHERE id = #{id} and orderId=#{orderId}
+        <if test="shopOrderId != null and shopOrderId != ''">
+            AND shopOrderId != #{shopOrderId}
+        </if>
+    </update>
+
+    <!--查询排除当前撤销的退货退款记录-->
+    <select id="findReturnedPurchaseRecord" resultType="com.caimei.modules.order.entity.CmReturnedPurchase">
+        SELECT
+        a.*
+        FROM cm_returned_purchase a
+        <where>
+            <if test="id != null and id != ''">
+                AND a.id != #{id}
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND a.orderID = #{orderId}
+            </if>
+            <if test="shopOrderId != null and shopOrderId != ''">
+                AND a.shopOrderId = #{shopOrderId}
+            </if>
+            <if test="status != null and status != ''">
+                AND a.status = #{status}
+            </if>
+            and a.delFlag = 0
+        </where>
+    </select>
+</mapper>

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

@@ -69,6 +69,9 @@
                  left join product c on c.productId = a.productId
                  left join shop d on d.shopId = a.shopId
         where a.returnedId = #{returnedId}
+        <if test="shopOrderId != null">
+            AND a.shopOrderId = #{shopOrderId}
+        </if>
     </select>
 
     <select id="getCmReturnedPurchaseProductList"
@@ -153,4 +156,4 @@
           AND a.returnedID = #{returnId}
           AND b.delFlag = 0
     </select>
-</mapper>
+</mapper>

+ 146 - 0
src/main/resources/mapper/CmUserBalanceRecordMapper.xml

@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.caimei.modules.order.dao.CmUserBalanceRecordMapper">
+
+    <resultMap type="com.caimei.modules.order.entity.CmUserBalanceRecord" id="CmUserBalanceRecordResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="userId"    />
+        <result property="type"    column="type"    />
+        <result property="balanceType"    column="balanceType"    />
+        <result property="addDate"    column="addDate"    />
+        <result property="amount"    column="amount"    />
+        <result property="orderId"    column="orderId"    />
+        <result property="shopOrderId"    column="shopOrderId"    />
+        <result property="receiptId"    column="receiptId"    />
+        <result property="returnedId"    column="returnedId"    />
+        <result property="withdrawalsId"    column="withdrawalsId"    />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="delFlag"    />
+    </resultMap>
+
+    <sql id="selectCmUserBalanceRecordVo">
+        select cm_user_balance_record.id,cm_user_balance_record.userId,cm_user_balance_record.type,cm_user_balance_record.balanceType,cm_user_balance_record.addDate,cm_user_balance_record.amount,cm_user_balance_record.orderId,cm_user_balance_record.shopOrderId,cm_user_balance_record.receiptId,cm_user_balance_record.returnedId,cm_user_balance_record.withdrawalsId,cm_user_balance_record.remark
+    </sql>
+
+    <select id="getByCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        <where>  cm_user_balance_record.delFlag = 0
+            <if test="id != null "> and cm_user_balance_record.id = #{id}</if>
+            <if test="userId != null "> and cm_user_balance_record.userId = #{userId}</if>
+            <if test="type != null  and type != ''"> and cm_user_balance_record.type = #{type}</if>
+            <if test="balanceType != null  and balanceType != ''"> and cm_user_balance_record.balanceType = #{balanceType}</if>
+            <if test="addDate != null "> and cm_user_balance_record.addDate = #{addDate}</if>
+            <if test="amount != null "> and cm_user_balance_record.amount = #{amount}</if>
+            <if test="orderId != null "> and cm_user_balance_record.orderId = #{orderId}</if>
+            <if test="shopOrderId != null "> and cm_user_balance_record.shopOrderId = #{shopOrderId}</if>
+            <if test="receiptId != null "> and cm_user_balance_record.receiptId = #{receiptId}</if>
+            <if test="returnedId != null "> and cm_user_balance_record.returnedId = #{returnedId}</if>
+            <if test="withdrawalsId != null "> and cm_user_balance_record.withdrawalsId = #{withdrawalsId}</if>
+            <if test="delFlag != null  and delFlag != ''"> and cm_user_balance_record.delFlag = #{delFlag}</if>
+        </where>
+      limit 0,1
+    </select>
+
+    <select id="getCmUserBalanceRecordList" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        <where>  cm_user_balance_record.delFlag = 0
+            <if test="id != null "> and cm_user_balance_record.id = #{id}</if>
+            <if test="userId != null "> and cm_user_balance_record.userId = #{userId}</if>
+            <if test="type != null  and type != ''">
+                and cm_user_balance_record.type  = #{type}
+            </if>
+            <if test="balanceType != null  and balanceType != ''"> and cm_user_balance_record.balanceType = #{balanceType}</if>
+            <if test="addDate != null "> and cm_user_balance_record.addDate = #{addDate}</if>
+            <if test="amount != null "> and cm_user_balance_record.amount = #{amount}</if>
+            <if test="orderId != null "> and cm_user_balance_record.orderId = #{orderId}</if>
+            <if test="shopOrderId != null "> and cm_user_balance_record.shopOrderId = #{shopOrderId}</if>
+            <if test="receiptId != null "> and cm_user_balance_record.receiptId = #{receiptId}</if>
+            <if test="returnedId != null "> and cm_user_balance_record.returnedId = #{returnedId}</if>
+            <if test="withdrawalsId != null "> and cm_user_balance_record.withdrawalsId = #{withdrawalsId}</if>
+            <if test="delFlag != null  and delFlag != ''"> and cm_user_balance_record.delFlag = #{delFlag}</if>
+        </where>
+    </select>
+
+    <select id="getCmUserBalanceRecordById" parameterType="Integer" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        where  cm_user_balance_record.delFlag = 0 and cm_user_balance_record.id = #{id}
+    </select>
+
+    <insert id="addCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into cm_user_balance_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="userId != null">userId,</if>
+            <if test="type != null and type != ''">type,</if>
+            <if test="balanceType != null and balanceType != ''">balanceType,</if>
+            <if test="addDate != null">addDate,</if>
+            <if test="amount != null">amount,</if>
+            <if test="orderId != null">orderId,</if>
+            <if test="shopOrderId != null">shopOrderId,</if>
+            <if test="receiptId != null">receiptId,</if>
+            <if test="returnedId != null">returnedId,</if>
+            <if test="withdrawalsId != null">withdrawalsId,</if>
+            <if test="remark != null and remark != ''">remark,</if>
+            <if test="delFlag != null and delFlag != ''">delFlag,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="type != null and type != ''">#{type},</if>
+            <if test="balanceType != null and balanceType != ''">#{balanceType},</if>
+            <if test="addDate != null">#{addDate},</if>
+            <if test="amount != null">#{amount},</if>
+            <if test="orderId != null">#{orderId},</if>
+            <if test="shopOrderId != null">#{shopOrderId},</if>
+            <if test="receiptId != null">#{receiptId},</if>
+            <if test="returnedId != null">#{returnedId},</if>
+            <if test="withdrawalsId != null">#{withdrawalsId},</if>
+            <if test="remark != null and remark != ''">#{remark},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+        </trim>
+    </insert>
+
+    <update id="updateCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord">
+        update cm_user_balance_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">userId = #{userId},</if>
+            <if test="type != null and type != ''">type = #{type},</if>
+            <if test="balanceType != null and balanceType != ''">balanceType = #{balanceType},</if>
+            <if test="addDate != null">addDate = #{addDate},</if>
+            <if test="amount != null">amount = #{amount},</if>
+            <if test="orderId != null">orderId = #{orderId},</if>
+            <if test="shopOrderId != null">shopOrderId = #{shopOrderId},</if>
+            <if test="receiptId != null">receiptId = #{receiptId},</if>
+            <if test="returnedId != null">returnedId = #{returnedId},</if>
+            <if test="withdrawalsId != null">withdrawalsId = #{withdrawalsId},</if>
+            <if test="remark != null and remark != ''">remark = #{remark},</if>
+            <if test="delFlag != null and delFlag != ''">delFlag = #{delFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="updateDelCmUserBalanceRecordByIds" parameterType="String">
+        update cm_user_balance_record set delFlag=1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <delete id="delCmUserBalanceRecordById" parameterType="Integer">
+        delete
+        from cm_user_balance_record where id = #{id}
+    </delete>
+
+    <delete id="delCmUserBalanceRecordByIds" parameterType="String">
+        delete from cm_user_balance_record where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

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

@@ -71,6 +71,53 @@
         where c.userId = #{userId}
     </select>
 
+
+    <select id="get" resultType="com.caimei.modules.club.entity.CmUser">
+            SELECT
+            a.userID AS "userID",
+            a.mobile AS "mobile",
+            a.userOrganizeID AS "userOrganizeID",
+            a.bindMobile AS "bindMobile",
+            a.email AS "email",
+            a.account AS "account",
+            a.realName AS "realName",
+            a.userIdentity AS "userIdentity",
+            a.userName AS "userName",
+            a.source AS "source",
+            a.image AS "image",
+            a.password AS "password",
+            a.name AS "name",
+            a.registerUserTypeID AS "registerUserTypeID",
+            a.manufacturerStatus AS "manufacturerStatus",
+            a.shopID AS "shopID",
+            a.auditStatus AS "auditStatus",
+            a.auditTime AS "auditTime",
+            a.auditNote AS "auditNote",
+            a.registerTime AS "registerTime",
+            a.registerIP AS "registerIP",
+            a.loginTime AS "loginTime",
+            a.loginFailTime AS "loginFailTime",
+            a.loginIP AS "loginIP",
+            a.validFlag AS "validFlag",
+            a.clubStatus AS "clubStatus",
+            a.clubID AS "clubID",
+            a.agreeFlag AS "agreeFlag",
+            a.serviceProviderStatus AS "serviceProviderStatus",
+            a.serviceProviderID AS "serviceProviderID",
+            a.userMoney AS "userMoney",
+            a.ableUserMoney as "ableUserMoney",
+            a.logoffTime AS "logoffTime",
+            a.appKey AS "appKey",
+            a.appSecret AS "appSecret",
+            a.scanFlag AS "scanFlag",
+            a.userBeans AS "userBeans",
+            a.guideFlag AS "guideFlag",
+            a.userPermission AS "userPermission"
+        FROM user a
+        WHERE a.userID = #{id}
+    </select>
+
+
     <insert id="insert" parameterType="com.caimei.modules.club.entity.CmUser" keyProperty="userId"
             useGeneratedKeys="true">
         INSERT INTO user(
@@ -237,6 +284,9 @@
             <if test="userMoney != null and userMoney != ''">
                 userMoney = #{userMoney},
             </if>
+            <if test="ableUserMoney != null and ableUserMoney != ''">
+                ableUserMoney = #{ableUserMoney} ,
+            </if>
             <if test="userBeans != null and userBeans != ''">
                 userBeans = #{userBeans},
             </if>

+ 8 - 6
src/main/resources/mapper/FloorMapper.xml

@@ -47,14 +47,16 @@
     </select>
 
     <select id="findProducts" resultType="com.caimei.modules.homepage.enity.BackProduct">
-        select DISTINCT p.name  as productName,
+        select DISTINCT p.name as productName,
                         p.mainImage,
-                        cmop.id as productId,
-                        cmop.validFlag,
+                        p.productId,
+                        copi.validFlag,
                         cmp.sort
         from cm_mall_floor_product cmp
-                 left join cm_mall_organize_products cmop on cmp.productId = cmop.id
-                 left join product p on cmop.productId = p.productID
+                 left join product p on cmp.productId = p.productID
+                 left join cm_organize_product_info copi on cmp.productId = copi.productId
         where cmp.floorId = #{id}
+        group by p.productId
+        order by cmp.sort
     </select>
-</mapper>
+</mapper>

+ 59 - 57
src/main/resources/mapper/NewOrderMapper.xml

@@ -61,18 +61,18 @@
             <if test="orderNo != null">
                 orderNo = #{orderNo,jdbcType=VARCHAR},
             </if>
-            <if test="userID != null">
-                userID = #{userID,jdbcType=BIGINT},
+            <if test="userId != null">
+                userId = #{userId,jdbcType=BIGINT},
             </if>
-            <if test="organizeID != null">
-                organizeID = #{organizeID,jdbcType=INTEGER},
-            </if>
-            <if test="buyUserID != null">
-                buyUserID = #{buyUserID,jdbcType=INTEGER},
+            <if test="organizeId != null">
+                organizeId = #{organizeId,jdbcType=INTEGER},
             </if>
-            <if test="shopOrderIDs != null">
-                shopOrderIDs = #{shopOrderIDs,jdbcType=VARCHAR},
+            <if test="buyUserId != null">
+                buyUserId = #{buyUserId,jdbcType=INTEGER},
             </if>
+<!--            <if test="shopOrderIds != null">-->
+<!--                shopOrderIds = #{shopOrderIds,jdbcType=VARCHAR},-->
+<!--            </if>-->
             <if test="orderSubmitType != null">
                 orderSubmitType = #{orderSubmitType,jdbcType=CHAR},
             </if>
@@ -103,14 +103,14 @@
             <if test="discountFee != null">
                 discountFee = #{discountFee,jdbcType=DECIMAL},
             </if>
-            <if test="spID != null">
-                spID = #{spID,jdbcType=BIGINT},
+            <if test="spId != null">
+                spId = #{spId,jdbcType=BIGINT},
             </if>
-            <if test="mainSpID != null">
-                mainSpID = #{mainSpID,jdbcType=BIGINT},
+            <if test="mainSpId != null">
+                mainSpId = #{mainSpId,jdbcType=BIGINT},
             </if>
-            <if test="clubID != null">
-                clubID = #{clubID,jdbcType=BIGINT},
+            <if test="clubId != null">
+                clubId = #{clubId,jdbcType=BIGINT},
             </if>
             <if test="clubScanTime != null">
                 clubScanTime = #{clubScanTime,jdbcType=VARCHAR},
@@ -130,8 +130,8 @@
             <if test="confirmFlag != null">
                 confirmFlag = #{confirmFlag,jdbcType=CHAR},
             </if>
-            <if test="clauseID != null">
-                clauseID = #{clauseID,jdbcType=BIGINT},
+            <if test="clauseId != null">
+                clauseId = #{clauseId,jdbcType=BIGINT},
             </if>
             <if test="clauseName != null">
                 clauseName = #{clauseName,jdbcType=VARCHAR},
@@ -218,20 +218,20 @@
                 svipFullReduction = #{svipFullReduction}
             </if>
         </set>
-        where orderID = #{orderId}
+        where orderId = #{orderId}
     </update>
 
     <update id="updatePayStatus">
         update cm_order
         set payStatus = #{status}
-        where orderID = #{orderId}
+        where orderId = #{orderId}
     </update>
 
     <update id="updateShopOrderByPayStatus">
         UPDATE cm_shop_order
         SET payStatus       = #{payStatus},
             payedShopAmount = #{paidShop}
-        WHERE shopOrderID = #{shopOrderId}
+        WHERE shopOrderId = #{shopOrderId}
     </update>
 
     <update id="updateBySplitStatus">
@@ -292,6 +292,7 @@
         "shouldPayProduct",
         co.status AS status,
         co.postageOrderFlag AS postageOrderFlag,
+        co.orderSource AS orderSource,
         c.name as clubName,
         (CASE WHEN co.orderType = '0' THEN
             ( CASE sp.status WHEN 91 THEN '默认采购员(官方账号)' ELSE sp.linkMan END )
@@ -303,18 +304,20 @@
         AND orderId = co.orderId)AS returnedPurchaseStatus
         FROM cm_order co
         LEFT JOIN bp_order_userinfo bou ON bou.orderId = co.orderId
-        left join cm_order_product cop on co.orderID = cop.orderID
+        left join cm_order_product cop on co.orderId = cop.orderId
         left join club c on co.userId = c.userId
         LEFT JOIN serviceprovider sp ON c.spID = sp.serviceProviderID
         <where>
+             co.organizeId = #{organizeId}
+
             <if test="orderId != null">
                 AND co.orderId = #{orderId}
             </if>
             <if test="orderNo != null and orderNo != ''">
                 AND co.orderNo = #{orderNo}
             </if>
-            <if test="organizeId != null">
-                AND co.organizeId = #{organizeId}
+            <if test="clubName != null and clubName != ''">
+                AND c.name = #{clubName}
             </if>
             <if test="orderType != null">
                 AND co.orderType = #{orderType}
@@ -442,7 +445,6 @@
             END) AS spName
         FROM cm_order a
         left join club c on a.userId = c.userId
-        left join serviceprovider sp ON c.spID = sp.serviceProviderID
         WHERE a.orderId = #{id}
     </select>
 
@@ -459,11 +461,11 @@
                cror.shopOrderId,
                cdr.payType
         FROM cm_receipt_order_relation cror
-                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-                 LEFT JOIN cm_order co ON cror.orderID = co.orderID
-                 left join cm_shop_order cso on cso.orderId = cror.orderID
-                 LEFT JOIN cm_order_product cop ON co.shopOrderIDs = cop.shopOrderID
-                 LEFT JOIN product p ON cop.productID = p.productID
+                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptId = cdr.id
+                 LEFT JOIN cm_order co ON cror.orderId = co.orderId
+                 left join cm_shop_order cso on cso.orderId = cror.orderId
+                 LEFT JOIN cm_order_product cop ON co.shopOrderIds = cop.shopOrderId
+                 LEFT JOIN product p ON cop.productId = p.productId
         WHERE cror.relationType = 2
           and cror.shopOrderId = #{shopOrderId}
           AND cso.receiptStatus = 3
@@ -478,15 +480,15 @@
     </select>
 
     <select id="getShopOrderListByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT shopOrderID AS shopOrderId,
+        SELECT shopOrderId AS shopOrderId,
                shopOrderNo,
-               orderID     AS orderId,
+               orderId     AS orderId,
                orderNo,
-               shopID      AS shopId,
+               shopId      AS shopId,
                note,
-               userID      AS userId,
-               clubID      AS clubId,
-               spID        AS spId,
+               userId      AS userId,
+               clubId      AS clubId,
+               spId        AS spId,
                brokerage,
                itemCount,
                totalAmount,
@@ -500,7 +502,7 @@
                splitCode
         FROM cm_shop_order
         WHERE delFlag = 0
-          AND shopOrderID = #{shopOrderId}
+          AND shopOrderId = #{shopOrderId}
     </select>
 
     <select id="getSplitAccountList" resultType="com.caimei.modules.order.entity.SplitAccountPo">
@@ -525,15 +527,15 @@
     </select>
 
     <select id="getShopOrderByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT shopOrderID AS shopOrderId,
+        SELECT shopOrderId AS shopOrderId,
                shopOrderNo,
-               orderID     AS orderId,
+               orderId     AS orderId,
                orderNo,
-               shopID      AS shopId,
+               shopId      AS shopId,
                note,
-               userID      AS userId,
-               clubID      AS clubId,
-               spID        AS spId,
+               userId      AS userId,
+               clubId      AS clubId,
+               spId        AS spId,
                orderPromotionsId,
                promotionFullReduction,
                brokerage,
@@ -554,7 +556,7 @@
                splitCode
         FROM cm_shop_order
         WHERE delFlag = 0
-          AND orderID = #{orderId}
+          AND orderId = #{orderId}
     </select>
 
     <select id="getPaidShopAmount" resultType="java.lang.Double">
@@ -562,14 +564,14 @@
         FROM cm_pay_shop_record
         WHERE STATUS = 1
           AND delFlag = 0
-          AND shopOrderID = #{shopOrderId}
+          AND shopOrderId = #{shopOrderId}
     </select>
 
     <select id="getOrderProductByShopOrderId" resultType="com.caimei.modules.order.entity.NewOrderProduct">
-        SELECT cop.orderProductID                                                 AS orderProductId,
-               cop.orderID                                                        AS orderId,
+        SELECT cop.orderProductId                                                 AS orderProductId,
+               cop.orderId                                                        AS orderId,
                cop.orderNo,
-               cop.shopOrderID                                                    AS shopOrderId,
+               cop.shopOrderId                                                    AS shopOrderId,
                cop.shopOrderNo,
                cop.productId,
                cop.shopId,
@@ -597,9 +599,9 @@
                cop.organizePercent,
                cop.shopPercent
         FROM cm_order_product cop
-                 LEFT JOIN product p ON cop.productID = p.productID
-                 left join cm_order co on co.orderID = cop.orderID
-        WHERE cop.shopOrderID = #{shopOrderId}
+                 LEFT JOIN product p ON cop.productId = p.productId
+                 left join cm_order co on co.orderId = cop.orderId
+        WHERE cop.shopOrderId = #{shopOrderId}
           AND IF(co.userBeans = 0, 1 = 1, cop.shopId != 998)
         ORDER BY cop.discountPrice DESC
     </select>
@@ -643,8 +645,8 @@
         co.postageOrderFlag AS postageOrderFlag,
         c.name AS clubName
         FROM cm_order co
-        LEFT JOIN cm_shop_order cso ON co.orderID = cso.orderID
-        LEFT JOIN club c ON c.userID = co.userID
+        LEFT JOIN cm_shop_order cso ON co.orderId = cso.orderId
+        LEFT JOIN club c ON c.userId = co.userId
         <where>
             co.organizeId = #{organizeId}
             <if test="clubName != null and clubName != ''">
@@ -657,7 +659,7 @@
                 AND co.orderNo = #{orderNo}
             </if>
             <if test="shopOrderId != null">
-                AND cso.shopOrderID = #{shopOrderId}
+                AND cso.shopOrderId = #{shopOrderId}
             </if>
             <if test="shopOrderNo != null and shopOrderNo != ''">
                 AND cso.shopOrderNo like concat('%', #{shopOrderNo} ,'%')
@@ -700,7 +702,7 @@
     <select id="findOnlinePay" resultType="java.lang.Integer">
         SELECT COUNT(receiptId)
         FROM cm_receipt_order_relation cror
-        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptId = cdr.id
         WHERE cror.orderid = #{orderId}
           AND cdr.payway = 1
           AND cdr.delFlag = 0
@@ -716,9 +718,9 @@
     </select>
 
     <select id="findVoucher" resultType="com.caimei.modules.order.entity.Voucher">
-        select id,orderId,remarks,addTime
+        select id,shopOrderId,remarks,addTime
         from cm_order_payment_voucher
-        where orderId = #{orderId}
+        where shopOrderId = #{shopOrderId}
     </select>
 
     <select id="findVocherImage" resultType="java.lang.String">
@@ -738,7 +740,7 @@
     <select id="findWaitPay" resultType="java.lang.Double">
         SELECT ifnull((SELECT payTotalFee FROM cm_order WHERE orderId = #{orderId}) - ifnull(SUM(receiptAmount),0),0)
         FROM cm_discern_receipt cdr
-        LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptID
+        LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptId
         WHERE cror.orderId = #{orderId}
     </select>
 

+ 14 - 4
src/main/resources/mapper/NewOrderProductMapper.xml

@@ -14,7 +14,6 @@
 		  a.`num` AS `num`,
 		  a.`presentNum` AS `presentNum`,
 		  a.`outStoreType` AS `outStoreType`,
-		  a.organizeSkuId,
 		  a.`skuId` AS `skuId`,
 		  a.`productNo` AS `productNo`,
 		  a.`price` AS `price`,
@@ -48,6 +47,7 @@
 		  a.`payStatus` AS `payStatus`,
 		  a.`name` AS `name`,
 		  cs.`unit` AS `unit`,
+		  cs.`organizeId` AS `organizeId`,
 		  a.`actType` AS `actType`,
 		  a.`actPreferential` AS `actPreferential`,
 		  a.`preferential` AS `preferential`,
@@ -56,7 +56,7 @@
 		  a.`productUnit` AS `productUnit`,
 		  a.`productImage` AS `productImage`,
 		  a.`shopName` AS `shopName`,
-		  cs.costProportional AS costProportional,
+-- 		  cs.costProportional AS costProportional,
 		  cs.stock AS stock,
 		  cs.costCheckFlag AS costCheckFlag,
 		  cs.costPrice AS costPrice,
@@ -67,7 +67,7 @@
 
     <sql id="orderProductJoins">
 		LEFT JOIN product p ON p.productId = a.productId
-		left join cm_sku cs on a.skuId = cs.skuId
+		left join cm_sku cs on a.skuId = cs.skuId and cs.organizeId= 4
     </sql>
 
     <select id="get" resultType="com.caimei.modules.order.entity.NewOrderProduct">
@@ -86,6 +86,16 @@
 		WHERE a.shopOrderId = #{shopOrderId}
 	</select>
 
+	<select id="CountReturnedPurchaseProduct" resultType="java.lang.Integer">
+		select SUM(crpp.actualReturnedNum) + SUM(crpp.actualCancelNum)
+		from cm_returned_purchase_product crpp
+				 left join cm_returned_purchase rp on rp.id = crpp.returnedID
+		where crpp.shopOrderID = #{shopOrderID}
+		  and crpp.orderProductID = #{orderProductID}
+		  and rp.status = '2'
+		  and rp.delFlag = '0'
+	</select>
+
 	<select id="getReturningNum" resultType="Integer">
 		SELECT
 		  IFNULL(sum(a.actualReturnedNum+a.actualCancelNum),0)
@@ -135,4 +145,4 @@
 		  and rp.status = '2'
 		  and rp.delFlag = '0'
 	</select>
-</mapper>
+</mapper>

+ 20 - 3
src/main/resources/mapper/NewShopOrderMapper.xml

@@ -67,6 +67,15 @@
             <if test="orderStatusFlag != null and orderStatusFlag != ''">
                 orderStatusFlag = #{orderStatusFlag},
             </if>
+            <if test="refundStatus != null and refundStatus != ''">
+                refundStatus = #{refundStatus},
+            </if>
+            <if test="refundStatus != null and refundStatus != ''">
+                refundStatus = #{refundStatus},
+            </if>
+            <if test="shopStatus != null and shopStatus != ''">
+                shopStatus = #{shopStatus},
+            </if>
             <if test="orderTime != null and orderTime != ''">
                 orderTime = #{orderTime},
             </if>
@@ -174,6 +183,7 @@
                a.orderNo                                            AS orderNo,
                a.userID                                             AS userId,
                a.shopID                                             AS shopId,
+               a.shopStatus                                             AS shopStatus,
                a.itemCount                                          AS itemCount,
                a.townID                                             AS townId,
                a.productAmount                                      AS productAmount,
@@ -245,6 +255,7 @@
                a.orderNo                                            AS orderNo,
                a.userID                                             AS userId,
                a.shopID                                             AS shopId,
+               a.shopStatus                                             AS shopStatus,
                a.itemCount                                          AS itemCount,
                a.townID                                             AS townId,
                a.productAmount                                      AS productAmount,
@@ -264,6 +275,7 @@
                a.brokerage                                          AS brokerage,
                a.refundsAmount                                      AS refundsAmount,
                a.orderStatusFlag                                    AS orderStatusFlag,
+               a.refundStatus                                    AS refundStatus,
                a.orderType                                          AS orderType,
                a.orderTime                                          AS orderTime,
                a.presentNum                                         AS presentNum,
@@ -322,6 +334,8 @@
                         a.orderNo                                            AS orderNo,
                         a.userID                                             AS userId,
                         a.shopID                                             AS shopId,
+                        a.shopStatus                                         AS shopStatus,
+                        a.shopPostFlag                                       AS shopPostFlag,
                         a.itemCount                                          AS itemCount,
                         a.townID                                             AS townId,
                         a.productAmount                                      AS productAmount,
@@ -330,8 +344,8 @@
                         a.payTime                                            AS payTime,
                         a.needPayAmount                                      AS needPayAmount,
                         a.splitCode,
-                        a.realPay                                            AS realPay,
-                        a.receiptAmount                                      AS receiptAmount,
+                        ifnull(a.realPay,0)                                             AS realPay,
+                        ifnull(a.receiptAmount,0)                                     AS receiptAmount,
                         a.receiptStatus                                      as receiptStatus,
                         a.refundAmount                                       AS refundAmount,
                         a.clubID                                             AS clubId,
@@ -341,6 +355,7 @@
                         a.brokerage                                          AS brokerage,
                         a.refundsAmount                                      AS refundsAmount,
                         a.orderStatusFlag                                    AS orderStatusFlag,
+                        a.refundStatus                                    AS refundStatus,
                         a.orderType                                          AS orderType,
                         a.orderTime                                          AS orderTime,
                         a.presentNum                                         AS presentNum,
@@ -422,6 +437,7 @@
         a.orderNo AS orderNo,
         a.userID AS userId,
         a.shopID AS shopId,
+        a.shopStatus                                             AS shopStatus,
         a.itemCount AS itemCount,
         a.townID AS townId,
         a.productAmount AS productAmount,
@@ -441,6 +457,7 @@
         a.brokerage AS brokerage,
         a.refundsAmount AS refundsAmount,
         a.orderStatusFlag AS orderStatusFlag,
+        a.refundStatus AS refundStatus,
         a.orderType AS orderType,
         a.orderTime AS orderTime,
         a.presentNum AS presentNum,
@@ -572,4 +589,4 @@
           and orderId = #{orderId}
           and delFlag = 0
     </select>
-</mapper>
+</mapper>

+ 2 - 2
src/main/resources/mapper/PayShopDao.xml

@@ -416,7 +416,7 @@
                          AND rp.delFlag = '0'),
                       0)                                   AS returnedNum
         from cm_order_product cop
-                 left join cm_sku cs on cop.skuId = cs.skuId
+                 left join cm_sku cs on cop.skuId = cs.skuId and cs.organizeId= 4
                  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
@@ -715,4 +715,4 @@
         WHERE shopOrderId=#{shopOrderId}
         AND DATE_ADD(splitTime,INTERVAL 1 DAY) <![CDATA[  <  ]]> now()
     </select>
-</mapper>
+</mapper>