chao 4 år sedan
förälder
incheckning
b4e59f8b2c
25 ändrade filer med 1000 tillägg och 39 borttagningar
  1. 1 1
      src/main/java/com/caimei365/commodity/controller/PriceApi.java
  2. 74 0
      src/main/java/com/caimei365/commodity/controller/ProductApi.java
  3. 2 2
      src/main/java/com/caimei365/commodity/controller/PromotionsApi.java
  4. 60 0
      src/main/java/com/caimei365/commodity/mapper/ProductMapper.java
  5. 2 2
      src/main/java/com/caimei365/commodity/mapper/PromotionsMapper.java
  6. 75 0
      src/main/java/com/caimei365/commodity/model/vo/BigTypeVo.java
  7. 107 0
      src/main/java/com/caimei365/commodity/model/vo/FloorContentVo.java
  8. 95 0
      src/main/java/com/caimei365/commodity/model/vo/FloorImageVo.java
  9. 69 0
      src/main/java/com/caimei365/commodity/model/vo/HotSearchVo.java
  10. 50 0
      src/main/java/com/caimei365/commodity/model/vo/PageFloorVo.java
  11. 6 6
      src/main/java/com/caimei365/commodity/model/vo/PaginationVo.java
  12. 8 2
      src/main/java/com/caimei365/commodity/model/vo/ProductItemVo.java
  13. 2 2
      src/main/java/com/caimei365/commodity/model/vo/PromotionsVo.java
  14. 72 0
      src/main/java/com/caimei365/commodity/model/vo/SmallTypeVo.java
  15. 64 0
      src/main/java/com/caimei365/commodity/model/vo/TinyTypeVo.java
  16. 32 0
      src/main/java/com/caimei365/commodity/service/ProductService.java
  17. 2 2
      src/main/java/com/caimei365/commodity/service/PromotionsService.java
  18. 1 1
      src/main/java/com/caimei365/commodity/service/impl/PriceServiceImpl.java
  19. 164 0
      src/main/java/com/caimei365/commodity/service/impl/ProductServiceImpl.java
  20. 4 4
      src/main/java/com/caimei365/commodity/service/impl/PromotionsServiceImpl.java
  21. 2 2
      src/main/java/com/caimei365/commodity/service/impl/SearchProductServiceImpl.java
  22. 3 3
      src/main/java/com/caimei365/commodity/service/impl/SearchQueryServiceImpl.java
  23. 9 11
      src/main/java/com/caimei365/commodity/utils/MathUtil.java
  24. 95 0
      src/main/resources/mapper/ProductMapper.xml
  25. 1 1
      src/main/resources/mapper/PromotionsMapper.xml

+ 1 - 1
src/main/java/com/caimei365/commodity/controller/ProductPriceApi.java → src/main/java/com/caimei365/commodity/controller/PriceApi.java

@@ -26,7 +26,7 @@ import java.util.List;
 @RestController
 @RestController
 @RequiredArgsConstructor
 @RequiredArgsConstructor
 @RequestMapping("/commodity/price")
 @RequestMapping("/commodity/price")
-public class ProductPriceApi {
+public class PriceApi {
 
 
     private final PriceService priceService;
     private final PriceService priceService;
     /**
     /**

+ 74 - 0
src/main/java/com/caimei365/commodity/controller/ProductApi.java

@@ -0,0 +1,74 @@
+package com.caimei365.commodity.controller;
+
+import com.caimei365.commodity.model.ResponseJson;
+import com.caimei365.commodity.model.vo.BigTypeVo;
+import com.caimei365.commodity.service.ProductService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Api(tags="商品API")
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/commodity/product")
+public class ProductApi {
+
+    private final ProductService productService;
+    /**
+     * 获取分类列表
+     *
+     * spi旧接口:/product/classify
+     *
+     * @param typeSort 分类类型:1产品,2仪器
+     * @param source   请求来源:www,crm
+     */
+    @ApiOperation("获取分类菜单")
+    @ApiImplicitParams({
+        @ApiImplicitParam(required = true, name = "typeSort", value = "分类类型:1产品,2仪器"),
+        @ApiImplicitParam(required = false, name = "source", value = "请求来源:www,crm")
+    })
+    @GetMapping("/classify")
+    public ResponseJson<List<BigTypeVo>> getClassify(String typeSort, String source) {
+        return productService.getClassify(typeSort, source);
+    }
+
+    /**
+     * 产品/仪器页面数据
+     *
+     * spi旧接口:/home/instrumentData
+     *
+     * @param pageId 页面信息id
+     * @param userId 用户id
+     * @param source 来源:1网站,2小程序
+     */
+    @ApiOperation("产品/仪器页面数据")
+    @ApiImplicitParams({
+        @ApiImplicitParam(required = true, name = "pageId", value = "页面信息id"),
+        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+        @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序")
+    })
+    @GetMapping("/classify/data")
+    public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source) {
+        if (pageId == null) {
+            return ResponseJson.error("参数异常", null);
+        }
+        return productService.getClassifyData(pageId, userId, source);
+    }
+
+
+
+}

+ 2 - 2
src/main/java/com/caimei365/commodity/controller/PromotionsApi.java

@@ -2,7 +2,7 @@ package com.caimei365.commodity.controller;
 
 
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
-import com.caimei365.commodity.model.vo.CartItemVo;
+import com.caimei365.commodity.model.vo.ProductItemVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.caimei365.commodity.service.PromotionsService;
 import com.caimei365.commodity.service.PromotionsService;
@@ -101,7 +101,7 @@ public class PromotionsApi {
     @ApiOperation("获取赠品")
     @ApiOperation("获取赠品")
     @ApiImplicitParam(required = true, name = "promotionsId", value = "促销活动Id")
     @ApiImplicitParam(required = true, name = "promotionsId", value = "促销活动Id")
     @GetMapping("/gifts")
     @GetMapping("/gifts")
-    public ResponseJson<List<CartItemVo>> getPromotionGifts(Integer promotionsId) {
+    public ResponseJson<List<ProductItemVo>> getPromotionGifts(Integer promotionsId) {
         if (null == promotionsId) {
         if (null == promotionsId) {
             return ResponseJson.error("参数异常", null);
             return ResponseJson.error("参数异常", null);
         }
         }

+ 60 - 0
src/main/java/com/caimei365/commodity/mapper/ProductMapper.java

@@ -0,0 +1,60 @@
+package com.caimei365.commodity.mapper;
+
+import com.caimei365.commodity.model.vo.*;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Mapper
+public interface ProductMapper {
+    /**
+     * 获取大分类
+     * @param typeSort 分类类型:1产品,2仪器
+     * @param source   请求来源:www,crm
+     */
+    List<BigTypeVo> getBigTypeList(String typeSort, String source);
+    /**
+     * 根据大分类Id获取二级分类
+     * @param bigTypeId 大分类Id
+     * @param source   请求来源:www,crm
+     */
+    List<SmallTypeVo> getSmallTypeList(Integer bigTypeId, String source);
+    /**
+     * 根据二级分类Id获取三级分类
+     * @param smallTypeId 二级分类Id
+     * @param source      请求来源:www,crm
+     */
+    List<TinyTypeVo> getTinyTypeList(Integer smallTypeId, String source);
+    /**
+     * 查询页面信息
+     * @param pageId 页面Id
+     */
+    Integer getPageTypeSort(Integer pageId);
+    /**
+     * 查询分页详情热搜词
+     * @param pageId
+     */
+    List<HotSearchVo> getHotSearchByPageId(Integer pageId, Integer source);
+    /**
+     * 查询页面信息商品楼层
+     * @param pageId
+     */
+    List<PageFloorVo> getFloorByPageId(Integer pageId, Integer source);
+    /**
+     * 查询楼层内容
+     * @param id 页面信息楼层id
+     */
+    FloorContentVo getFloorContentById(Integer id);
+    /**
+     * 查询楼层相关图片
+     * @param id 页面信息楼层id
+     * @param source
+     */
+    List<FloorImageVo> getFloorImageById(Integer id, Integer source);
+}

+ 2 - 2
src/main/java/com/caimei365/commodity/mapper/PromotionsMapper.java

@@ -1,7 +1,7 @@
 package com.caimei365.commodity.mapper;
 package com.caimei365.commodity.mapper;
 
 
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
-import com.caimei365.commodity.model.vo.CartItemVo;
+import com.caimei365.commodity.model.vo.ProductItemVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -28,7 +28,7 @@ public interface PromotionsMapper {
     /**
     /**
      * 获取促销赠品
      * 获取促销赠品
      */
      */
-    List<CartItemVo> getPromotionGifts(Integer promotionsId);
+    List<ProductItemVo> getPromotionGifts(Integer promotionsId);
     /**
     /**
      * 专题活动列表数据
      * 专题活动列表数据
      */
      */

+ 75 - 0
src/main/java/com/caimei365/commodity/model/vo/BigTypeVo.java

@@ -0,0 +1,75 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class BigTypeVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 一级分类ID
+     */
+    private Integer bigTypeId;
+
+    /**
+     * 分类类型,1产品,2仪器
+     */
+    private String typeSort;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 大分类编码
+     */
+    private String bigTypeCode;
+
+    /**
+     *  www启用标识,0停用,1启用
+     */
+    private String wwwValidFlag;
+
+    /**
+     *  crm启用标识,0停用,1启用
+     */
+    private String crmValidFlag;
+
+    /**
+     * www图标
+     */
+    private String wwwIcon;
+
+    /**
+     * 小程序图标
+     */
+    private String crmIcon;
+
+    /**
+     * 添加时间
+     */
+    private String addTime;
+
+    /**
+     * 排序值
+     */
+    private Integer sortIndex;
+    /**
+     * 二级菜单列表
+     */
+    private List<SmallTypeVo> smallTypeList;
+
+    /**
+     * 是否选中标识
+     */
+    private Boolean isChecked;
+}

+ 107 - 0
src/main/java/com/caimei365/commodity/model/vo/FloorContentVo.java

@@ -0,0 +1,107 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class FloorContentVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    /**
+     * 楼层id
+     */
+    private Integer floorId;
+
+    /**
+     * 分页详情楼层id
+     */
+    private Integer centreId;
+
+    /**
+     * 模板类型
+     */
+    private String templateType;
+
+    /**
+     * 网站广告图1
+     */
+    private String pcAdsImage1;
+
+    /**
+     * 网站广告图2
+     */
+    private String pcAdsImage2;
+
+    /**
+     * 网站广告图3
+     */
+    private String pcAdsImage3;
+
+    /**
+     * 移动端广告图1
+     */
+    private String appletsAdsImage1;
+
+    /**
+     * 移动端广告图2
+     */
+    private String appletsAdsImage2;
+
+    /**
+     * 移动端广告图3
+     */
+    private String appletsAdsImage3;
+
+    /**
+     * 广告跳转链接1
+     */
+    private String adsLink1;
+
+    /**
+     * 广告跳转链接2
+     */
+    private String adsLink2;
+
+    /**
+     * 广告跳转链接3
+     */
+    private String adsLink3;
+    /**
+     * 链接类型 -1未知类型 1二级页面 2项目仪器 3直播页面 4自由页面 5商品详情 6项目仪器详情
+     * 7供应商主页 8专题活动页 9二手市场介绍 10二手商品列表 11二手商品发布 12商品搜索 13信息详情
+     * 14品牌招商介绍页 15维修保养介绍页 16首页 17注册页 18信息中心 19供应商列表
+     */
+    private Integer linkType1;
+    /**
+     * 链接包含的参数
+     */
+    private Map<String, Object> linkParam1;
+
+    /**
+     * 同上
+     */
+    private Integer linkType2;
+    /**
+     * 链接包含的参数
+     */
+    private Map<String, Object> linkParam2;
+
+    /**
+     * 同上
+     */
+    private Integer linkType3;
+    /**
+     * 链接包含的参数
+     */
+    private Map<String, Object> linkParam3;
+}

+ 95 - 0
src/main/java/com/caimei365/commodity/model/vo/FloorImageVo.java

@@ -0,0 +1,95 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class FloorImageVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    /**
+     * 楼层id
+     */
+    private Integer floorId;
+
+    /**
+     * 分页详情楼层id
+     */
+    private Integer centreId;
+
+    /**
+     * 商品id
+     */
+    private Integer productId;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 跳转链接
+     */
+    private String link;
+
+    /**
+     * 图片
+     */
+    private String image;
+
+    /**
+     * 标签
+     */
+    private String label;
+
+    /**
+     * Pc端状态 0不启用 1启用
+     */
+    private String pcStatus;
+
+    /**
+     * 小程序状态 0不启用 1启用
+     */
+    private String appletsStatus;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 创建时间
+     */
+    private Date createDate;
+
+    /**
+     * 商品信息
+     */
+    private ProductItemVo product;
+
+    /**
+     * 区分商品和二级列表,1 商品 2 二级列表
+     */
+    private Integer listType;
+
+    /**
+     * 区分商品和二级列表,1 商品 2 二级列表
+     */
+    private Integer linkType;
+
+    /**
+     * 链接包含的参数
+     */
+    private Map<String, Object> linkParam;
+}

+ 69 - 0
src/main/java/com/caimei365/commodity/model/vo/HotSearchVo.java

@@ -0,0 +1,69 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class HotSearchVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    /**
+     * 页面信息id
+     */
+    private Integer pageId;
+
+    /**
+     * 热搜名称
+     */
+    private String name;
+
+    /**
+     * 跳转链接
+     */
+    private String link;
+
+    /**
+     * 排序值
+     */
+    private Integer sort;
+
+    /**
+     * www端状态 0停用 1启用
+     */
+    private String pcStatus;
+
+    /**
+     * 小程序端状态 0停用 1启用
+     */
+    private String appletsStatus;
+
+    /**
+     * 是否加Hot 0不加 1加
+     */
+    private String isHot;
+
+    /**
+     * 创建时间
+     */
+    private Date creationTime;
+    /**
+     * 链接类型
+     */
+    private Integer linkType;
+    /**
+     * 链接参数
+     */
+    private Map<String, Object> linkParam;
+
+}

+ 50 - 0
src/main/java/com/caimei365/commodity/model/vo/PageFloorVo.java

@@ -0,0 +1,50 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 页面楼层
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class PageFloorVo implements Serializable {
+    private Integer id;
+    private Integer type;
+    private String title;
+    private String detail;
+    private String link;
+    /**
+     * 楼层相关商品图片
+     */
+    private List<FloorImageVo> floorImageList;
+    private List<PageFloorVo> subFloors;
+    private List<ImageLinkVo> floorData;
+    /**
+     * 链接类型 -1未知类型 1二级页面 2项目仪器 3直播页面 4自由页面 5商品详情 6项目仪器详情
+     * 7供应商主页 8专题活动页 9二手市场介绍 10二手商品列表 11二手商品发布 12商品搜索 13信息详情
+     * 14品牌招商介绍页 15维修保养介绍页 16首页 17注册页 18信息中心 19供应商列表
+     */
+    private Integer linkType;
+    /**
+     * 链接包含的参数
+     */
+    private Map<String, Object> linkParam;
+
+    /**
+     * 楼层内容模板
+     */
+    private FloorContentVo floorContent;
+
+    /**
+     * 前端pc控制查看更多
+     */
+    private Boolean isPageMore = false;
+
+    private static final long serialVersionUID = 1L;
+}

+ 6 - 6
src/main/java/com/caimei365/commodity/model/vo/PageVo.java → src/main/java/com/caimei365/commodity/model/vo/PaginationVo.java

@@ -13,7 +13,7 @@ import java.util.List;
  * @date : 2021/4/7
  * @date : 2021/4/7
  */
  */
 @Data
 @Data
-public class PageVo<T> implements Serializable {
+public class PaginationVo<T> implements Serializable {
     /** 当前页码 */
     /** 当前页码 */
     @Builder.Default
     @Builder.Default
     private int pageNum = 1;
     private int pageNum = 1;
@@ -31,7 +31,7 @@ public class PageVo<T> implements Serializable {
     /** 查询结果 */
     /** 查询结果 */
     List<T> results;
     List<T> results;
 
 
-    public PageVo(List<T> list) {
+    public PaginationVo(List<T> list) {
         if (list instanceof com.github.pagehelper.Page) {
         if (list instanceof com.github.pagehelper.Page) {
             com.github.pagehelper.Page<T> page = (com.github.pagehelper.Page<T>) list;
             com.github.pagehelper.Page<T> page = (com.github.pagehelper.Page<T>) list;
             this.pageNum = page.getPageNum();
             this.pageNum = page.getPageNum();
@@ -48,7 +48,7 @@ public class PageVo<T> implements Serializable {
         }
         }
     }
     }
 
 
-    public PageVo(int pageNum, int pageSize, int totalRecord, List<T> results) {
+    public PaginationVo(int pageNum, int pageSize, int totalRecord, List<T> results) {
         super();
         super();
         this.pageNum = pageNum;
         this.pageNum = pageNum;
         this.pageSize = pageSize;
         this.pageSize = pageSize;
@@ -67,8 +67,8 @@ public class PageVo<T> implements Serializable {
         }
         }
     }
     }
 
 
-    public PageVo(int pageNum, int maxSize, int totalRecord, int totalPage,
-                  List<T> results) {
+    public PaginationVo(int pageNum, int maxSize, int totalRecord, int totalPage,
+                        List<T> results) {
         super();
         super();
         this.pageNum = pageNum;
         this.pageNum = pageNum;
         this.pageSize = maxSize;
         this.pageSize = maxSize;
@@ -87,7 +87,7 @@ public class PageVo<T> implements Serializable {
         }
         }
     }
     }
 
 
-    public PageVo() {super();}
+    public PaginationVo() {super();}
 
 
     public void setHasPreviousAndNext() {
     public void setHasPreviousAndNext() {
         if (this.pageNum < 2) {
         if (this.pageNum < 2) {

+ 8 - 2
src/main/java/com/caimei365/commodity/model/vo/CartItemVo.java → src/main/java/com/caimei365/commodity/model/vo/ProductItemVo.java

@@ -13,16 +13,22 @@ import java.util.List;
  * @date : 2021/4/9
  * @date : 2021/4/9
  */
  */
 @Data
 @Data
-public class CartItemVo implements Serializable {
+public class ProductItemVo implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
-
     private Integer id;
     private Integer id;
+    /** 商品Id */
     private Integer productId;
     private Integer productId;
+    /** 供应商Id */
     private Integer supplierId;
     private Integer supplierId;
+    /** 商品名称 */
     private String name;
     private String name;
+    /** 商品图片 */
     private String image;
     private String image;
+    /** 商品价格 */
     private Double price;
     private Double price;
+    /** 商品原价 */
     private Double originalPrice;
     private Double originalPrice;
+    /** 商品单位 */
     private String unit;
     private String unit;
     /**
     /**
      * 是否是赠品 2是,其他否
      * 是否是赠品 2是,其他否

+ 2 - 2
src/main/java/com/caimei365/commodity/model/vo/PromotionsVo.java

@@ -70,9 +70,9 @@ public class PromotionsVo implements Serializable {
     /**
     /**
      * 该优惠下商品
      * 该优惠下商品
      */
      */
-    private List<CartItemVo> productList;
+    private List<ProductItemVo> productList;
     /**
     /**
      * 该优惠下赠品品
      * 该优惠下赠品品
      */
      */
-    private List<CartItemVo> giftList;
+    private List<ProductItemVo> giftList;
 }
 }

+ 72 - 0
src/main/java/com/caimei365/commodity/model/vo/SmallTypeVo.java

@@ -0,0 +1,72 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class SmallTypeVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer smallTypeId;
+    /**
+     * 一级分类Id
+     */
+    private Integer bigTypeId;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 小分类编码
+     */
+    private String smallTypeCode;
+
+    /**
+     *  www启用标识,0停用,1启用
+     */
+    private String wwwValidFlag;
+
+    /**
+     *  crm启用标识,0停用,1启用
+     */
+    private String crmValidFlag;
+
+    /**
+     * www图标
+     */
+    private String wwwIcon;
+
+    /**
+     * 小程序图标
+     */
+    private String crmIcon;
+
+    /**
+     * 添加时间
+     */
+    private String addTime;
+
+    /**
+     * 排序值
+     */
+    private Integer sortIndex;
+    /**
+     * 三级菜单列表
+     */
+    private List<TinyTypeVo> tinyTypeList;
+
+    /**
+     * 是否选中标识
+     */
+    private Boolean isChecked;
+}

+ 64 - 0
src/main/java/com/caimei365/commodity/model/vo/TinyTypeVo.java

@@ -0,0 +1,64 @@
+package com.caimei365.commodity.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Data
+public class TinyTypeVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private Integer tinyTypeId;
+    /**
+     * 二级分类Id
+     */
+    private Integer smallTypeId;
+    /**
+     * 名称
+     */
+    private String name;
+    /**
+     * 细分类编码
+     */
+    private String tinyTypeCode;
+    /**
+     *  www启用标识,0停用,1启用
+     */
+    private String wwwValidFlag;
+
+    /**
+     *  crm启用标识,0停用,1启用
+     */
+    private String crmValidFlag;
+
+    /**
+     * www图标
+     */
+    private String wwwIcon;
+
+    /**
+     * 小程序图标
+     */
+    private String crmIcon;
+
+    /**
+     * 添加时间
+     */
+    private String addTime;
+
+    /**
+     * 排序值
+     */
+    private Integer sortIndex;
+    /**
+     * 是否选中标识
+     */
+    private Boolean isChecked;
+
+}

+ 32 - 0
src/main/java/com/caimei365/commodity/service/ProductService.java

@@ -0,0 +1,32 @@
+package com.caimei365.commodity.service;
+
+import com.caimei365.commodity.model.ResponseJson;
+import com.caimei365.commodity.model.vo.BigTypeVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+public interface ProductService {
+    /**
+     * 获取分类列表
+     *
+     * @param typeSort 分类类型:1产品,2仪器
+     * @param source   请求来源:www,crm
+     */
+    ResponseJson<List<BigTypeVo>> getClassify(String typeSort, String source);
+
+    /**
+     * 产品/仪器页面数据
+     *
+     * @param pageId 页面信息id
+     * @param userId 用户id
+     * @param source 来源:1网站,2小程序
+     */
+    ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source);
+}

+ 2 - 2
src/main/java/com/caimei365/commodity/service/PromotionsService.java

@@ -2,7 +2,7 @@ package com.caimei365.commodity.service;
 
 
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
-import com.caimei365.commodity.model.vo.CartItemVo;
+import com.caimei365.commodity.model.vo.ProductItemVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
@@ -40,5 +40,5 @@ public interface PromotionsService {
      *
      *
      * @param promotionsId 促销活动Id
      * @param promotionsId 促销活动Id
      */
      */
-    ResponseJson<List<CartItemVo>> getPromotionGifts(Integer promotionsId);
+    ResponseJson<List<ProductItemVo>> getPromotionGifts(Integer promotionsId);
 }
 }

+ 1 - 1
src/main/java/com/caimei365/commodity/service/impl/PriceServiceImpl.java

@@ -145,7 +145,7 @@ public class PriceServiceImpl implements PriceService {
                 price.setLadderPriceFlag(0);
                 price.setLadderPriceFlag(0);
                 if (promotions.getMode() == 3) {
                 if (promotions.getMode() == 3) {
                     // 获取赠品
                     // 获取赠品
-                    List<CartItemVo> giftList = promotionsMapper.getPromotionGifts(promotions.getId());
+                    List<ProductItemVo> giftList = promotionsMapper.getPromotionGifts(promotions.getId());
                     promotions.setGiftList(giftList);
                     promotions.setGiftList(giftList);
                 }
                 }
                 if (promotions.getType() == 1 && promotions.getMode() == 1 && null != promotions.getTouchPrice()) {
                 if (promotions.getType() == 1 && promotions.getMode() == 1 && null != promotions.getTouchPrice()) {

+ 164 - 0
src/main/java/com/caimei365/commodity/service/impl/ProductServiceImpl.java

@@ -0,0 +1,164 @@
+package com.caimei365.commodity.service.impl;
+
+import com.caimei365.commodity.mapper.ProductMapper;
+import com.caimei365.commodity.model.ResponseJson;
+import com.caimei365.commodity.model.vo.*;
+import com.caimei365.commodity.service.ProductService;
+import com.caimei365.commodity.utils.AppletsLinkUtil;
+import com.caimei365.commodity.utils.ImageUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/4/12
+ */
+@Slf4j
+@Service
+public class ProductServiceImpl implements ProductService {
+    @Value("${caimei.wwwDomain}")
+    private String domain;
+    @Resource
+    private ProductMapper productMapper;
+
+    /**
+     * 获取分类列表
+     *
+     * @param typeSort 分类类型:1产品,2仪器
+     * @param source   请求来源:www,crm
+     */
+    @Override
+    public ResponseJson<List<BigTypeVo>> getClassify(String typeSort, String source) {
+        List<BigTypeVo> bigTypeList = productMapper.getBigTypeList(typeSort,source);
+        bigTypeList.forEach(bigType -> {
+            String caiMeiImage = ImageUtils.getImageURL("caiMeiImage", null, 0, domain);
+            bigType.setWwwIcon(StringUtils.isEmpty(bigType.getWwwIcon())?caiMeiImage:bigType.getWwwIcon());
+            bigType.setCrmIcon(StringUtils.isEmpty(bigType.getCrmIcon())?caiMeiImage:bigType.getCrmIcon());
+            List<SmallTypeVo> smallTypeList = productMapper.getSmallTypeList(bigType.getBigTypeId(), source);
+            if (!CollectionUtils.isEmpty(smallTypeList)) {
+                smallTypeList.forEach(smallType -> {
+                    smallType.setWwwIcon(StringUtils.isEmpty(smallType.getWwwIcon())?caiMeiImage:smallType.getWwwIcon());
+                    smallType.setCrmIcon(StringUtils.isEmpty(smallType.getCrmIcon())?caiMeiImage:smallType.getCrmIcon());
+                    List<TinyTypeVo> tinyTypeList = productMapper.getTinyTypeList(smallType.getSmallTypeId(), source);
+                    if (!CollectionUtils.isEmpty(tinyTypeList)) {
+                        tinyTypeList.forEach(tinyType -> {
+                            tinyType.setWwwIcon(StringUtils.isEmpty(tinyType.getWwwIcon())?caiMeiImage:tinyType.getWwwIcon());
+                            tinyType.setCrmIcon(StringUtils.isEmpty(tinyType.getCrmIcon())?caiMeiImage:tinyType.getCrmIcon());
+                        });
+                        smallType.setTinyTypeList(tinyTypeList);
+                    }
+                });
+                bigType.setSmallTypeList(smallTypeList);
+            }
+        });
+        return ResponseJson.success(bigTypeList);
+    }
+
+    /**
+     * 产品/仪器页面数据
+     *
+     * @param pageId 页面信息id
+     * @param userId 用户id
+     * @param source 来源:1网站,2小程序
+     */
+    @Override
+    public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source) {
+        source = source == null ? 1 : source;
+        Map<String, Object> map = new HashMap<>(3);
+        Integer typeSort = productMapper.getPageTypeSort(pageId);
+        List<HotSearchVo> hotSearchList = productMapper.getHotSearchByPageId(pageId, source);
+        List<PageFloorVo> floorList = productMapper.getFloorByPageId(pageId, source);
+        for (PageFloorVo floor : floorList) {
+            FloorContentVo floorContent = productMapper.getFloorContentById(floor.getId());
+            setFloorLinkType(floorContent);
+            floor.setFloorContent(floorContent);
+            List<FloorImageVo> floorImageList = productMapper.getFloorImageById(floor.getId(), source);
+            setFloorImageProduct(userId, floorImageList);
+            floor.setFloorImageList(floorImageList);
+        }
+        map.put("typeSort", typeSort);
+        map.put("hotSearchList", hotSearchList);
+        map.put("floorList", floorList);
+        return ResponseJson.success(map);
+    }
+
+    /**
+     * 设置跳转参数
+     * @param floorContent FloorContentVo
+     */
+    private void setFloorLinkType(FloorContentVo floorContent) {
+        if (floorContent != null) {
+            if (StringUtils.isNotBlank(floorContent.getAdsLink1())) {
+                Integer linkType1 = AppletsLinkUtil.getLinkType(floorContent.getAdsLink1());
+                floorContent.setLinkType1(linkType1);
+                floorContent.setLinkParam1(AppletsLinkUtil.getLinkParam(linkType1, floorContent.getAdsLink1()));
+            }
+            if (StringUtils.isNotBlank(floorContent.getAdsLink2())) {
+                Integer linkType2 = AppletsLinkUtil.getLinkType(floorContent.getAdsLink2());
+                floorContent.setLinkType2(linkType2);
+                floorContent.setLinkParam2(AppletsLinkUtil.getLinkParam(linkType2, floorContent.getAdsLink2()));
+            }
+            if (StringUtils.isNotBlank(floorContent.getAdsLink3())) {
+                Integer linkType3 = AppletsLinkUtil.getLinkType(floorContent.getAdsLink3());
+                floorContent.setLinkType3(linkType3);
+                floorContent.setLinkParam3(AppletsLinkUtil.getLinkParam(linkType3, floorContent.getAdsLink3()));
+            }
+        }
+    }
+
+    /**
+     * 设置楼层相关图片的商品信息
+     */
+    private void setFloorImageProduct(Integer userId, List<FloorImageVo> floorImageList) {
+        Iterator<FloorImageVo> iterator = floorImageList.iterator();
+        while (iterator.hasNext()) {
+            FloorImageVo image = iterator.next();
+            Integer linkType = AppletsLinkUtil.getLinkType(image.getLink());
+            Map<String, Object> linkParam = AppletsLinkUtil.getLinkParam(linkType, image.getLink());
+            image.setLinkType(linkType);
+            image.setLinkParam(linkParam);
+            if (image.getProductId() != null) {
+//                ProductItemVo product = homePageDao.findProduct(image.getProductId());
+//                if (product != null) {
+//                    image.setName(product.getName());
+//                    image.setImage(ImageUtils.getImageURL("product", product.getMainImage(), 0, domain));
+//                    // 设置价格等级
+//                    product.setPrice1Grade(ProductUtils.getPriceGrade(product.getPrice1()));
+//                    image.setListType(1);
+//                    repeatPurchaseService.setProductPrice(product, userId);
+//                    image.setProduct(product);
+//                    if (userId != null) {
+//                        UserVo user = loginDao.findUser(userId);
+//                        if (user != null) {
+//                            product.setUserIdentity(user.getUserIdentity());
+//                            if (4 == user.getUserIdentity() && "1".equals(product.getVisibility())) {
+//                                iterator.remove();
+//                            }
+//                        } else {
+//                            if ("1".equals(product.getVisibility()) || "2".equals(product.getVisibility())) {
+//                                iterator.remove();
+//                            }
+//                        }
+//                    } else {
+//                        if ("1".equals(product.getVisibility()) || "2".equals(product.getVisibility())) {
+//                            iterator.remove();
+//                        }
+//                    }
+//                }
+            } else {
+                image.setListType(2);
+            }
+        }
+    }
+}

+ 4 - 4
src/main/java/com/caimei365/commodity/service/impl/PromotionsServiceImpl.java

@@ -3,7 +3,7 @@ package com.caimei365.commodity.service.impl;
 import com.caimei365.commodity.mapper.PromotionsMapper;
 import com.caimei365.commodity.mapper.PromotionsMapper;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
-import com.caimei365.commodity.model.vo.CartItemVo;
+import com.caimei365.commodity.model.vo.ProductItemVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.ImageLinkVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.caimei365.commodity.model.vo.PromotionsVo;
 import com.caimei365.commodity.service.PromotionsService;
 import com.caimei365.commodity.service.PromotionsService;
@@ -69,7 +69,7 @@ public class PromotionsServiceImpl implements PromotionsService {
     public ResponseJson<PromotionsVo> getPromotionDetails(Integer promotionsId) {
     public ResponseJson<PromotionsVo> getPromotionDetails(Integer promotionsId) {
         PromotionsVo promotions = promotionsMapper.getPromotionsById(promotionsId);
         PromotionsVo promotions = promotionsMapper.getPromotionsById(promotionsId);
         if (null != promotions) {
         if (null != promotions) {
-            List<CartItemVo> productGifts = promotionsMapper.getPromotionGifts(promotionsId);
+            List<ProductItemVo> productGifts = promotionsMapper.getPromotionGifts(promotionsId);
             productGifts.forEach(p -> {
             productGifts.forEach(p -> {
                 p.setImage(ImageUtils.getImageURL("product", p.getImage(), 0, domain));
                 p.setImage(ImageUtils.getImageURL("product", p.getImage(), 0, domain));
             });
             });
@@ -118,8 +118,8 @@ public class PromotionsServiceImpl implements PromotionsService {
      * @param promotionsId 促销活动Id
      * @param promotionsId 促销活动Id
      */
      */
     @Override
     @Override
-    public ResponseJson<List<CartItemVo>> getPromotionGifts(Integer promotionsId) {
-        List<CartItemVo> list = promotionsMapper.getPromotionGifts(promotionsId);
+    public ResponseJson<List<ProductItemVo>> getPromotionGifts(Integer promotionsId) {
+        List<ProductItemVo> list = promotionsMapper.getPromotionGifts(promotionsId);
         return ResponseJson.success(list);
         return ResponseJson.success(list);
     }
     }
 }
 }

+ 2 - 2
src/main/java/com/caimei365/commodity/service/impl/SearchProductServiceImpl.java

@@ -9,7 +9,7 @@ import com.aliyun.opensearch.sdk.generated.search.SearchParams;
 import com.caimei365.commodity.components.SearchOpenService;
 import com.caimei365.commodity.components.SearchOpenService;
 import com.caimei365.commodity.mapper.SearchMapper;
 import com.caimei365.commodity.mapper.SearchMapper;
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.ResponseJson;
-import com.caimei365.commodity.model.vo.PageVo;
+import com.caimei365.commodity.model.vo.PaginationVo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.service.SearchProductService;
 import com.caimei365.commodity.service.SearchProductService;
 import com.caimei365.commodity.utils.Json2PojoUtil;
 import com.caimei365.commodity.utils.Json2PojoUtil;
@@ -206,7 +206,7 @@ public class SearchProductServiceImpl implements SearchProductService {
             product.setPriceGrade(PriceUtil.getpriceGrade(product.getPrice()));
             product.setPriceGrade(PriceUtil.getpriceGrade(product.getPrice()));
             product.setPrice(0d);
             product.setPrice(0d);
         });
         });
-        PageVo<ProductListVo> pageData = new PageVo<>(productList);
+        PaginationVo<ProductListVo> pageData = new PaginationVo<>(productList);
         int total = pageData.getTotalRecord();
         int total = pageData.getTotalRecord();
         JSONObject pageObj = new JSONObject();
         JSONObject pageObj = new JSONObject();
         pageObj.put("total", total);
         pageObj.put("total", total);

+ 3 - 3
src/main/java/com/caimei365/commodity/service/impl/SearchQueryServiceImpl.java

@@ -427,7 +427,7 @@ public class SearchQueryServiceImpl implements SearchQueryService {
         }
         }
         PageHelper.startPage(num, size);
         PageHelper.startPage(num, size);
         List<ArticleListVo> articleList = searchMapper.queryArticle(keyword, articleId, typeId, labelText);
         List<ArticleListVo> articleList = searchMapper.queryArticle(keyword, articleId, typeId, labelText);
-        PageVo<ArticleListVo> pageData = new PageVo<>(articleList);
+        PaginationVo<ArticleListVo> pageData = new PaginationVo<>(articleList);
         int total = pageData.getTotalRecord();
         int total = pageData.getTotalRecord();
         JSONObject pageObj = new JSONObject();
         JSONObject pageObj = new JSONObject();
         pageObj.put("total", total);
         pageObj.put("total", total);
@@ -547,7 +547,7 @@ public class SearchQueryServiceImpl implements SearchQueryService {
     private ResponseJson<String> queryEquipmentFromDatabase(int num, int size, String keyword) {
     private ResponseJson<String> queryEquipmentFromDatabase(int num, int size, String keyword) {
         PageHelper.startPage(num, size);
         PageHelper.startPage(num, size);
         List<EquipmentListVo> equipmentList = searchMapper.queryEquipment(keyword);
         List<EquipmentListVo> equipmentList = searchMapper.queryEquipment(keyword);
-        PageVo<EquipmentListVo> pageData = new PageVo<>(equipmentList);
+        PaginationVo<EquipmentListVo> pageData = new PaginationVo<>(equipmentList);
         int total = pageData.getTotalRecord();
         int total = pageData.getTotalRecord();
         JSONObject pageObj = new JSONObject();
         JSONObject pageObj = new JSONObject();
         pageObj.put("total", total);
         pageObj.put("total", total);
@@ -642,7 +642,7 @@ public class SearchQueryServiceImpl implements SearchQueryService {
             List<ProductListVo> productList = searchMapper.queryProduct(identity, null, shop.getShopId(), null, null, null, null, null, null);
             List<ProductListVo> productList = searchMapper.queryProduct(identity, null, shop.getShopId(), null, null, null, null, null, null);
             shop.setProducts(productList);
             shop.setProducts(productList);
         });
         });
-        PageVo<ShopListVo> pageData = new PageVo<>(shopList);
+        PaginationVo<ShopListVo> pageData = new PaginationVo<>(shopList);
         int total = pageData.getTotalRecord();
         int total = pageData.getTotalRecord();
         JSONObject pageObj = new JSONObject();
         JSONObject pageObj = new JSONObject();
         pageObj.put("total", total);
         pageObj.put("total", total);

+ 9 - 11
src/main/java/com/caimei365/commodity/utils/MathUtil.java

@@ -327,9 +327,7 @@ public class MathUtil {
 
 
 	}
 	}
 
 
-	public static double getDistance(double lat1, double lng1, double lat2,
-
-	double lng2) {
+	public static double getDistance(double lat1, double lng1, double lat2, double lng2) {
 
 
 		double radLat1 = rad(lat1);
 		double radLat1 = rad(lat1);
 
 
@@ -353,13 +351,13 @@ public class MathUtil {
 
 
 	}
 	}
 
 
-	public static void main(String[] args){
-		double lat1=118.105736;
-		double lng1=24.491558;
-		double lat2=118.110749;
-		double lng2=24.492824;
-		double t=getDistance(lat1,lng1,lat2,lng2);
-		System.out.println(t);
-	}
+//	public static void main(String[] args){
+//		double lat1=118.105736;
+//		double lng1=24.491558;
+//		double lat2=118.110749;
+//		double lng2=24.492824;
+//		double t=getDistance(lat1,lng1,lat2,lng2);
+//		System.out.println(t);
+//	}
 
 
 }
 }

+ 95 - 0
src/main/resources/mapper/ProductMapper.xml

@@ -0,0 +1,95 @@
+<?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.caimei365.commodity.mapper.ProductMapper">
+    <select id="getBigTypeList" resultType="com.caimei365.commodity.model.vo.BigTypeVo">
+        select
+            bigTypeID as bigTypeId, typeSort, `name`, bigTypeCode, wwwValidFlag, crmValidFlag, wwwIcon, crmIcon, addTime, sortIndex
+        from bigtype
+        where
+            typeSort = #{typeSort}
+            <if test="source == 'www'.toString()">
+                and wwwValidFlag = '1'
+            </if>
+            <if test="source == 'crm'.toString()">
+                and crmValidFlag = '1'
+            </if>
+        order by ifnull(sortIndex,10000) , addTime DESC
+    </select>
+    <select id="getSmallTypeList" resultType="com.caimei365.commodity.model.vo.SmallTypeVo">
+        select
+            smallTypeID as smallTypeId, bigTypeID as bigTypeId, `name`, smallTypeCode, wwwValidFlag, crmValidFlag, wwwIcon, crmIcon, addTime, sortIndex
+        from smalltype
+        where bigTypeID = #{bigTypeId}
+        <if test="source == 'www'.toString()">
+            and wwwValidFlag = '1'
+        </if>
+        <if test="source == 'crm'.toString()">
+            and crmValidFlag = '1'
+        </if>
+        order by ifnull(sortIndex,10000), addTime DESC
+    </select>
+    <select id="getTinyTypeList" resultType="com.caimei365.commodity.model.vo.TinyTypeVo">
+        select
+            tinyTypeID as tinyTypeId, smallTypeID as smallTypeId, `name`, tinyTypeCode, wwwValidFlag, crmValidFlag, wwwIcon, crmIcon, addTime, sortIndex
+        from tinytype
+        where smallTypeID = #{smallTypeId}
+        <if test="source == 'www'.toString()">
+            and wwwValidFlag = '1'
+        </if>
+        <if test="source == 'crm'.toString()">
+            and crmValidFlag = '1'
+        </if>
+        order by ifnull(sortIndex,10000), addTime DESC
+    </select>
+    <select id="getPageTypeSort" resultType="java.lang.Integer">
+        select typeSort from cm_page
+        where id = #{pageId} and enabledStatus = '1'
+    </select>
+    <select id="getHotSearchByPageId" resultType="com.caimei365.commodity.model.vo.HotSearchVo">
+        select
+            id, pageId, name, isHot, link, linkParam, linkType, pcStatus, sort, appletsStatus, creationTime,
+        from
+          cm_page_hot_search
+        where
+          pageId = #{pageId}
+        <if test="source == 1">
+            and pcStatus = 1
+        </if>
+        <if test="source == 2">
+            and appletsStatus = 1
+        </if>
+        order by sort desc, creationTime desc
+    </select>
+    <select id="getFloorByPageId" resultType="com.caimei365.commodity.model.vo.PageFloorVo">
+        select id, title ,description as detail
+        from cm_page_centre
+        where pageId = #{pageId}
+        <if test="source == 1">
+            and enabledStatus = 1
+        </if>
+        <if test="source == 2">
+            and crmEnabledStatus = 1
+        </if>
+        order by -sort desc, createDate desc
+    </select>
+    <select id="getFloorContentById" resultType="com.caimei365.commodity.model.vo.FloorContentVo">
+        select
+         id, floorId, centreId, templateType, pcAdsImage1, pcAdsImage2, pcAdsImage3,
+         appletsAdsImage1, appletsAdsImage2, appletsAdsImage3, adsLink1, adsLink2, adsLink3
+         from new_page_floor_content where centreId = #{id}
+    </select>
+    <select id="getFloorImageById" resultType="com.caimei365.commodity.model.vo.FloorImageVo">
+        select
+            id, floorId, centreId, productId, name, link, image, label, pcStatus, appletsStatus, sort, createDate
+        from new_page_floor_image
+        where centreId = #{id}
+        <if test="source == 1">
+            and pcStatus = 1
+        </if>
+        <if test="source == 2">
+            and appletsStatus = 1
+        </if>
+        order by sort desc, createDate desc
+    </select>
+
+</mapper>

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

@@ -43,7 +43,7 @@
         order by pr.type desc
         order by pr.type desc
         limit 1
         limit 1
     </select>
     </select>
-    <select id="getPromotionGifts" resultType="com.caimei365.commodity.model.vo.CartItemVo">
+    <select id="getPromotionGifts" resultType="com.caimei365.commodity.model.vo.ProductItemVo">
 		select
 		select
 			cpg.id as id,
 			cpg.id as id,
 			p.productID as productId,
 			p.productID as productId,