修改部门用户查询方式

This commit is contained in:
wanggeng 2022-05-16 18:49:12 +08:00
parent 3ac822acb1
commit 2828b5ff4f
3 changed files with 67 additions and 11 deletions

View File

@ -102,4 +102,12 @@ public interface IDepartmentUserDao extends IInitBaseTable {
*/ */
List<String> listSameDepartmentUserId(Map<String, Object> params) throws SearchException; List<String> listSameDepartmentUserId(Map<String, Object> params) throws SearchException;
/**
* 部门用户列表
*
* @param params
* @return
* @throws SearchException
*/
List<DepartmentUserDTO> listDepartmentUser(Map<String, Object> params) throws SearchException;
} }

View File

@ -318,16 +318,13 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
* @return * @return
*/ */
private SuccessResultList<List<DepartmentUserDTO>> listPageUser(String departmentId, ListPage page) { private SuccessResultList<List<DepartmentUserDTO>> listPageUser(String departmentId, ListPage page) {
List<DepartmentUserDTO> hasDepartmentUsers = list(departmentId); page.getParams().put("departmentId", departmentId);
if (hasDepartmentUsers.isEmpty()) { page.getParams().put("sort", "userSort");
return new SuccessResultList<>(new ArrayList<>(), 1, 0L); page.getParams().put("order", "asc");
} PageHelper.startPage(page.getPage(), page.getRows());
List<String> userIds = new ArrayList<>(); List<DepartmentUserDTO> departmentUserDTOS = departmentUserDao.listDepartmentUser(page.getParams());
for (DepartmentUserDTO hasDepartmentUserId : hasDepartmentUsers) { PageInfo<DepartmentUserDTO> pageInfo = new PageInfo<>(departmentUserDTOS);
userIds.add(hasDepartmentUserId.getUserId()); return new SuccessResultList<>(departmentUserDTOS, pageInfo.getPageNum(), pageInfo.getTotal());
}
SuccessResultList<List<UserDTO>> successResultList = userBaseService.listPageByIds(userIds, page);
return listPageDepartmentUser(successResultList, hasDepartmentUsers);
} }
/** /**

View File

@ -4,10 +4,17 @@
<cache flushInterval="3600000"/> <cache flushInterval="3600000"/>
<resultMap id="departmentUserDTO" type="ink.wgink.pojo.dtos.department.DepartmentUserDTO" extends="ink.wgink.service.user.dao.IUserDao.userDTO"> <resultMap id="departmentUserDTO" type="ink.wgink.pojo.dtos.department.DepartmentUserDTO">
<result column="department_id" property="departmentId"/> <result column="department_id" property="departmentId"/>
<result column="user_id" property="userId"/> <result column="user_id" property="userId"/>
<result column="user_sort" property="userSort"/> <result column="user_sort" property="userSort"/>
<result column="user_username" property="userUsername"/>
<result column="user_name" property="userName"/>
<result column="user_phone" property="userPhone"/>
<result column="user_email" property="userEmail"/>
<result column="user_avatar" property="userAvatar"/>
<result column="user_type" property="userType"/>
<result column="user_state" property="userState"/>
</resultMap> </resultMap>
<!-- 建表 --> <!-- 建表 -->
@ -300,4 +307,48 @@
) )
</select> </select>
<!-- 部门用户列表 -->
<select id="listDepartmentUser" parameterType="map" resultMap="departmentUserDTO" useCache="true">
SELECT
t1.user_id,
t1.user_username,
t1.user_name,
t1.user_phone,
t1.user_email,
t1.user_avatar,
t1.user_type,
t1.user_state,
jt1.department_id,
jt1.user_sort
FROM
sys_user t1
INNER JOIN
sys_department_user jt1
ON
t1.user_id = jt1.user_id
WHERE
t1.is_delete = 0
AND
t1.user_name != 'admin'
<if test="departmentId != null and departmentId != ''">
AND
jt1.department_id = #{departmentId}
</if>
<if test="departmentIds != null and departmentIds.size > 0">
AND
jt1.department_id IN
<foreach collection="departmentIds" index="index" open="(" separator="," close=")">
#{departmentIds[${index}]}
</foreach>
</if>
<choose>
<when test="sort != null and (sort == 'userSort')">
ORDER BY
<if test="sort == 'userSort'">
user_sort ${order}
</if>
</when>
</choose>
</select>
</mapper> </mapper>