Browse Source

优化sop任务分发逻辑

cgp 1 week ago
parent
commit
d6bfbe5e97

+ 5 - 2
fs-admin/src/main/java/com/fs/his/task/Task.java

@@ -2249,7 +2249,10 @@ public class Task {
         }
 
         for (SopOrderLog log : sopOrderLogs) {
-            List<SopUserLogsInfo> logsInfo = sopUserLogsInfoMapper.querySopUserLogsRecord(log.getSopId());
+            List<SopUserLogsInfo> logsInfo = sopUserLogsInfoMapper.querySopUserLogsRecord(log.getSopId(),log.getIsBuy());
+            if (CollectionUtils.isEmpty(logsInfo)){
+                continue;
+            }
 
             // 过滤 externalId 非空
             List<Long> externalIds = logsInfo.stream()
@@ -2283,7 +2286,7 @@ public class Task {
                         ));
             }
 
-            // 查询qw_external_contact表获取客户id,销售id
+            // 查询qw_external_contact 表获取客户id,销售id
             List<QwExternalContact> contacts = qwExternalContactMapper.selectQwExternalContactByIds(externalIds);
             if (CollectionUtils.isEmpty(contacts)) {
                 continue;

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

@@ -290,5 +290,5 @@ public interface SopUserLogsInfoMapper {
      * 查询指定 SOP 下的所有用户日志记录(包含是否购买普通商品、是否购买升单商品)
      */
     @DataSource(DataSourceType.SOP)
-    List<SopUserLogsInfo> querySopUserLogsRecord(@Param("sopId") String sopId);
+    List<SopUserLogsInfo> querySopUserLogsRecord(@Param("sopId") String sopId, @Param("isBuy") Integer isBuy);
 }

+ 20 - 4
fs-service/src/main/resources/mapper/sop/SopUserLogsInfoMapper.xml

@@ -353,12 +353,28 @@
 
     <select id="querySopUserLogsRecord" resultType="com.fs.sop.domain.SopUserLogsInfo">
         SELECT
-            external_id,
-            fs_user_id,
-            is_product_buy,
-            is_upsell_product_buy
+        external_id,
+        fs_user_id,
+        is_product_buy,
+        is_upsell_product_buy
         FROM sop_user_logs_info
         WHERE sop_id = #{sopId}
+        <choose>
+            <!-- 普通商品购买状态 -->
+            <when test="isBuy == 1">
+                AND is_product_buy = 1
+            </when>
+            <when test="isBuy == 2">
+                AND is_product_buy = 2
+            </when>
+            <!-- 升单商品购买状态 -->
+            <when test="isBuy == 3">
+                AND is_upsell_product_buy = 1
+            </when>
+            <when test="isBuy == 4">
+                AND is_upsell_product_buy = 2
+            </when>
+        </choose>
     </select>
 
 </mapper>