ISysUserService.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. package com.railway.system.service;
  2. import com.railway.common.core.domain.AjaxResult;
  3. import com.railway.common.core.domain.entity.SysUser;
  4. import java.util.List;
  5. /**
  6. * 用户 业务层
  7. *
  8. * @author railway
  9. */
  10. public interface ISysUserService {
  11. /**
  12. * 根据条件分页查询用户列表
  13. *
  14. * @param user 用户信息
  15. * @return 用户信息集合信息
  16. */
  17. List<SysUser> selectUserList(SysUser user);
  18. /**
  19. * 根据条件分页查询已分配用户角色列表
  20. *
  21. * @param user 用户信息
  22. * @return 用户信息集合信息
  23. */
  24. List<SysUser> selectAllocatedList(SysUser user);
  25. /**
  26. * 根据条件分页查询未分配用户角色列表
  27. *
  28. * @param user 用户信息
  29. * @return 用户信息集合信息
  30. */
  31. List<SysUser> selectUnallocatedList(SysUser user);
  32. /**
  33. * 通过用户名查询用户
  34. *
  35. * @param userName 用户名
  36. * @return 用户对象信息
  37. */
  38. SysUser selectUserByUserName(String userName);
  39. /**
  40. * 通过工号查询用户
  41. *
  42. * @param nickName 工号
  43. * @return 用户对象信息
  44. */
  45. SysUser selectUserByNickName(String nickName);
  46. /**
  47. * 通过手机号查询用户
  48. *
  49. * @param phone 手机号
  50. * @return 用户对象信息
  51. */
  52. SysUser selectUserByPhone(String phone);
  53. /**
  54. * 通过用户ID查询用户
  55. *
  56. * @param userId 用户ID
  57. * @return 用户对象信息
  58. */
  59. SysUser selectUserById(Long userId);
  60. /**
  61. * 根据用户ID查询用户所属角色组
  62. *
  63. * @param userName 用户名
  64. * @return 结果
  65. */
  66. String selectUserRoleGroup(String userName);
  67. /**
  68. * 根据用户ID查询用户所属岗位组
  69. *
  70. * @param userName 用户名
  71. * @return 结果
  72. */
  73. String selectUserPostGroup(String userName);
  74. /**
  75. * 校验用户是否唯一
  76. *
  77. * @param user 用户信息
  78. * @return 结果
  79. */
  80. AjaxResult checkUserUnique(SysUser user);
  81. /**
  82. * 校验用户名称是否唯一
  83. *
  84. * @param userName 用户名称
  85. * @return 结果
  86. */
  87. String checkUserNameUnique(String userName);
  88. /**
  89. * 校验工号是否唯一
  90. *
  91. * @param user 用户信息
  92. * @return 结果
  93. */
  94. String checkNickNameUnique(SysUser user);
  95. /**
  96. * 校验手机号码是否唯一
  97. *
  98. * @param user 用户信息
  99. * @return 结果
  100. */
  101. String checkPhoneUnique(SysUser user);
  102. /**
  103. * 校验email是否唯一
  104. *
  105. * @param user 用户信息
  106. * @return 结果
  107. */
  108. String checkEmailUnique(SysUser user);
  109. /**
  110. * 校验用户是否允许操作
  111. *
  112. * @param user 用户信息
  113. */
  114. void checkUserAllowed(SysUser user);
  115. /**
  116. * 校验用户是否有数据权限
  117. *
  118. * @param userId 用户id
  119. */
  120. void checkUserDataScope(Long userId);
  121. /**
  122. * 校验用户角色是否冲突
  123. *
  124. * @param roleIds 角色id
  125. */
  126. String checkUserRole(Long[] roleIds);
  127. /**
  128. * 新增用户信息
  129. *
  130. * @param user 用户信息
  131. * @return 结果
  132. */
  133. int insertUser(SysUser user);
  134. /**
  135. * 注册用户信息
  136. *
  137. * @param user 用户信息
  138. * @return 结果
  139. */
  140. boolean registerUser(SysUser user);
  141. /**
  142. * 修改用户信息
  143. *
  144. * @param user 用户信息
  145. * @return 结果
  146. */
  147. int updateUser(SysUser user);
  148. /**
  149. * 用户授权角色
  150. *
  151. * @param userId 用户ID
  152. * @param roleIds 角色组
  153. */
  154. void insertUserAuth(Long userId, Long[] roleIds);
  155. /**
  156. * 修改用户状态
  157. *
  158. * @param user 用户信息
  159. * @return 结果
  160. */
  161. int updateUserStatus(SysUser user);
  162. /**
  163. * 修改用户基本信息
  164. *
  165. * @param user 用户信息
  166. * @return 结果
  167. */
  168. int updateUserProfile(SysUser user);
  169. /**
  170. * 修改用户头像
  171. *
  172. * @param userId 用户ID
  173. * @param avatar 头像地址
  174. * @return 结果
  175. */
  176. boolean updateUserAvatar(Long userId, String avatar);
  177. /**
  178. * 重置用户密码
  179. *
  180. * @param user 用户信息
  181. * @return 结果
  182. */
  183. int resetPwd(SysUser user);
  184. /**
  185. * 重置用户密码
  186. *
  187. * @param userId 用户ID
  188. * @param password 密码
  189. * @return 结果
  190. */
  191. int resetUserPwd(Long userId, String password);
  192. /**
  193. * 通过用户ID删除用户
  194. *
  195. * @param userId 用户ID
  196. * @return 结果
  197. */
  198. int deleteUserById(Long userId);
  199. /**
  200. * 批量删除用户信息
  201. *
  202. * @param userIds 需要删除的用户ID
  203. * @return 结果
  204. */
  205. int deleteUserByIds(Long[] userIds);
  206. /**
  207. * 导入用户数据
  208. *
  209. * @param userList 用户数据列表
  210. * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
  211. * @param operName 操作用户
  212. * @return 结果
  213. */
  214. String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
  215. }