Bladeren bron

优化查询

yang G 5 jaren geleden
bovenliggende
commit
34003cfa5d

+ 3 - 1
src/main/java/com/mokamrp/privates/entity/HubWorkContactEmployeeHandle.java

@@ -17,6 +17,8 @@ public class HubWorkContactEmployeeHandle {
     private String startCreatedAt;
     private String endCreatedAt;
     private Integer corpId;
-    private List employeeId;
+    private List<Integer> employeeId;
     private List<Integer> authCorpIds;
+    private List<String> ghIds;
+    private String platform;
 }

+ 8 - 3
src/main/java/com/mokamrp/privates/mapper/WorkContactEmployeeMapper.xml

@@ -100,8 +100,11 @@
         FROM mc_work_contact_employee AS a
              LEFT JOIN mc_work_employee AS e ON a.employee_id = e.id
              LEFT JOIN mc_work_contact AS c ON a.contact_id = c.id
+             LEFT JOIN mc_work_contact_employee_openid AS d ON d.id = a.id
              LEFT JOIN mc_corp AS p ON p.id = a.corp_id
-        where 1 = 1 AND ${ew.sqlSegment}
+        <where>
+            ${ew.sqlSegment}
+        </where>
     </select>
 
     <select id="getHubVoList" resultType="com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo">
@@ -130,8 +133,10 @@
                  LEFT JOIN mc_work_contact AS c ON a.contact_id = c.id
                  LEFT JOIN mc_work_contact_employee_openid AS d ON d.id = a.id
                  LEFT JOIN mc_corp AS p ON p.id = a.corp_id
-        where 1 = 1 AND ${ew.sqlSegment}
-        order by id desc
+        <where>
+            ${ew.sqlSegment}
+        </where>
+        order by a.id desc
         LIMIT #{limit} offset #{offset}
     </select>
 

+ 13 - 5
src/main/java/com/mokamrp/privates/service/impl/WorkContactEmployeeServiceImpl.java

@@ -444,17 +444,20 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
     private QueryWrapper<WorkContactEmployeeVo> getHubWrapper(HubWorkContactEmployeeHandle handle) {
 
         QueryWrapper<WorkContactEmployeeVo> obj = new QueryWrapper<WorkContactEmployeeVo>();
-        obj.in("a.corp_id",getNovelIds());
-
         Integer gender = handle.getGender();
         String name = handle.getName();
         Integer status = handle.getStatus();
         String startCreatedAt = handle.getStartCreatedAt();
         String endCreatedAt = handle.getEndCreatedAt();
         Integer corpId = handle.getCorpId();
-        List employeeId = handle.getEmployeeId();
+        List<String> ghIds = handle.getGhIds();
+        String platform = handle.getPlatform();
+        List<Integer> employeeId = handle.getEmployeeId();
         List<Integer> authCorpIds = handle.getAuthCorpIds();
 
+        obj.in("a.corp_id",getNovelIds());
+        obj.in("a.corp_id", authCorpIds);
+
         if (name != null && !name.equals("")) {
             obj.like("c.name", name);
         }
@@ -482,10 +485,15 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
             obj.in("a.employee_id", employeeId);
         }
 
-        obj.in("a.corp_id", authCorpIds);
+        if (platform != null && !platform.equals("")) {
+            obj.like("d.platform", platform);
+        }
 
-        return obj;
+        if (ghIds != null && ghIds.size() >= 1) {
+            obj.in("d.ghid", ghIds);
+        }
 
+        return obj;
     }
 
     private QueryWrapper<WorkContactEmployeeVo> getWrapper(GetWorkContactEmployeeHandle handle) {