/*
|
* 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<User> {
|
|
/**
|
* 新增用户
|
*
|
* @param user
|
* @return
|
*/
|
boolean submit(User user);
|
|
/**
|
* 批量新增用户
|
*
|
* @param users
|
* @return
|
*/
|
boolean submitList(List<User> 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<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId);
|
|
/**
|
* 自定义分页
|
*
|
* @param user
|
* @param deptId
|
* @return
|
*/
|
List<User> selectAllUser(User user, Long deptId);
|
|
/**
|
* 自定义分页
|
*
|
* @param user
|
* @param query
|
* @return
|
*/
|
IPage<UserVO> 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<UserExcel> data, Boolean isCovered);
|
|
/**
|
* 导出用户数据
|
*
|
* @param queryWrapper
|
* @return
|
*/
|
List<UserExcel> exportUser(Wrapper<User> 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<Long> userIds);
|
|
/**
|
* 获取到指定身份权限的用户列表
|
* @param user 用户查询的用户信息,如租户信息,通常为自动注入,前端可选择不传
|
* @param roleName 要查询的角色身份
|
* @return
|
*/
|
List<UserVO> getByRoleUserList(BladeUser user, String roleName);
|
|
}
|