浏览代码

bug fixes

plf 4 年之前
父节点
当前提交
ecd280267f
共有 23 个文件被更改,包括 644 次插入121 次删除
  1. 61 1
      src/main/java/com/caimei/controller/OrderApi.java
  2. 0 3
      src/main/java/com/caimei/controller/OrderSubmitApi.java
  3. 3 2
      src/main/java/com/caimei/controller/PayOrderApi.java
  4. 89 3
      src/main/java/com/caimei/mapper/OrderMapper.java
  5. 3 1
      src/main/java/com/caimei/mapper/OrderSubmitMapper.java
  6. 0 8
      src/main/java/com/caimei/mapper/PayOrderMapper.java
  7. 1 1
      src/main/java/com/caimei/mapper/ProductMapper.java
  8. 41 0
      src/main/java/com/caimei/model/po/CmMallOrderSearchHistoryPo.java
  9. 0 30
      src/main/java/com/caimei/model/vo/OrderProductVo.java
  10. 21 0
      src/main/java/com/caimei/model/vo/OrderVo.java
  11. 6 10
      src/main/java/com/caimei/model/vo/ShopOrderVo.java
  12. 44 0
      src/main/java/com/caimei/service/OrderService.java
  13. 2 2
      src/main/java/com/caimei/service/impl/AddressServiceImpl.java
  14. 0 3
      src/main/java/com/caimei/service/impl/LoginServiceImpl.java
  15. 99 5
      src/main/java/com/caimei/service/impl/OrderServiceImpl.java
  16. 4 3
      src/main/java/com/caimei/service/impl/OrderSubmitServiceImpl.java
  17. 5 2
      src/main/java/com/caimei/service/impl/PayOrderServiceImpl.java
  18. 11 10
      src/main/java/com/caimei/service/impl/ProductServiceImpl.java
  19. 3 0
      src/main/resources/mapper/AddressMapper.xml
  20. 176 11
      src/main/resources/mapper/OrderMapper.xml
  21. 18 14
      src/main/resources/mapper/OrderSubmitMapper.xml
  22. 56 11
      src/main/resources/mapper/PayOrderMapper.xml
  23. 1 1
      src/main/resources/mapper/ShoppingCartMapper.xml

+ 61 - 1
src/main/java/com/caimei/controller/OrderApi.java

@@ -40,7 +40,7 @@ public class OrderApi {
      */
      */
     @ApiOperation("我的订单")
     @ApiOperation("我的订单")
     @ApiImplicitParams({
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "orderState", required = true, value = "1:待确认,2:待付款,3:待发货,4:已发货,5:退货款"),
+            @ApiImplicitParam(name = "orderState", required = true, value = "1:待付款,2:待发货,3:已发货,4:退货款"),
             @ApiImplicitParam(name = "organizeId", required = true, value = "组织id"),
             @ApiImplicitParam(name = "organizeId", required = true, value = "组织id"),
             @ApiImplicitParam(name = "userId", required = false, value = "机构用户id"),
             @ApiImplicitParam(name = "userId", required = false, value = "机构用户id"),
             @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
             @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
@@ -113,4 +113,64 @@ public class OrderApi {
     public ResponseJson<Boolean> verifyShareCode(String shareCode, String code, Integer orderId, Integer organizeId) {
     public ResponseJson<Boolean> verifyShareCode(String shareCode, String code, Integer orderId, Integer organizeId) {
         return orderService.verifyShareCode(shareCode, code, orderId, organizeId);
         return orderService.verifyShareCode(shareCode, code, orderId, organizeId);
     }
     }
+
+    /**
+     * 删除订单
+     */
+    @GetMapping("/delete")
+    @ApiOperation("删除订单")
+    @ApiImplicitParam(name = "orderId", required = true, value = "订单id")
+    public ResponseJson<String> deleteOrder(Integer orderId) {
+        return orderService.deleteOrder(orderId);
+    }
+
+    /**
+     * 取消订单
+     */
+    @ApiOperation("取消订单")
+    @ApiImplicitParam(name = "orderId", required = true, value = "订单id")
+    @GetMapping("/cancel")
+    public ResponseJson<String> cancelOrder(Integer orderId) {
+        return orderService.cancelOrder(orderId);
+    }
+
+    /**
+     * 根据关键词获取订单
+     */
+    @ApiOperation("根据关键词获取订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "searchWord", required = true, value = "搜索关键词"),
+            @ApiImplicitParam(name = "organizeId", required = true, value = "组织id"),
+            @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
+            @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
+    })
+    @GetMapping("/search")
+    public ResponseJson<PageInfo<OrderVo>> getProductsBySearch(String searchWord, Integer organizeId,
+                                                               @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
+                                                               @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
+        if (searchWord == null || "".equals(searchWord)) {
+            return ResponseJson.error("请输入搜索关键词", null);
+        }
+        return orderService.searchOrder(searchWord, organizeId, pageNum, pageSize);
+    }
+
+    /**
+     * 根据组织ID查找历史记录
+     */
+    @ApiOperation("根据组织ID查找历史记录")
+    @ApiImplicitParam(name = "organizeId", required = true, value = "组织id")
+    @GetMapping("/searchHistory")
+    public ResponseJson<List<String>> getSearchHistory(Integer organizeId) {
+        return orderService.getSearchHistory(organizeId);
+    }
+
+    /**
+     * 根据组织ID删除历史记录
+     */
+    @ApiOperation("根据组织ID删除历史记录")
+    @ApiImplicitParam(name = "organizeId", required = true, value = "组织id")
+    @GetMapping("/searchHistory/delete")
+    public ResponseJson<String> deleteSearchHistory(Integer organizeId) {
+        return orderService.deleteSearchHistory(organizeId);
+    }
 }
 }

+ 0 - 3
src/main/java/com/caimei/controller/OrderSubmitApi.java

@@ -57,9 +57,6 @@ public class OrderSubmitApi {
      * 提交订单
      * 提交订单
      *
      *
      * @param params 参数格式:{
      * @param params 参数格式:{
-     *               *   "cartType":3,               //购买类型:(1购物车提交[对应表cm_cart],2直接购买提交, 3协销下单)
-     *               *   "orderSource": 2,           //订单来源:1WWW、2CRM、3APP[历史数据]、4客服[适用后台下单]、5外单[适用后台下单]、6小程序[采美,星范等]
-     *               *   "serviceProviderId": 1378,  //协销ID(小程序忽略)
      *               *   "clubUserId": 10708,        //机构用户ID
      *               *   "clubUserId": 10708,        //机构用户ID
      *               *   "addressId": 2732,          //地址ID
      *               *   "addressId": 2732,          //地址ID
      *               *   "orderInfo": [
      *               *   "orderInfo": [

+ 3 - 2
src/main/java/com/caimei/controller/PayOrderApi.java

@@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpHeaders;
 import org.springframework.http.server.reactive.ServerHttpResponse;
 import org.springframework.http.server.reactive.ServerHttpResponse;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.reactive.function.server.ServerRequest;
 import org.springframework.web.reactive.function.server.ServerRequest;
@@ -74,11 +75,11 @@ public class PayOrderApi {
      */
      */
     @ApiOperation("微信线上支付")
     @ApiOperation("微信线上支付")
     @PostMapping("/miniWxPay")
     @PostMapping("/miniWxPay")
-    public ResponseJson<JSONObject> miniWxPay(@RequestBody PaymentDto payment, ServerRequest request) {
+    public ResponseJson<JSONObject> miniWxPay(@RequestBody PaymentDto payment, @RequestHeader HttpHeaders headers) {
         if (!"WEIXIN".equals(payment.getPayWay()) || payment.getPayAmount() == null || payment.getPayAmount() < 2) {
         if (!"WEIXIN".equals(payment.getPayWay()) || payment.getPayAmount() == null || payment.getPayAmount() < 2) {
             return ResponseJson.error("参数异常", null);
             return ResponseJson.error("参数异常", null);
         }
         }
-        String clientIp = request.headers().asHttpHeaders().getFirst("X-CLIENT-IP");
+        String clientIp = headers.getFirst("X-CLIENT-IP");
         payment.setClientIp(clientIp);
         payment.setClientIp(clientIp);
         Map<String, Object> map = null;
         Map<String, Object> map = null;
         if (null == payment.getState()) {
         if (null == payment.getState()) {

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

@@ -1,8 +1,6 @@
 package com.caimei.mapper;
 package com.caimei.mapper;
 
 
-import com.caimei.model.po.CmMallOrderShareCodePo;
-import com.caimei.model.po.PromotionsPo;
-import com.caimei.model.po.ShareCodeRecordPo;
+import com.caimei.model.po.*;
 import com.caimei.model.vo.*;
 import com.caimei.model.vo.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
@@ -202,4 +200,92 @@ public interface OrderMapper {
      * @param codeRecord
      * @param codeRecord
      */
      */
     void insertShareCodeRecord(ShareCodeRecordPo codeRecord);
     void insertShareCodeRecord(ShareCodeRecordPo codeRecord);
+
+    /**
+     * 逻辑删除主订单
+     *
+     * @param orderId
+     */
+    void deleteOrder(Integer orderId);
+
+    /**
+     * 逻辑删除子订单
+     *
+     * @param orderId
+     */
+    void deleteShopOrder(Integer orderId);
+
+    /**
+     * 逻辑删除订单收款记录
+     *
+     * @param orderId
+     */
+    void deleteReceiptOrderRelation(Integer orderId);
+
+    /**
+     * 逻辑删除收款记录
+     *
+     * @param id
+     */
+    void deleteDiscernReceipt(Long id);
+
+    /**
+     * 查询付款记录
+     *
+     * @param shopOrderId
+     * @return
+     */
+    List<CmPayShopRecordPo> findPayShopRecord(Integer shopOrderId);
+
+    /**
+     * 逻辑删除子订单付款记录
+     *
+     * @param shopOrderId
+     */
+    void deletePayShopRecord(Integer shopOrderId);
+
+    /**
+     * 逻辑删除付款记录
+     *
+     * @param payShopId
+     */
+    void updatePayShop(Integer payShopId);
+
+    /**
+     * 取消订单
+     *
+     * @param orderId
+     */
+    void cancelOrder(Integer orderId);
+
+    /**
+     * 查询相关商品名称订单
+     *
+     * @param searchWord
+     * @param organizeId
+     * @return
+     */
+    List<OrderVo> searchOrder(@Param("searchWord") String searchWord,@Param("organizeId") Integer organizeId);
+
+    /**
+     * 查询组织订单搜索历史记录
+     *
+     * @param organizeId
+     * @return
+     */
+    List<String> getSearchHistoryList(Integer organizeId);
+
+    /**
+     * 删除订单搜索历史记录
+     *
+     * @param organizeId
+     */
+    void deleteSearchHistory(Integer organizeId);
+
+    /**
+     * 保存订单搜索历史记录
+     *
+     * @param searchHistoryPo
+     */
+    void insertHistory(CmMallOrderSearchHistoryPo searchHistoryPo);
 }
 }

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

@@ -31,9 +31,10 @@ public interface OrderSubmitMapper {
      *
      *
      * @param shopId
      * @param shopId
      * @param productIds
      * @param productIds
+     * @param userId
      * @return
      * @return
      */
      */
-    List<CartProductVo> findProductListByCart(@Param("shopId") Integer shopId, @Param("productIds") String[] productIds);
+    List<CartProductVo> findProductListByCart(@Param("shopId") Integer shopId, @Param("productIds") String[] productIds, @Param("userId") Integer userId);
 
 
     /**
     /**
      * 查询商品信息
      * 查询商品信息
@@ -181,6 +182,7 @@ public interface OrderSubmitMapper {
 
 
     /**
     /**
      * 查询省市
      * 查询省市
+     *
      * @param townId
      * @param townId
      * @return
      * @return
      */
      */

+ 0 - 8
src/main/java/com/caimei/mapper/PayOrderMapper.java

@@ -76,14 +76,6 @@ public interface PayOrderMapper {
      */
      */
     OrderPayLinkVo getOrderPayLink(String linkLogo);
     OrderPayLinkVo getOrderPayLink(String linkLogo);
 
 
-    /**
-     * 查询用户信息
-     *
-     * @param userId
-     * @return
-     */
-    UserPo findUser(Long userId);
-
     /**
     /**
      * 查询订单商品
      * 查询订单商品
      *
      *

+ 1 - 1
src/main/java/com/caimei/mapper/ProductMapper.java

@@ -39,7 +39,7 @@ public interface ProductMapper {
     /**
     /**
      * 根据商品Id查询促销活动
      * 根据商品Id查询促销活动
      *
      *
-     * @param productId
+     * @param productId 组织商品id
      * @return
      * @return
      */
      */
     PromotionsPo findPromotionByProductId(Integer productId);
     PromotionsPo findPromotionByProductId(Integer productId);

+ 41 - 0
src/main/java/com/caimei/model/po/CmMallOrderSearchHistoryPo.java

@@ -0,0 +1,41 @@
+package com.caimei.model.po;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * cm_mall_order_search_history
+ * @author 
+ */
+@Data
+public class CmMallOrderSearchHistoryPo implements Serializable {
+    private Long id;
+
+    /**
+     * 组织ID,具体对应cm_mall_organize表ID
+     */
+    private Integer organizeID;
+
+    /**
+     * 小程序商城openid
+     */
+    private String openID;
+
+    /**
+     * 搜索关键词
+     */
+    private String searchWord;
+
+    /**
+     * 搜索时间
+     */
+    private Date searchDate;
+
+    /**
+     * 删除标记 0 否,其余是
+     */
+    private String delFlag;
+
+    private static final long serialVersionUID = 1L;
+}

+ 0 - 30
src/main/java/com/caimei/model/vo/OrderProductVo.java

@@ -161,36 +161,6 @@ public class OrderProductVo implements Serializable {
      */
      */
     private BigDecimal shopProductAmount;
     private BigDecimal shopProductAmount;
 
 
-    /**
-     * 该商品总的应付供应商金额
-     */
-    private BigDecimal shopFee;
-
-    /**
-     * 该商品总的应付第三方金额
-     */
-    private BigDecimal otherFee;
-
-    /**
-     * 该商品总的应付采美金额 (受赠品影响)
-     */
-    private BigDecimal cmFee;
-
-    /**
-     * 后台设置的单个应付供应商金额
-     */
-    private BigDecimal singleShopFee;
-
-    /**
-     * 后台设置单个应付第三方金额
-     */
-    private BigDecimal singleOtherFee;
-
-    /**
-     * 后台计算的单个应付采美金额
-     */
-    private BigDecimal singleCmFee;
-
     /**
     /**
      * 订单商品状态
      * 订单商品状态
      */
      */

+ 21 - 0
src/main/java/com/caimei/model/vo/OrderVo.java

@@ -123,6 +123,22 @@ public class OrderVo implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private String orderTime;
     private String orderTime;
 
 
+    /**
+     * 购买总数
+     */
+    private Integer productCount;
+
+    /**
+     * 赠送总数 不计算价格
+     */
+    private Integer presentCount;
+
+    /**
+     * 赠送总数
+     */
+    private Integer promotionalGiftsCount;
+
+
     /**
     /**
      * 是否开发票 没开发票 0 开个人发票 1 开企业发票2
      * 是否开发票 没开发票 0 开个人发票 1 开企业发票2
      */
      */
@@ -193,6 +209,11 @@ public class OrderVo implements Serializable {
      */
      */
     private BigDecimal ExpensesOfTaxation;
     private BigDecimal ExpensesOfTaxation;
 
 
+    /**
+     * 机构名称
+     */
+    private String clubName;
+
     /**
     /**
      * 支付按钮是否消失,true消失
      * 支付按钮是否消失,true消失
      */
      */

+ 6 - 10
src/main/java/com/caimei/model/vo/ShopOrderVo.java

@@ -51,7 +51,7 @@ public class ShopOrderVo implements Serializable {
     private Integer presentNum;
     private Integer presentNum;
 
 
     /**
     /**
-     *   购买数量
+     * 购买数量
      */
      */
     private Integer itemCount;
     private Integer itemCount;
 
 
@@ -255,15 +255,6 @@ public class ShopOrderVo implements Serializable {
      */
      */
     private BigDecimal payedShopAmount;
     private BigDecimal payedShopAmount;
 
 
-    /**
-     * 付第三方
-     */
-    private BigDecimal shopOtherFee;
-
-    private String receiptedFlag;
-
-    private String receiptedType;
-
     /**
     /**
      * 固定成本1,  比例成本2  为空就是还没有设置过
      * 固定成本1,  比例成本2  为空就是还没有设置过
      */
      */
@@ -284,6 +275,11 @@ public class ShopOrderVo implements Serializable {
      */
      */
     private String shopLogo;
     private String shopLogo;
 
 
+    /**
+     * 供应商名称
+     */
+    private String shopName;
+
     private List<OrderProductVo> orderProductList;
     private List<OrderProductVo> orderProductList;
 
 
     /**
     /**

+ 44 - 0
src/main/java/com/caimei/service/OrderService.java

@@ -61,6 +61,7 @@ public interface OrderService {
 
 
     /**
     /**
      * 分享订单,分享码验证通过
      * 分享订单,分享码验证通过
+     *
      * @param shareCode
      * @param shareCode
      * @param code
      * @param code
      * @param orderId
      * @param orderId
@@ -68,4 +69,47 @@ public interface OrderService {
      * @return
      * @return
      */
      */
     ResponseJson<Boolean> verifyShareCode(String shareCode, String code, Integer orderId, Integer organizeId);
     ResponseJson<Boolean> verifyShareCode(String shareCode, String code, Integer orderId, Integer organizeId);
+
+    /**
+     * 删除订单
+     *
+     * @param orderId
+     * @return
+     */
+    ResponseJson<String> deleteOrder(Integer orderId);
+
+    /**
+     * 取消订单
+     *
+     * @param orderId
+     * @return
+     */
+    ResponseJson<String> cancelOrder(Integer orderId);
+
+    /**
+     * 根据关键词获取订单
+     *
+     * @param searchWord
+     * @param organizeId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    ResponseJson<PageInfo<OrderVo>> searchOrder(String searchWord, Integer organizeId, Integer pageNum, Integer pageSize);
+
+    /**
+     * 根据组织ID查找历史记录
+     *
+     * @param organizeId
+     * @return
+     */
+    ResponseJson<List<String>> getSearchHistory(Integer organizeId);
+
+    /**
+     * 删除历史记录
+     *
+     * @param organizeId
+     * @return
+     */
+    ResponseJson<String> deleteSearchHistory(Integer organizeId);
 }
 }

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

@@ -39,8 +39,8 @@ public class AddressServiceImpl implements AddressService {
         if (address.getDefaultFlag() != null && "1".equals(address.getDefaultFlag())) {
         if (address.getDefaultFlag() != null && "1".equals(address.getDefaultFlag())) {
             AddressVo addressVo = addressMapper.findDefaultAddress(address.getUserId());
             AddressVo addressVo = addressMapper.findDefaultAddress(address.getUserId());
             if (addressVo != null) {
             if (addressVo != null) {
-                address.setDefaultFlag("0");
-                addressMapper.updateAddress(address);
+                addressVo.setDefaultFlag("0");
+                addressMapper.updateAddress(addressVo);
             }
             }
         }
         }
         if (address.getAddressId() == null) {
         if (address.getAddressId() == null) {

+ 0 - 3
src/main/java/com/caimei/service/impl/LoginServiceImpl.java

@@ -89,9 +89,6 @@ public class LoginServiceImpl implements LoginService {
         Map<String, Object> map = new HashMap<>(5);
         Map<String, Object> map = new HashMap<>(5);
         CmMallOrganizePo organize = loginMapper.findOrganize(organizeId);
         CmMallOrganizePo organize = loginMapper.findOrganize(organizeId);
         map.put("organizeName", organize.getOrganizeName());
         map.put("organizeName", organize.getOrganizeName());
-        //待确认数量
-        Integer confirmedCount = loginMapper.findOrderCount(organizeId, 0);
-        map.put("confirmedCount", confirmedCount);
         //待付款数量
         //待付款数量
         Integer paymentCount = loginMapper.findOrderCount(organizeId, 1);
         Integer paymentCount = loginMapper.findOrderCount(organizeId, 1);
         paymentCount = paymentCount == null ? 0 : paymentCount;
         paymentCount = paymentCount == null ? 0 : paymentCount;

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

@@ -6,11 +6,10 @@ import com.alibaba.fastjson.JSONObject;
 import com.caimei.config.WxConfig;
 import com.caimei.config.WxConfig;
 import com.caimei.mapper.LoginMapper;
 import com.caimei.mapper.LoginMapper;
 import com.caimei.mapper.OrderMapper;
 import com.caimei.mapper.OrderMapper;
+import com.caimei.mapper.OrderSubmitMapper;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.enumerate.ReceivablesType;
 import com.caimei.model.enumerate.ReceivablesType;
-import com.caimei.model.po.CmMallOrderShareCodePo;
-import com.caimei.model.po.PromotionsPo;
-import com.caimei.model.po.ShareCodeRecordPo;
+import com.caimei.model.po.*;
 import com.caimei.model.vo.*;
 import com.caimei.model.vo.*;
 import com.caimei.service.OrderService;
 import com.caimei.service.OrderService;
 import com.caimei.util.MathUtil;
 import com.caimei.util.MathUtil;
@@ -19,8 +18,10 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -39,6 +40,8 @@ public class OrderServiceImpl implements OrderService {
     private OrderMapper orderMapper;
     private OrderMapper orderMapper;
     @Resource
     @Resource
     private LoginMapper loginMapper;
     private LoginMapper loginMapper;
+    @Resource
+    private OrderSubmitMapper orderSubmitMapper;
     @Value("${caimei.oldapi}")
     @Value("${caimei.oldapi}")
     private String domain;
     private String domain;
 
 
@@ -46,7 +49,18 @@ public class OrderServiceImpl implements OrderService {
     public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer userId, Integer organizeId, Integer pageNum, Integer pageSize) {
     public ResponseJson<PageInfo<OrderVo>> getOrderList(Integer orderState, Integer userId, Integer organizeId, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);
         PageHelper.startPage(pageNum, pageSize);
         List<OrderVo> orderList = orderMapper.findOrderList(userId, orderState, organizeId);
         List<OrderVo> orderList = orderMapper.findOrderList(userId, orderState, organizeId);
+        getOrderData(orderList);
+        PageInfo<OrderVo> pageData = new PageInfo<>(orderList);
+        return ResponseJson.success(pageData);
+    }
+
+    /**
+     * 主订单下信息
+     */
+    private void getOrderData(List<OrderVo> orderList) {
         for (OrderVo order : orderList) {
         for (OrderVo order : orderList) {
+            UserPo user = orderSubmitMapper.findUser(order.getUserId().intValue());
+            order.setClubName(user.getName());
             //111,待付待收待发
             //111,待付待收待发
             if ("11".equals(order.getStatus()) && "1".equals(order.getPayStatus())) {
             if ("11".equals(order.getStatus()) && "1".equals(order.getPayStatus())) {
                 order.setStatus("111");
                 order.setStatus("111");
@@ -87,8 +101,6 @@ public class OrderServiceImpl implements OrderService {
             //设置付款金额
             //设置付款金额
             getDiscernReceipt(order);
             getDiscernReceipt(order);
         }
         }
-        PageInfo<OrderVo> pageData = new PageInfo<>(orderList);
-        return ResponseJson.success(pageData);
     }
     }
 
 
     @Override
     @Override
@@ -318,6 +330,88 @@ public class OrderServiceImpl implements OrderService {
         }
         }
     }
     }
 
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public ResponseJson<String> deleteOrder(Integer orderId) {
+        OrderVo order = orderMapper.findOrder(orderId);
+        if (order == null) {
+            return ResponseJson.error("订单不存在", null);
+        }
+        if (!("6".equals(order.getStatus()))) {
+            return ResponseJson.error("订单异常", null);
+        }
+        orderMapper.deleteOrder(orderId);
+        //逻辑删除子订单
+        orderMapper.deleteShopOrder(orderId);
+        //逻辑删除收款记录
+        List<DiscernReceiptVo> discernReceipt = orderMapper.findDiscernReceipt(orderId);
+        if (discernReceipt != null && discernReceipt.size() > 0) {
+            orderMapper.deleteReceiptOrderRelation(orderId);
+            for (DiscernReceiptVo receipt : discernReceipt) {
+                orderMapper.deleteDiscernReceipt(receipt.getId());
+            }
+        }
+        String[] shopOrderIds = order.getShopOrderIds().split(",");
+        //逻辑删除付款记录
+        for (String shopOrderId : shopOrderIds) {
+            if (StringUtils.isNotBlank(shopOrderId)) {
+                List<CmPayShopRecordPo> payShopRecordList = orderMapper.findPayShopRecord(Integer.valueOf(shopOrderId));
+                if (payShopRecordList != null && payShopRecordList.size() > 0) {
+                    orderMapper.deletePayShopRecord(Integer.valueOf(shopOrderId));
+                    for (CmPayShopRecordPo payShopRecord : payShopRecordList) {
+                        orderMapper.updatePayShop(payShopRecord.getPayShopID());
+                    }
+                }
+            }
+        }
+        return ResponseJson.success(null);
+    }
+
+    @Override
+    public ResponseJson<String> cancelOrder(Integer orderId) {
+        OrderVo order = orderMapper.findOrder(orderId);
+        if (order == null) {
+            return ResponseJson.error("订单不存在", null);
+        }
+        if (!("11".equals(order.getStatus()) || "0".equals(order.getStatus()))) {
+            return ResponseJson.error("订单异常", null);
+        }
+        order.setStatus("6");
+        orderMapper.cancelOrder(orderId);
+        return ResponseJson.success(null);
+    }
+
+    @Override
+    public ResponseJson<PageInfo<OrderVo>> searchOrder(String searchWord, Integer organizeId, Integer pageNum, Integer pageSize) {
+        List<String> searchHistoryList = orderMapper.getSearchHistoryList(organizeId);
+        if (!searchHistoryList.contains(searchWord)) {
+            CmMallOrderSearchHistoryPo searchHistoryPo = new CmMallOrderSearchHistoryPo();
+            searchHistoryPo.setOrganizeID(organizeId);
+            searchHistoryPo.setSearchDate(new Date());
+            searchHistoryPo.setDelFlag("0");
+            searchHistoryPo.setSearchWord(searchWord);
+            orderMapper.insertHistory(searchHistoryPo);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<OrderVo> orderList = orderMapper.searchOrder(searchWord, organizeId);
+        //获取主订单数据
+        getOrderData(orderList);
+        PageInfo<OrderVo> pageData = new PageInfo<>(orderList);
+        return ResponseJson.success(pageData);
+    }
+
+    @Override
+    public ResponseJson<List<String>> getSearchHistory(Integer organizeId) {
+        List<String> searchHistoryList = orderMapper.getSearchHistoryList(organizeId);
+        return ResponseJson.success(searchHistoryList);
+    }
+
+    @Override
+    public ResponseJson<String> deleteSearchHistory(Integer organizeId) {
+        orderMapper.deleteSearchHistory(organizeId);
+        return ResponseJson.success(null);
+    }
+
     /**
     /**
      * 支付金额,待付金额
      * 支付金额,待付金额
      */
      */

+ 4 - 3
src/main/java/com/caimei/service/impl/OrderSubmitServiceImpl.java

@@ -59,7 +59,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
             shopList.forEach(shop -> {
             shopList.forEach(shop -> {
                 shopIds.add(shop.getShopId());
                 shopIds.add(shop.getShopId());
                 //购物车购买
                 //购物车购买
-                List<CartProductVo> products = orderSubmitMapper.findProductListByCart(shop.getShopId(), productId);
+                List<CartProductVo> products = orderSubmitMapper.findProductListByCart(shop.getShopId(), productId, userId);
                 BigDecimal shopTotalPrice = BigDecimal.ZERO;
                 BigDecimal shopTotalPrice = BigDecimal.ZERO;
                 for (CartProductVo product : products) {
                 for (CartProductVo product : products) {
                     productGifts.addAll(shoppingCartService.setProductPrice(product));
                     productGifts.addAll(shoppingCartService.setProductPrice(product));
@@ -252,6 +252,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
                     // 商品是否处于活动状态
                     // 商品是否处于活动状态
                     PromotionsPo promotions = productMapper.findPromotionByProductId(product.getId());
                     PromotionsPo promotions = productMapper.findPromotionByProductId(product.getId());
                     int priceType = 0;
                     int priceType = 0;
+                    product.setActStatus(0);
                     if (productType != 2) {
                     if (productType != 2) {
                         if (promotions != null) {
                         if (promotions != null) {
                             // 是否包含活动商品(受订单未支付自动关闭时间影响)  0 否 1 是
                             // 是否包含活动商品(受订单未支付自动关闭时间影响)  0 否 1 是
@@ -434,7 +435,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
             orderProduct.setOrderID(order.getOrderID());
             orderProduct.setOrderID(order.getOrderID());
             orderProduct.setOrderNo(order.getOrderNo());
             orderProduct.setOrderNo(order.getOrderNo());
             orderProduct.setOrganizeID(order.getOrganizeID());
             orderProduct.setOrganizeID(order.getOrganizeID());
-            PromotionsPo promotions = productMapper.findPromotionByProductId(orderProduct.getProductID());
+            PromotionsPo promotions = productMapper.findPromotionByProductId(orderProduct.getOrganizeProductID());
             if (promotions != null) {
             if (promotions != null) {
                 PromotionsPo orderPromotions = orderSubmitMapper.findOrderPromotions(orderProduct.getOrderID(), promotions.getId());
                 PromotionsPo orderPromotions = orderSubmitMapper.findOrderPromotions(orderProduct.getOrderID(), promotions.getId());
                 if (orderPromotions != null) {
                 if (orderPromotions != null) {
@@ -554,7 +555,7 @@ public class OrderSubmitServiceImpl implements OrderSubmitService {
          * 构造返回参数
          * 构造返回参数
          */
          */
         Map<String, String> info = new HashMap<>(5);
         Map<String, String> info = new HashMap<>(5);
-        info.put("orderID", String.valueOf(order.getOrderID()));
+        info.put("orderId", String.valueOf(order.getOrderID()));
         info.put("orderNo", String.valueOf(order.getOrderNo()));
         info.put("orderNo", String.valueOf(order.getOrderNo()));
         info.put("orderMark", "#" + order.getOrderID() + "#");
         info.put("orderMark", "#" + order.getOrderID() + "#");
         //应付订单金额
         //应付订单金额

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

@@ -2,6 +2,7 @@ package com.caimei.service.impl;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.caimei.mapper.OrderMapper;
 import com.caimei.mapper.OrderMapper;
+import com.caimei.mapper.OrderSubmitMapper;
 import com.caimei.mapper.PayOrderMapper;
 import com.caimei.mapper.PayOrderMapper;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.dto.PaymentDto;
 import com.caimei.model.dto.PaymentDto;
@@ -44,6 +45,8 @@ public class PayOrderServiceImpl implements PayOrderService {
     private PayOrderMapper payOrderMapper;
     private PayOrderMapper payOrderMapper;
     @Resource
     @Resource
     private OrderMapper orderMapper;
     private OrderMapper orderMapper;
+    @Resource
+    private OrderSubmitMapper orderSubmitMapper;
 
 
     /**
     /**
      * 商户标识
      * 商户标识
@@ -75,7 +78,7 @@ public class PayOrderServiceImpl implements PayOrderService {
 
 
     @Override
     @Override
     public ResponseJson<Map<String, Object>> checkoutCounter(Integer orderId) {
     public ResponseJson<Map<String, Object>> checkoutCounter(Integer orderId) {
-        Map<String, Object> map = new HashMap<>();
+        Map<String, Object> map = new HashMap<>(4);
         OrderVo order = orderMapper.findOrder(orderId);
         OrderVo order = orderMapper.findOrder(orderId);
         if (null == order) {
         if (null == order) {
             return ResponseJson.error("订单不存在", null);
             return ResponseJson.error("订单不存在", null);
@@ -109,7 +112,7 @@ public class PayOrderServiceImpl implements PayOrderService {
         orderProductList.removeIf(orderProductVo -> orderProductVo.getShopId() == 998);
         orderProductList.removeIf(orderProductVo -> orderProductVo.getShopId() == 998);
         map.put("orderProductList", orderProductList);
         map.put("orderProductList", orderProductList);
         //机构信息
         //机构信息
-        UserPo user = payOrderMapper.findUser(order.getUserId());
+        UserPo user = orderSubmitMapper.findUser(order.getUserId().intValue());
         map.put("userName", user.getName());
         map.put("userName", user.getName());
         return ResponseJson.success(map);
         return ResponseJson.success(map);
     }
     }

+ 11 - 10
src/main/java/com/caimei/service/impl/ProductServiceImpl.java

@@ -4,6 +4,10 @@ import com.caimei.mapper.ProductMapper;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.po.*;
 import com.caimei.model.po.*;
 import com.caimei.model.vo.CartProductVo;
 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.ClubVo;
 import com.caimei.model.vo.LadderPriceVo;
 import com.caimei.model.vo.LadderPriceVo;
 import com.caimei.model.vo.ProductVo;
 import com.caimei.model.vo.ProductVo;
@@ -50,7 +54,7 @@ public class ProductServiceImpl implements ProductService {
         if (null == organizeId) {
         if (null == organizeId) {
             return ResponseJson.error("参数异常", null);
             return ResponseJson.error("参数异常", null);
         }
         }
-        PageHelper.startPage(pageNum,pageSize);
+        PageHelper.startPage(pageNum, pageSize);
         List<ProductVo> productList = productMapper.findProductList(organizeId, productName);
         List<ProductVo> productList = productMapper.findProductList(organizeId, productName);
         for (ProductVo product : productList) {
         for (ProductVo product : productList) {
             setProductPrice(product);
             setProductPrice(product);
@@ -60,14 +64,12 @@ public class ProductServiceImpl implements ProductService {
     }
     }
 
 
 
 
-
-
     @Override
     @Override
     public ResponseJson<ProductVo> productDetails(Integer productId) {
     public ResponseJson<ProductVo> productDetails(Integer productId) {
         ProductVo product = productMapper.findProductByProductId(productId);
         ProductVo product = productMapper.findProductByProductId(productId);
         if (product == null) {
         if (product == null) {
             //商品不存在
             //商品不存在
-            return ResponseJson.error("商品不存在",null);
+            return ResponseJson.error("商品不存在", null);
         }
         }
         String[] split = null;
         String[] split = null;
         //商品标签
         //商品标签
@@ -101,7 +103,7 @@ public class ProductServiceImpl implements ProductService {
         String priceGrade = ProductUtils.getPriceGrade(product.getPrice().doubleValue());
         String priceGrade = ProductUtils.getPriceGrade(product.getPrice().doubleValue());
         product.setPriceGrade(priceGrade);
         product.setPriceGrade(priceGrade);
         //商品分类
         //商品分类
-        String typeName = productMapper.findTypeName(product.getBigTypeId(),product.getSmallTypeId(), product.getTinyTypeId());
+        String typeName = productMapper.findTypeName(product.getBigTypeId(), product.getSmallTypeId(), product.getTinyTypeId());
         product.setTypeName(typeName);
         product.setTypeName(typeName);
         //品牌名称
         //品牌名称
         String brandName = productMapper.findBrandNameByBrandId(product.getBrandId());
         String brandName = productMapper.findBrandNameByBrandId(product.getBrandId());
@@ -118,9 +120,8 @@ public class ProductServiceImpl implements ProductService {
     }
     }
 
 
 
 
-
     @Override
     @Override
-    public void setProductPrice(ProductVo product){
+    public void setProductPrice(ProductVo product) {
         // 设置图片
         // 设置图片
         product.setMainImage(ProductUtils.getImageURL("product", product.getMainImage(), 0, domain));
         product.setMainImage(ProductUtils.getImageURL("product", product.getMainImage(), 0, domain));
         // 设置商品展示价格
         // 设置商品展示价格
@@ -130,9 +131,9 @@ public class ProductServiceImpl implements ProductService {
             product.setPromotion(activity);
             product.setPromotion(activity);
             product.setLadderPriceFlag(0);
             product.setLadderPriceFlag(0);
             // 活动价
             // 活动价
-            if (activity.getType() == 1 && null != activity.getTouchPrice()) {
+            if (activity.getMode() == 1) {
                 product.setRetailPrice(activity.getTouchPrice());
                 product.setRetailPrice(activity.getTouchPrice());
-            }else {
+            } else {
                 product.setRetailPrice(product.getPrice());
                 product.setRetailPrice(product.getPrice());
             }
             }
             if (activity.getMode() == 3) {
             if (activity.getMode() == 3) {
@@ -183,7 +184,7 @@ public class ProductServiceImpl implements ProductService {
             //阶梯价列表添加税费
             //阶梯价列表添加税费
             boolean addTaxFlag = (0 == product.getIncludedTax() && (1 == product.getInvoiceType() || 2 == product.getInvoiceType()));
             boolean addTaxFlag = (0 == product.getIncludedTax() && (1 == product.getInvoiceType() || 2 == product.getInvoiceType()));
             if (addTaxFlag) {
             if (addTaxFlag) {
-                ladderPriceList.forEach(item->{
+                ladderPriceList.forEach(item -> {
                     item.setBuyPrice(MathUtil.add(item.getBuyPrice(), MathUtil.div(MathUtil.mul(item.getBuyPrice(), product.getClubTaxPoint()), 100)));
                     item.setBuyPrice(MathUtil.add(item.getBuyPrice(), MathUtil.div(MathUtil.mul(item.getBuyPrice(), product.getClubTaxPoint()), 100)));
                 });
                 });
             }
             }

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

@@ -23,6 +23,9 @@
                  LEFT JOIN city c ON c.cityID = t.cityID
                  LEFT JOIN city c ON c.cityID = t.cityID
                  LEFT JOIN province p ON p.provinceID = c.provinceID
                  LEFT JOIN province p ON p.provinceID = c.provinceID
         WHERE a.userID = #{userId}
         WHERE a.userID = #{userId}
+        ORDER BY
+          defaultFlag DESC,
+          addressID ASC
     </select>
     </select>
 
 
     <select id="findDefaultAddress" resultType="com.caimei.model.vo.AddressVo">
     <select id="findDefaultAddress" resultType="com.caimei.model.vo.AddressVo">

+ 176 - 11
src/main/resources/mapper/OrderMapper.xml

@@ -24,6 +24,9 @@
           note,
           note,
           orderSource,
           orderSource,
           orderTime,
           orderTime,
+          productCount,
+          presentCount,
+          promotionalGiftsCount,
           invoiceFlag,
           invoiceFlag,
           clauseID AS clauseId,
           clauseID AS clauseId,
           clauseContent,
           clauseContent,
@@ -37,21 +40,20 @@
           <include refid="cm_Order_List"></include>
           <include refid="cm_Order_List"></include>
         from cm_order
         from cm_order
         where delFlag = '0'
         where delFlag = '0'
-        AND userID = #{userId}
         AND organizeID = #{organizeId}
         AND organizeID = #{organizeId}
-        <if test="orderState == 1 ">
-            AND status = '0'
+        <if test="userId != null ">
+            AND userID = #{userId}
         </if>
         </if>
-        <if test="orderState == 2 ">
+        <if test="orderState == 1 ">
             AND status IN(11,12,13,21,22,23)
             AND status IN(11,12,13,21,22,23)
         </if>
         </if>
-        <if test="orderState == 3 ">
+        <if test="orderState == 2 ">
             AND status IN(11,12,21,22,31,32)
             AND status IN(11,12,21,22,31,32)
         </if>
         </if>
-        <if test="orderState == 4 ">
+        <if test="orderState == 3 ">
             AND status IN(12,13,22,23,32,33)
             AND status IN(12,13,22,23,32,33)
         </if>
         </if>
-        <if test="orderState == 5 ">
+        <if test="orderState == 4 ">
             AND refundType IN(1,2)
             AND refundType IN(1,2)
         </if>
         </if>
         ORDER BY orderTime DESC
         ORDER BY orderTime DESC
@@ -69,6 +71,7 @@
         cso.organizeID AS organizeId,
         cso.organizeID AS organizeId,
         cso.userID AS userId,
         cso.userID AS userId,
         cso.shopID AS shopId,
         cso.shopID AS shopId,
+        cso.itemCount,
         s.name AS shopName,
         s.name AS shopName,
         s.logo AS shopLogo
         s.logo AS shopLogo
         FROM
         FROM
@@ -103,15 +106,18 @@
           cop.discountPrice,
           cop.discountPrice,
           cop.includedTax,
           cop.includedTax,
           cop.invoiceType,
           cop.invoiceType,
+          cop.taxRate,
           cop.totalAddedValueTax,
           cop.totalAddedValueTax,
           cop.notOutStore,
           cop.notOutStore,
-          p.mainImage AS productImage,
-          p.productCategory as productCategory
+          cop.name,
+          cop.productUnit,
+          cop.productImage,
+          cop.productType,
+          cop.orderPromotionsId
         FROM
         FROM
           cm_order_product cop
           cm_order_product cop
-          LEFT JOIN product p ON cop.productID = p.productID
         WHERE
         WHERE
-          shopOrderID = #{shopOrderId}
+          cop.shopOrderID = #{shopOrderId}
     </select>
     </select>
 
 
     <select id="findOrderPromotionsById" resultType="com.caimei.model.po.PromotionsPo">
     <select id="findOrderPromotionsById" resultType="com.caimei.model.po.PromotionsPo">
@@ -348,4 +354,163 @@
             #{delFlag}
             #{delFlag}
           )
           )
     </insert>
     </insert>
+
+    <update id="deleteOrder">
+        UPDATE
+          cm_order
+        SET
+          delFlag = 1,
+          updateDate = NOW(),
+          note = '用户发起删除订单'
+        WHERE
+          orderID = #{orderId}
+    </update>
+
+    <update id="deleteShopOrder">
+        UPDATE cm_shop_order SET delFlag = 1 WHERE orderID = #{orderId}
+    </update>
+
+    <update id="deleteReceiptOrderRelation">
+        UPDATE
+          cm_receipt_order_relation
+        SET
+          delFlag = '1'
+        WHERE
+          orderID = #{orderID}
+    </update>
+
+    <update id="deleteDiscernReceipt">
+         UPDATE
+          cm_discern_receipt
+        SET
+          delFlag = '1'
+        WHERE
+          id =  #{id}
+    </update>
+
+    <select id="findPayShopRecord" resultType="com.caimei.model.po.CmPayShopRecordPo">
+        SELECT
+            id,
+            shopID,
+            shopOrderID,
+            shopOrderNo,
+            payAmount,
+            wipePayment,
+            payType,
+            payTime,
+            payShopID,
+            status,
+            delFlag
+        FROM
+          cm_pay_shop_record
+        WHERE
+          delFlag = '0'
+          AND shopOrderID = #{shopOrderId}
+        ORDER BY payTime desc
+    </select>
+
+    <update id="deletePayShopRecord">
+        UPDATE
+          cm_pay_shop_record
+        SET
+          delFlag = '0'
+        WHERE
+          shopOrderID = #{shopOrderId}
+    </update>
+
+    <update id="updatePayShop">
+        UPDATE
+          cm_pay_shop
+        SET
+          delFlag = '0'
+    WHERE
+          id = #{payShopId}
+    </update>
+
+    <update id="cancelOrder">
+        UPDATE
+          cm_order
+        SET
+          STATUS = 6,
+          updateDate = NOW(),
+          closeReason = '用户主动取消订单',
+          closeTime = NOW()
+        WHERE
+          orderID = #{orderId}
+    </update>
+
+    <select id="searchOrder" resultType="com.caimei.model.vo.OrderVo">
+        SELECT
+          co.orderID AS orderId,
+          co.orderNo,
+          co.organizeID AS organizeId,
+          co.userID AS userId,
+          co.buyUserID AS buyUserId,
+          co.status,
+          co.shopOrderIDs AS shopOrderIds,
+          co.receiptStatus,
+          co.payStatus,
+          co.sendOutStatus,
+          co.refundType,
+          co.onlinePayFlag,
+          co.payTotalFee,
+          co.payableAmount,
+          co.balancePayFee,
+          co.discountFee,
+          co.promotionFullReduction,
+          co.note,
+          co.orderSource,
+          co.orderTime,
+          co.productCount,
+          co.presentCount,
+          co.promotionalGiftsCount,
+          co.invoiceFlag,
+          co.clauseID AS clauseId,
+          co.clauseContent,
+          co.clauseName,
+          co.freePostFlag,
+          co.freight,
+          co.closeReason
+        FROM
+          cm_order co
+          LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
+        WHERE
+          co.organizeID = #{organizeId}
+          AND co.delFlag = '0'
+          AND cop.name LIKE CONCAT('%',#{searchWord},'%')
+        GROUP BY
+          co.orderID
+        ORDER BY
+          co.orderTime DESC
+    </select>
+
+    <select id="getSearchHistoryList" resultType="string">
+        SELECT
+          searchWord
+        FROM
+          cm_mall_order_search_history
+        WHERE
+          organizeID = #{organizeId}
+          AND delFlag = 0
+        ORDER BY
+          searchDate DESC
+        LIMIT
+          10
+    </select>
+
+    <delete id="deleteSearchHistory">
+        DELETE FROM cm_mall_order_search_history WHERE organizeID = #{organizeId}
+    </delete>
+
+    <insert id="insertHistory">
+        INSERT INTO `cm_mall_order_search_history` (
+          `organizeID`, `openID`, `searchWord`,
+          `searchDate`, `delFlag`
+        )
+        VALUES
+          (
+            #{organizeID}, #{openID}, #{searchWord},
+            #{searchDate}, #{delFlag}
+          )
+    </insert>
 </mapper>
 </mapper>

+ 18 - 14
src/main/resources/mapper/OrderSubmitMapper.xml

@@ -5,8 +5,8 @@
 <mapper namespace="com.caimei.mapper.OrderSubmitMapper">
 <mapper namespace="com.caimei.mapper.OrderSubmitMapper">
     <sql id="Product_Column_List">
     <sql id="Product_Column_List">
         p.productID, p.brandID,p.bigTypeID,p.smallTypeID, p.tinyTypeID,p.productCategory, p.preferredFlag, p.selfTypeID, p.shopID, p.`name`, p.aliasName, p.searchKey, p.productRemarks,
         p.productID, p.brandID,p.bigTypeID,p.smallTypeID, p.tinyTypeID,p.productCategory, p.preferredFlag, p.selfTypeID, p.shopID, p.`name`, p.aliasName, p.searchKey, p.productRemarks,
-        p.normalPrice, p.price, p.highestUserLevelPrice, lowestUserLevelPrice, p.lowestUserLevelID,
-        p.price0, p.price0Grade, p.price0Text, price0TextFlag, price1, p.price1Grade, p.price1Text,
+        p.normalPrice, p.price, p.highestUserLevelPrice, p.lowestUserLevelPrice, p.lowestUserLevelID,
+        p.price0, p.price0Grade, p.price0Text, p.price0TextFlag, p.price1, p.price1Grade, p.price1Text,
         p.price1TextFlag, p.price8, p.price8Grade, p.price8Text, p.price8Text as beautyActFlag, p.price8TextFlag, p.ladderPriceFlag,
         p.price1TextFlag, p.price8, p.price8Grade, p.price8Text, p.price8Text as beautyActFlag, p.price8TextFlag, p.ladderPriceFlag,
         p.price2, p.price3, p.price4, p.price5, p.price6, p.price7, p.fee, p.stock, p.hasSkuFlag, p.mainImage,
         p.price2, p.price3, p.price4, p.price5, p.price6, p.price7, p.fee, p.stock, p.hasSkuFlag, p.mainImage,
         p.propertiesInfo, p.addTime, p.updateTime, p.sellNumber, p.weekSellNumber, p.beforeValidFlag,
         p.propertiesInfo, p.addTime, p.updateTime, p.sellNumber, p.weekSellNumber, p.beforeValidFlag,
@@ -41,6 +41,7 @@
         <foreach item="productId" index="index" collection="productIds" open="(" separator="," close=")">
         <foreach item="productId" index="index" collection="productIds" open="(" separator="," close=")">
             #{productId}
             #{productId}
         </foreach>
         </foreach>
+        GROUP BY s.shopID
     </select>
     </select>
 
 
     <select id="findProductListByCart" resultType="com.caimei.model.vo.CartProductVo">
     <select id="findProductListByCart" resultType="com.caimei.model.vo.CartProductVo">
@@ -68,6 +69,7 @@
             #{productId}
             #{productId}
         </foreach>
         </foreach>
           AND p.shopID = #{shopId}
           AND p.shopID = #{shopId}
+          AND cmc.userID = #{userId}
     </select>
     </select>
 
 
     <select id="findCartByProductId" resultType="com.caimei.model.vo.CartProductVo">
     <select id="findCartByProductId" resultType="com.caimei.model.vo.CartProductVo">
@@ -125,7 +127,8 @@
           bindMobile,
           bindMobile,
           userName,
           userName,
           realName,
           realName,
-          name
+          name,
+          clubID
         FROM
         FROM
           user
           user
         WHERE
         WHERE
@@ -138,6 +141,9 @@
             <if test="orderNo != null">
             <if test="orderNo != null">
                 orderNo,
                 orderNo,
             </if>
             </if>
+            <if test="organizeID != null">
+                organizeID,
+            </if>
             <if test="userID != null">
             <if test="userID != null">
                 userID,
                 userID,
             </if>
             </if>
@@ -314,6 +320,9 @@
             <if test="orderNo != null">
             <if test="orderNo != null">
                 #{orderNo,jdbcType=VARCHAR},
                 #{orderNo,jdbcType=VARCHAR},
             </if>
             </if>
+            <if test="organizeID != null">
+                #{organizeID},
+            </if>
             <if test="userID != null">
             <if test="userID != null">
                 #{userID,jdbcType=BIGINT},
                 #{userID,jdbcType=BIGINT},
             </if>
             </if>
@@ -736,9 +745,6 @@
             <if test="shopOtherFee != null">
             <if test="shopOtherFee != null">
                 shopOtherFee,
                 shopOtherFee,
             </if>
             </if>
-            <if test="refunding != null">
-                refunding,
-            </if>
             <if test="costType != null">
             <if test="costType != null">
                 costType,
                 costType,
             </if>
             </if>
@@ -768,7 +774,9 @@
             <if test="orderID != null">
             <if test="orderID != null">
                 #{orderID,jdbcType=BIGINT},
                 #{orderID,jdbcType=BIGINT},
             </if>
             </if>
-            <if test="organizeID != null">0,</if>
+            <if test="organizeID != null">
+                #{organizeID},
+            </if>
             <if test="userID != null">
             <if test="userID != null">
                 #{userID,jdbcType=INTEGER},
                 #{userID,jdbcType=INTEGER},
             </if>
             </if>
@@ -958,9 +966,6 @@
             <if test="shopOtherFee != null">
             <if test="shopOtherFee != null">
                 #{shopOtherFee,jdbcType=DECIMAL},
                 #{shopOtherFee,jdbcType=DECIMAL},
             </if>
             </if>
-            <if test="refunding != null">
-                #{refunding,jdbcType=CHAR},
-            </if>
             <if test="costType != null">
             <if test="costType != null">
                 #{costType,jdbcType=CHAR},
                 #{costType,jdbcType=CHAR},
             </if>
             </if>
@@ -1203,7 +1208,9 @@
             <if test="organizeProductID != null">
             <if test="organizeProductID != null">
                 #{organizeProductID,jdbcType=INTEGER},
                 #{organizeProductID,jdbcType=INTEGER},
             </if>
             </if>
-            <if test="organizeID != null">0,</if>
+            <if test="organizeID != null">
+                #{organizeID},
+            </if>
             <if test="num != null">
             <if test="num != null">
                 #{num,jdbcType=INTEGER},
                 #{num,jdbcType=INTEGER},
             </if>
             </if>
@@ -1393,9 +1400,6 @@
             <if test="orderNo != null">
             <if test="orderNo != null">
                 orderNo = #{orderNo,jdbcType=VARCHAR},
                 orderNo = #{orderNo,jdbcType=VARCHAR},
             </if>
             </if>
-            <if test="organizeID != null">
-                organizeID = 0,
-            </if>
             <if test="userID != null">
             <if test="userID != null">
                 userID = #{userID,jdbcType=BIGINT},
                 userID = #{userID,jdbcType=BIGINT},
             </if>
             </if>

+ 56 - 11
src/main/resources/mapper/PayOrderMapper.xml

@@ -12,10 +12,10 @@
           LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
           LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
         WHERE
         WHERE
           (
           (
-            cror.orderID = #{orderID}
+            cror.orderID = #{orderId}
             AND cror.relationType = '2'
             AND cror.relationType = '2'
           OR
           OR
-            cror.orderID = #{shopOrderIDs}
+            cror.orderID = #{shopOrderIds}
             AND cror.relationType = '1'
             AND cror.relationType = '1'
           )
           )
           AND cror.delFlag = '0'
           AND cror.delFlag = '0'
@@ -237,7 +237,15 @@
 
 
     <select id="findOrderPayLink" resultType="com.caimei.model.vo.OrderPayLinkVo">
     <select id="findOrderPayLink" resultType="com.caimei.model.vo.OrderPayLinkVo">
         SELECT
         SELECT
-        *
+        `id`,
+        `orderId`,
+        `linkLogo`,
+        `unpaidAmount`,
+        `generateTime`,
+        `effectiveTime`,
+        `payStatus`,
+        `payType`,
+        `delFlag`
         FROM
         FROM
         cm_order_pay_link
         cm_order_pay_link
         WHERE
         WHERE
@@ -339,7 +347,15 @@
 
 
     <select id="getOrderPayLink" resultType="com.caimei.model.vo.OrderPayLinkVo">
     <select id="getOrderPayLink" resultType="com.caimei.model.vo.OrderPayLinkVo">
         SELECT
         SELECT
-          *
+            `id`,
+          `orderId`,
+          `linkLogo`,
+          `unpaidAmount`,
+          `generateTime`,
+          `effectiveTime`,
+          `payStatus`,
+          `payType`,
+          `delFlag`
         FROM
         FROM
           cm_order_pay_link
           cm_order_pay_link
         WHERE
         WHERE
@@ -348,17 +364,46 @@
     </select>
     </select>
 
 
     <select id="findAllOrderProduct" resultType="com.caimei.model.vo.OrderProductVo">
     <select id="findAllOrderProduct" resultType="com.caimei.model.vo.OrderProductVo">
-        SELECT * FROM cm_order_product WHERE orderID = #{orderId} ORDER BY shopID ASC, productID ASC
-    </select>
-
-    <select id="findUser" resultType="com.caimei.model.po.UserPo">
         SELECT
         SELECT
-          *
+          orderProductID AS orderProductId,
+          orderID AS orderId,
+          shopOrderID AS shopOrderId,
+          shopID AS shopId,
+          productID AS productId,
+          organizeProductID AS organizeProductId,
+          organizeID AS organizeId,
+          num,
+          presentNum,
+          outStoreType,
+          productNo,
+          price,
+          normalPrice,
+          costPrice,
+          price1,
+          totalAmount,
+          totalFee,
+          shouldPayFee,
+          discount,
+          discountPrice,
+          includedTax,
+          invoiceType,
+          taxRate,
+          totalAddedValueTax,
+          notOutStore,
+          name,
+          productUnit,
+          productImage,
+          productType,
+          orderPromotionsId
         FROM
         FROM
-          USER
+          cm_order_product
         WHERE
         WHERE
-          userID = #{userID}
+          orderID = #{orderId}
+        ORDER BY
+          shopID ASC,
+          productID ASC
     </select>
     </select>
+
     <select id="getPayOnLineSwitch" resultType="java.lang.Integer">
     <select id="getPayOnLineSwitch" resultType="java.lang.Integer">
         select status from cm_pay_online_switch where id=1
         select status from cm_pay_online_switch where id=1
     </select>
     </select>

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

@@ -153,6 +153,6 @@
     </select>
     </select>
 
 
     <delete id="deleteCartByProductId">
     <delete id="deleteCartByProductId">
-        DELETE FROM cm_mall_cart WHERE userID = #{cartId} AND productID = #{productId}
+        DELETE FROM cm_mall_cart WHERE userID = #{userId} AND productID = #{productId}
     </delete>
     </delete>
 </mapper>
 </mapper>