mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-06 07:21:24 +08:00
Rewrite getDepartAndUser
This commit is contained in:
@@ -35,12 +35,8 @@ public class DepartmentController {
|
|||||||
|
|
||||||
//获取所有部门及其各部门所属成员
|
//获取所有部门及其各部门所属成员
|
||||||
@GetMapping("/user")
|
@GetMapping("/user")
|
||||||
@Deprecated
|
public ResponseResult<List<Department>> getDepartAndUser() {
|
||||||
public ResponseResult getDepartAndUser() {
|
return ResponseResult.databaseSelectSuccess(departmentService.getDepartmentWithUser());
|
||||||
List<Department> getDepartAndUser = departmentService.getDepartAndUser();
|
|
||||||
Integer code = getDepartAndUser != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR;
|
|
||||||
String msg = getDepartAndUser != null ? "" : "数据查询失败,请尝试!";
|
|
||||||
return ResponseResult.build(code, msg, getDepartAndUser);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
|
|||||||
@@ -66,6 +66,5 @@ public class Department implements Serializable {
|
|||||||
* 部门成员
|
* 部门成员
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@Deprecated
|
|
||||||
private List<User> userList;
|
private List<User> userList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface DepartmentMapper extends BaseMapper<Department> {
|
public interface DepartmentMapper extends BaseMapper<Department> {
|
||||||
@Deprecated
|
List<Department> getDepartmentWithUser();
|
||||||
List<Department> getDepartAndUser();
|
|
||||||
|
|
||||||
IPage<Department> getAllDepartment(IPage<Department> page, @Param("searchType") Integer searchType, @Param("searchInput") String searchInput, @Param("searchRegex") Integer searchRegex);
|
IPage<Department> getAllDepartment(IPage<Department> page, @Param("searchType") Integer searchType, @Param("searchInput") String searchInput, @Param("searchRegex") Integer searchRegex);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ import java.util.List;
|
|||||||
* @since 2023-04-30
|
* @since 2023-04-30
|
||||||
*/
|
*/
|
||||||
public interface IDepartmentService extends IService<Department> {
|
public interface IDepartmentService extends IService<Department> {
|
||||||
@Deprecated
|
|
||||||
List<Department> getDepartAndUser();
|
List<Department> getDepartmentWithUser();
|
||||||
|
|
||||||
IPage<Department> getAllDepartment(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchRegex);
|
IPage<Department> getAllDepartment(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchRegex);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,9 +29,8 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
public List<Department> getDepartmentWithUser() {
|
||||||
public List<Department> getDepartAndUser() {
|
return departmentMapper.getDepartmentWithUser();
|
||||||
return departmentMapper.getDepartAndUser();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -51,19 +51,35 @@
|
|||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getDepartAndUser" resultMap="department">
|
<select id="getDepartmentWithUser" resultMap="departmentWithUserMap">
|
||||||
select d.id did, name, u.id uid, username
|
select td.id as department_id, td.name as department_name
|
||||||
from t_department d,
|
from (select * from t_department where deleted = 0) as td
|
||||||
t_user u
|
|
||||||
where d.id = u.department_id
|
|
||||||
and d.deleted = 0
|
|
||||||
and u.deleted = 0
|
|
||||||
</select>
|
</select>
|
||||||
<resultMap id="department" type="department" autoMapping="true">
|
|
||||||
<id column="did" property="id"/>
|
<select id="getUserInDepartment" resultMap="userInDepartmentMap">
|
||||||
<collection property="userList" ofType="user" autoMapping="true">
|
select tu.id as user_id,
|
||||||
<id column="uid" property="id"/>
|
tu.username as user_username,
|
||||||
<result column="uid" property="id"/>
|
ts.id as staff_id,
|
||||||
</collection>
|
ts.first_name as staff_first_name,
|
||||||
|
ts.last_name as staff_last_name
|
||||||
|
from (select * from t_user where deleted = 0) as tu
|
||||||
|
left join (select * from t_staff where deleted = 0) as ts on ts.user_id = tu.id
|
||||||
|
where tu.department_id = #{department_id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<resultMap id="departmentWithUserMap" type="department">
|
||||||
|
<id property="id" column="department_id"/>
|
||||||
|
<result property="name" column="department_name"/>
|
||||||
|
<collection property="userList" ofType="user" column="department_id" select="getUserInDepartment"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="userInDepartmentMap" type="user">
|
||||||
|
<id property="id" column="user_id"/>
|
||||||
|
<result property="username" column="user_username"/>
|
||||||
|
<association property="staff" javaType="staff">
|
||||||
|
<id property="id" column="staff_id"/>
|
||||||
|
<result property="firstName" column="staff_first_name"/>
|
||||||
|
<result property="lastName" column="staff_last_name"/>
|
||||||
|
</association>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user