UserService.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. package com.uas.account.service;
  2. import com.uas.account.core.Page;
  3. import com.uas.account.entity.*;
  4. import org.springframework.ui.ModelMap;
  5. import java.util.List;
  6. public interface UserService {
  7. /**
  8. * @param user
  9. * @param userDetail
  10. * @return 用户的全部账户信息
  11. */
  12. List<User> save(User user, UserDetail userDetail);
  13. void delete(User user);
  14. /**
  15. * @param user
  16. * @return 用户的全部账户信息
  17. */
  18. User findOne(User user);
  19. /**
  20. * 通过appid查询用户信息(众创的或个人注册的不存在绑定企业的关系)
  21. *
  22. * @return
  23. */
  24. User findByAppId(User user);
  25. /**
  26. * 修改密码,
  27. *
  28. * <pre>
  29. * 修改所有应用下的所有绑定企业下的登录密码
  30. * </pre>
  31. *
  32. * @param app
  33. * 源应用
  34. * @param user
  35. * @param noEncryPwd
  36. */
  37. void changePassword(App app, User user, String noEncryPwd);
  38. /**
  39. * 修改密码
  40. *
  41. * <pre>
  42. * 只修改指定应用下的,且不同步
  43. * </pre>
  44. *
  45. * @param app
  46. * @param user
  47. * @param noEncryPwd
  48. */
  49. void changePasswordAlone(App app, User user, String noEncryPwd);
  50. /**
  51. * 只用于修改手机号
  52. * @param oldTel
  53. * @param newTel
  54. * @param appId
  55. * @return
  56. */
  57. List<User> updateTel(String oldTel, String newTel, String appId);
  58. /**
  59. * 只用于修改
  60. * @param oldTel
  61. * @param newEmail
  62. * @param appId
  63. * @return
  64. */
  65. List<User> updateEmail(String oldTel, String newEmail, String appId);
  66. String setPasswordBySameApp(App app, User user, UserDetail detail);
  67. /**
  68. * 同步当前密码到其他应用
  69. *
  70. * @param user
  71. * @param noEncryPwd
  72. */
  73. void syncUserPassword(User user, String noEncryPwd);
  74. User findOne(String appId, String spaceUID, String uid);
  75. User findOne(String appId, Long spaceId, String uid);
  76. User findDialectOne(String appId, Long spaceId, String dialectUID);
  77. UserView findOneView(String appId, Long spaceId, String uid);
  78. UserView findOneViewBySecondUID(String appId, Long spaceId, String secondUID);
  79. UserView findOneViewByDialectUID(String appId, Long spaceId, String dialectUID);
  80. List<User> findByUID(String uid);
  81. List<User> findByDialectUID(String dialectUID);
  82. List<User> findBySecondUID(String secondUID);
  83. List<UserView> findViewByUID(String uid);
  84. List<UserView> findViewBySecondUID(String secondUID);
  85. List<UserView> findByAppAndUID(String appId, String uid);
  86. List<UserView> findByAppAndSecondUID(String appId, String secondUID);
  87. List<UserView> findByAppAndDialectUID(String appId, String dialectUID);
  88. /**
  89. * 按应用、企业删除用户关系
  90. *
  91. * @param appId
  92. * @param spaceId
  93. */
  94. void deleteByAppAndSpace(String appId, long spaceId);
  95. Page<User> findAll(String appId, String spaceId, int pageNumber, int pageSize);
  96. Page<User> findAllByBusinessCode(String appId, String spaceUid, int pageNumber, int pageSize);
  97. Page<UserDetail> findAllDetail(String name, String mobile, int pageNumber, int pageSize);
  98. /**
  99. * 获取密码密文
  100. *
  101. * @param format
  102. * 加密格式
  103. * @param noEncryPwd
  104. * 明文
  105. * @param salt
  106. * 盐值
  107. * @return
  108. */
  109. String getEncryPassword(String format, String noEncryPwd, String salt);
  110. /**
  111. * 调用应用接口,传输用户数据过去
  112. *
  113. * @param app
  114. * 应用
  115. * @param user
  116. * 跟应用相关的用户信息
  117. * @param userDetail
  118. * 通用的用户信息
  119. * @return
  120. * @throws Exception
  121. */
  122. User syncUserToApp(App app, User user, UserDetail userDetail) throws Exception;
  123. UserDetail findOne(String mobile);
  124. List<UserDetail> findByEmail(String email);
  125. /**
  126. * 重置secondUID
  127. *
  128. * @param uid
  129. * @param newSecondUID
  130. */
  131. void changeSecondUID(String uid, String newSecondUID);
  132. void applyApp(User user);
  133. /**
  134. * 用户开通应用统计
  135. *
  136. * @return
  137. */
  138. ModelMap getUserAppCount();
  139. /**
  140. * 获取当前用户开通的应用
  141. * @param uid_
  142. * @return
  143. */
  144. List<User> findUserAppByUID(String uid_);
  145. /**
  146. * 注册个人用户
  147. * @param user
  148. * @return
  149. */
  150. UserDetail register(UserDetail user);
  151. /**
  152. * 注册初始化账号
  153. * @param uid_
  154. * @param password
  155. */
  156. void initUser(String uid_, String password);
  157. /**
  158. * 通过企业名称查询员工的信息
  159. *
  160. * @param name
  161. * @param pageNumber
  162. * @return
  163. */
  164. List<UserSpaceDetailInfo> findByEnName(String name, Integer pageNumber);
  165. /**
  166. * 通过企业营业执照查询员工的信息
  167. *
  168. * @param businessCode
  169. * @return
  170. */
  171. List<User> findByBusinessCode(String businessCode);
  172. Integer getEnterpriseCount();
  173. Integer getPersonalUserCount();
  174. Integer getUuUserCount();
  175. /**
  176. * uu众创注册数据同步
  177. *
  178. * @param userDetail
  179. */
  180. UuzcUserDeatil initUserForUUzc(UserDetail userDetail, String password);
  181. /**
  182. * 保存用户详情
  183. *
  184. * @param detail
  185. * @return
  186. */
  187. UserDetail save(UserDetail detail);
  188. /**
  189. * 查询当前企业是否已经存在hr账号
  190. *
  191. * @param businessCode
  192. * @return
  193. */
  194. Integer findHrAccount(String businessCode);
  195. void setHrAccount(UserDetail detail, UuzcUserSpaceDetail userSpaceDetail) throws Exception;
  196. /**
  197. * 根据手机号查询用户UU号
  198. * @param tel
  199. * @return
  200. */
  201. Long findUserUUByMobile(String tel);
  202. /**
  203. * 锁定账号
  204. * @param account 需要锁定的账号
  205. */
  206. void lock(String account);
  207. /**
  208. * 判断账号是否被锁定
  209. * @param account 需要判断的账号
  210. * @return
  211. */
  212. boolean isLock(String account);
  213. /**
  214. * 获取当前企业HR的信息
  215. * @param businessCode
  216. * @return
  217. */
  218. User findHrInfo(String businessCode);
  219. /**
  220. * 更新企业hr信息
  221. *
  222. * @param hrInfo
  223. * @param flag
  224. */
  225. void updateHrInfo(User hrInfo, boolean flag);
  226. /**
  227. * 同步用户信息到b2b
  228. * @param userDetail
  229. * @param password
  230. * @return
  231. */
  232. User syncUserToB2B(UserDetail userDetail, String password);
  233. /**
  234. * 根据imId获取User信息
  235. * @param imId 用户imId
  236. * @return User信息
  237. */
  238. User getUserByImId(Long imId);
  239. /**
  240. * 根据userUU获取imId
  241. * @param userUU 用户UU
  242. * @return 用户imId
  243. */
  244. Long getImIdByUserUU(Long userUU);
  245. /**
  246. * 根据企业营业执照号找到企业下所有用户
  247. * @param appId 应用id
  248. * @param businessCode 营业执照号
  249. * @param start
  250. * @param end
  251. * @return 企业下对应应用的用户数据
  252. */
  253. List<User> findBySpaceUid(String appId, String businessCode, int start, int end);
  254. /**
  255. * 根据企业uu和手机号找用户
  256. * @param appId
  257. * @param spaceDialectUID
  258. * @param uid
  259. * @return
  260. */
  261. User findBySpaceDialectUID(String appId, String spaceDialectUID, String uid);
  262. }