Selaa lähdekoodia

优化CID订单查询sql索引

cgp 2 päivää sitten
vanhempi
commit
06b823df50

+ 2 - 0
fs-service/src/main/java/com/fs/company/param/SalesStatCIDParam.java

@@ -9,6 +9,8 @@ public class SalesStatCIDParam {
     private Long deptId;
     private Long userId;
     private Long companyId;
+    private String corpId; //主体id qw_user.corp_id
+    private String qwUserName; //销售账号名称 qw_user.qw_user_name 模糊匹配
     private String companyUserNickName;
     private String startAddTime;    // 进粉开始时间
     private String endAddTime;      // 进粉结束时间

+ 13 - 1
fs-service/src/main/resources/mapper/company/CompanyStatisticsCIDMapper.xml

@@ -27,7 +27,7 @@
         COUNT(DISTINCT ec.id) AS fans_count
         FROM qw_user qu
         INNER JOIN qw_external_contact ec ON ec.qw_user_id = qu.id
-        WHERE ec.create_time IS NOT NULL
+        WHERE ec.add_way=16 and ec.create_time IS NOT NULL
         <if test="param.startAddTime != null and param.endAddTime != null">
             AND ec.create_time BETWEEN #{param.startAddTime} AND #{param.endAddTime}
         </if>
@@ -53,6 +53,18 @@
         ) oc ON oc.company_user_id = cu.user_id
 
         WHERE cu.del_flag = '0'
+        <if test="(param.corpId != null and param.corpId != '') or (param.qwUserName != null and param.qwUserName.trim() != '')">
+            AND EXISTS (
+            SELECT 1 FROM qw_user qu_filter
+            WHERE qu_filter.company_user_id = cu.user_id
+            <if test="param.corpId != null and param.corpId != ''">
+                AND qu_filter.corp_id = #{param.corpId}
+            </if>
+            <if test="param.qwUserName != null and param.qwUserName.trim() != ''">
+                AND qu_filter.qw_user_name LIKE CONCAT('%', #{param.qwUserName}, '%')
+            </if>
+            )
+        </if>
         <if test="param.companyId != null">
             AND cu.company_id = #{param.companyId}
         </if>