增加业务逻辑接口

This commit is contained in:
wanggeng 2022-04-08 18:17:14 +08:00
parent 017a50762d
commit 927210cedb
14 changed files with 235 additions and 3 deletions

View File

@ -144,4 +144,37 @@ public interface IDepartmentUserBaseService {
* @return
*/
SuccessResultList<List<UserDTO>> listPageUserByDepartmentId(String departmentId, ListPage page);
/**
* 部门ID列表
*
* @param userId 用户ID
* @return
*/
List<String> listDepartmentIdByUserId(String userId);
/**
* 部门ID列表
*
* @param userIds 用户ID列表
* @return
*/
List<String> listDepartmentIdByUserIds(List<String> userIds);
/**
* 部门用户ID列表
*
* @param userId 用户ID
* @return
*/
List<String> listSameDepartmentUserIdByUserId(String userId);
/**
* 部门用户ID列表
*
* @param userIds 用户ID列表
* @return
*/
List<String> listSameDepartmentUserIdByUserIds(List<String> userIds);
}

View File

@ -125,4 +125,11 @@ public interface IPositionBaseService {
*/
List<PositionDTO> listParentByPositionIds(List<String> positionIds);
/**
* 职位列表
*
* @param positionParentIds 上级职位ID
* @return
*/
List<PositionDTO> listByPositionParentIds(List<String> positionParentIds);
}

View File

@ -60,6 +60,18 @@ public interface IDepartmentUserRemoteService {
List<UserDTO> listUserByDepartmentId(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemotePathParams("departmentId") String departmentId);
@RemoteGetMethod("/listpage-user/department-id/{departmentId}")
SuccessResultList<List<UserDTO>> listPageUserByDepartmentId(String userCenter, @RemotePathParams("departmentId") String departmentId, @RemoteQueryParams("access_token") String accessToken, @RemoteQueryParams("page") int page, @RemoteQueryParams("rows") int rows, @RemoteQueryParamsMap Map<String, Object> params);
SuccessResultList<List<UserDTO>> listPageUserByDepartmentId(@RemoteServerParams String userCenter, @RemotePathParams("departmentId") String departmentId, @RemoteQueryParams("access_token") String accessToken, @RemoteQueryParams("page") int page, @RemoteQueryParams("rows") int rows, @RemoteQueryParamsMap Map<String, Object> params);
@RemoteGetMethod("/list-department-id/user-id/{userId}")
List<String> listDepartmentIdByUserId(@RemoteServerParams String userCenter, @RemotePathParams("userId") String userId, @RemoteQueryParams("access_token") String accessToken);
@RemotePostMethod("/list-department-id/user-ids")
List<String> listDepartmentIdByUserIds(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);
@RemotePostMethod("/list-save-department-user-id/user-id/{userId}")
List<String> listSameDepartmentUserIdByUserId(@RemoteServerParams String userCenter, @RemotePathParams("userId") String userId, @RemoteQueryParams("access_token") String accessToken);
@RemotePostMethod("/list-save-department-user-ids/user-ids")
List<String> listSameDepartmentUserIdByUserIds(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);
}

View File

@ -60,4 +60,6 @@ public interface IPositionRemoteService {
@RemotePostMethod("/list-parent/position-ids")
List<PositionDTO> listParentByPositionIds(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);
@RemotePostMethod("/list/position-parent-ids")
List<PositionDTO> listByPositionParentIds(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);
}

View File

@ -145,4 +145,40 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
return departmentUserRemoteService.listPageUserByDepartmentId(apiPathProperties.getUserCenter(), departmentId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), page.getPage(), page.getRows(), page.getParams());
}
@Override
public List<String> listDepartmentIdByUserId(String userId) {
if (StringUtils.isBlank(userId)) {
return new ArrayList<>();
}
return departmentUserRemoteService.listDepartmentIdByUserId(apiPathProperties.getUserCenter(), userId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken());
}
@Override
public List<String> listDepartmentIdByUserIds(List<String> userIds) {
if (userIds == null && userIds.isEmpty()) {
return new ArrayList<>();
}
IdsVO idsVO = new IdsVO();
idsVO.setIds(userIds);
return departmentUserRemoteService.listDepartmentIdByUserIds(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO);
}
@Override
public List<String> listSameDepartmentUserIdByUserId(String userId) {
if (StringUtils.isBlank(userId)) {
return new ArrayList<>();
}
return departmentUserRemoteService.listSameDepartmentUserIdByUserId(apiPathProperties.getUserCenter(), userId, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken());
}
@Override
public List<String> listSameDepartmentUserIdByUserIds(List<String> userIds) {
if (userIds == null || userIds.isEmpty()) {
return new ArrayList<>();
}
IdsVO idsVO = new IdsVO();
idsVO.setIds(userIds);
return departmentUserRemoteService.listSameDepartmentUserIdByUserIds(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO);
}
}

View File

@ -110,11 +110,21 @@ public class PositionServiceImpl extends DefaultBaseService implements IPosition
@Override
public List<PositionDTO> listParentByPositionIds(List<String> positionIds) {
if (positionIds.isEmpty()) {
if (positionIds == null && positionIds.isEmpty()) {
return new ArrayList<>();
}
IdsVO idsVO = new IdsVO();
idsVO.setIds(positionIds);
return positionRemoteService.listParentByPositionIds(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO);
}
@Override
public List<PositionDTO> listByPositionParentIds(List<String> positionParentIds) {
if (positionParentIds == null && positionParentIds.isEmpty()) {
return new ArrayList<>();
}
IdsVO idsVO = new IdsVO();
idsVO.setIds(positionParentIds);
return positionRemoteService.listByPositionParentIds(apiPathProperties.getUserCenter(), OAuth2ClientTokenManager.getInstance().getToken().getAccessToken(), idsVO);
}
}

View File

@ -1,6 +1,7 @@
package ink.wgink.service.department.controller.resources;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.exceptions.ParamsException;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.department.DepartmentDTO;
@ -156,4 +157,44 @@ public class DepartmentUserResourceController extends DefaultBaseController {
return departmentUserService.listPageUserByDepartmentId(departmentId, page);
}
@ApiOperation(value = "部门ID列表", notes = "通过用户ID获取部门ID列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户ID", paramType = "path", dataType = "String"),
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list-department-id/user-id/{userId}")
public List<String> listDepartmentIdByUserId(@PathVariable("userId") String userId) {
return departmentUserService.listDepartmentIdByUserId(userId);
}
@ApiOperation(value = "部门ID列表", notes = "通过用户ID列表获取部门ID列表")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("list-department-id/user-ids")
public List<String> listDepartmentIdByUserIds(@RequestBody IdsVO idsVO) {
if (idsVO.getIds().isEmpty()) {
throw new ParamsException("id列表不能为空");
}
return departmentUserService.listDepartmentIdByUserIds(idsVO.getIds());
}
@ApiOperation(value = "通过用户ID同部门用户ID列表", notes = "通过用户ID同部门用户ID列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户ID", paramType = "path", dataType = "String"),
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list-save-department-user-id/user-id/{userId}")
public List<String> listSameDepartmentUserIdByUserId(@PathVariable("userId") String userId) {
return departmentUserService.listSameDepartmentUserIdByUserId(userId);
}
@ApiOperation(value = "通过用户ID列表同部门用户ID列表", notes = "通过用户ID列表同部门用户ID列表接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("list-save-department-user-ids/user-ids")
public List<String> listSameDepartmentUserIdByUserIds(@RequestBody IdsVO idsVO) {
if (idsVO.getIds().isEmpty()) {
throw new ParamsException("id列表不能为空");
}
return departmentUserService.listSameDepartmentUserIdByUserIds(idsVO.getIds());
}
}

View File

@ -92,4 +92,14 @@ public interface IDepartmentUserDao extends IInitBaseTable {
* @throws SearchException
*/
List<UserDTO> listUser(Map<String, Object> params) throws SearchException;
/**
* 同部门用户ID列表
*
* @param params
* @return
* @throws SearchException
*/
List<String> listSameDepartmentUserId(Map<String, Object> params) throws SearchException;
}

View File

@ -452,4 +452,32 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe
PageInfo<UserDTO> pageInfo = new PageInfo<>(userDTOs);
return new SuccessResultList<>(userDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override
public List<String> listDepartmentIdByUserId(String userId) {
Map<String, Object> params = getHashMap(2);
params.put("userId", userId);
return departmentUserDao.listDepartmentId(params);
}
@Override
public List<String> listDepartmentIdByUserIds(List<String> userIds) {
Map<String, Object> params = getHashMap(2);
params.put("userIds", userIds);
return departmentUserDao.listDepartmentId(params);
}
@Override
public List<String> listSameDepartmentUserIdByUserId(String userId) {
Map<String, Object> params = getHashMap(2);
params.put("userId", userId);
return departmentUserDao.listSameDepartmentUserId(params);
}
@Override
public List<String> listSameDepartmentUserIdByUserIds(List<String> userIds) {
Map<String, Object> params = getHashMap(2);
params.put("userIds", userIds);
return departmentUserDao.listSameDepartmentUserId(params);
}
}

View File

@ -167,17 +167,19 @@
department_id
FROM
sys_department_user
WHERE
<where>
<if test="userId != null and userId != ''">
user_id = #{userId}
</if>
<if test="userIds != null and userIds.size > 0">
AND
user_id IN (
<foreach collection="userIds" index="index" open="(" separator="," close=")">
#{userIds[${index}]}
</foreach>
)
</if>
</where>
</select>
<!-- 用户列表 -->
@ -217,4 +219,31 @@
</if>
</select>
<!-- 同部门用户ID列表 -->
<select id="listSameDepartmentUserId" parameterType="map" resultType="java.lang.String" useCache="false">
SELECT
t1.user_id
FROM
sys_department_user t1
WHERE
t1.department_id IN (
SELECT
department_id
FROM
sys_department_user st1
<where>
<if test="userId != null and userId != ''">
user_id = #{userId}
</if>
<if test="userIds != null and userIds.size > 0">
AND
user_id IN
<foreach collection="userIds" index="index" open="(" separator="," close=")">
#{userIds[${index}]}
</foreach>
</if>
</where>
)
</select>
</mapper>

View File

@ -174,5 +174,14 @@ public class PositionResourceController extends DefaultBaseController {
return positionService.listParentByPositionIds(idsVO.getIds());
}
@ApiOperation(value = "通过上级职位ID列表获取职位列表", notes = "通过上级职位ID列表获取职位列表接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@PostMapping("list/position-parent-ids")
public List<PositionDTO> listByPositionParentIds(@RequestBody IdsVO idsVO) {
if (idsVO.getIds().isEmpty()) {
throw new ParamsException("ids不能为空");
}
return positionService.listByPositionParentIds(idsVO.getIds());
}
}

View File

@ -162,6 +162,13 @@ public class PositionServiceImpl extends DefaultBaseService implements IPosition
return positionDao.listParent(params);
}
@Override
public List<PositionDTO> listByPositionParentIds(List<String> positionParentIds) {
Map<String, Object> params = getHashMap(2);
params.put("positionParentIds", positionParentIds);
return positionDao.list(params);
}
/**
* 递归查询子组
*

View File

@ -162,6 +162,13 @@
#{positionIds[${index}]}
</foreach>
</if>
<if test="positionParentIds != null and positionParentIds.size > 0">
AND
position_parent_id IN
<foreach collection="positionParentIds" index="index" open="(" separator="," close=")">
#{positionParentIds[${index}]}
</foreach>
</if>
<choose>
<when test="sort != null and (sort == 'positionName' or sort == 'positionCode')">
ORDER BY

View File

@ -75,6 +75,7 @@
#{userIds[${index}]}
</foreach>
</if>
</where>
</select>
<!-- 用户ID列表 -->