package com.uas.sso.service; import com.uas.sso.entity.User; import com.uas.sso.entity.UserQuestion; import com.uas.sso.entity.UserRecord; import com.uas.sso.entity.UserSpaceDetailInfo; import org.springframework.data.domain.Page; import java.util.List; /** * 用户信息service * * @author wangmh * @date 2018/1/2 */ public interface UserService { /** * 根据手机号查找用户基本信息 * * @param mobile 手机号 * @param mobileArea 手机所属地区 * @return 查找到用户,未找到为null */ User findByMobile(String mobile, String mobileArea); /** * 根据手机号查找用户基本信息 * * @param mobile 手机号 * @return 查找到用户,未找到为null */ User findByMobile(String mobile); /** * 判断手机号是否已经注册 * * @param mobile 用户手机号 * @return * true: 已经被注册 * false: 未被注册 */ boolean mobileHasRegistered(String mobile); /** * 判断邮箱是否已经注册 * * @param email 邮箱 * @return * true: 已经被注册 * false: 未被注册 */ boolean emailHasRegistered(String email); /** * 注册新用户 * * @param user 用户信息 * @return 保存后用户信息 */ User register(User user); /** * 获取密码密文 * * @param format 加密方式 * @param noEncryPwd 未加密的密码 * @param salt 盐值 * @return 加密后的密码 */ String getEncryPassword(String format, String noEncryPwd, String salt); /** * 保存用户信息 * * @param user 用户信息 * @return 保存后用户信息 */ User save(User user); /** * 校验优软云密码,不能校验erp的密码 * * @param userUU 用户uu号 * @param password 密码 * @param isEncry 密码是否加密 */ void checkPassword(Long userUU, String password, boolean isEncry); /** * 根据手机号校验优软云密码,不能校验erp的密码 * * @param mobile 登录的手机号 * @param password 密码 * @param isEncry password密码是否加密 */ void checkPasswordByMobile(String mobile, String password, boolean isEncry); /** * 根据邮箱校验优软云密码,不能校验erp的密码 * * @param email 登录邮箱 * @param password 密码 * @param isEncry 密码是否加密 */ void checkPasswordByEmail(String email, String password, boolean isEncry); /** * 获得当前账号密码输错次数 * * @param username 账号 * @return */ int getPwdErrorCount(String username); /** * 根据用户名找到用户,如果用户名为邮箱,则为已认证邮箱 * * @param username * @return */ User findByUsername(String username); /** * 保存用户登录记录 * * @param userRecord */ void save(UserRecord userRecord); /** * 根据用户uu号查找用户 * * @param userUU 用户uu号 * @return */ User findOne(Long userUU); /** * 用户真实姓名是否被认证 * * @author wangmh * @date 2018/1/11 14:48 * @param realName * @return */ boolean realNameIsValid(String realName); /** * 身份证号是否被认证 * * @author wangmh * @date 2018/1/11 14:56 * @param idCard 身份证 * @return */ boolean idCardIsValid(String idCard); /** * 提交身份认证信息 * * @author wangmh * @date 2018/1/11 15:15 * @param user */ void submitIdValidInfo(User user); /** * 修改手机号 * @param userUU 用户uu号 * @param newMobile 新手机号 */ void updateMobile(Long userUU, String newMobile); /** * 修改邮箱 * @param userUU 用户uu号 * @param newEmail 新邮箱 */ void updateEmail(Long userUU, String newEmail); /** * 根据企业uu号查找企业uu * @param page 页数 * @param size 大小 * @param spaceUU 企业uu号 * @return */ Page findMemberBySpaceUU(int page, int size, Long spaceUU); /** * 用户绑定企业 * @param appId 应用id * @param userUU 用户uu号 * @param spaceUU 绑定的企业uu号 */ void bindUserspace(String appId, Long userUU, Long spaceUU); /** * 用户解除绑定企业 * @param userUU 用户uu号 * @param spaceUU 绑定的企业uu号 */ void unbindUserspace(Long userUU, Long spaceUU); /** * 设置用户密保 * @param userUU 用户uu号 * @param questions */ void setQuestion(Long userUU, List questions); /** * 查询重复的邮箱 * @return 邮箱 */ List findRepeatEmail(); /** * 根据邮箱查询用户信息 * @param email 邮箱 * @return */ List findByEmail(String email); /** * 修改用户密码 * @param userUU 用户uu号 * @param password 密码 * @return */ User updatePassword(Long userUU, String password); /** * uu互联接口,根据手机号查找信息 * @param tels 手机号(逗号分隔) * @return */ List findUserByTels(List tels); }