UserService.java 5.4 KB

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