Kaynağa Gözat

优化代码

xw 1 gün önce
ebeveyn
işleme
6334cd2107

+ 3 - 3
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -931,7 +931,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
         if (isOfficial == 1) {
 
-            if (logVo.getIsSampSend()== 1) {
+            if (Integer.valueOf(1).equals(logVo.getIsSampSend())) {
                 if (fsUserId == null || Long.valueOf(0L).equals(fsUserId)) {
                     sopLogs.setSendType(2);
                     sopLogs.setRemark("未绑定小程序用户,单链补发");
@@ -1374,9 +1374,9 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
     private String getAppIdFromMiniMap(Map<Long, Map<Integer, List<CompanyMiniapp>>> miniMap,
                                        String companyId,
-                                       int sendMsgType,
+                                       Integer sendMsgType,
                                        Integer grade) {
-        if (miniMap.isEmpty() || sendMsgType != 1) {
+        if (miniMap == null || miniMap.isEmpty() || sendMsgType == null || sendMsgType != 1) {
             return null;
         }
 

+ 5 - 2
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopUserLogsInfoByIsDaysNotStudyImpl.java

@@ -231,7 +231,7 @@ public class SopUserLogsInfoByIsDaysNotStudyImpl implements SopUserLogsInfoByIsD
     }
 
     /**
-    * 只计算时长
+    * 只计算时长,恢复E级客户到D级
     */
     private QwExternalContact processUserLog(SopUserLogsInfo logsInfo, QwRatingConfig config) {
         try {
@@ -246,7 +246,10 @@ public class SopUserLogsInfoByIsDaysNotStudyImpl implements SopUserLogsInfoByIsD
             if (sumDuration!=null && sumDuration>0) {
                 QwExternalContact externalContact = new QwExternalContact();
                 externalContact.setId(externalId);
-                externalContact.setIsDaysNotStudy(0);
+                externalContact.setLevel(4);  // 从E级恢复到D级
+                externalContact.setLevelType(1);  // 升级
+                externalContact.setIsDaysNotStudy(0);  // 标记为非连续未看课
+                log.info("客户从E级恢复到D级,externalId: {}", externalId);
                 return externalContact;
             }
 

+ 8 - 1
fs-service/src/main/java/com/fs/sop/mapper/SopUserLogsInfoMapper.java

@@ -166,6 +166,12 @@ public interface SopUserLogsInfoMapper {
             "    WHEN #{item.id} THEN #{item.isDaysNotStudy} " +
             "</foreach> " +
             "ELSE is_days_not_study " +
+            "END, " +
+            "grade = CASE external_id " +
+            "<foreach collection='contactList' item='item'> " +
+            "    WHEN #{item.id} THEN #{item.level} " +
+            "</foreach> " +
+            "ELSE grade " +
             "END " +
             "WHERE external_id IN " +
             "<foreach collection='contactList' item='item' open='(' separator=',' close=')'> " +
@@ -177,7 +183,8 @@ public interface SopUserLogsInfoMapper {
     @DataSource(DataSourceType.SOP)
     @Update("<script>" +
             "UPDATE sop_user_logs_info " +
-            "SET is_days_not_study = 0 " +
+            "SET is_days_not_study = 0, " +
+            "grade = 4 " +
             "WHERE external_id IN " +
             "<foreach collection='contactList' item='item' open='(' separator=',' close=')'>" +
             "    #{item.id} " +

+ 3 - 1
fs-service/src/main/resources/mapper/qw/QwExternalContactMapper.xml

@@ -233,7 +233,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <update id="batchUpdateQwExternalByIsDaysNotStudy" parameterType="map">
         UPDATE qw_external_contact
-        SET level =  NULL
+        SET level = 4,
+            level_type = 1,
+            is_days_not_study = 0
         WHERE id IN
         <foreach collection="list" item="item" open="(" separator="," close=")">
             #{item.id}