/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.vci.ubcs.system.user.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vci.ubcs.system.user.entity.User; import com.vci.ubcs.system.user.entity.UserInfo; import com.vci.ubcs.system.user.entity.UserOauth; import com.vci.ubcs.system.user.enums.UserEnum; import com.vci.ubcs.system.user.excel.UserExcel; import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.support.Query; import com.vci.ubcs.system.user.vo.UserVO; import org.springblade.core.secure.BladeUser; import java.util.List; /** * 服务类 * * @author Chill */ public interface IUserService extends BaseService { /** * 新增用户 * * @param user * @return */ boolean submit(User user); /** * 批量新增用户 * * @param users * @return */ boolean submitList(List users); /** * 修改用户 * * @param user * @return */ boolean updateUser(User user); /** * 修改用户基本信息 * * @param user * @return */ boolean updateUserInfo(User user); /** * 自定义分页 * * @param page * @param user * @param deptId * @param tenantId * @return */ IPage selectUserPage(IPage page, User user, Long deptId, String tenantId); /** * 自定义分页 * * @param user * @param deptId * @return */ List selectAllUser(User user, Long deptId); /** * 自定义分页 * * @param user * @param query * @return */ IPage selectUserSearch(UserVO user, Query query); /** * 用户信息 * * @param userId * @return */ UserInfo userInfo(Long userId); /** * 用户信息 * * @param tenantId * @param account * @return */ UserInfo userInfo(String tenantId, String account); /** * 用户信息,为啥不删了上边那个方法呢,因为我不敢,牵扯有点多 * * @param tenantId * @param account * @return */ UserInfo userInfo(String tenantId, String account,String name); /** * 用户信息 * * @param tenantId * @param account * @param userEnum * @return */ UserInfo userInfo(String tenantId, String account, UserEnum userEnum); /** * 用户信息 * * @param userOauth * @return */ UserInfo userInfo(UserOauth userOauth); /** * 根据账号获取用户 * * @param tenantId * @param account * @return */ User userByAccount(String tenantId, String account); /** * 给用户设置角色 * * @param userIds * @param roleIds * @return */ boolean grant(String userIds, String roleIds); /** * 初始化密码 * * @param userIds * @return */ boolean resetPassword(String userIds); /** * 修改密码 * * @param userId * @param oldPassword * @param newPassword * @param newPassword1 * @return */ boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1); /** * 删除用户 * * @param userIds * @return */ boolean removeUser(String userIds); /** * 导入用户数据 * * @param data * @param isCovered * @return */ void importUser(List data, Boolean isCovered); /** * 导出用户数据 * * @param queryWrapper * @return */ List exportUser(Wrapper queryWrapper); /** * 注册用户 * * @param user * @param oauthId * @return */ boolean registerGuest(User user, Long oauthId); /** * 配置用户平台 * * @param userId * @param userType * @param userExt * @return */ boolean updatePlatform(Long userId, Integer userType, String userExt); /** * 用户详细信息 * * @param user * @return */ UserVO platformDetail(User user); /** * 检查用户是否到了提醒用户修改密码或者密码过期的时间 * */ Long checkRenAndExpr(Long userId); /** * 因密码策略修改或默认密码策略被修改,所以用户状态提醒也需做相应的更改 * @param userIds * @return */ boolean updateByUseStrategyId(List userIds); /** * 获取到指定身份权限的用户列表 * @param user 用户查询的用户信息,如租户信息,通常为自动注入,前端可选择不传 * @param roleName 要查询的角色身份 * @return */ List getByRoleUserList(BladeUser user, String roleName); }