Browse Source

用户行为标签

huangzhiguo 2 năm trước cách đây
mục cha
commit
d8d47d88b8

+ 2 - 2
src/main/java/com/caimei365/tools/controller/BaseApi.java

@@ -61,11 +61,11 @@ public class BaseApi {
     /**
      * 临时接口
      */
-    @GetMapping("/record/update")
+    /*@GetMapping("/record/update")
     public void svipCoupon(Integer startId, Integer endId) throws IOException {
 //        cmVipCouponService.openCoupon();
         cmBehaviorRecordService.updateClubAddress(startId, endId);
-    }
+    }*/
 
     /**
      * 数据ip地址

+ 6 - 0
src/main/java/com/caimei365/tools/mapper/CmBehaviorRecordMapper.java

@@ -130,6 +130,12 @@ public interface CmBehaviorRecordMapper {
      */
     void delTodayData();
 
+    /**
+     * 所有供应商关联标签
+     * @return
+     */
+    List<String> shopKeyword();
+
     /**
      * 查询供应商id
      * @param strList 页面标签

+ 13 - 6
src/main/java/com/caimei365/tools/service/impl/CmBehaviorRecordServiceImpl.java

@@ -363,6 +363,8 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
         List<CmBehaviorRecordPo> yesterdayList = recordMapper.selYesterdayList(format);
         // 详细数据
         List<CmBehaviorRecordPo> selDataList = recordMapper.selDataList(format);
+        // 获取供应商关联所有标签
+        List<String> keywords = recordMapper.shopKeyword();
         for (CmBehaviorRecordPo data : yesterdayList) {
             ArrayList<String> item = new ArrayList();
             ArrayList<String> shopNames = new ArrayList();
@@ -370,9 +372,11 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
             for (CmBehaviorRecordPo recordPo : selDataList) {
                 if (recordPo.getIP().equals(data.getIP()) && recordPo.getUserId().equals(data.getUserId())) {
                     if (num < 10) {
-                        if (!item.contains(recordPo.getPageLabel())) {
-                            item.add(recordPo.getPageLabel());
-                            num++;
+                        if (keywords.contains(recordPo.getPageLabel())) {
+                            if (!item.contains(recordPo.getPageLabel())) {
+                                item.add(recordPo.getPageLabel());
+                                num++;
+                            }
                         }
                     }
                     if (StringUtils.isNotBlank(recordPo.getRelevanceShop()) && !shopNames.contains(recordPo.getRelevanceShop())) {
@@ -405,6 +409,7 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
         int id = 1;
         // 所有用户供应商数据
         List<CmBehaviorRecordPo> selDataList = recordMapper.selDataList(format);
+        List<String> keywords = recordMapper.shopKeyword();
         for (CmBehaviorRecordPo data : todayData) {
             ArrayList<String> item = new ArrayList();
             ArrayList<String> shopNames = new ArrayList();
@@ -415,9 +420,11 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
                 if (recordPo.getIP().equals(data.getIP()) && recordPo.getUserId().equals(data.getUserId())) {
                     // 标签信息
                     if (num < 10) {
-                        if (!item.contains(recordPo.getPageLabel())) {
-                            item.add(recordPo.getPageLabel());
-                            num++;
+                        if (keywords.contains(recordPo.getPageLabel())) {
+                            if (!item.contains(recordPo.getPageLabel())) {
+                                item.add(recordPo.getPageLabel());
+                                num++;
+                            }
                         }
                     }
                     // 供应商

+ 7 - 0
src/main/resources/mapper/CmBehaviorRecordMapper.xml

@@ -392,6 +392,13 @@
     <delete id="delTodayData">
         TRUNCATE TABLE cm_behavior_record_today
     </delete>
+    <select id="shopKeyword" resultType="java.lang.String">
+        SELECT cusf.keyword FROM cm_shop_relevance csr
+             LEFT JOIN cm_shop_label csl ON csr.id = csl.relevanceId
+             LEFT JOIN cm_user_search_frequency cusf ON csl.keywordId = cusf.id
+        WHERE  csr.delFlag = 0 AND
+            csl.delFlag = 0
+    </select>
     <select id="shopIds" resultType="java.lang.Integer">
         SELECT DISTINCT csr.shopID FROM cm_shop_relevance csr
             LEFT JOIN cm_shop_label csl ON csr.id = csl.relevanceId