houzhongjian
2024-09-14 818a0170d8f2950d52cc7300a302356bbc523236
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.dept;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.module.system.controller.admin.dept.vo.post.PostPageReqVO;
5 import com.iailab.module.system.controller.admin.dept.vo.post.PostSaveReqVO;
6 import com.iailab.module.system.dal.dataobject.dept.PostDO;
7 import org.springframework.lang.Nullable;
8
9 import java.util.Collection;
10 import java.util.List;
11
12 /**
13  * 岗位 Service 接口
14  *
15  * @author iailab
16  */
17 public interface PostService {
18
19     /**
20      * 创建岗位
21      *
22      * @param createReqVO 岗位信息
23      * @return 岗位编号
24      */
25     Long createPost(PostSaveReqVO createReqVO);
26
27     /**
28      * 更新岗位
29      *
30      * @param updateReqVO 岗位信息
31      */
32     void updatePost(PostSaveReqVO updateReqVO);
33
34     /**
35      * 删除岗位信息
36      *
37      * @param id 岗位编号
38      */
39     void deletePost(Long id);
40
41     /**
42      * 获得岗位列表
43      *
44      * @param ids 岗位编号数组
45      * @return 部门列表
46      */
47     List<PostDO> getPostList(@Nullable Collection<Long> ids);
48
49     /**
50      * 获得符合条件的岗位列表
51      *
52      * @param ids 岗位编号数组。如果为空,不进行筛选
53      * @param statuses 状态数组。如果为空,不进行筛选
54      * @return 部门列表
55      */
56     List<PostDO> getPostList(@Nullable Collection<Long> ids,
57                              @Nullable Collection<Integer> statuses);
58
59     /**
60      * 获得岗位分页列表
61      *
62      * @param reqVO 分页条件
63      * @return 部门分页列表
64      */
65     PageResult<PostDO> getPostPage(PostPageReqVO reqVO);
66
67     /**
68      * 获得岗位信息
69      *
70      * @param id 岗位编号
71      * @return 岗位信息
72      */
73     PostDO getPost(Long id);
74
75     /**
76      * 校验岗位们是否有效。如下情况,视为无效:
77      * 1. 岗位编号不存在
78      * 2. 岗位被禁用
79      *
80      * @param ids 岗位编号数组
81      */
82     void validatePostList(Collection<Long> ids);
83
84 }