Selaa lähdekoodia

用户行为更改

huangzhiguo 2 vuotta sitten
vanhempi
commit
788c7045bc

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

@@ -45,9 +45,9 @@ public class BaseApi {
      */
     /*@GetMapping("/record/update")
     public void svipCoupon(){
-        cmBehaviorRecordService.updateBehaviorUser();
-    }
-*/
+        cmBehaviorRecordService.insertBehaviorUser();
+    }*/
+
     /**
      * 数据ip地址
      * @param startId

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

@@ -79,8 +79,10 @@ public interface CmBehaviorRecordMapper {
 
     CmBehaviorRecordPo userIdAcc(@Param("IP") String IP, @Param("accessDate") String accessDate);
 
-    List<CmBehaviorRecordPo>  selBehaviorList(@Param("IP") String IP, @Param("accessDate") String accessDate);
+    List<CmBehaviorRecordPo> selBehaviorList(@Param("IP") String IP, @Param("accessDate") String accessDate);
 
     void updateBehavior(CmBehaviorRecordPo cmBehaviorRecordPo);
+
+    void selYesterdayList( @Param("accessDate") String accessDate);
 }
 

+ 2 - 0
src/main/java/com/caimei365/tools/service/CmBehaviorRecordService.java

@@ -17,4 +17,6 @@ public interface CmBehaviorRecordService {
     void setIpAddress(Integer startId, Integer endId);
 
     void updateBehaviorUser();
+
+    void insertBehaviorUser();
 }

+ 17 - 0
src/main/java/com/caimei365/tools/service/impl/CmBehaviorRecordServiceImpl.java

@@ -302,6 +302,23 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
         }
     }
 
+    /**
+     * 昨日用户行为列表数据生成
+     */
+    @Override
+    public void insertBehaviorUser() {
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.DAY_OF_MONTH,-1);
+        Date time = calendar.getTime();
+        String format = dateFormat.format(time);
+
+        // 获取昨天数据
+        recordMapper.selYesterdayList(format);
+        log.info("====昨日用户行为列表数据已生成====");
+    }
+
 
     // 获取IP对应地址 ---- 太平洋
     public static String recordIp(String ip) throws IOException {

+ 5 - 0
src/main/java/com/caimei365/tools/task/CmOrganValueSystemTask.java

@@ -51,6 +51,11 @@ public class CmOrganValueSystemTask {
     @Scheduled(cron = "0 5 0 * * ?")
     public void updateBehavior() { cmBehaviorRecordService.updateBehaviorUser();}
 
+    /**
+     * 每天修改前一天的符合条件的数据
+     */
+    @Scheduled(cron = "0 15 0 * * ?")
+    public void insertBehaviorUser() { cmBehaviorRecordService.updateBehaviorUser();}
     /**
      * 每个季度创建专属优惠券
      */

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

@@ -187,5 +187,56 @@
         userID = #{userId}
         WHERE recordID = #{recordID}
     </update>
+    <select id="selYesterdayList">
+        INSERT INTO cm_behavior_record_index (IP, userID, clubID, lastAccessTime, companyType, corporateName,
+        contacts, phoneNumber, spName, number, consultName, consultMobile, behaviorType, productID, accessTime, accessDuration, accessDate, accessClient, region, delFlag)
+        SELECT
+        b.IP,
+        b.userID,
+        c.clubID,
+        MAX(b.accessTime) AS lastAccessTime,
+        (
+        CASE WHEN u.userIdentity = 2 THEN 2
+        WHEN u.userIdentity = 4 THEN 2
+        WHEN u.userIdentity = 3 THEN 3
+        WHEN b.userID = 0 THEN 1
+        END)AS companyType,
+        (
+        CASE WHEN b.userID = 0 THEN ''
+        WHEN u.userIdentity = 2 THEN c.sname
+        WHEN u.userIdentity = 4 THEN IF(c.sname=u.userName,c.sname,'')
+        END)AS corporateName,
+        (
+        CASE WHEN b.userID = 0 THEN ''
+        WHEN b.userID != 0 THEN u.userName
+        END)AS contacts,
+        (CASE WHEN u.userIdentity = 2 THEN c.contractMobile
+        WHEN u.userIdentity = 4 THEN c.contractMobile
+        WHEN u.userIdentity = 3 THEN s.contractMobile
+        END)AS phoneNumber,
+        (SELECT CASE STATUS WHEN 91 THEN '采美默认协销经理(官方账号)' ELSE linkMan END FROM serviceprovider WHERE serviceProviderID = c.spID) AS spName,
+        COUNT(b.IP) AS numbers,
+        (SELECT consultName
+        FROM cm_roos_information
+        WHERE IP = b.IP AND createTime LIKE CONCAT('%',b.accessDate,'%') AND (consultName IS NOT NULL OR consultName = '') LIMIT 1) AS consultName,
+        (SELECT consultMobile
+        FROM cm_roos_information
+        WHERE IP = b.IP AND createTime LIKE CONCAT('%',b.accessDate,'%') AND (consultName IS NOT NULL OR consultName = '') LIMIT 1) AS consultMobile,
+        b.behaviorType,
+        b.productID,
+        b.accessTime,
+        SUM(b.accessDuration) AS accessDuration,
+        b.accessDate,
+        b.accessClient,
+        b.region AS region,
+        b.delFlag
+        FROM cm_behavior_record b
+        LEFT JOIN USER u ON b.userID = u.userID
+        LEFT JOIN club c ON b.userID = c.userID
+        LEFT JOIN shop s ON b.userID = s.userID
+        LEFT JOIN cm_roos_information cri ON b.IP = cri.IP
+        WHERE  b.IP != '106.55.202.118' AND b.delFlag = 0  AND b.accessDate = #{accessDate}
+        GROUP BY b.IP, b.accessDate,b.userID ORDER BY b.accessTime DESC
+    </select>
 </mapper>