Browse Source

维沙组织和机构逻辑修改part2

Aslee 4 years ago
parent
commit
44585e44b9
34 changed files with 400 additions and 191 deletions
  1. 12 12
      src/main/java/com/caimei/controller/AddressApi.java
  2. 3 3
      src/main/java/com/caimei/controller/OrderApi.java
  3. 26 9
      src/main/java/com/caimei/controller/OrderSubmitApi.java
  4. 7 7
      src/main/java/com/caimei/controller/ProductApi.java
  5. 9 9
      src/main/java/com/caimei/controller/ShoppingCartApi.java
  6. 3 1
      src/main/java/com/caimei/mapper/OrderMapper.java
  7. 16 2
      src/main/java/com/caimei/mapper/OrderSubmitMapper.java
  8. 10 9
      src/main/java/com/caimei/mapper/ProductMapper.java
  9. 12 12
      src/main/java/com/caimei/mapper/ShoppingCartMapper.java
  10. 8 1
      src/main/java/com/caimei/mapper/UserMapper.java
  11. 2 2
      src/main/java/com/caimei/model/dto/CartDto.java
  12. 5 0
      src/main/java/com/caimei/model/po/CmOrderPo.java
  13. 5 0
      src/main/java/com/caimei/model/po/CmUserInvoiceInfoPo.java
  14. 3 3
      src/main/java/com/caimei/model/vo/AddressVo.java
  15. 8 8
      src/main/java/com/caimei/model/vo/StoreVo.java
  16. 6 6
      src/main/java/com/caimei/service/AddressService.java
  17. 2 2
      src/main/java/com/caimei/service/OrderService.java
  18. 12 4
      src/main/java/com/caimei/service/OrderSubmitService.java
  19. 2 2
      src/main/java/com/caimei/service/ProductService.java
  20. 2 2
      src/main/java/com/caimei/service/ShoppingCartService.java
  21. 18 6
      src/main/java/com/caimei/service/impl/AddressServiceImpl.java
  22. 2 2
      src/main/java/com/caimei/service/impl/OrderServiceImpl.java
  23. 60 7
      src/main/java/com/caimei/service/impl/OrderSubmitServiceImpl.java
  24. 4 5
      src/main/java/com/caimei/service/impl/ProductServiceImpl.java
  25. 9 9
      src/main/java/com/caimei/service/impl/ShoppingCartServiceImpl.java
  26. 12 0
      src/main/java/com/caimei/util/OrderNoUtils.java
  27. 25 4
      src/main/resources/backup.sql
  28. 2 2
      src/main/resources/config/dev/application-dev.yml
  29. 6 6
      src/main/resources/mapper/AddressMapper.xml
  30. 16 2
      src/main/resources/mapper/OrderMapper.xml
  31. 43 20
      src/main/resources/mapper/OrderSubmitMapper.xml
  32. 14 1
      src/main/resources/mapper/ProductMapper.xml
  33. 33 33
      src/main/resources/mapper/ShoppingCartMapper.xml
  34. 3 0
      src/main/resources/mapper/UserMapper.xml

+ 12 - 12
src/main/java/com/caimei/controller/AddressApi.java

@@ -37,16 +37,16 @@ public class AddressApi {
      */
     @ApiOperation("查询用户所有地址")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", required = true, value = "机构用户id"),
+            @ApiImplicitParam(name = "storeId", required = true, value = "机构用户id"),
             @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
     })
     @GetMapping("/findAddress")
-    public ResponseJson<PageInfo<AddressVo>> findAddress(Integer userId, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        if (userId == null) {
+    public ResponseJson<PageInfo<AddressVo>> findAddress(Integer storeId, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
+        if (storeId == null) {
             return ResponseJson.error("参数异常", null);
         }
-        return addressService.findAddress(userId, pageNum, pageSize);
+        return addressService.findAddress(storeId, pageNum, pageSize);
     }
 
     /**
@@ -77,14 +77,14 @@ public class AddressApi {
     @ApiOperation("设为默认地址")
     @GetMapping("/defaultAddress")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userId", required = true, value = "机构用户id"),
+            @ApiImplicitParam(name = "storeId", required = true, value = "机构用户id"),
             @ApiImplicitParam(name = "addressId", required = true, value = "地址id")
     })
-    public ResponseJson<String> defaultAddress(Integer userId, Integer addressId) {
-        if (null == userId || null == addressId) {
+    public ResponseJson<String> defaultAddress(Integer storeId, Integer addressId) {
+        if (null == storeId || null == addressId) {
             return ResponseJson.error("参数异常", null);
         }
-        return addressService.defaultAddress(userId, addressId);
+        return addressService.defaultAddress(storeId, addressId);
     }
 
     /**
@@ -109,13 +109,13 @@ public class AddressApi {
      * 发票信息数据
      */
     @ApiOperation("发票信息数据")
-    @ApiImplicitParam(name = "userId", value = "机构用户id", required = true)
+    @ApiImplicitParam(name = "organizeId", value = "机构用户id", required = true)
     @GetMapping("/findInvoice")
-    public ResponseJson<CmUserInvoiceInfoPo> findInvoice(Integer userId) {
-        if (userId == null) {
+    public ResponseJson<CmUserInvoiceInfoPo> findInvoice(Integer organizeId) {
+        if (organizeId == null) {
             return ResponseJson.error("参数异常", null);
         }
-        return addressService.findInvoice(userId);
+        return addressService.findInvoice(organizeId);
     }
 }
 

+ 3 - 3
src/main/java/com/caimei/controller/OrderApi.java

@@ -42,15 +42,15 @@ public class OrderApi {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "orderState", required = true, value = "1:待付款,2:待发货,3:已发货,4:退货款"),
             @ApiImplicitParam(name = "organizeId", required = true, value = "组织id"),
-            @ApiImplicitParam(name = "userId", required = false, value = "机构用户id"),
+            @ApiImplicitParam(name = "storeId", required = false, value = "门店id"),
             @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
     })
     @GetMapping("/list")
-    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer userId, Integer organizeId,
+    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer storeId, Integer organizeId,
                                                         @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        return orderService.getOrderList(orderState, userId, organizeId, pageNum, pageSize);
+        return orderService.getOrderList(orderState, storeId, organizeId, pageNum, pageSize);
     }
 
     /**

+ 26 - 9
src/main/java/com/caimei/controller/OrderSubmitApi.java

@@ -46,11 +46,11 @@ public class OrderSubmitApi {
     @ApiOperation("商品结算")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "productIds", value = "组织商品ID串用逗号隔开。", required = true),
-            @ApiImplicitParam(name = "userId", value = "机构用户id。", required = true)
+            @ApiImplicitParam(name = "organizeId", value = "组织id。", required = true)
     })
     @GetMapping("/confirm")
-    public ResponseJson<Map<String, Object>> orderConfirm(String productIds, Integer userId) {
-        return orderSubmitService.orderConfirm(productIds, userId);
+    public ResponseJson<Map<String, Object>> orderConfirm(String productIds, Integer organizeId, Integer storeId) {
+        return orderSubmitService.orderConfirm(productIds, organizeId, storeId);
     }
 
     /**
@@ -107,7 +107,8 @@ public class OrderSubmitApi {
         if (StringUtils.isBlank(params)) {
             return ResponseJson.error("数据异常", null);
         }
-        Integer clubUserId = null;
+        Integer organizeId = null;
+        Integer storeId = null;
         Integer addressId = null;
         List<Map<String, Object>> orderInfo = null;
         Map<String, Object> payInfo = null;
@@ -118,9 +119,13 @@ public class OrderSubmitApi {
             if (null == paramsMap) {
                 return ResponseJson.error("数据异常,参数不能为空", null);
             }
-            clubUserId = paramsMap.getInteger("clubUserId");
-            if (null == clubUserId) {
-                return ResponseJson.error("机构用户Id异常", null);
+            organizeId = paramsMap.getInteger("organizeId");
+            if (null == organizeId) {
+                return ResponseJson.error("组织Id异常", null);
+            }
+            storeId = paramsMap.getInteger("storeId");
+            if (null == organizeId) {
+                return ResponseJson.error("门店Id异常", null);
             }
             addressId = paramsMap.getInteger("addressId");
             if (null == addressId) {
@@ -144,18 +149,30 @@ public class OrderSubmitApi {
         }
 
         log.info("****** 提交订单参数:【机构自己下单】:" + params);
-        return orderSubmitService.orderSubmit(clubUserId, addressId, orderInfo, payInfo, orderInvoice);
+        return orderSubmitService.orderSubmit(organizeId, storeId, addressId, orderInfo, payInfo, orderInvoice);
     }
 
 
     /**
      * 余额抵扣
      */
-    @PostMapping("/balanceDeduction")
+    @GetMapping("/balanceDeduction")
     public ResponseJson<Map<String, Object>> balanceDeduction(Integer orderId) {
         if (null == orderId) {
             return ResponseJson.error("参数异常", null);
         }
         return orderSubmitService.balanceDeduction(orderId);
     }
+
+    /**
+     * 订单支付,效验付款规则
+     */
+    @GetMapping("/paymentValidation")
+    public ResponseJson<Map<String,Object>> paymentValidation(Integer orderId) {
+        if (null == orderId) {
+            return ResponseJson.error("参数异常", null);
+        }
+        return orderSubmitService.paymentValidation(orderId);
+    }
+
 }

+ 7 - 7
src/main/java/com/caimei/controller/ProductApi.java

@@ -1,7 +1,7 @@
 package com.caimei.controller;
 
 import com.caimei.model.ResponseJson;
-import com.caimei.model.vo.ClubVo;
+import com.caimei.model.vo.StoreVo;
 import com.caimei.model.vo.ProductVo;
 import com.caimei.service.ProductService;
 import com.github.pagehelper.PageInfo;
@@ -34,25 +34,25 @@ public class ProductApi {
     }
 
     /**
-     * 组织机构列表
+     * 组织门店列表
      *
-     * @param name       机构名称/机构联系人
+     * @param name       门店名称/门店联系人
      * @param organizeId 组织id
      * @return
      */
-    @ApiOperation("机构列表")
+    @ApiOperation("组织门店列表")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "organizeId", required = true, value = "组织id"),
             @ApiImplicitParam(name = "name", required = false, value = "机构名称/机构联系人"),
             @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
     })
-    @GetMapping("/clubList")
-    public ResponseJson<PageInfo<ClubVo>> clubList(Integer organizeId, String name, Integer pageNum, Integer pageSize) {
+    @GetMapping("/storeList")
+    public ResponseJson<PageInfo<StoreVo>> storeList(Integer organizeId, String name, Integer pageNum, Integer pageSize) {
         if (organizeId == null) {
             return ResponseJson.error("参数异常", null);
         }
-        return productService.clubList(organizeId, name, pageNum, pageSize);
+        return productService.storeList(organizeId, name, pageNum, pageSize);
     }
 
 

+ 9 - 9
src/main/java/com/caimei/controller/ShoppingCartApi.java

@@ -35,7 +35,7 @@ public class ShoppingCartApi {
     @ApiOperation("加入购物车")
     @PostMapping("/add/cart")
     public synchronized ResponseJson<Integer> addShoppingCart(@RequestBody CartDto cart) {
-        if (cart.getUserId() == null || cart.getProductId() == null || cart.getProductCount() == null) {
+        if (cart.getStoreId() == null || cart.getProductId() == null || cart.getProductCount() == null) {
             return ResponseJson.error("参数异常", null);
         }
         return shoppingCartService.addShoppingCart(cart);
@@ -45,26 +45,26 @@ public class ShoppingCartApi {
      * 统计购物车数量
      */
     @ApiOperation("统计购物车数量")
-    @ApiImplicitParam(name = "userId", value = "机构用户id", required = true)
+    @ApiImplicitParam(name = "storeId", value = "门店id", required = true)
     @GetMapping("/quantity")
-    public ResponseJson<Integer> getCartQuantity(Integer userId) {
-        if (userId == null) {
+    public ResponseJson<Integer> getCartQuantity(Integer storeId) {
+        if (storeId == null) {
             return ResponseJson.error("参数异常", null);
         }
-        return shoppingCartService.getCartQuantity(userId);
+        return shoppingCartService.getCartQuantity(storeId);
     }
 
     /**
      * 购物车数据
      */
     @ApiOperation("购物车数据")
-    @ApiImplicitParam(name = "userId", value = "机构用户id", required = true)
+    @ApiImplicitParam(name = "storeId", value = "门店id", required = true)
     @GetMapping("/info")
-    public ResponseJson<Map<String, Object>> shoppingInfo(Integer userId) {
-        if (userId == null) {
+    public ResponseJson<Map<String, Object>> shoppingInfo(Integer storeId) {
+        if (storeId == null) {
             return ResponseJson.error("参数异常", null);
         }
-        return shoppingCartService.shoppingInfo(userId);
+        return shoppingCartService.shoppingInfo(storeId);
     }
 
     /**

+ 3 - 1
src/main/java/com/caimei/mapper/OrderMapper.java

@@ -23,7 +23,7 @@ public interface OrderMapper {
      * @param orderState
      * @return
      */
-    List<OrderVo> findOrderList(@Param("userId") Integer userId, @Param("orderState") Integer orderState, @Param("organizeId") Integer organizeId);
+    List<OrderVo> findOrderList(@Param("storeId") Integer userId, @Param("orderState") Integer orderState, @Param("organizeId") Integer organizeId);
 
     /**
      * 查询物流详情
@@ -288,4 +288,6 @@ public interface OrderMapper {
      * @param searchHistoryPo
      */
     void insertHistory(CmMallOrderSearchHistoryPo searchHistoryPo);
+
+    List<OrderProductVo> findAllOrderProduct(Integer orderId);
 }

+ 16 - 2
src/main/java/com/caimei/mapper/OrderSubmitMapper.java

@@ -8,6 +8,7 @@ import com.caimei.model.vo.ShopVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -31,10 +32,10 @@ public interface OrderSubmitMapper {
      *
      * @param shopId
      * @param productIds
-     * @param userId
+     * @param storeId
      * @return
      */
-    List<CartProductVo> findProductListByCart(@Param("shopId") Integer shopId, @Param("productIds") String[] productIds, @Param("userId") Integer userId);
+    List<CartProductVo> findProductListByCart(@Param("shopId") Integer shopId, @Param("productIds") String[] productIds, @Param("storeId") Integer storeId);
 
     /**
      * 查询商品信息
@@ -163,4 +164,17 @@ public interface OrderSubmitMapper {
      * @return
      */
     AddressVo findByAddressId(Integer addressId);
+
+    /**
+     * 可用余额
+     */
+    BigDecimal findAbleUserMoney(Integer userId);
+
+    /**
+     * 查询审核中的退款退货数量
+     *
+     * @param orderId
+     * @return
+     */
+    Integer findRefundNum(Integer orderId);
 }

+ 10 - 9
src/main/java/com/caimei/mapper/ProductMapper.java

@@ -2,7 +2,7 @@ package com.caimei.mapper;
 
 import com.caimei.model.po.*;
 import com.caimei.model.vo.CartProductVo;
-import com.caimei.model.vo.ClubVo;
+import com.caimei.model.vo.StoreVo;
 import com.caimei.model.vo.LadderPriceVo;
 import com.caimei.model.vo.ProductVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -18,14 +18,6 @@ import java.util.List;
  */
 @Mapper
 public interface ProductMapper {
-    /**
-     * 查询组织机构
-     *
-     * @param organizeId 组织id
-     * @param name
-     * @return
-     */
-    List<ClubVo> findClubList(@Param("organizeId") Integer organizeId, @Param("name") String name);
 
     /**
      * 查询组织商品
@@ -123,4 +115,13 @@ public interface ProductMapper {
      * @return
      */
     List<CartProductVo> findProductGifts(Integer id);
+
+    /**
+     * 查询组织门店
+     *
+     * @param organizeId
+     * @param name
+     * @return
+     */
+    List<StoreVo> findStoreList(@Param("organizeId") Integer organizeId, @Param("name") String name);
 }

+ 12 - 12
src/main/java/com/caimei/mapper/ShoppingCartMapper.java

@@ -20,11 +20,11 @@ public interface ShoppingCartMapper {
     /**
      * 查询购物车
      *
-     * @param userId    机构id
+     * @param storeId    门店id
      * @param productId 组织商品id
      * @return
      */
-    CmMallCartPo findCartProduct(@Param("userId") Integer userId, @Param("productId") Integer productId);
+    CmMallCartPo findCartProduct(@Param("storeId") Integer storeId, @Param("productId") Integer productId);
 
     /**
      * 保存购物车
@@ -44,35 +44,35 @@ public interface ShoppingCartMapper {
     /**
      * 查询购物车数量
      *
-     * @param userId
+     * @param storeId
      * @return
      */
-    Integer getCartQuantity(Integer userId);
+    Integer getCartQuantity(Integer storeId);
 
     /**
      * 查询购物车对应供应商
      *
-     * @param userId
+     * @param storeId
      * @return
      */
-    List<ShopVo> findCartShop(Integer userId);
+    List<ShopVo> findCartShop(Integer storeId);
 
     /**
      * 查询购物车该供应商下商品
      *
      * @param shopId
-     * @param userId
+     * @param storeId
      * @return
      */
-    List<CartProductVo> findByShopCartProduct(@Param("shopId") Integer shopId, @Param("userId") Integer userId);
+    List<CartProductVo> findByShopCartProduct(@Param("shopId") Integer shopId, @Param("storeId") Integer storeId);
 
     /**
      * 查询失效购物车商品
      *
-     * @param userId
+     * @param storeId
      * @return
      */
-    List<CartProductVo> findExpiredGoods(Integer userId);
+    List<CartProductVo> findExpiredGoods(Integer storeId);
 
     /**
      * 删除购物车
@@ -92,8 +92,8 @@ public interface ShoppingCartMapper {
     /**
      * 根据用户id商品id删除购物车
      *
-     * @param userId
+     * @param storeId
      * @param productId
      */
-    void deleteCartByProductId(@Param("userId") Integer userId, @Param("productId") Integer productId);
+    void deleteCartByProductId(@Param("storeId") Integer storeId, @Param("productId") Integer productId);
 }

+ 8 - 1
src/main/java/com/caimei/mapper/UserMapper.java

@@ -25,8 +25,15 @@ public interface UserMapper {
     void updateMoney(BigDecimal userMoney, BigDecimal ableUserMoney, Integer userID);
 
     /**
-     * 保存余额扣记录
+     * 保存余额扣记录
      * @param balanceRecord
      */
     void insertBalanceRecord(BalanceRecordPo balanceRecord);
+
+    /**
+     * 获取组织id对应的用户id
+     * @param organizeId
+     * @return
+     */
+    Integer getUserIdByOrganizeId(Integer organizeId);
 }

+ 2 - 2
src/main/java/com/caimei/model/dto/CartDto.java

@@ -23,8 +23,8 @@ public class CartDto implements Serializable {
     /**
      * 用户ID(目前小程序用户和采美用户都在user表中)
      */
-    @ApiModelProperty("机构用户id")
-    private Integer userId;
+    @ApiModelProperty("门店id")
+    private Integer storeId;
 
     /**
      * 商品数量

+ 5 - 0
src/main/java/com/caimei/model/po/CmOrderPo.java

@@ -161,6 +161,11 @@ public class CmOrderPo implements Serializable {
      */
     private Long clubID;
 
+    /**
+     * 组织门店id
+     */
+    private Integer organizeStoreId;
+
     /**
      * 会所扫描确认时间
      */

+ 5 - 0
src/main/java/com/caimei/model/po/CmUserInvoiceInfoPo.java

@@ -13,6 +13,11 @@ import java.io.Serializable;
 public class CmUserInvoiceInfoPo implements Serializable {
     private Long id;
 
+    /**
+     * 组织id
+     */
+    private Integer organizeId;
+
     /**
      * 用户ID
      */

+ 3 - 3
src/main/java/com/caimei/model/vo/AddressVo.java

@@ -19,10 +19,10 @@ public class AddressVo implements Serializable {
     private Integer addressId;
 
     /**
-     * 用户ID
+     * 门店ID
      */
-    @ApiModelProperty("用户ID")
-    private Integer userId;
+    @ApiModelProperty("门店ID")
+    private Integer storeId;
 
     /**
      * 收货人

+ 8 - 8
src/main/java/com/caimei/model/vo/ClubVo.java → src/main/java/com/caimei/model/vo/StoreVo.java

@@ -9,26 +9,26 @@ import lombok.Data;
  * @date : 2021/3/23
  */
 @Data
-public class ClubVo {
+public class StoreVo {
 
     /**
-     * 用户id
+     * 门店id
      */
-    private Integer userId;
+    private Integer storeId;
 
     /**
-     * 机构名称
+     * 门店名称
      */
-    private String clubName;
+    private String name;
 
     /**
-     * 机构联系人
+     * 门店联系人
      */
-    private String userName;
+    private String linkMan;
 
     /**
      * 手机号
      */
-    private String bindMobile;
+    private String mobile;
 
 }

+ 6 - 6
src/main/java/com/caimei/service/AddressService.java

@@ -18,12 +18,12 @@ public interface AddressService {
     /**
      * 查询用户所有地址
      *
-     * @param userId
+     * @param storeId
      * @param pageNum
      * @param pageSize
      * @return
      */
-    ResponseJson<PageInfo<AddressVo>> findAddress(Integer userId, Integer pageNum, Integer pageSize);
+    ResponseJson<PageInfo<AddressVo>> findAddress(Integer storeId, Integer pageNum, Integer pageSize);
 
     /**
      * 保存或编辑地址
@@ -44,11 +44,11 @@ public interface AddressService {
     /**
      * 设为默认地址
      *
-     * @param userId
+     * @param storeId
      * @param addressId
      * @return
      */
-    ResponseJson<String> defaultAddress(Integer userId, Integer addressId);
+    ResponseJson<String> defaultAddress(Integer storeId, Integer addressId);
 
     /**
      * 地址列表数据
@@ -68,8 +68,8 @@ public interface AddressService {
     /**
      * 查询用户发票
      *
-     * @param userId
+     * @param organizeId
      * @return
      */
-    ResponseJson<CmUserInvoiceInfoPo> findInvoice(Integer userId);
+    ResponseJson<CmUserInvoiceInfoPo> findInvoice(Integer organizeId);
 }

+ 2 - 2
src/main/java/com/caimei/service/OrderService.java

@@ -20,13 +20,13 @@ public interface OrderService {
      * 订单数据
      *
      * @param orderState
-     * @param userId
+     * @param storeId
      * @param organizeId
      * @param pageNum
      * @param pageSize
      * @return
      */
-    ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer userId, Integer organizeId, Integer pageNum, Integer pageSize);
+    ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer storeId, Integer organizeId, Integer pageNum, Integer pageSize);
 
     /**
      * 订单详情

+ 12 - 4
src/main/java/com/caimei/service/OrderSubmitService.java

@@ -17,22 +17,23 @@ public interface OrderSubmitService {
      * 商品结算
      *
      * @param productIds 商品ID串用逗号隔开。
-     * @param userId     机构用户id。
+     * @param organizeId 组织id。
+     * @param storeId   门店id。
      * @return
      */
-    ResponseJson<Map<String, Object>> orderConfirm(String productIds, Integer userId);
+    ResponseJson<Map<String, Object>> orderConfirm(String productIds, Integer organizeId, Integer storeId);
 
     /**
      * 提交订单
      *
-     * @param clubUserId
+     * @param organizeId
      * @param addressId
      * @param orderInfo
      * @param payInfo
      * @param orderInvoice
      * @return
      */
-    ResponseJson<Map<String, String>> orderSubmit(Integer clubUserId, Integer addressId, List<Map<String, Object>> orderInfo, Map<String, Object> payInfo, Map<String, Object> orderInvoice);
+    ResponseJson<Map<String, String>> orderSubmit(Integer organizeId, Integer storeId, Integer addressId, List<Map<String, Object>> orderInfo, Map<String, Object> payInfo, Map<String, Object> orderInvoice);
 
     /**
      * 订单余额抵扣
@@ -55,4 +56,11 @@ public interface OrderSubmitService {
      * @param orderId       订单id
      */
     void saveDiscernReceipt(BigDecimal balancePayFee, Integer orderId);
+
+    /**
+     * 订单支付,效验付款规则
+     * @param orderId
+     * @return
+     */
+    ResponseJson<Map<String, Object>> paymentValidation(Integer orderId);
 }

+ 2 - 2
src/main/java/com/caimei/service/ProductService.java

@@ -1,7 +1,7 @@
 package com.caimei.service;
 
 import com.caimei.model.ResponseJson;
-import com.caimei.model.vo.ClubVo;
+import com.caimei.model.vo.StoreVo;
 import com.caimei.model.vo.ProductVo;
 import com.github.pagehelper.PageInfo;
 
@@ -21,7 +21,7 @@ public interface ProductService {
      * @param pageNum
      * @return
      */
-    ResponseJson<PageInfo<ClubVo>> clubList(Integer organizeId, String name, Integer pageNum, Integer pageSize);
+    ResponseJson<PageInfo<StoreVo>> storeList(Integer organizeId, String name, Integer pageNum, Integer pageSize);
 
     /**
      * 商品列表

+ 2 - 2
src/main/java/com/caimei/service/ShoppingCartService.java

@@ -33,10 +33,10 @@ public interface ShoppingCartService {
     /**
      * 购物车数据
      *
-     * @param userId
+     * @param storeId
      * @return
      */
-    ResponseJson<Map<String, Object>> shoppingInfo(Integer userId);
+    ResponseJson<Map<String, Object>> shoppingInfo(Integer storeId);
 
     /**
      * 更新购物车商品数量

+ 18 - 6
src/main/java/com/caimei/service/impl/AddressServiceImpl.java

@@ -1,6 +1,7 @@
 package com.caimei.service.impl;
 
 import com.caimei.mapper.AddressMapper;
+import com.caimei.mapper.UserMapper;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.po.CmUserInvoiceInfoPo;
 import com.caimei.model.vo.AddressVo;
@@ -25,11 +26,13 @@ import java.util.List;
 public class AddressServiceImpl implements AddressService {
     @Resource
     private AddressMapper addressMapper;
+    @Resource
+    private UserMapper userMapper;
 
     @Override
-    public ResponseJson<PageInfo<AddressVo>> findAddress(Integer userId, Integer pageNum, Integer pageSize) {
+    public ResponseJson<PageInfo<AddressVo>> findAddress(Integer storeId, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        List<AddressVo> addressList = addressMapper.findAddress(userId);
+        List<AddressVo> addressList = addressMapper.findAddress(storeId);
         PageInfo<AddressVo> pageInfo = new PageInfo<>(addressList);
         return ResponseJson.success(pageInfo);
     }
@@ -37,7 +40,7 @@ public class AddressServiceImpl implements AddressService {
     @Override
     public ResponseJson<AddressVo> saveAddress(AddressVo address) {
         if (address.getDefaultFlag() != null && "1".equals(address.getDefaultFlag())) {
-            AddressVo addressVo = addressMapper.findDefaultAddress(address.getUserId());
+            AddressVo addressVo = addressMapper.findDefaultAddress(address.getStoreId());
             if (addressVo != null) {
                 addressVo.setDefaultFlag("0");
                 addressMapper.updateAddress(addressVo);
@@ -58,8 +61,8 @@ public class AddressServiceImpl implements AddressService {
     }
 
     @Override
-    public ResponseJson<String> defaultAddress(Integer userId, Integer addressId) {
-        AddressVo address = addressMapper.findDefaultAddress(userId);
+    public ResponseJson<String> defaultAddress(Integer storeId, Integer addressId) {
+        AddressVo address = addressMapper.findDefaultAddress(storeId);
         if (null != address) {
             address.setDefaultFlag("0");
             addressMapper.updateAddress(address);
@@ -86,6 +89,11 @@ public class AddressServiceImpl implements AddressService {
 
     @Override
     public ResponseJson<String> saveInvoice(CmUserInvoiceInfoPo invoice) {
+        Integer userId = userMapper.getUserIdByOrganizeId(invoice.getOrganizeId());
+        if (null == userId) {
+            return ResponseJson.error("用户不存在", null);
+        }
+        invoice.setUserId(userId.longValue());
         if (invoice.getId() == null) {
             addressMapper.insertInvoice(invoice);
         } else {
@@ -95,7 +103,11 @@ public class AddressServiceImpl implements AddressService {
     }
 
     @Override
-    public ResponseJson<CmUserInvoiceInfoPo> findInvoice(Integer userId) {
+    public ResponseJson<CmUserInvoiceInfoPo> findInvoice(Integer organizeId) {
+        Integer userId = userMapper.getUserIdByOrganizeId(organizeId);
+        if (null == userId) {
+            return ResponseJson.error("用户不存在", null);
+        }
         CmUserInvoiceInfoPo invoice = addressMapper.findInvoice(userId);
         return ResponseJson.success(invoice);
     }

+ 2 - 2
src/main/java/com/caimei/service/impl/OrderServiceImpl.java

@@ -46,9 +46,9 @@ public class OrderServiceImpl implements OrderService {
     private String domain;
 
     @Override
-    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer userId, Integer organizeId, Integer pageNum, Integer pageSize) {
+    public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer storeId, Integer organizeId, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        List<OrderVo> orderList = orderMapper.findOrderList(userId, orderState, organizeId);
+        List<OrderVo> orderList = orderMapper.findOrderList(storeId, orderState, organizeId);
         getOrderData(orderList);
         PageInfo<OrderVo> pageData = new PageInfo<>(orderList);
         return ResponseJson.success(pageData);

+ 60 - 7
src/main/java/com/caimei/service/impl/OrderSubmitServiceImpl.java

@@ -60,10 +60,15 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
 
 
     @Override
-    public ResponseJson<Map<String, Object>> orderConfirm(String productIds, Integer userId) {
+    public ResponseJson<Map<String, Object>> orderConfirm(String productIds, Integer organizeId, Integer storeId) {
         Map<String, Object> confirmData = new HashMap<>(5);
-        if (userId != null) {
+        if (organizeId != null) {
             log.info("<<<<< 结算订单 >>>>>");
+            //获取组织对应的用户
+            Integer userId = userMapper.getUserIdByOrganizeId(organizeId);
+            if (null == userId) {
+                return ResponseJson.error("用户不存在", null);
+            }
             //商品总金额
             AtomicReference<BigDecimal> totalPrice = new AtomicReference<>(BigDecimal.ZERO);
             //促销满减
@@ -75,7 +80,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
             shopList.forEach(shop -> {
                 shopIds.add(shop.getShopId());
                 //购物车购买
-                List<CartProductVo> products = orderSubmitMapper.findProductListByCart(shop.getShopId(), productId, userId);
+                List<CartProductVo> products = orderSubmitMapper.findProductListByCart(shop.getShopId(), productId, storeId);
                 BigDecimal fullReduction = BigDecimal.ZERO;
                 BigDecimal shopTotalPrice = BigDecimal.ZERO;
                 for (CartProductVo product : products) {
@@ -115,6 +120,9 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
             confirmData.put("shopList", shopList);
             // 发票信息
             CmUserInvoiceInfoPo invoice = orderSubmitMapper.findUserInvoice(userId);
+            // 可用余额
+            BigDecimal availableMoney = orderSubmitMapper.findAbleUserMoney(userId);
+            confirmData.put("userMoney", availableMoney);
             confirmData.put("invoice", invoice);
             return ResponseJson.success(confirmData);
         } else {
@@ -124,13 +132,18 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ResponseJson<Map<String, String>> orderSubmit(Integer clubUserId, Integer addressId, List<Map<String, Object>> orderInfo, Map<String, Object> payInfo, Map<String, Object> orderInvoice) {
+    public ResponseJson<Map<String, String>> orderSubmit(Integer organizeId, Integer storeId, Integer addressId, List<Map<String, Object>> orderInfo, Map<String, Object> payInfo, Map<String, Object> orderInvoice) {
         /*
          * 逻辑处理 start
          */
         log.info("******************** 提交订单逻辑处理 start *******************");
+        //获取组织对应的用户id
+        Integer userId = userMapper.getUserIdByOrganizeId(organizeId);
+        if (null == userId) {
+            return ResponseJson.error("用户不存在", null);
+        }
         //机构用户
-        UserPo user = orderSubmitMapper.findUser(clubUserId);
+        UserPo user = orderSubmitMapper.findUser(userId);
         if (null == user) {
             return ResponseJson.error("用户信息异常", null);
         }
@@ -141,7 +154,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
         if (1 == balancePayFlag && null != ableUserMoney) {
             // 使用余额
             if (MathUtil.compare(ableUserMoney, BigDecimal.ZERO) == 0) {
-                return ResponseJson.error("用户可用余额为0",null);
+                return ResponseJson.error("用户可用余额为0", null);
             }
         }
         // 商品总数量
@@ -204,6 +217,8 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
         order.setUserID(user.getUserID().longValue());
         // 机构ID
         order.setClubID(user.getClubID().longValue());
+        // 门店Id
+        order.setOrganizeStoreId(storeId);
         // 订单来源
         order.setOrderSource("6");
         order.setOrganizeID(user.getUserOrganizeID());
@@ -353,7 +368,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
                     // 加入订单商品列表
                     orderProductList.add(orderProduct);
 
-                    shoppingCartMapper.deleteCartByProductId(user.getUserID(), product.getId());
+                    shoppingCartMapper.deleteCartByProductId(storeId, product.getId());
                     log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>删除用户购物车数据productId:" + product.getId());
 
                 }
@@ -1244,4 +1259,42 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
         payOrderMapper.insertOrderRelation(relation);
         log.info(">>>>>>>>>>>>>>>>>>>>>>>保存余额到收款记录," + balancePayFee);
     }
+
+    @Override
+    public ResponseJson<Map<String,Object>> paymentValidation(Integer orderId) {
+        Map<String, Object> map = new HashMap<>(3);
+        map.put("orderId", orderId);
+        OrderVo order = orderMapper.findOrder(orderId);
+        Integer count = orderSubmitMapper.findRefundNum(orderId);
+        if (count != null && count > 0) {
+            map.put("code", -1);
+            map.put("msg", "订单已申请全部退款,无需再付款!");
+            return ResponseJson.success(map);
+        }
+        orderService.getDiscernReceipt(order);
+        map.put("pendingPayments", order.getPendingPayments());
+        map.put("onlinePayFlag", order.getOnlinePayFlag());
+        List<OrderProductVo> orderProductList = orderMapper.findAllOrderProduct(orderId);
+        for (OrderProductVo orderProduct : orderProductList) {
+            //是否包含充值商品
+            boolean rechargeGoods = OrderNoUtils.getRechargeProduct(orderProduct.getProductId());
+            if (rechargeGoods) {
+                return ResponseJson.success(map);
+            }
+        }
+        UserPo user = orderSubmitMapper.findUser(order.getUserId().intValue());
+        if (MathUtil.compare(user.getAbleUserMoney(), 0) > 0) {
+            if (MathUtil.compare(user.getAbleUserMoney(), order.getPendingPayments()) < 0) {
+                map.put("code", 1);
+                map.put("msg", "余额不为0且小于待付金额");
+                map.put("ableUserMoney", user.getAbleUserMoney());
+                map.put("pendingPayments", MathUtil.sub(order.getPendingPayments(), user.getAbleUserMoney()));
+            } else {
+                map.put("code", 2);
+                map.put("msg", "余额大于或等于待付金额");
+                map.put("ableUserMoney", user.getAbleUserMoney());
+            }
+        }
+        return ResponseJson.success(map);
+    }
 }

+ 4 - 5
src/main/java/com/caimei/service/impl/ProductServiceImpl.java

@@ -2,13 +2,12 @@ package com.caimei.service.impl;
 
 import com.caimei.mapper.ProductMapper;
 import com.caimei.model.ResponseJson;
-import com.caimei.model.po.*;
 import com.caimei.model.vo.CartProductVo;
 import com.caimei.model.po.ProductDetailInfoPo;
 import com.caimei.model.po.ProductImagePo;
 import com.caimei.model.po.PromotionsPo;
 import com.caimei.model.po.RelatedParametersPo;
-import com.caimei.model.vo.ClubVo;
+import com.caimei.model.vo.StoreVo;
 import com.caimei.model.vo.LadderPriceVo;
 import com.caimei.model.vo.ProductVo;
 import com.caimei.service.ProductService;
@@ -39,12 +38,12 @@ public class ProductServiceImpl implements ProductService {
     private String domain;
 
     @Override
-    public ResponseJson<PageInfo<ClubVo>> clubList(Integer organizeId, String name, Integer pageNum, Integer pageSize) {
+    public ResponseJson<PageInfo<StoreVo>> storeList(Integer organizeId, String name, Integer pageNum, Integer pageSize) {
         pageNum = pageNum == null ? 1 : pageNum;
         pageSize = pageSize == null ? 10 : pageSize;
         PageHelper.startPage(pageNum, pageSize);
-        List<ClubVo> clubList = productMapper.findClubList(organizeId, name);
-        PageInfo<ClubVo> pageInfo = new PageInfo<>(clubList);
+        List<StoreVo> storeList = productMapper.findStoreList(organizeId, name);
+        PageInfo<StoreVo> pageInfo = new PageInfo<>(storeList);
 
         return ResponseJson.success(pageInfo);
     }

+ 9 - 9
src/main/java/com/caimei/service/impl/ShoppingCartServiceImpl.java

@@ -40,31 +40,31 @@ public class ShoppingCartServiceImpl implements ShoppingCartService {
 
     @Override
     public ResponseJson<Integer> addShoppingCart(CartDto cart) {
-        CmMallCartPo cartPo = shoppingCartMapper.findCartProduct(cart.getUserId(), cart.getProductId());
+        CmMallCartPo cartPo = shoppingCartMapper.findCartProduct(cart.getStoreId(), cart.getProductId());
         if (cartPo == null) {
             shoppingCartMapper.insertCart(cart);
         } else {
             int productCount = cartPo.getProductCount() + cart.getProductCount();
             shoppingCartMapper.updateByProductCount(cartPo.getId(), productCount);
         }
-        Integer cartQuantity = shoppingCartMapper.getCartQuantity(cart.getUserId());
+        Integer cartQuantity = shoppingCartMapper.getCartQuantity(cart.getStoreId());
         return ResponseJson.success(cartQuantity);
     }
 
     @Override
-    public ResponseJson<Integer> getCartQuantity(Integer userId) {
-        Integer cartQuantity = shoppingCartMapper.getCartQuantity(userId);
+    public ResponseJson<Integer> getCartQuantity(Integer storeId) {
+        Integer cartQuantity = shoppingCartMapper.getCartQuantity(storeId);
         return ResponseJson.success(cartQuantity);
     }
 
     @Override
-    public ResponseJson<Map<String, Object>> shoppingInfo(Integer userId) {
+    public ResponseJson<Map<String, Object>> shoppingInfo(Integer storeId) {
         Map<String, Object> map = new HashMap<>(3);
-        List<ShopVo> shopList = shoppingCartMapper.findCartShop(userId);
+        List<ShopVo> shopList = shoppingCartMapper.findCartShop(storeId);
         shopList.forEach(shop -> {
             BigDecimal fullReduction = BigDecimal.ZERO;
             BigDecimal shopTotalPrice = BigDecimal.ZERO;
-            List<CartProductVo> productList = shoppingCartMapper.findByShopCartProduct(shop.getShopId(), userId);
+            List<CartProductVo> productList = shoppingCartMapper.findByShopCartProduct(shop.getShopId(), storeId);
             for (CartProductVo product : productList) {
                 setProductPrice(product);
                 shopTotalPrice = MathUtil.add(shopTotalPrice, MathUtil.mul(product.getProductCount(), product.getRetailPrice()));
@@ -76,10 +76,10 @@ public class ShoppingCartServiceImpl implements ShoppingCartService {
         });
         map.put("shopList", shopList);
         //失效商品
-        List<CartProductVo> products = shoppingCartMapper.findExpiredGoods(userId);
+        List<CartProductVo> products = shoppingCartMapper.findExpiredGoods(storeId);
         map.put("products", products);
         //商品数量
-        Integer cartQuantity = shoppingCartMapper.getCartQuantity(userId);
+        Integer cartQuantity = shoppingCartMapper.getCartQuantity(storeId);
         map.put("cartQuantity", cartQuantity);
         return ResponseJson.success(map);
     }

+ 12 - 0
src/main/java/com/caimei/util/OrderNoUtils.java

@@ -1,6 +1,8 @@
 package com.caimei.util;
 
 
+import org.apache.commons.lang3.ArrayUtils;
+
 import java.util.Random;
 
 /**
@@ -68,4 +70,14 @@ public class OrderNoUtils {
                 return null;
         }
     }
+
+    /**
+     * 是否包含订单充值商品或定金商品
+     * @param productId 商品id
+     * @return
+     */
+    public static boolean getRechargeProduct(Integer productId){
+        int[] products = {6060, 6061, 6062, 6063, 6064, 6065, 6066, 6067, 6068, 6069};
+        return ArrayUtils.contains(products, productId);
+    }
 }

+ 25 - 4
src/main/resources/backup.sql

@@ -141,6 +141,22 @@ CREATE TABLE `cm_organize_store` (
     COLLATE = utf8_bin
     COMMENT = '采美组织门店表';
 
+CREATE TABLE `cm_organize_store_cart` (
+                                               `id` INT NOT NULL AUTO_INCREMENT,
+                                               `storeId` INT NULL COMMENT '组织门店id',
+                                               `productId` INT NULL COMMENT '组织商品id',
+                                               `productCount` INT NULL COMMENT '商品数量',
+                                               `addTime` DATETIME NULL COMMENT '添加时间',
+                                               `delFlag` INT NULL COMMENT '删除标识,0有效,其他已删除',
+                                               PRIMARY KEY (`id`))
+    ENGINE = InnoDB
+    DEFAULT CHARACTER SET = utf8
+    COLLATE = utf8_bin
+    COMMENT = '采美组织门店购物车';
+
+ALTER TABLE `address`
+    ADD COLUMN `organizeStoreId` INT NULL COMMENT '组织门店id' AFTER `userID`;
+
 # 将门店机构转移到门店表中
 insert into cm_organize_store(`organizeId`,`userId`,`name`,`linkMan`,`mobile`,`provinceId`,`cityId`,`townId`,`address`,`status`,`addTime`)
 select 3,u.userID,u.name,u.userName,u.bindMobile,b.provinceID,b.cityID,b.townID,b.address,1,u.registerTime from user u left join club b on u.userID = b.userID where u.userOrganizeId = 3;
@@ -152,12 +168,17 @@ ALTER TABLE `cm_order`
 # 将订单门店id置为原用户id对应的门店id
 update cm_order o join cm_organize_store s on o.userID = s.userId set o.organizeStoreId = s.id where o.organizeID = 3;
 
+# 将地址门店id置为原用户id对应的门店id
+update address a join user u on a.userID = u.userID join cm_organize_store s on a.userID = s.userId  set a.organizeStoreId = s.id where u.userOrganizeId = 3;
+
 # 删除门店表的用户id字段
-alter table cm_organize_store drop column `userId`;
+# alter table cm_organize_store drop column `userId`;
 
-# 删除用户表和机构表里的门店
-delete from club where userID in (select u.userID from user u where u.userOrganizeID = 3);
-delete from user where userOrganizeID = 3;
+# 下线用户表和机构表里的门店
+# delete from club where userID in (select u.userID from user u where u.userOrganizeID = 3);
+# delete from user where userOrganizeID = 3;
+update club set status = 92 where userID in (select u.userID from user u where u.userOrganizeID = 3);
+update user set clubStatus = 92 where userOrganizeID = 3;
 
 # 将维沙订单和子订单用户id置为维沙用户id
 update cm_order set userID = 7263,buyUserID = 7263 where organizeID = 3;

+ 2 - 2
src/main/resources/config/dev/application-dev.yml

@@ -47,8 +47,8 @@ caimei:
   #支付异步回调地址
   notifyUrl: https://localhost:8010/PayOrder/paymentCallback
   #支付链接重定向地址
-  redirectLink: https://localhost:8010/PayOrder/jumpPage
+  redirectLink: http://192.168.2.68:8010/PayOrder/jumpPage
   #延时分账异步回调地址
   delayedSplittingUrl: http://localhost:8010/PayOrder/delayedSplittingCallback
   #链接页面
-  linkPage: http://192.168.2.56:8009/pay/caimei-wisapay.html
+  linkPage: http://192.168.2.81:8009/pay/caimei-wisapay.html

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

@@ -22,7 +22,7 @@
                  LEFT JOIN town t ON t.townID = a.townID
                  LEFT JOIN city c ON c.cityID = t.cityID
                  LEFT JOIN province p ON p.provinceID = c.provinceID
-        WHERE a.userID = #{userId}
+        WHERE a.organizeStoreId = #{userId}
         ORDER BY
           defaultFlag DESC,
           addressID ASC
@@ -31,7 +31,7 @@
     <select id="findDefaultAddress" resultType="com.caimei.model.vo.AddressVo">
         SELECT
           addressID AS addressId,
-          userID AS userId,
+          organizeStoreId AS userId,
           shouHuoRen,
           townID AS townId,
           address,
@@ -42,7 +42,7 @@
         FROM
           address
         WHERE
-          userID = #{userId}
+          organizeStoreId = #{userId}
           AND defaultFlag = '1'
     </select>
 
@@ -61,12 +61,12 @@
 
     <insert id="insertAddress" useGeneratedKeys="true" keyProperty="addressId" keyColumn="addressID" parameterType="com.caimei.model.vo.AddressVo">
         INSERT INTO address (
-          userID, shouHuoRen, townID, address,
+          organizeStoreId, shouHuoRen, townID, address,
           mobile, defaultFlag
         )
         VALUES
           (
-            #{userId},#{shouHuoRen},#{townId},
+            #{storeId},#{shouHuoRen},#{townId},
             #{address},#{mobile},#{defaultFlag}
           )
     </insert>
@@ -120,7 +120,7 @@
         )
         VALUES
           (
-            #{userId}, #{invoiceTitle}, #{corporationTaxNum},
+            #{storeId}, #{invoiceTitle}, #{corporationTaxNum},
             #{registeredAddress}, #{registeredPhone},
             #{bankAccountNo}, #{openBank}
           )

+ 16 - 2
src/main/resources/mapper/OrderMapper.xml

@@ -42,8 +42,8 @@
         from cm_order
         where delFlag = '0'
         AND organizeID = #{organizeId}
-        <if test="userId != null ">
-            AND userID = #{userId}
+        <if test="storeId != null ">
+            AND organizeStoreId = #{storeId}
         </if>
         <if test="orderState == 1 ">
             AND status IN(11,12,13,21,22,23)
@@ -503,6 +503,20 @@
         LIMIT
           10
     </select>
+    <select id="findAllOrderProduct" resultType="com.caimei.model.vo.OrderProductVo">
+        SELECT
+            cop.orderProductID as orderProductId,
+            cop.orderID as orderId,
+            cop.productID as productId,
+            p.productCategory AS "productCategory",
+            csdh.secondHandType AS "secondHandType"
+        FROM
+            cm_order_product cop
+                LEFT JOIN product p ON p.productID = cop.productID
+                LEFT JOIN cm_second_hand_detail csdh ON csdh.productID = p.productID
+        WHERE
+            cop.orderID = #{orderID}
+    </select>
 
     <delete id="deleteSearchHistory">
         DELETE FROM cm_mall_order_search_history WHERE organizeID = #{organizeId}

+ 43 - 20
src/main/resources/mapper/OrderSubmitMapper.xml

@@ -46,30 +46,30 @@
 
     <select id="findProductListByCart" resultType="com.caimei.model.vo.CartProductVo">
         SELECT
-          cmc.id AS cartId,
-          cmc.productID AS productId,
-          cmc.productCount,
-          cop.productId AS originalProductId,
-          cop.price,
-          cop.minBuyNumber,
-          cop.ladderPriceFlag,
-          cop.includedTax,
-          cop.invoiceType,
-          cop.clubTaxPoint,
-          p.name AS productName,
-          p.mainImage,
-          p.unit
+        cosc.id AS cartId,
+        cosc.productID AS productId,
+        cosc.productCount,
+        cop.productId AS originalProductId,
+        cop.price,
+        cop.minBuyNumber,
+        cop.ladderPriceFlag,
+        cop.includedTax,
+        cop.invoiceType,
+        cop.clubTaxPoint,
+        p.name AS productName,
+        p.mainImage,
+        p.unit
         FROM
-          cm_organize_product cop
-          LEFT JOIN product p ON cop.productId = p.productID
-          LEFT JOIN cm_mall_cart cmc ON cop.id = cmc.productID
+        cm_organize_product cop
+        LEFT JOIN product p ON cop.productId = p.productID
+        LEFT JOIN cm_organize_store_cart cosc ON cop.id = cosc.productId
         WHERE
-          cop.id IN
+        cop.id IN
         <foreach item="productId" index="index" collection="productIds" open="(" separator="," close=")">
             #{productId}
         </foreach>
-          AND p.shopID = #{shopId}
-          AND cmc.userID = #{userId}
+        AND p.shopID = #{shopId}
+        AND cosc.storeId = #{storeId}
     </select>
 
     <select id="findCartByProductId" resultType="com.caimei.model.vo.CartProductVo">
@@ -128,7 +128,9 @@
           userName,
           realName,
           name,
-          clubID
+          clubID,
+          userMoney,
+          ableUserMoney
         FROM
           user
         WHERE
@@ -147,6 +149,9 @@
             <if test="userID != null">
                 userID,
             </if>
+            <if test="organizeStoreId != null">
+                organizeStoreId,
+            </if>
             <if test="buyUserID != null">
                 buyUserID,
             </if>
@@ -326,6 +331,9 @@
             <if test="userID != null">
                 #{userID,jdbcType=BIGINT},
             </if>
+            <if test="organizeStoreId != null">
+                #{organizeStoreId,jdbcType=INTEGER},
+            </if>
             <if test="buyUserID != null">
                 #{buyUserID,jdbcType=INTEGER},
             </if>
@@ -1801,4 +1809,19 @@
                  LEFT JOIN province p ON p.provinceID = c.provinceID
         WHERE a.addressID = #{addressId}
     </select>
+    <select id="findAbleUserMoney" resultType="java.math.BigDecimal">
+        SELECT ableUserMoney
+        FROM USER
+        WHERE userId = #{userId,jdbcType=BIGINT}
+    </select>
+    <select id="findRefundNum" resultType="java.lang.Integer">
+        SELECT
+            COUNT(*)
+        FROM
+            cm_returned_purchase
+        WHERE
+            orderID = #{orderId}
+          AND STATUS = '1'
+          AND delFlag = '0'
+    </select>
 </mapper>

+ 14 - 1
src/main/resources/mapper/ProductMapper.xml

@@ -3,7 +3,7 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.mapper.ProductMapper">
-    <select id="findClubList" resultType="com.caimei.model.vo.ClubVo">
+    <select id="findClubList" resultType="com.caimei.model.vo.StoreVo">
         SELECT
         u.userID AS userId,
         u.name AS clubName,
@@ -231,5 +231,18 @@
                 LEFT JOIN product p ON cop.productId = p.productID
         WHERE copg.promotionsId = #{promotionsId}
     </select>
+    <select id="findStoreList" resultType="com.caimei.model.vo.StoreVo">
+        select id as storeId,name,linkMan,mobile
+        from cm_organize_store
+        where organizeId = #{organizeId}
+        and status = 1
+        <if test="name != null and name != ''">
+            AND (
+            name LIKE CONCAT('%',#{name}, '%')
+            OR linkMan LIKE CONCAT('%',#{name}, '%')
+            )
+        </if>
+        order by addTime desc
+    </select>
 
 </mapper>

+ 33 - 33
src/main/resources/mapper/ShoppingCartMapper.xml

@@ -7,31 +7,31 @@
         SELECT
           id,
           productID,
-          userID,
+          storeId,
           productCount
         FROM
-          cm_mall_cart
+          cm_organize_store_cart
         WHERE
-          userID = #{userId}
+          storeId = #{storeId}
           AND productID = #{productId}
           AND delFlag = 0
     </select>
 
-    <insert id="insertCart">
-        INSERT INTO cm_mall_cart (
-          productID, userID, productCount, addTime,
+    <insert id="insertCart" >
+        INSERT INTO cm_organize_store_cart (
+          productID, storeId, productCount, addTime,
           delFlag
         )
         VALUES
           (
-            #{productId}, #{userId}, #{productCount}, NOW(),
+            #{productId}, #{storeId}, #{productCount}, NOW(),
             0
           )
     </insert>
 
     <update id="updateByProductCount">
         UPDATE
-          cm_mall_cart
+          cm_organize_store_cart
         SET
           productCount = #{productCount},
           addTime = NOW()
@@ -41,11 +41,11 @@
 
     <select id="getCartQuantity" resultType="integer">
         SELECT
-          COUNT(cmc.productID)
+          COUNT(cosc.productID)
         FROM
-          cm_mall_cart cmc
-          LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
-        WHERE cmc.userID = #{userId}
+          cm_organize_store_cart cosc
+          LEFT JOIN cm_organize_product cop ON cosc.productID = cop.id
+        WHERE cosc.storeId = #{storeId}
           AND cop.status = 1
           AND cop.delFlag = 0
     </select>
@@ -56,26 +56,26 @@
           s.name,
           s.logo
         FROM
-          cm_mall_cart cmc
-          LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
+          cm_organize_store_cart cosc
+          LEFT JOIN cm_organize_product cop ON cosc.productID = cop.id
           LEFT JOIN product p ON cop.productId = p.productID
           LEFT JOIN shop s ON p.shopID = s.shopID
         WHERE
-          cmc.userID = #{userId}
-          AND cmc.delFlag = 0
+          cosc.storeId = #{storeId}
+          AND cosc.delFlag = 0
           AND cop.status = 1
           AND cop.delFlag = 0
         GROUP BY
           s.shopID
         ORDER BY
-          MAX(cmc.addTime) DESC
+          MAX(cosc.addTime) DESC
     </select>
 
     <select id="findByShopCartProduct" resultType="com.caimei.model.vo.CartProductVo">
         SELECT
-          cmc.id AS cartId,
-          cmc.productID AS productId,
-          cmc.productCount,
+          cosc.id AS cartId,
+          cosc.productID AS productId,
+          cosc.productCount,
           cop.productId AS originalProductId,
           cop.price,
           cop.minBuyNumber,
@@ -88,12 +88,12 @@
           p.mainImage,
           p.unit
         FROM
-          cm_mall_cart cmc
-          LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
+          cm_organize_store_cart cosc
+          LEFT JOIN cm_organize_product cop ON cosc.productID = cop.id
           LEFT JOIN product p ON cop.productId = p.productID
         WHERE
-          cmc.userID = #{userId}
-          AND cmc.delFlag = 0
+          cosc.storeId = #{storeId}
+          AND cosc.delFlag = 0
           AND cop.status = 1
           AND cop.delFlag = 0
           AND p.shopID = #{shopId}
@@ -101,9 +101,9 @@
 
     <select id="findExpiredGoods" resultType="com.caimei.model.vo.CartProductVo">
         SELECT
-          cmc.id AS cartId,
-          cmc.productID AS productId,
-          cmc.productCount,
+          cosc.id AS cartId,
+          cosc.productID AS productId,
+          cosc.productCount,
           cop.productId AS originalProductId,
           cop.price,
           cop.minBuyNumber,
@@ -116,18 +116,18 @@
           p.mainImage,
           p.unit
         FROM
-          cm_mall_cart cmc
-          LEFT JOIN cm_organize_product cop ON cmc.productID = cop.id
+          cm_organize_store_cart cosc
+          LEFT JOIN cm_organize_product cop ON cosc.productID = cop.id
           LEFT JOIN product p ON cop.productId = p.productID
         WHERE
-          cmc.userID = #{userId}
-          AND cmc.delFlag = 0
+          cosc.storeId = #{storeId}
+          AND cosc.delFlag = 0
           AND (cop.status = 0
           OR cop.delFlag = 1)
     </select>
 
     <delete id="deleteCart">
-        DELETE FROM cm_mall_cart WHERE id = #{cartId}
+        DELETE FROM cm_organize_store_cart WHERE id = #{cartId}
     </delete>
 
     <select id="findProductGifts" resultType="com.caimei.model.vo.CartProductVo">
@@ -153,6 +153,6 @@
     </select>
 
     <delete id="deleteCartByProductId">
-        DELETE FROM cm_mall_cart WHERE userID = #{userId} AND productID = #{productId}
+        DELETE FROM cm_organize_store_cart WHERE storeId = #{storeId} AND productID = #{productId}
     </delete>
 </mapper>

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

@@ -88,5 +88,8 @@
         </set>
         where userID = #{userID,jdbcType=INTEGER}
     </update>
+    <select id="getUserIdByOrganizeId" resultType="java.lang.Integer">
+        select userID from user where userOrganizeID = #{organizeId} and clubStatus = 91 limit 1
+    </select>
 
 </mapper>