Procházet zdrojové kódy

Merge remote-tracking branch 'origin/developer' into developerD

huangzhiguo před 1 rokem
rodič
revize
f38677de8a

+ 1 - 1
src/main/java/com/caimei365/commodity/components/SearchOpenService.java

@@ -199,7 +199,7 @@ public class SearchOpenService {
         if (StringUtils.isNotEmpty(sortField)) {
             // 创建sort对象,并设置二维排序
             Sort sorter = new Sort();
-            Order order = (1 == sortType) ? Order.DECREASE : Order.INCREASE;
+            Order order = (null == sortType||1 == sortType) ? Order.DECREASE : Order.INCREASE;
             // 设置排序字段
             sorter.addToSortFields(new SortField(sortField, order));
             //添加Sort对象参数

+ 44 - 0
src/main/java/com/caimei365/commodity/controller/CmPraiseStatisticsController.java

@@ -0,0 +1,44 @@
+package com.caimei365.commodity.controller;
+
+import com.caimei365.commodity.model.ResponseJson;
+import com.caimei365.commodity.model.po.CmPraiseStatistics;
+import com.caimei365.commodity.service.CmPraiseStatisticsService;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 浏览量Controller
+ *
+ * @author Kaick
+ * @date 2023-08-15
+ */
+@RestController
+@RequestMapping("/commodity/statistics")
+public class CmPraiseStatisticsController
+{
+    @Autowired
+    private CmPraiseStatisticsService cmPraiseStatisticsService;
+
+    /**
+     * 通过对象查询浏览量列表
+     */
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = false, name = "type", value = "分类: 1 (cm_product_archive_content)美业资料"),
+            @ApiImplicitParam(required = false, name = "authorId", value = "归属者Id(type字段表Id)")
+    })
+    @GetMapping("/addPv")
+    public ResponseJson addPvCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics) {
+        if (null == cmPraiseStatistics.getType() ||  null==cmPraiseStatistics.getAuthorId()) {
+            return ResponseJson.error("参数错误", null);
+        }
+        cmPraiseStatisticsService.addPvCmPraiseStatistics(new CmPraiseStatistics()
+                .setType(cmPraiseStatistics.getType())
+                .setAuthorId(cmPraiseStatistics.getAuthorId()));
+        return ResponseJson.success();
+    }
+
+}

+ 5 - 3
src/main/java/com/caimei365/commodity/controller/SearchQueryApi.java

@@ -184,14 +184,16 @@ public class SearchQueryApi {
     @ApiImplicitParams({
         @ApiImplicitParam(required = false, name = "id", value = "分类id"),
         @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
-        @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
+        @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量"),
+        @ApiImplicitParam(required = false, name = "sortType", value = "列表排序:1最新时间,2最早时间")
     })
     @IpSave(saveName = "根据分类搜索文章",saveParams = true)
     @GetMapping("/article/type")
     public ResponseJson<String> queryArticleByType(Integer id,
                                         @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                        @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
-        return searchQueryService.queryArticleByType(id, pageNum, pageSize);
+                                        @RequestParam(value = "pageSize", defaultValue = "20") int pageSize,
+                                        @RequestParam(value = "sortType", required = false) Integer sortType) {
+        return searchQueryService.queryArticleByType(id, pageNum, pageSize,sortType);
     }
 
     /**

+ 113 - 0
src/main/java/com/caimei365/commodity/mapper/CmPraiseStatisticsMapper.java

@@ -0,0 +1,113 @@
+package com.caimei365.commodity.mapper;
+
+import com.caimei365.commodity.model.po.CmPraiseStatistics;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 浏览量Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-08-15
+ */
+@Mapper
+public interface CmPraiseStatisticsMapper
+{
+    /**
+     * 通过对象查询浏览量列表
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 浏览量集合
+     */
+    public List<CmPraiseStatistics> getCmPraiseStatisticsList(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 通过Id查询浏览量对象
+     *
+     * @param id 浏览量主键
+     * @return 浏览量
+     */
+    public CmPraiseStatistics getCmPraiseStatisticsById(String id);
+
+    /**
+     * 通过对象查询浏览量对象
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 浏览量
+     */
+    public CmPraiseStatistics getByCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 通过对象查询浏览量Id
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return String
+     */
+    public String getById(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 通过对象查询浏览量Ids
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return List<String>
+     */
+    public List<String> getByIds(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 通过对象查询浏览量记录总数
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 浏览量Integer
+     */
+    public int getCmPraiseStatisticsCount(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 新增浏览量
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 结果
+     */
+    public int addCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 修改浏览量
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 结果
+     */
+    public int updateCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 删除浏览量
+     *
+     * @param id 浏览量主键
+     * @return 结果
+     */
+    public int delCmPraiseStatisticsById(String id);
+
+    /**
+     * 批量删除浏览量
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics);
+
+    /**
+     * 批量删除浏览量
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmPraiseStatisticsByIds(@Param("ids") String[] ids);
+
+    /**
+     * 修改批量删除浏览量
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int updateDelCmPraiseStatisticsByIds(@Param("ids") String[] ids,@Param("delFlag") Integer delFlag);
+}

+ 1 - 1
src/main/java/com/caimei365/commodity/mapper/SearchMapper.java

@@ -186,7 +186,7 @@ public interface SearchMapper {
      * @param keyword 关键词
      * @return list
      */
-    List<ArticleListVo> queryArticleByProDate(@Param("keyword") String keyword, @Param("articleId") Integer articleId, @Param("typeId") Integer typeId, @Param("labelText") String labelText);
+    List<ArticleListVo> queryArticleByProDate(@Param("keyword") String keyword, @Param("articleId") Integer articleId, @Param("typeId") Integer typeId, @Param("labelText") String labelText,@Param("sortType")Integer sortType);
 
     /**
      * 根据用户ID查找历史记录

+ 42 - 0
src/main/java/com/caimei365/commodity/model/po/CmPraiseStatistics.java

@@ -0,0 +1,42 @@
+package com.caimei365.commodity.model.po;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+import java.io.Serializable;
+
+/**
+ * 浏览量对象 cm_praise_statistics
+ *
+ * @author Kaick
+ * @date 2023-08-15
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmPraiseStatistics")
+public class CmPraiseStatistics implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /**  */
+    private String id;
+
+    /** 分类: 1 (cm_product_archive_content)美业资料 */
+    private String type;
+
+    /** 归属者Id(type字段表Id) */
+    private String authorId;
+
+    /** 点赞数量 */
+    private Integer num;
+
+    /** 阅读总量 */
+    private Integer pv;
+
+    /** 删除标记 0 否,其余是 */
+    private Integer delFlag;
+
+}
+
+

+ 4 - 0
src/main/java/com/caimei365/commodity/model/vo/ArchiveContentVo.java

@@ -45,6 +45,10 @@ public class ArchiveContentVo implements Serializable {
      * 资料标题
      */
     private String title;
+    /**
+     * 内容
+     */
+    private String content;
     /**
      * 添加时间
      */

+ 22 - 0
src/main/java/com/caimei365/commodity/service/CmPraiseStatisticsService.java

@@ -0,0 +1,22 @@
+package com.caimei365.commodity.service;
+
+import com.caimei365.commodity.model.po.CmPraiseStatistics;
+
+/**
+ * 浏览量Service接口
+ *
+ * @author Kaick
+ * @date 2023-08-15
+ */
+public interface CmPraiseStatisticsService
+{
+
+    /**
+     * 修改浏览量
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 结果
+     */
+    public int addPvCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics);
+
+}

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

@@ -92,7 +92,7 @@ public interface SearchQueryService {
      * @param pageSize  每页数量
      * @return JsonStr(list)
      */
-    ResponseJson<String> queryArticleByType(Integer id, int pageNum, int pageSize);
+    ResponseJson<String> queryArticleByType(Integer id, int pageNum, int pageSize,Integer sortType);
 
     /**
      * 根据标签搜索文章

+ 39 - 0
src/main/java/com/caimei365/commodity/service/impl/CmPraiseStatisticsServiceImpl.java

@@ -0,0 +1,39 @@
+package com.caimei365.commodity.service.impl;
+
+import com.caimei365.commodity.mapper.CmPraiseStatisticsMapper;
+import com.caimei365.commodity.model.po.CmPraiseStatistics;
+import com.caimei365.commodity.service.CmPraiseStatisticsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 浏览量Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-08-15
+ */
+@Service
+public class CmPraiseStatisticsServiceImpl implements CmPraiseStatisticsService {
+    @Autowired
+    private CmPraiseStatisticsMapper cmPraiseStatisticsMapper;
+
+    /**
+     * 修改浏览量
+     *
+     * @param cmPraiseStatistics 浏览量
+     * @return 结果
+     */
+    @Override
+    public int addPvCmPraiseStatistics(CmPraiseStatistics cmPraiseStatistics) {
+        CmPraiseStatistics byCmPraiseStatistics = cmPraiseStatisticsMapper.getByCmPraiseStatistics(cmPraiseStatistics);
+        if (null != byCmPraiseStatistics) {
+            byCmPraiseStatistics.setPv(byCmPraiseStatistics.getPv() + 1);
+            return cmPraiseStatisticsMapper.updateCmPraiseStatistics(byCmPraiseStatistics);
+        } else {
+            cmPraiseStatistics.setPv(1);
+            return cmPraiseStatisticsMapper.addCmPraiseStatistics(cmPraiseStatistics);
+        }
+    }
+
+
+}

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

@@ -357,7 +357,7 @@ public class SearchQueryServiceImpl implements SearchQueryService {
                 return queryArticleFromDatabase(pageNum, pageSize, keyword, null, null, null);
             } else {
                 //根据时间排序
-                return queryArticleFromDatabaseByProDate(pageNum, pageSize, keyword, null, null, null);
+                return queryArticleFromDatabaseByProDate(pageNum, pageSize, keyword, null, null, null,1);
             }
 
         }
@@ -392,16 +392,23 @@ public class SearchQueryServiceImpl implements SearchQueryService {
      * @return JsonStr(list)
      */
     @Override
-    public ResponseJson<String> queryArticleByType(Integer id, int pageNum, int pageSize) {
+    public ResponseJson<String> queryArticleByType(Integer id, int pageNum, int pageSize,Integer sortType) {
         String queryStr = "a_type:'" + id + "'";
         ArrayList<String> fetchFields = Lists.newArrayList("id", "a_id", "a_title", "a_image", "a_publisher", "a_publish_date", "a_intro", "a_pv", "a_type_id", "a_type_text", "a_label_ids", "a_label_text");
         // 阿里云搜索
-        ResponseJson<String> result = scrollArticleForParams(queryStr, fetchFields, pageNum, pageSize, "a_id", 1);
+        String sort = null == sortType ?"a_id": "a_publish_date" ;
+        ResponseJson<String> result = scrollArticleForParams(queryStr, fetchFields, pageNum, pageSize, sort,  sortType);
         if (0 == result.getCode()) {
             return result;
         } else {
-            // 阿里云搜索失败,再次从数据库搜索
-            return queryArticleFromDatabase(pageNum, pageSize, null, null, id, null);
+            if (sortType == null) {
+                //综合排序
+                // 阿里云搜索失败,再次从数据库搜索
+                return queryArticleFromDatabase(pageNum, pageSize, null, null, id, null);
+            } else {
+                //根据时间排序
+                return queryArticleFromDatabaseByProDate(pageNum, pageSize, null, null, id, null,sortType);
+            }
         }
     }
 
@@ -485,13 +492,13 @@ public class SearchQueryServiceImpl implements SearchQueryService {
      * @param num       页码
      * @param size      每页数量
      */
-    private ResponseJson<String> queryArticleFromDatabaseByProDate(int num, int size, String keyword, Integer articleId, Integer typeId, Integer labelId) {
+    private ResponseJson<String> queryArticleFromDatabaseByProDate(int num, int size, String keyword, Integer articleId, Integer typeId, Integer labelId,Integer sortType) {
         String labelText = null;
         if (null != labelId) {
             labelText = searchMapper.findLabelNameById(labelId);
         }
         PageHelper.startPage(num, size);
-        List<ArticleListVo> articleList = searchMapper.queryArticleByProDate(keyword, articleId, typeId, labelText);
+        List<ArticleListVo> articleList = searchMapper.queryArticleByProDate(keyword, articleId, typeId, labelText,sortType);
         articleList.forEach(article -> {
             String imagePath = ImageUtils.getImageURL("", article.getImage(), 0, domain);
             article.setImage(imagePath);

+ 312 - 0
src/main/resources/mapper/CmPraiseStatisticsMapper.xml

@@ -0,0 +1,312 @@
+<?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.CmPraiseStatisticsMapper">
+
+    <resultMap type="com.caimei365.commodity.model.po.CmPraiseStatistics" id="CmPraiseStatisticsResult">
+        <result property="id"    column="id"    />
+        <result property="type"    column="type"    />
+        <result property="authorId"    column="authorId"    />
+        <result property="num"    column="num"    />
+        <result property="pv"    column="pv"    />
+        <result property="delFlag"    column="delFlag"    />
+    </resultMap>
+
+    <sql id="selectCmPraiseStatisticsVo">
+        select
+            cm_praise_statistics.id,
+            cm_praise_statistics.type,
+            cm_praise_statistics.authorId,
+            cm_praise_statistics.num,
+            cm_praise_statistics.pv,
+            cm_praise_statistics.delFlag
+    </sql>
+
+    <select id="getByCmPraiseStatistics" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics" resultMap="CmPraiseStatisticsResult">
+        <include refid="selectCmPraiseStatisticsVo"/>
+        from cm_praise_statistics AS cm_praise_statistics
+        <where>  cm_praise_statistics.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_praise_statistics.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_praise_statistics.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="authorId != null  and authorId != ''"> and cm_praise_statistics.authorId = #{authorId}</if>
+            <if test="num != null "> and cm_praise_statistics.num = #{num}</if>
+            <if test="pv != null "> and cm_praise_statistics.pv = #{pv}</if>
+            <if test="delFlag != null "> and cm_praise_statistics.delFlag = #{delFlag}</if>
+        </where>
+        group by cm_praise_statistics.id
+        limit 0,1
+    </select>
+
+    <select id="getCmPraiseStatisticsList" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics" resultMap="CmPraiseStatisticsResult">
+        <include refid="selectCmPraiseStatisticsVo"/>
+        from cm_praise_statistics AS cm_praise_statistics
+        <where>  cm_praise_statistics.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_praise_statistics.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_praise_statistics.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="authorId != null  and authorId != ''"> and cm_praise_statistics.authorId = #{authorId}</if>
+            <if test="num != null "> and cm_praise_statistics.num = #{num}</if>
+            <if test="pv != null "> and cm_praise_statistics.pv = #{pv}</if>
+            <if test="delFlag != null "> and cm_praise_statistics.delFlag = #{delFlag}</if>
+        </where>
+        group by cm_praise_statistics.id
+    </select>
+
+    <select id="getCmPraiseStatisticsCount" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics" resultType="String">
+        select count(1)
+        from cm_praise_statistics AS cm_praise_statistics
+        <where>  cm_praise_statistics.delFlag = 0
+            <if test="id != null  and  id != ''">
+                and cm_praise_statistics.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_praise_statistics.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="authorId != null  and authorId != ''"> and cm_praise_statistics.authorId = #{authorId}</if>
+            <if test="num != null "> and cm_praise_statistics.num = #{num}</if>
+            <if test="pv != null "> and cm_praise_statistics.pv = #{pv}</if>
+            <if test="delFlag != null "> and cm_praise_statistics.delFlag = #{delFlag}</if>
+        </where>
+        group by cm_praise_statistics.id
+    </select>
+
+    <select id="getCmPraiseStatisticsById" parameterType="String" resultMap="CmPraiseStatisticsResult">
+        <include refid="selectCmPraiseStatisticsVo"/>
+        from cm_praise_statistics AS cm_praise_statistics
+        where  cm_praise_statistics.delFlag = 0 and cm_praise_statistics.id = #{id}
+    </select>
+
+    <select id="getByIds" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics" resultType="String">
+        select id
+        from cm_praise_statistics AS cm_praise_statistics
+        <where>  cm_praise_statistics.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_praise_statistics.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_praise_statistics.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="authorId != null  and authorId != ''"> and cm_praise_statistics.authorId = #{authorId}</if>
+            <if test="num != null "> and cm_praise_statistics.num = #{num}</if>
+            <if test="pv != null "> and cm_praise_statistics.pv = #{pv}</if>
+            <if test="delFlag != null "> and cm_praise_statistics.delFlag = #{delFlag}</if>
+        </where>
+        group by cm_praise_statistics.id
+    </select>
+
+    <select id="getById" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics" resultType="String">
+        select id
+        from cm_praise_statistics AS cm_praise_statistics
+        <where>  cm_praise_statistics.delFlag = 0
+            <if test="id != null  and id != ''">
+                and cm_praise_statistics.id
+                <if test="id.toString().toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toString().toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toString().toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toString().toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.toString().substring(id.toString().toUpperCase().indexOf('=')+1,id.toString().length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_praise_statistics.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="authorId != null  and authorId != ''"> and cm_praise_statistics.authorId = #{authorId}</if>
+            <if test="num != null "> and cm_praise_statistics.num = #{num}</if>
+            <if test="pv != null "> and cm_praise_statistics.pv = #{pv}</if>
+            <if test="delFlag != null "> and cm_praise_statistics.delFlag = #{delFlag}</if>
+        </where>
+        group by cm_praise_statistics.id
+        limit 0,1
+    </select>
+
+    <insert id="addCmPraiseStatistics" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics">
+        insert into cm_praise_statistics
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="type != null and type != ''">type,</if>
+            <if test="authorId != null and authorId != ''">authorId,</if>
+            <if test="num != null">num,</if>
+            <if test="pv != null">pv,</if>
+            <if test="delFlag != null">delFlag,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="type != null and type != ''">#{type},</if>
+            <if test="authorId != null and authorId != ''">#{authorId},</if>
+            <if test="num != null">#{num},</if>
+            <if test="pv != null">#{pv},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+        </trim>
+    </insert>
+
+    <update id="updateCmPraiseStatistics" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics">
+        update cm_praise_statistics
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="type != null and type != ''">type = #{type},</if>
+            <if test="authorId != null and authorId != ''">authorId = #{authorId},</if>
+            <if test="num != null">num = #{num},</if>
+            <if test="pv != null">pv = #{pv},</if>
+            <if test="delFlag != null">delFlag = #{delFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="updateDelCmPraiseStatisticsByIds" parameterType="String">
+        update cm_praise_statistics set delFlag=#{delFlag} where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <delete id="delCmPraiseStatisticsById" parameterType="String">
+        delete
+        from cm_praise_statistics where id = #{id}
+    </delete>
+
+    <delete id="delCmPraiseStatistics" parameterType="com.caimei365.commodity.model.po.CmPraiseStatistics">
+        delete
+        from cm_praise_statistics AS cm_praise_statistics
+        <where>
+            <if test="id != null  and id != ''">
+                and cm_praise_statistics.id
+                <if test="id.toUpperCase().indexOf('=')==-1">
+                    = #{id}
+                </if>
+                <if test="id.toUpperCase().indexOf('=')!=-1">
+                    <if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{idIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="type != null  and type != ''">
+                and cm_praise_statistics.type
+                <if test="type.toUpperCase().indexOf('=')==-1">
+                    = #{type}
+                </if>
+                <if test="type.toUpperCase().indexOf('=')!=-1">
+                    <if test="type.toUpperCase().indexOf('NOT')!=-1"> not </if>
+                    <if test="type.toUpperCase().indexOf('IN')!=-1"> in </if>
+                    <foreach item="typeIn" collection="type.substring(type.toUpperCase().indexOf('=')+1,type.length()).trim().split(',')" open="(" separator="," close=")">
+                        #{typeIn}
+                    </foreach>
+                </if>
+            </if>
+            <if test="authorId != null  and authorId != ''"> and cm_praise_statistics.authorId = #{authorId}</if>
+            <if test="num != null "> and cm_praise_statistics.num = #{num}</if>
+            <if test="pv != null "> and cm_praise_statistics.pv = #{pv}</if>
+            <if test="delFlag != null "> and cm_praise_statistics.delFlag = #{delFlag}</if>
+        </where>
+    </delete>
+
+    <delete id="delCmPraiseStatisticsByIds" parameterType="String">
+        delete from cm_praise_statistics where id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

+ 2 - 2
src/main/resources/mapper/PageMapper.xml

@@ -664,7 +664,7 @@
     </select>
 
     <select id="getFileArchiveList" resultType="com.caimei365.commodity.model.vo.ArchiveContentVo">
-        select id as archiveContentId, title, addTime
+        select id as archiveContentId, title,content, addTime
         from cm_product_archive_content
         where productArchiveId = #{archiveId}
           and type = 3
@@ -1390,7 +1390,7 @@
     </update>
     <insert id="insertReferenceInfo">
         insert into cm_baike_reference_info(referenceType, website, articleName, websiteName, publishTime,
-                                            acitationTime, author, workName, publicationPlace, press, publicationYear,
+                                                acitationTime, author, workName, publicationPlace, press, publicationYear,
                                             acitationWeb, referenceDescription, imageDescription, imageUrl, productId,
                                             productType, ctrlId)
         values (#{referenceType}, #{website}, #{articleName}, #{websiteName}, #{publishTimeStr}, #{acitationTimeStr},

+ 1 - 0
src/main/resources/mapper/SearchFrequencyMapper.xml

@@ -31,6 +31,7 @@
         from cm_user_search_frequency
         where trueStatus=1
         and delStatus=1
+        and linkageStatus=1
         <if test="keyword != null and keyword != ''">
             and keyword like concat('%', #{keyword},'%')
         </if>

+ 9 - 1
src/main/resources/mapper/SearchMapper.xml

@@ -436,7 +436,15 @@
             </if>
         </where>
 
-        order by a.pubdate desc
+        order by a.pubdate
+        <if test="sortType != null">
+            <if test="sortType == 1">
+                desc
+            </if>
+            <if test="sortType != 1">
+                asc
+            </if>
+        </if>
 
     </select>
     <select id="getHistoryList" resultType="com.caimei365.commodity.model.po.SearchHistoryPo">