UserService.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. package com.uas.sso.service;
  2. import com.uas.sso.entity.User;
  3. import com.uas.sso.entity.UserQuestion;
  4. import com.uas.sso.entity.UserRecord;
  5. import org.springframework.data.domain.Page;
  6. import java.util.List;
  7. /**
  8. * 用户信息service
  9. *
  10. * @author wangmh
  11. * @date 2018/1/2
  12. */
  13. public interface UserService {
  14. /**
  15. * 根据手机号查找用户基本信息
  16. *
  17. * @param mobile 手机号
  18. * @param mobileArea 手机所属地区
  19. * @return 查找到用户,未找到为null
  20. */
  21. User findByMobile(String mobile, String mobileArea);
  22. /**
  23. * 根据手机号查找用户基本信息
  24. *
  25. * @param mobile 手机号
  26. * @return 查找到用户,未找到为null
  27. */
  28. User findByMobile(String mobile);
  29. /**
  30. * 判断手机号是否已经注册
  31. *
  32. * @param mobile 用户手机号
  33. * @return
  34. * true: 已经被注册
  35. * false: 未被注册
  36. */
  37. boolean mobileHasRegistered(String mobile);
  38. /**
  39. * 判断邮箱是否已经注册
  40. *
  41. * @param email 邮箱
  42. * @return
  43. * true: 已经被注册
  44. * false: 未被注册
  45. */
  46. boolean emailHasRegistered(String email);
  47. /**
  48. * 注册新用户
  49. *
  50. * @param user 用户信息
  51. * @return 保存后用户信息
  52. */
  53. User register(User user);
  54. /**
  55. * 获取密码密文
  56. *
  57. * @param format 加密方式
  58. * @param noEncryPwd 未加密的密码
  59. * @param salt 盐值
  60. * @return 加密后的密码
  61. */
  62. String getEncryPassword(String format, String noEncryPwd, String salt);
  63. /**
  64. * 保存用户信息
  65. *
  66. * @param user 用户信息
  67. * @return 保存后用户信息
  68. */
  69. User save(User user);
  70. /**
  71. * 校验优软云密码,不能校验erp的密码
  72. *
  73. * @param userUU 用户uu号
  74. * @param password 密码
  75. * @param isEncry 密码是否加密
  76. */
  77. void checkPassword(Long userUU, String password, boolean isEncry);
  78. /**
  79. * 根据手机号校验优软云密码,不能校验erp的密码
  80. *
  81. * @param mobile 登录的手机号
  82. * @param password 密码
  83. * @param isEncry password密码是否加密
  84. */
  85. void checkPasswordByMobile(String mobile, String password, boolean isEncry);
  86. /**
  87. * 根据邮箱校验优软云密码,不能校验erp的密码
  88. *
  89. * @param email 登录邮箱
  90. * @param password 密码
  91. * @param isEncry 密码是否加密
  92. */
  93. void checkPasswordByEmail(String email, String password, boolean isEncry);
  94. /**
  95. * 获得当前账号密码输错次数
  96. *
  97. * @param username 账号
  98. * @return
  99. */
  100. int getPwdErrorCount(String username);
  101. /**
  102. * 根据用户名找到用户,如果用户名为邮箱,则为已认证邮箱
  103. *
  104. * @param username
  105. * @return
  106. */
  107. User findByUsername(String username);
  108. /**
  109. * 保存用户登录记录
  110. *
  111. * @param userRecord
  112. */
  113. void save(UserRecord userRecord);
  114. /**
  115. * 根据用户uu号查找用户
  116. *
  117. * @param userUU 用户uu号
  118. * @return
  119. */
  120. User findOne(Long userUU);
  121. /**
  122. * 用户真实姓名是否被认证
  123. *
  124. * @author wangmh
  125. * @date 2018/1/11 14:48
  126. * @param realName
  127. * @return
  128. */
  129. boolean realNameIsValid(String realName);
  130. /**
  131. * 身份证号是否被认证
  132. *
  133. * @author wangmh
  134. * @date 2018/1/11 14:56
  135. * @param idCard 身份证
  136. * @return
  137. */
  138. boolean idCardIsValid(String idCard);
  139. /**
  140. * 提交身份认证信息
  141. *
  142. * @author wangmh
  143. * @date 2018/1/11 15:15
  144. * @param user
  145. */
  146. void submitIdValidInfo(User user);
  147. /**
  148. * 修改手机号
  149. * @param userUU 用户uu号
  150. * @param newMobile 新手机号
  151. */
  152. void updateMobile(Long userUU, String newMobile);
  153. /**
  154. * 修改邮箱
  155. * @param userUU 用户uu号
  156. * @param newEmail 新邮箱
  157. */
  158. void updateEmail(Long userUU, String newEmail);
  159. /**
  160. * 根据企业uu号查找企业uu
  161. * @param page 页数
  162. * @param size 大小
  163. * @param spaceUU 企业uu号
  164. * @return
  165. */
  166. Page<User> findMemberBySpaceUU(int page, int size, Long spaceUU);
  167. /**
  168. * 用户绑定企业
  169. * @param userUU 用户uu号
  170. * @param spaceUU 绑定的企业uu号
  171. */
  172. void bindUserspace(Long userUU, Long spaceUU);
  173. /**
  174. * 用户解除绑定企业
  175. * @param userUU 用户uu号
  176. * @param spaceUU 绑定的企业uu号
  177. */
  178. void unbindUserspace(Long userUU, Long spaceUU);
  179. /**
  180. * 设置用户密保
  181. * @param userUU 用户uu号
  182. * @param questions
  183. */
  184. void setQuestion(Long userUU, List<UserQuestion> questions);
  185. }