JiangChongBo před 2 roky
rodič
revize
1655eafd5f

+ 1 - 1
src/main/java/com/caimei365/tools/mapper/BaseMapper.java

@@ -86,7 +86,7 @@ public interface BaseMapper {
     void insertProductViews(Integer productId, Integer views, Date viewTime);
 
 
-    List<SearchFrequencyVo>  getInfoBykeyword(String keyword, Integer fromSearch);
+    List<SearchFrequencyVo>  getInfoBykeyword(String keyword, Integer fromSearch,Integer trueStutas);
 
     void saveInfo(SearchFrequencyVo searchFrequencyVo);
 

+ 16 - 9
src/main/java/com/caimei365/tools/service/impl/ProductServiceImpl.java

@@ -39,16 +39,23 @@ public class ProductServiceImpl implements ProductService {
         Calendar cal = Calendar.getInstance();
         cal.setTime(date);
         //根据关键词和来源查询数据库是否存在(存在来源也相同时增加次数,存在但来源不同时和不存在则新增)
-        List<SearchFrequencyVo> searchFrequencyVoList = baseMapper.getInfoBykeyword(keyword,fromType);
+        List<SearchFrequencyVo> searchFrequencyVoList = baseMapper.getInfoBykeyword(keyword,fromType,0);
         if(null!= searchFrequencyVoList && searchFrequencyVoList.size()>0){
-            //存在 统计次数
-            //判断是否是关键词联动搜索
-            if(StringUtils.isNotEmpty(linkageFlag)&&"1".equals(linkageFlag)){
-                //联动次数加1,搜索次数重置,从新出现在关键词列表
-                Integer linkageFrequency=searchFrequencyVoList.get(0).getLinkageFrequency()+1;
-                Integer frequency=0;
-                Integer delStatus=1;
-                baseMapper.uplinkageFrequencyById(searchFrequencyVoList.get(0).getId(),linkageFrequency,frequency,delStatus);
+            //判断是否有加入关键词的(有则判断是否联动,无则搜索次数加1)
+            List<SearchFrequencyVo> searchFrequencyVoAll = baseMapper.getInfoBykeyword(keyword,fromType,1);
+            if(null!= searchFrequencyVoAll && searchFrequencyVoAll.size()>0){
+                //判断是否是关键词联动搜索
+                if(StringUtils.isNotEmpty(linkageFlag)&&"1".equals(linkageFlag)){
+                    //联动次数加1,搜索次数重置,从新出现在关键词列表
+                    Integer linkageFrequency=searchFrequencyVoAll.get(0).getLinkageFrequency()+1;
+                    Integer frequency=0;
+                    Integer delStatus=1;
+                    baseMapper.uplinkageFrequencyById(searchFrequencyVoAll.get(0).getId(),linkageFrequency,frequency,delStatus);
+                }
+                else{
+                    Integer frequency= searchFrequencyVoList.get(0).getFrequency()+1;
+                    baseMapper.upFrequencyById(searchFrequencyVoList.get(0).getId(),frequency);
+                }
             }else{
                 Integer frequency= searchFrequencyVoList.get(0).getFrequency()+1;
                 baseMapper.upFrequencyById(searchFrequencyVoList.get(0).getId(),frequency);

+ 2 - 1
src/main/resources/mapper/BaseMapper.xml

@@ -116,9 +116,10 @@
         from cm_user_search_frequency
         where keyword=#{keyword}
           and   fromSearch=#{fromSearch}
+         and trueStatus=#{trueStutas}
     </select>
     <update id="upFrequencyById">
-        update cm_user_search_frequency set frequency=#{frequency} where id=#{id}
+        update cm_user_search_frequency set frequency=#{frequency},delStatus=1 where id=#{id}
     </update>
     <update id="uplinkageFrequencyById">
         update cm_user_search_frequency set linkageFrequency=#{linkageFrequency}, frequency=#{frequency},delStatus=#{delStatus} where id=#{id}