Selaa lähdekoodia

迁移Mall搜索服务

home chao 5 vuotta sitten
vanhempi
commit
b155a95181
33 muutettua tiedostoa jossa 700 lisäystä ja 216 poistoa
  1. 33 2
      caimei-search/src/main/java/com/caimei/module/dao/SearchMapper.java
  2. 1 1
      caimei-search/src/main/java/com/caimei/module/entity/CmMallOrderSearchHistory.java
  3. 1 1
      caimei-search/src/main/java/com/caimei/module/entity/CmMallOrganizeProducts.java
  4. 0 12
      caimei-search/src/main/java/com/caimei/module/entity/CmMallProductDetailInfoVo.java
  5. 0 12
      caimei-search/src/main/java/com/caimei/module/entity/CmMallProductImageVo.java
  6. 1 1
      caimei-search/src/main/java/com/caimei/module/entity/CmMallProductLadderPrice.java
  7. 0 15
      caimei-search/src/main/java/com/caimei/module/entity/CmMallProductLadderPriceVo.java
  8. 1 1
      caimei-search/src/main/java/com/caimei/module/entity/CmMallProductSearchHistory.java
  9. 0 19
      caimei-search/src/main/java/com/caimei/module/entity/CmMallProductVo.java
  10. 0 13
      caimei-search/src/main/java/com/caimei/module/entity/CmMallShopVo.java
  11. 4 4
      caimei-search/src/main/java/com/caimei/module/entity/CmOrder.java
  12. 3 3
      caimei-search/src/main/java/com/caimei/module/entity/CmOrderProduct.java
  13. 0 18
      caimei-search/src/main/java/com/caimei/module/entity/CmOrderProductVo.java
  14. 0 18
      caimei-search/src/main/java/com/caimei/module/entity/CmOrderVo.java
  15. 148 0
      caimei-search/src/main/java/com/caimei/module/entity/CmShopOrder.java
  16. 1 1
      caimei-search/src/main/java/com/caimei/module/entity/Product.java
  17. 7 19
      caimei-search/src/main/java/com/caimei/module/entity/Productdetailinfo.java
  18. 9 27
      caimei-search/src/main/java/com/caimei/module/entity/Productimage.java
  19. 3 3
      caimei-search/src/main/java/com/caimei/module/entity/Shop.java
  20. 17 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrderProductVo.java
  21. 4 2
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrderSearchHistoryVo.java
  22. 31 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrderVo.java
  23. 4 2
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrganizeProductsVo.java
  24. 16 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductDetailInfoVo.java
  25. 16 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductImageVo.java
  26. 19 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductLadderPriceVo.java
  27. 4 5
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductSearchHistoryVo.java
  28. 17 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductVo.java
  29. 30 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallShopOrderVo.java
  30. 17 0
      caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallShopVo.java
  31. 32 2
      caimei-search/src/main/java/com/caimei/module/service/SearchService.java
  32. 100 3
      caimei-search/src/main/java/com/caimei/module/service/impl/SearchServiceImpl.java
  33. 181 32
      caimei-search/src/main/resources/mapper/SearchMapper.xml

+ 33 - 2
caimei-search/src/main/java/com/caimei/module/dao/SearchMapper.java

@@ -1,6 +1,9 @@
 package com.caimei.module.dao;
 
-import com.caimei.module.entity.po.CmMallOrganizeProducts;
+import com.caimei.module.entity.vo.CmMallOrderVo;
+import com.caimei.module.entity.vo.CmMallOrganizeProductsVo;
+import com.caimei.module.entity.vo.CmMallProductLadderPriceVo;
+import com.caimei.module.entity.vo.CmMallProductSearchHistoryVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -11,5 +14,33 @@ import java.util.List;
  * @date : 2020/2/27
  */
 public interface SearchMapper {
-    List<CmMallOrganizeProducts> searchProduct(@Param("organizeID") Integer organizeID, @Param("searchWord") String searchWord);
+    List<CmMallOrganizeProductsVo> searchProduct(@Param("organizeID") Integer organizeID, @Param("searchWord") String searchWord);
+
+    void deleteProductRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    void saveProductRecord(CmMallProductSearchHistoryVo productSearchHistory);
+
+    List<CmMallProductSearchHistoryVo> findProductRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    CmMallProductLadderPriceVo findLadderPrice(Long id);
+
+    void deleteRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    CmMallProductSearchHistoryVo findAllProductRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID, @Param("searchWord") String searchWord);
+
+    void updateProductRecord(CmMallProductSearchHistoryVo productSearchHistory);
+
+    CmMallProductSearchHistoryVo findAllOrderRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID, @Param("searchWord") String searchWord);
+
+    void saveOrderRecord(CmMallProductSearchHistoryVo orderSearchHistory);
+
+    void deleteOrderRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    void updateOrderRecord(CmMallProductSearchHistoryVo orderSearchHistory);
+
+    List<CmMallOrderVo> searchOrder(@Param("organizeID") Integer organizeID, @Param("searchWord") String searchWord, @Param("userID") Long userID);
+
+    List<CmMallProductSearchHistoryVo> findOrderRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    void deleteSearchHistory(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
 }

+ 1 - 1
caimei-search/src/main/java/com/caimei/module/entity/po/CmMallOrderSearchHistory.java → caimei-search/src/main/java/com/caimei/module/entity/CmMallOrderSearchHistory.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.util.Date;

+ 1 - 1
caimei-search/src/main/java/com/caimei/module/entity/po/CmMallOrganizeProducts.java → caimei-search/src/main/java/com/caimei/module/entity/CmMallOrganizeProducts.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;

+ 0 - 12
caimei-search/src/main/java/com/caimei/module/entity/CmMallProductDetailInfoVo.java

@@ -1,12 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.Productdetailinfo;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-public class CmMallProductDetailInfoVo extends Productdetailinfo {
-}

+ 0 - 12
caimei-search/src/main/java/com/caimei/module/entity/CmMallProductImageVo.java

@@ -1,12 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.Productimage;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-public class CmMallProductImageVo extends Productimage {
-}

+ 1 - 1
caimei-search/src/main/java/com/caimei/module/entity/po/CmMallProductLadderPrice.java → caimei-search/src/main/java/com/caimei/module/entity/CmMallProductLadderPrice.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;

+ 0 - 15
caimei-search/src/main/java/com/caimei/module/entity/CmMallProductLadderPriceVo.java

@@ -1,15 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.CmMallProductLadderPrice;
-import lombok.Data;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-@Data
-public class CmMallProductLadderPriceVo extends CmMallProductLadderPrice {
-
-}

+ 1 - 1
caimei-search/src/main/java/com/caimei/module/entity/po/CmMallProductSearchHistory.java → caimei-search/src/main/java/com/caimei/module/entity/CmMallProductSearchHistory.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.util.Date;

+ 0 - 19
caimei-search/src/main/java/com/caimei/module/entity/CmMallProductVo.java

@@ -1,19 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.Product;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-@Data
-public class CmMallProductVo extends Product {
-
-}

+ 0 - 13
caimei-search/src/main/java/com/caimei/module/entity/CmMallShopVo.java

@@ -1,13 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.Shop;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-public class CmMallShopVo extends Shop {
-
-}

+ 4 - 4
caimei-search/src/main/java/com/caimei/module/entity/po/CmOrder.java → caimei-search/src/main/java/com/caimei/module/entity/CmOrder.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -6,7 +6,7 @@ import lombok.Data;
 
 /**
  * cm_order
- * @author 
+ * @author
  */
 @Data
 public class CmOrder implements Serializable {
@@ -15,7 +15,7 @@ public class CmOrder implements Serializable {
     private String orderNo;
     /** 采美组织默认为null,具体对应cm_mall_organize表ID */
     private Integer organizeID;
-
+    /** 用户ID */
     private Long userID;
     /** 下单人 */
     private Integer buyUserID;
@@ -117,4 +117,4 @@ public class CmOrder implements Serializable {
     private String postageOrderFlag;
 
     private static final long serialVersionUID = 1L;
-}
+}

+ 3 - 3
caimei-search/src/main/java/com/caimei/module/entity/po/CmOrderProduct.java → caimei-search/src/main/java/com/caimei/module/entity/CmOrderProduct.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -6,7 +6,7 @@ import lombok.Data;
 
 /**
  * cm_order_product
- * @author 
+ * @author
  */
 @Data
 public class CmOrderProduct implements Serializable {
@@ -131,4 +131,4 @@ public class CmOrderProduct implements Serializable {
     private Integer cancelNum;
 
     private static final long serialVersionUID = 1L;
-}
+}

+ 0 - 18
caimei-search/src/main/java/com/caimei/module/entity/CmOrderProductVo.java

@@ -1,18 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.CmOrderProduct;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-@Data
-public class CmOrderProductVo extends CmOrderProduct {
-
-}

+ 0 - 18
caimei-search/src/main/java/com/caimei/module/entity/CmOrderVo.java

@@ -1,18 +0,0 @@
-package com.caimei.module.entity;
-
-import com.caimei.module.entity.po.CmOrder;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * Description
- *
- * @author : Charles
- * @date : 2020/2/27
- */
-@Data
-public class CmOrderVo extends CmOrder {
-
-}

+ 148 - 0
caimei-search/src/main/java/com/caimei/module/entity/CmShopOrder.java

@@ -0,0 +1,148 @@
+package com.caimei.module.entity;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+/**
+ * cm_shop_order
+ * @author
+ */
+@Data
+public class CmShopOrder implements Serializable {
+    /** 子订单ID */
+    private Integer shopOrderID;
+    /** 子订单编号 */
+    private String shopOrderNo;
+    /** 订单编号 */
+    private String orderNo;
+    /** 主订单ID */
+    private Long orderID;
+    /** 采美组织默认为null,具体对应cm_mall_organize表ID */
+    private Integer organizeID;
+    /** 用户Id */
+    private Integer userID;
+    /** 供应商Id */
+    private Integer shopID;
+    /** 普通订单(自主) 1 协销订单0 与cm_order一样 */
+    private Integer orderType;
+    /** 0:个人自己下单 1:企业自己下单 2:员工帮会所下单 3:协销帮会所下单  4:后台下单 5:采美豆订单 */
+    private Integer orderSubmitType;
+    /** 赠品数 */
+    private Integer presentNum;
+    /*** 购买数量 */
+    private Integer itemCount;
+    /** 已经发货的商品数量 */
+    private Integer outStoreNum;
+    /** 子订单发货批次 默认值 = 0 即没过发货 */
+    private Integer outStoreTimes;
+    /** 收货地址县区Id */
+    private Integer townID;
+    /** 子订单备注信息 */
+    private String note;
+    /** 运费:-1到付,0包邮,其他为具体运费(v5.0版本已废弃,运费已使用商品形式存储) */
+    private Double fee;
+    /** 余额支付时使用的金额 */
+    private BigDecimal accountAmount;
+    /** 总金额 = 订单商品totalAmount */
+    private BigDecimal productAmount;
+    /** 总价 = totalFee */
+    private BigDecimal totalAmount;
+    /** 需要支付金额 (shouldPayFee +运费)   需要支付金额 = 总金额 - 采美豆 - 余额 - 折扣-其它) */
+    private BigDecimal needPayAmount;
+    private BigDecimal discountAmount;
+    /** 经理折扣(v5.0版本已废弃,经理折扣只和主订单有关) */
+    private BigDecimal discountFee;
+    /** 订单总优惠 */
+    private BigDecimal preferential;
+    /** 是否已支付:1是,0否 */
+    private String payFlag;
+    /** 订单提交时间 */
+    private String orderTime;
+    /** 支付时间 */
+    private String payTime;
+    /** 订单完成时间 */
+    private String finishTime;
+    /** 订单彻底完成时间 不能售后 毫秒 */
+    private Long autoOverTimeMills;
+    /** 订单状态:见表c_orderstatus或枚举OrderStatus(v5.0版本已废弃只有主订单状态) */
+    private Integer status;
+    /** (付款供应商)付款状态:1待付款、2部分付款、3已付款 */
+    private String payStatus;
+    /** 发货状态:1待发货、2部分发货、3已发货 */
+    private String sendOutStatus;
+    private Integer refundStatus;
+    private Integer returnGoodsStatus;
+    /** 收货时间 */
+    private String receiveGoodsTime;
+    /** 自动收货时间点 毫秒计算  */
+    private Long autoReceiveTimeMills;
+    /** 总税费 */
+    private BigDecimal totalAddedValueTax;
+    /** 可退款金额 = 余额抵扣金额 */
+    private Double canRefundAmount;
+    /** 退款金额 */
+    private Double refundAmount;
+    private Integer clubID;
+    private Integer spID;
+    private Integer mainSpID;
+    /** 订单采美豆个数 */
+    private Integer orderBeanAmount;
+    /** 使用采美豆数量 */
+    private Integer useBeanAmount;
+    /** 是否使用采美豆 */
+    private Integer useBeanFlag;
+    /** 是否可以退货 1可以退款/退货 0不可退款/退货 */
+    private Integer canRefundFlag;
+    /** 是否使用余额 */
+    private Integer useBalanceFlag;
+    /** 可以退还的采美豆个数 */
+    private Integer canRefundBeans;
+    /** 订单包邮时本该支付的运费 */
+    private BigDecimal freePostageFee;
+    /** 使用的包邮券Id,为空表示未使用包邮券  保留 */
+    private Integer freePostageTicketID;
+    /** 佣金 =  应付采美 */
+    private BigDecimal brokerage;
+    /** 后台删除状态 0正常,其他删除 */
+    private String delFlag;
+    /** 订单退款金额 */
+    private BigDecimal refundsAmount;
+    /** 订单状态标识,1:非退货退款订单、2:退货退款中、3退货退款完成 */
+    private String orderStatusFlag;
+    /** 购买状态 */
+    private String buyStatus;
+    /** 全部发货时间 */
+    private String deliveryTimeMills;
+    /** 运费订单ID */
+    private Integer orderDeliveryID;
+    /** 订单能否拆分 1 为可拆分, 0为不可拆分 */
+    private String splitFlag;
+    private String receiptedFlag;
+    private String receiptedType;
+    /** 是否处于支付状态中   0不是的,  1是的 */
+    private String paying;
+    /** 商品费 */
+    private BigDecimal shopProductAmount;
+    /** 运费 */
+    private BigDecimal shopPostFee;
+    /** 税费 */
+    private BigDecimal shopTaxFee;
+    /** 付供应商 = 商品费 + 运费 + 税费 */
+    private BigDecimal shouldPayShopAmount;
+    /** 已付款金额 */
+    private BigDecimal payedShopAmount;
+    /** 付第三方 */
+    private BigDecimal shopOtherFee;
+    /** 固定成本1,  比例成本2  为空就是还没有设置过 */
+    private String costType;
+    /** 比例成本的比例值 */
+    private BigDecimal proportional;
+    /** 修改应付必填备注信息 */
+    private String modifyShouldPayNote;
+    /** 修改应付金额的用户ID */
+    private Long modifyShouldPayUserID;
+    /** 修改应付金额的时间 */
+    private Date modifyShouldPayDate;
+
+    private static final long serialVersionUID = 1L;
+}

+ 1 - 1
caimei-search/src/main/java/com/caimei/module/entity/po/Product.java → caimei-search/src/main/java/com/caimei/module/entity/Product.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;

+ 7 - 19
caimei-search/src/main/java/com/caimei/module/entity/po/Productdetailinfo.java → caimei-search/src/main/java/com/caimei/module/entity/Productdetailinfo.java

@@ -1,28 +1,22 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import lombok.Data;
 
 /**
  * productdetailinfo
- * @author 
+ * @author
  */
 @Data
 public class Productdetailinfo implements Serializable {
     private Integer productDetailInfoID;
-
-    /**
-     * 商品Id
-     */
+    /** 商品Id */
     private Integer productID;
 
     private String propValueAlias;
 
     private String propValueImages;
-
-    /**
-     * 商品详情信息
-     */
+    /** 商品详情信息 */
     private String detailInfo;
 
     private String detailInfoTxt;
@@ -32,16 +26,10 @@ public class Productdetailinfo implements Serializable {
     private String seoKeyword;
 
     private String seoDes;
-
-    /**
-     * 服务详情
-     */
+    /** 服务详情 */
     private String serviceInfo;
-
-    /**
-     * 订购方案
-     */
+    /** 订购方案 */
     private String orderInfo;
 
     private static final long serialVersionUID = 1L;
-}
+}

+ 9 - 27
caimei-search/src/main/java/com/caimei/module/entity/po/Productimage.java → caimei-search/src/main/java/com/caimei/module/entity/Productimage.java

@@ -1,45 +1,27 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import lombok.Data;
 
 /**
  * productimage
- * @author 
+ * @author
  */
 @Data
 public class Productimage implements Serializable {
     private Integer productImageID;
-
-    /**
-     * 商品Id
-     */
+    /** 商品Id */
     private Integer productID;
-
-    /**
-     * 商品对应供应商Id
-     */
+    /** 商品对应供应商Id */
     private Integer shopID;
-
-    /**
-     * 添加时间
-     */
+    /** 添加时间 */
     private String addTime;
-
-    /**
-     * 图片
-     */
+    /** 图片 */
     private String image;
-
-    /**
-     * 是否主图:1是,空或0不是
-     */
+    /** 是否主图:1是,空或0不是 */
     private String mainFlag;
-
-    /**
-     * 排序值
-     */
+    /** 排序值 */
     private Integer sortIndex;
 
     private static final long serialVersionUID = 1L;
-}
+}

+ 3 - 3
caimei-search/src/main/java/com/caimei/module/entity/po/Shop.java → caimei-search/src/main/java/com/caimei/module/entity/Shop.java

@@ -1,4 +1,4 @@
-package com.caimei.module.entity.po;
+package com.caimei.module.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -6,7 +6,7 @@ import lombok.Data;
 
 /**
  * shop
- * @author 
+ * @author
  */
 @Data
 public class Shop implements Serializable {
@@ -177,4 +177,4 @@ public class Shop implements Serializable {
     private BigDecimal ableRebateAmount;
 
     private static final long serialVersionUID = 1L;
-}
+}

+ 17 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrderProductVo.java

@@ -0,0 +1,17 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.CmOrderProduct;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallOrderProductVo extends CmOrderProduct {
+
+}

+ 4 - 2
caimei-search/src/main/java/com/caimei/module/entity/CmMallOrderSearchHistoryVo.java → caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrderSearchHistoryVo.java

@@ -1,7 +1,8 @@
-package com.caimei.module.entity;
+package com.caimei.module.entity.vo;
 
-import com.caimei.module.entity.po.CmMallOrderSearchHistory;
+import com.caimei.module.entity.CmMallOrderSearchHistory;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 /**
  * Description
@@ -9,6 +10,7 @@ import lombok.Data;
  * @author : Charles
  * @date : 2020/2/27
  */
+@EqualsAndHashCode(callSuper = true)
 @Data
 public class CmMallOrderSearchHistoryVo extends CmMallOrderSearchHistory {
 

+ 31 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrderVo.java

@@ -0,0 +1,31 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.CmOrder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallOrderVo extends CmOrder {
+    /** 订单标识,例#orderID#:#1000# */
+    private String orderMark;
+    /** 订单编号+四位随机数----新的拼接交易号(transactionID+四位随机数) */
+    private String newOrderNo;
+    /** 订单状态备注 */
+    private String statusName;
+    /** 支付总金额 */
+    private BigDecimal receiptAmount;
+    /** 退款总金额 */
+    private BigDecimal returnedPurchaseFee;
+    /** 子订单集合 */
+    private List<CmMallShopOrderVo> shopOrderList;
+}

+ 4 - 2
caimei-search/src/main/java/com/caimei/module/entity/CmMallOrganizeProductsVo.java → caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallOrganizeProductsVo.java

@@ -1,7 +1,8 @@
-package com.caimei.module.entity;
+package com.caimei.module.entity.vo;
 
-import com.caimei.module.entity.po.CmMallOrganizeProducts;
+import com.caimei.module.entity.CmMallOrganizeProducts;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 import java.util.List;
 
@@ -11,6 +12,7 @@ import java.util.List;
  * @author : Charles
  * @date : 2020/2/27
  */
+@EqualsAndHashCode(callSuper = true)
 @Data
 public class CmMallOrganizeProductsVo extends CmMallOrganizeProducts {
     /** 主图 */

+ 16 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductDetailInfoVo.java

@@ -0,0 +1,16 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.Productdetailinfo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallProductDetailInfoVo extends Productdetailinfo {
+}

+ 16 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductImageVo.java

@@ -0,0 +1,16 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.Productimage;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallProductImageVo extends Productimage {
+}

+ 19 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductLadderPriceVo.java

@@ -0,0 +1,19 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.CmMallProductLadderPrice;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallProductLadderPriceVo extends CmMallProductLadderPrice {
+    /** 购买数量区间 */
+    private String buyNumRangeShow;
+
+}

+ 4 - 5
caimei-search/src/main/java/com/caimei/module/entity/CmMallProductSearchHistoryVo.java → caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductSearchHistoryVo.java

@@ -1,10 +1,8 @@
-package com.caimei.module.entity;
+package com.caimei.module.entity.vo;
 
-import com.caimei.module.entity.po.CmMallProductSearchHistory;
+import com.caimei.module.entity.CmMallProductSearchHistory;
 import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
+import lombok.EqualsAndHashCode;
 
 /**
  * Description
@@ -12,6 +10,7 @@ import java.util.Date;
  * @author : Charles
  * @date : 2020/2/27
  */
+@EqualsAndHashCode(callSuper = true)
 @Data
 public class CmMallProductSearchHistoryVo extends CmMallProductSearchHistory {
 

+ 17 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallProductVo.java

@@ -0,0 +1,17 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.Product;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallProductVo extends Product {
+
+}

+ 30 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallShopOrderVo.java

@@ -0,0 +1,30 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.CmShopOrder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/28
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallShopOrderVo extends CmShopOrder {
+    /** 供应商名称 */
+    private String shopName;
+    /** 供应商logo */
+    private String shopLogo;
+    /** 订单商品数 */
+    private Integer productNum;
+    /** 商品总金额 */
+    private BigDecimal productAmount;
+    /** 订单商品信息 */
+    private List<CmMallOrderProductVo> cmOrderProducts;
+
+}

+ 17 - 0
caimei-search/src/main/java/com/caimei/module/entity/vo/CmMallShopVo.java

@@ -0,0 +1,17 @@
+package com.caimei.module.entity.vo;
+
+import com.caimei.module.entity.Shop;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2020/2/27
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CmMallShopVo extends Shop {
+
+}

+ 32 - 2
caimei-search/src/main/java/com/caimei/module/service/SearchService.java

@@ -1,6 +1,9 @@
 package com.caimei.module.service;
 
-import com.caimei.module.entity.po.CmMallOrganizeProducts;
+import com.caimei.module.entity.vo.CmMallOrganizeProductsVo;
+import com.caimei.module.entity.vo.CmMallProductLadderPriceVo;
+import com.caimei.module.entity.vo.CmMallProductSearchHistoryVo;
+import com.caimei.module.entity.vo.CmMallOrderVo;
 
 import java.util.List;
 
@@ -11,6 +14,33 @@ import java.util.List;
  * @date : 2020/2/27
  */
 public interface SearchService {
-    List<CmMallOrganizeProducts> searchProduct(Integer organizeID, String searchWord);
+    List<CmMallOrganizeProductsVo> searchProduct(Integer organizeID, String searchWord);
 
+    void deleteProductRecord(Integer organizeID, String openID);
+
+    void saveProductRecord(Integer organizeID, String searchWord, String openID);
+
+    List<CmMallProductSearchHistoryVo> findProductRecord(Integer organizeID, String openID);
+
+    CmMallProductLadderPriceVo findLadderPrice(Long id);
+
+    void deleteRecord(Integer organizeID, String openID);
+
+    CmMallProductSearchHistoryVo findAllProductRecord(Integer organizeID, String searchWord, String openID);
+
+    void updateProductRecord(Integer organizeID, String searchWord, String openID);
+
+    CmMallProductSearchHistoryVo findAllOrderRecord(Integer organizeID, String searchWord, String openID);
+
+    void saveOrderRecord(Integer organizeID, String searchWord, String openID);
+
+    void deleteOrderRecord(Integer organizeID, String openID);
+
+    void updateOrderRecord(Integer organizeID, String searchWord, String openID);
+
+    List<CmMallOrderVo> searchOrder(Integer organizeID, String searchWord, Long userID);
+
+    List<CmMallProductSearchHistoryVo> findOrderRecord(Integer organizeID, String openID);
+
+    void deleteSearchHistory(Integer organizeID, String openID);
 }

+ 100 - 3
caimei-search/src/main/java/com/caimei/module/service/impl/SearchServiceImpl.java

@@ -1,11 +1,15 @@
 package com.caimei.module.service.impl;
 
 import com.caimei.module.dao.SearchMapper;
-import com.caimei.module.entity.po.CmMallOrganizeProducts;
+import com.caimei.module.entity.vo.CmMallOrderVo;
+import com.caimei.module.entity.vo.CmMallOrganizeProductsVo;
+import com.caimei.module.entity.vo.CmMallProductLadderPriceVo;
+import com.caimei.module.entity.vo.CmMallProductSearchHistoryVo;
 import com.caimei.module.service.SearchService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -19,8 +23,101 @@ public class SearchServiceImpl implements SearchService {
     @Resource
     private SearchMapper searchMapper;
     @Override
-    public List<CmMallOrganizeProducts> searchProduct(Integer organizeID, String searchWord) {
-        List<CmMallOrganizeProducts> productsList = searchMapper.searchProduct(organizeID, searchWord);
+    public List<CmMallOrganizeProductsVo> searchProduct(Integer organizeID, String searchWord) {
+        List<CmMallOrganizeProductsVo> productsList = searchMapper.searchProduct(organizeID, searchWord);
         return productsList;
     }
+
+    @Override
+    public void deleteProductRecord(Integer organizeID, String openID) {
+        searchMapper.deleteProductRecord(organizeID, openID);
+    }
+
+    @Override
+    public void saveProductRecord(Integer organizeID, String searchWord, String openID) {
+        CmMallProductSearchHistoryVo productSearchHistory = new CmMallProductSearchHistoryVo();
+        productSearchHistory.setOpenID(openID);
+        productSearchHistory.setDelFlag("0");
+        productSearchHistory.setOrganizeID(organizeID);
+        productSearchHistory.setSearchDate(new Date());
+        productSearchHistory.setSearchWord(searchWord);
+        searchMapper.saveProductRecord(productSearchHistory);
+    }
+
+    @Override
+    public List<CmMallProductSearchHistoryVo> findProductRecord(Integer organizeID, String openID) {
+        return searchMapper.findProductRecord(organizeID, openID);
+    }
+
+    @Override
+    public CmMallProductLadderPriceVo findLadderPrice(Long id) {
+        return searchMapper.findLadderPrice(id);
+    }
+
+    @Override
+    public void deleteRecord(Integer organizeID, String openID) {
+        searchMapper.deleteRecord(organizeID, openID);
+    }
+
+    @Override
+    public CmMallProductSearchHistoryVo findAllProductRecord(Integer organizeID, String searchWord, String openID) {
+        return searchMapper.findAllProductRecord(organizeID, openID, searchWord);
+    }
+
+    @Override
+    public void updateProductRecord(Integer organizeID, String searchWord, String openID) {
+        CmMallProductSearchHistoryVo productSearchHistory = new CmMallProductSearchHistoryVo();
+        productSearchHistory.setOpenID(openID);
+        productSearchHistory.setOrganizeID(organizeID);
+        productSearchHistory.setSearchDate(new Date());
+        productSearchHistory.setSearchWord(searchWord);
+        searchMapper.updateProductRecord(productSearchHistory);
+    }
+
+    @Override
+    public CmMallProductSearchHistoryVo findAllOrderRecord(Integer organizeID, String searchWord, String openID) {
+        return searchMapper.findAllOrderRecord(organizeID, openID, searchWord);
+    }
+
+    @Override
+    public void saveOrderRecord(Integer organizeID, String searchWord, String openID) {
+        CmMallProductSearchHistoryVo orderSearchHistory = new CmMallProductSearchHistoryVo();
+        orderSearchHistory.setOpenID(openID);
+        orderSearchHistory.setDelFlag("0");
+        orderSearchHistory.setOrganizeID(organizeID);
+        orderSearchHistory.setSearchDate(new Date());
+        orderSearchHistory.setSearchWord(searchWord);
+        searchMapper.saveOrderRecord(orderSearchHistory);
+    }
+
+    @Override
+    public void deleteOrderRecord(Integer organizeID, String openID) {
+        searchMapper.deleteOrderRecord(organizeID, openID);
+    }
+
+    @Override
+    public void updateOrderRecord(Integer organizeID, String searchWord, String openID) {
+        CmMallProductSearchHistoryVo orderSearchHistory = new CmMallProductSearchHistoryVo();
+        orderSearchHistory.setOpenID(openID);
+        orderSearchHistory.setOrganizeID(organizeID);
+        orderSearchHistory.setSearchDate(new Date());
+        orderSearchHistory.setSearchWord(searchWord);
+        searchMapper.updateOrderRecord(orderSearchHistory);
+    }
+
+    @Override
+    public List<CmMallOrderVo> searchOrder(Integer organizeID, String searchWord, Long userID) {
+        List<CmMallOrderVo> orderList = searchMapper.searchOrder(organizeID, searchWord, userID);
+        return orderList;
+    }
+
+    @Override
+    public List<CmMallProductSearchHistoryVo> findOrderRecord(Integer organizeID, String openID) {
+        return searchMapper.findOrderRecord(organizeID, openID);
+    }
+
+    @Override
+    public void deleteSearchHistory(Integer organizeID, String openID) {
+        searchMapper.deleteSearchHistory(organizeID, openID);
+    }
 }

+ 181 - 32
caimei-search/src/main/resources/mapper/SearchMapper.xml

@@ -1,34 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.module.dao.SearchMapper">
-  <resultMap id="BaseResultMap" type="com.caimei.module.entity.po.CmMallOrganizeProducts">
-    <id column="id" jdbcType="INTEGER" property="id" />
-    <result column="classifyID" jdbcType="INTEGER" property="classifyID" />
-    <result column="organizeID" jdbcType="INTEGER" property="organizeID" />
-    <result column="productID" jdbcType="INTEGER" property="productID" />
-    <result column="normalPrice" jdbcType="DECIMAL" property="normalPrice" />
-    <result column="costPrice" jdbcType="DECIMAL" property="costPrice" />
-    <result column="ladderPriceFlag" jdbcType="CHAR" property="ladderPriceFlag" />
-    <result column="retailPrice" jdbcType="DECIMAL" property="retailPrice" />
-    <result column="minBuyNumber" jdbcType="INTEGER" property="minBuyNumber" />
-    <result column="preferredProduct" jdbcType="CHAR" property="preferredProduct" />
-    <result column="preferentialProduct" jdbcType="CHAR" property="preferentialProduct" />
-    <result column="commonlyProduct" jdbcType="CHAR" property="commonlyProduct" />
-    <result column="validFlag" jdbcType="CHAR" property="validFlag" />
-    <result column="preferredProductSort" jdbcType="INTEGER" property="preferredProductSort" />
-    <result column="preferentialProductSort" jdbcType="INTEGER" property="preferentialProductSort" />
-    <result column="commonlyProductSort" jdbcType="INTEGER" property="commonlyProductSort" />
-    <result column="addTime" jdbcType="TIMESTAMP" property="addTime" />
-    <result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
-    <result column="delFlag" jdbcType="CHAR" property="delFlag" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, classifyID, organizeID, productID, normalPrice, costPrice, ladderPriceFlag, retailPrice,
-    minBuyNumber, preferredProduct, preferentialProduct, commonlyProduct, validFlag,
-    preferredProductSort, preferentialProductSort, commonlyProductSort, addTime, updateTime,
-    delFlag
-  </sql>
-  <select id="searchProduct" resultType="com.caimei.module.entity.po.CmMallOrganizeProducts">
+  <select id="searchProduct" resultType="com.caimei.module.entity.vo.CmMallOrganizeProductsVo">
     SELECT
       cmop.*,
       p.mainImage,
@@ -38,11 +11,187 @@
       cm_mall_organize_products cmop
         LEFT JOIN product p ON cmop.productID = p.productID
     WHERE
-      cmop.organizeID = #{organizeID, jdbcType=INTEGER}
-      AND cmop.validFlag = '1'
+          cmop.validFlag = '1'
       AND cmop.delFlag = '0'
-      AND p.name LIKE CONCAT('%', #{searchWord, jdbcType=VARCHAR}, '%')
+      <if test="organizeID != null">
+        AND cmop.organizeID = #{organizeID,jdbcType=INTEGER}
+      </if>
       AND p.productID IS NOT NULL
+      AND p.name LIKE CONCAT('%',#{searchWord,jdbcType=VARCHAR},'%')
   </select>
-
+  <select id="findProductRecord" resultType="com.caimei.module.entity.vo.CmMallProductSearchHistoryVo">
+    SELECT
+      *
+    FROM
+      cm_mall_product_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND delFlag = '0'
+    ORDER BY searchDate DESC
+  </select>
+  <select id="findLadderPrice" resultType="com.caimei.module.entity.vo.CmMallProductLadderPriceVo">
+    SELECT
+      *
+    FROM
+      cm_mall_product_ladder_price
+    WHERE
+      productId = #{id,jdbcType=BIGINT}
+      AND delFlag = '0'
+    ORDER BY
+      ladderNum DESC
+    LIMIT
+      1
+  </select>
+  <select id="findAllProductRecord" resultType="com.caimei.module.entity.vo.CmMallProductSearchHistoryVo">
+    SELECT
+      *
+    FROM
+      cm_mall_product_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND searchWord = #{searchWord,jdbcType=VARCHAR}
+      AND delFlag = '0'
+  </select>
+  <select id="findAllOrderRecord" resultType="com.caimei.module.entity.vo.CmMallProductSearchHistoryVo">
+    SELECT
+      *
+    FROM
+      cm_mall_order_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND searchWord = #{searchWord,jdbcType=VARCHAR}
+      AND delFlag = '0'
+  </select>
+  <select id="searchOrder" resultType="com.caimei.module.entity.vo.CmMallOrderVo">
+    SELECT
+      co.*
+    FROM
+      cm_order co
+        LEFT JOIN cm_order_product cop ON co.orderID = cop.orderID
+    WHERE
+      co.userID = #{userID,jdbcType=BIGINT}
+      AND co.delFlag = '0'
+      AND co.organizeID = #{organizeID,jdbcType=INTEGER}
+      AND cop.name LIKE CONCAT('%',#{searchWord,jdbcType=VARCHAR},'%')
+    GROUP BY
+      co.orderID
+    ORDER BY
+      co.orderTime DESC
+  </select>
+  <select id="findOrderRecord" resultType="com.caimei.module.entity.vo.CmMallProductSearchHistoryVo">
+    SELECT
+      *
+    FROM
+      cm_mall_order_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND delFlag = '0'
+    ORDER BY searchDate DESC
+  </select>
+  <update id="updateProductRecord">
+    UPDATE
+      cm_mall_product_search_history
+    SET
+      searchDate = #{searchDate,jdbcType=TIMESTAMP}
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND searchWord = #{searchWord,jdbcType=VARCHAR}
+      AND delFlag = '0'
+  </update>
+  <update id="updateOrderRecord">
+    UPDATE
+      cm_mall_order_search_history
+    SET
+      searchDate = #{searchDate,jdbcType=TIMESTAMP}
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND searchWord = #{searchWord,jdbcType=VARCHAR}
+      AND delFlag = '0'
+  </update>
+  <insert id="saveProductRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei.module.entity.vo.CmMallProductSearchHistoryVo" useGeneratedKeys="true">
+    insert into cm_mall_product_search_history (organizeID,openID,searchWord,
+                                                searchDate,delFlag)
+    values (#{organizeID,jdbcType=INTEGER},#{openID,jdbcType=VARCHAR},#{searchWord,jdbcType=VARCHAR},
+            #{searchDate,jdbcType=TIMESTAMP},#{delFlag,jdbcType=VARCHAR})
+  </insert>
+  <insert id="saveOrderRecord" keyColumn="id" keyProperty="id" parameterType="com.caimei.module.entity.vo.CmMallOrderSearchHistoryVo" useGeneratedKeys="true">
+    insert into cm_mall_order_search_history (organizeID,openID,searchWord,
+                                              searchDate,delFlag)
+    values (#{organizeID,jdbcType=INTEGER},#{openID,jdbcType=VARCHAR},#{searchWord,jdbcType=VARCHAR},
+            #{searchDate,jdbcType=TIMESTAMP},#{delFlag,jdbcType=VARCHAR})
+  </insert>
+  <delete id="deleteProductRecord">
+    DELETE FROM
+      cm_mall_product_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND delFlag = '0'
+      AND id NOT IN (
+      SELECT
+        psh.id
+      FROM
+        (
+          SELECT
+            id
+          FROM
+            cm_mall_product_search_history
+          WHERE
+            organizeID = #{organizeID,jdbcType=INTEGER}
+            AND openID = #{openID,jdbcType=VARCHAR}
+            AND delFlag = '0'
+          ORDER BY
+            searchDate DESC
+          LIMIT
+            10
+        ) AS psh
+    )
+  </delete>
+  <delete id="deleteRecord">
+    DELETE FROM
+      cm_mall_product_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteOrderRecord">
+    DELETE FROM
+      cm_mall_order_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+      AND delFlag = '0'
+      AND id NOT IN (
+      SELECT
+        osh.id
+      FROM
+        (
+          SELECT
+            id
+          FROM
+            cm_mall_order_search_history
+          WHERE
+            organizeID = #{organizeID,jdbcType=INTEGER}
+            AND openID = #{openID,jdbcType=VARCHAR}
+            AND delFlag = '0'
+          ORDER BY
+            searchDate DESC
+          LIMIT
+            10
+        ) AS osh
+    )
+  </delete>
+  <delete id="deleteSearchHistory">
+    DELETE FROM
+      cm_mall_order_search_history
+    WHERE
+      organizeID = #{organizeID,jdbcType=INTEGER}
+      AND openID = #{openID,jdbcType=VARCHAR}
+  </delete>
 </mapper>