Prechádzať zdrojové kódy

分类列表,产品/仪器模块商品

Aslee 4 rokov pred
rodič
commit
89445f7d67

+ 23 - 8
base-module/src/main/java/com/caimei/module/base/entity/po/Bigtype.java

@@ -15,6 +15,11 @@ public class Bigtype implements Serializable {
      */
     private Integer bigTypeID;
 
+    /**
+     * 分类类型,1产品,2仪器
+     */
+    private String typeSort;
+
     /**
      * 名称
      */
@@ -26,24 +31,34 @@ public class Bigtype implements Serializable {
     private String bigTypeCode;
 
     /**
-     * 审核标志
+     *  www启用标识,0停用,1启用
      */
-    private String validFlag;
+    private String wwwValidFlag;
 
     /**
-     * 排序值
+     *  crm启用标识,0停用,1启用
      */
-    private Integer sortIndex;
+    private String crmValidFlag;
 
     /**
-     * seo 搜索 截止当前没有使用
+     * www图标
      */
-    private String seo;
+    private String wwwIcon;
 
     /**
-     * 是否在首页显示--首页改版后暂时无用--
+     * 小程序图标
      */
-    private Integer displayOnHomePageFlag;
+    private String crmIcon;
+
+    /**
+     * 添加时间
+     */
+    private String addTime;
+
+    /**
+     * 排序值
+     */
+    private Integer sortIndex;
 
     private static final long serialVersionUID = 1L;
 }

+ 20 - 7
base-module/src/main/java/com/caimei/module/base/entity/po/Smalltype.java

@@ -28,21 +28,34 @@ public class Smalltype implements Serializable {
     private String smallTypeCode;
 
     /**
-     * 是否可用:1可用,空或0不可
+     *  www启用标识,0停用,1启
      */
-    private String validFlag;
+    private String wwwValidFlag;
 
     /**
-     * 排序值
+     *  crm启用标识,0停用,1启用
      */
-    private Integer sortIndex;
+    private String crmValidFlag;
+
+    /**
+     * www图标
+     */
+    private String wwwIcon;
+
+    /**
+     * 小程序图标
+     */
+    private String crmIcon;
 
-    private String seo;
+    /**
+     * 添加时间
+     */
+    private String addTime;
 
     /**
-     * 是否在首页显示--首页改版后暂时无用--
+     * 排序值
      */
-    private Integer displayOnHomePageFlag;
+    private Integer sortIndex;
 
     private static final long serialVersionUID = 1L;
 }

+ 18 - 5
base-module/src/main/java/com/caimei/module/base/entity/po/Tinytype.java

@@ -28,16 +28,29 @@ public class Tinytype implements Serializable {
     private String tinyTypeCode;
 
     /**
-     * 细分类图标 CRM
+     *  www启用标识,0停用,1启用
      */
-    private String icon;
+    private String wwwValidFlag;
 
     /**
-     * 是否可用:1可用,空或0不可
+     *  crm启用标识,0停用,1启
      */
-    private String validFlag;
+    private String crmValidFlag;
 
-    private String seo;
+    /**
+     * www图标
+     */
+    private String wwwIcon;
+
+    /**
+     * 小程序图标
+     */
+    private String crmIcon;
+
+    /**
+     * 添加时间
+     */
+    private String addTime;
 
     /**
      * 排序值

+ 4 - 4
product/src/main/java/com/caimei/module/product/dao/ProductModuleDao.java

@@ -17,7 +17,7 @@ import java.util.List;
  */
 @Mapper
 public interface ProductModuleDao {
-    List<ProductVo> getProductsByTinyType(@Param("tinyTypeID") Integer tinyTypeID, @Param("sortType") Integer sortType);
+    List<ProductVo> getProductsByTypeId(@Param("bigTypeID") Integer bigTypeID, @Param("smallTypeID") Integer smallTypeID, @Param("tinyTypeID") Integer tinyTypeID, @Param("sortType") Integer sortType);
 
     List<SearchHistoryVo> getSearchHistoryList(Integer userId);
 
@@ -45,11 +45,11 @@ public interface ProductModuleDao {
 
     ProductDetailVo findProductDetailById(Integer productID);
 
-    List<BigtypeVo> getBigType();
+    List<BigtypeVo> getBigType(@Param("typeSort") String typeSort, @Param("source") String source);
 
-    List<SmalltypeVo> getSmallType(Integer bigTypeID);
+    List<SmalltypeVo> getSmallType(@Param("bigTypeID") Integer bigTypeID, @Param("source") String source);
 
-    List<TinytypeVo> getTinytype(Integer smallTypeID);
+    List<TinytypeVo> getTinytype(@Param("smallTypeID") Integer smallTypeID, @Param("source") String source);
 
     LadderPriceVo findLowerLadderPrice(Integer productID);
 

+ 3 - 3
product/src/main/java/com/caimei/module/product/service/ProductModuleService.java

@@ -16,12 +16,12 @@ public interface ProductModuleService {
     /**
      * 商品分类
      */
-    List<BigtypeVo> getClassify(String domain);
+    List<BigtypeVo> getClassify(String domain, String typeSort, String source);
 
     /**
-     * 根据三级分类获取商品
+     * 根据一级/二级/三级分类获取商品
      */
-    PageVo<ProductVo> getProductsByTinyType(Integer tinyTypeID, Integer sortType, Integer pageNum, Integer pageSize);
+    PageVo<ProductVo> getProductsByTypeId(Integer bigTypeID, Integer smallTypeID, Integer tinyTypeID, Integer sortType, Integer pageNum, Integer pageSize);
 
     /**
      * 根据关键词获取商品

+ 16 - 10
product/src/main/java/com/caimei/module/product/service/impl/ProductModuleServiceImpl.java

@@ -30,19 +30,25 @@ public class ProductModuleServiceImpl implements ProductModuleService {
 
     /**
      * 获取分类列表
+     * typeSort 分类类型:1产品,2仪器
+     * source 请求来源:www,crm
      */
     @Override
-    public List<BigtypeVo> getClassify(String domain) {
-        List<BigtypeVo> bigTypeList = productModuleDao.getBigType();
+    public List<BigtypeVo> getClassify(String domain, String typeSort, String source) {
+        List<BigtypeVo> bigTypeList = productModuleDao.getBigType(typeSort,source);
         for (BigtypeVo bigType : bigTypeList) {
-            List<SmalltypeVo> SmalltypeList = productModuleDao.getSmallType(bigType.getBigTypeID());
+            String caiMeiImage = ProductUtils.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 = productModuleDao.getSmallType(bigType.getBigTypeID(), source);
             for (SmalltypeVo smalltype : SmalltypeList) {
-                List<TinytypeVo> tinytypeList = productModuleDao.getTinytype(smalltype.getSmallTypeID());
+                smalltype.setWwwIcon(StringUtils.isEmpty(smalltype.getWwwIcon())?caiMeiImage:smalltype.getWwwIcon());
+                smalltype.setCrmIcon(StringUtils.isEmpty(smalltype.getCrmIcon())?caiMeiImage:smalltype.getCrmIcon());
+                List<TinytypeVo> tinytypeList = productModuleDao.getTinytype(smalltype.getSmallTypeID(), source);
                 if (!CollectionUtils.isEmpty(tinytypeList)) {
                     for (TinytypeVo tinyType : tinytypeList) {
-                        if (StringUtils.isEmpty(tinyType.getIcon())) {
-                            tinyType.setIcon(ProductUtils.getImageURL("caiMeiImage", null, 0, domain));
-                        }
+                        tinyType.setWwwIcon(StringUtils.isEmpty(tinyType.getWwwIcon())?caiMeiImage:tinyType.getWwwIcon());
+                        tinyType.setCrmIcon(StringUtils.isEmpty(tinyType.getCrmIcon())?caiMeiImage:tinyType.getCrmIcon());
                     }
                     smalltype.setTinytypeList(tinytypeList);
                 }
@@ -53,7 +59,7 @@ public class ProductModuleServiceImpl implements ProductModuleService {
     }
 
     /**
-     * 根据三级分类获取商品
+     * 根据一级/二级/三级分类获取商品
      *
      * @param tinyTypeID
      * @param sortType
@@ -61,13 +67,13 @@ public class ProductModuleServiceImpl implements ProductModuleService {
      * @param pageSize
      */
     @Override
-    public PageVo<ProductVo> getProductsByTinyType(Integer tinyTypeID, Integer sortType, Integer pageNum, Integer pageSize) {
+    public PageVo<ProductVo> getProductsByTypeId(Integer bigTypeID, Integer smallTypeID, Integer tinyTypeID, Integer sortType, Integer pageNum, Integer pageSize) {
         // sortType (3:价格升序, 4:价格降序, 7:人气, 8:销量)
         pageNum = null != pageNum ? pageNum : 1;
         pageSize = null != pageSize ? pageSize : 10;
         PageHelper.startPage(pageNum, pageSize);
         sortType = null != sortType ? sortType : 8;
-        List<ProductVo> productList = productModuleDao.getProductsByTinyType(tinyTypeID, sortType);
+        List<ProductVo> productList = productModuleDao.getProductsByTypeId(bigTypeID, smallTypeID, tinyTypeID, sortType);
         return new PageVo<>(productList);
     }
 

+ 35 - 8
product/src/main/resources/com-caimei-module-product/ProductModuleMapper.xml

@@ -2,13 +2,13 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.module.product.dao.ProductModuleDao">
     <sql id="BigType_Column_List">
-        bigTypeID, `name`, bigTypeCode, validFlag, sortIndex, seo, displayOnHomePageFlag
+        bigTypeID, typeSort, `name`, bigTypeCode, wwwValidFlag, crmValidFlag, wwwIcon, crmIcon, addTime, sortIndex
     </sql>
     <sql id="SmallType_Column_List">
-        smallTypeID, bigTypeID, `name`, smallTypeCode, validFlag, sortIndex, seo, displayOnHomePageFlag
+        smallTypeID, bigTypeID, `name`, smallTypeCode, wwwValidFlag, crmValidFlag, wwwIcon, crmIcon, addTime, sortIndex
     </sql>
     <sql id="Tinytype_Column_List">
-        tinyTypeID, smallTypeID, `name`, tinyTypeCode, icon, validFlag, seo, sortIndex
+        tinyTypeID, smallTypeID, `name`, tinyTypeCode, wwwValidFlag, crmValidFlag, wwwIcon, crmIcon, addTime, sortIndex
     </sql>
     <sql id="Product_Column_List">
         productID, brandID, tinyTypeID,productCategory, preferredFlag, selfTypeID, shopID, `name`, aliasName, searchKey, productRemarks,
@@ -61,29 +61,56 @@
         select
         <include refid="BigType_Column_List" />
         from bigtype
-        where validFlag = '1'
+        where
+            typeSort = #{typeSort}
+            <if test="source == 'www'.toString()">
+                and wwwValidFlag = '1'
+            </if>
+            <if test="source == 'crm'.toString()">
+                and crmValidFlag = '1'
+            </if>
     </select>
     <select id="getSmallType" resultType="com.caimei.module.base.entity.vo.SmalltypeVo">
         select
         <include refid="SmallType_Column_List" />
         from smalltype
         where bigTypeID = #{bigTypeID,jdbcType=INTEGER}
-        and validFlag = '1'
+        <if test="source == 'www'.toString()">
+            and wwwValidFlag = '1'
+        </if>
+        <if test="source == 'crm'.toString()">
+            and crmValidFlag = '1'
+        </if>
     </select>
     <select id="getTinytype" resultType="com.caimei.module.base.entity.vo.TinytypeVo">
         select
         <include refid="Tinytype_Column_List" />
         from tinytype
         where smallTypeID = #{smallTypeID,jdbcType=INTEGER}
-        and validFlag = '1'
+        <if test="source == 'www'.toString()">
+            and wwwValidFlag = '1'
+        </if>
+        <if test="source == 'crm'.toString()">
+            and crmValidFlag = '1'
+        </if>
     </select>
     <!-- sortType (3:价格升序, 4:价格降序, 7:人气, 8:销量) -->
-    <select id="getProductsByTinyType" resultType="com.caimei.module.base.entity.vo.ProductVo" parameterType="java.lang.Integer">
+    <select id="getProductsByTypeId" resultType="com.caimei.module.base.entity.vo.ProductVo" parameterType="java.lang.Integer">
         select
         <include refid="Product_Column_List" />
         from product
         where validFlag = 2
-        and tinyTypeID = #{tinyTypeID,jdbcType=INTEGER}
+        <choose>
+            <when test="tinyTypeID != null and tinyTypeID != ''">
+                and tinyTypeID = #{tinyTypeID,jdbcType=INTEGER}
+            </when>
+            <when test="smallTypeID != null and smallTypeID != ''">
+                and smallTypeID = #{smallTypeID,jdbcType=INTEGER}
+            </when>
+            <when test="bigTypeID != null and bigTypeID != ''">
+                and bigTypeID = #{bigTypeID,jdbcType=INTEGER}
+            </when>
+        </choose>
         <choose>
             <when test="sortType == 3">
                 order by price1 asc