/* * 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 org.springblade.modules.system.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.support.Query; import org.springblade.modules.auth.enums.UserEnum; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.entity.UserInfo; import org.springblade.modules.system.entity.UserOauth; import org.springblade.modules.system.excel.UserExcel; import org.springblade.modules.system.node.TreeNode; import org.springblade.modules.system.vo.UserVO; import java.util.List; import java.util.Map; /** * 服务类 * * @author Chill */ public interface IUserService extends BaseService { /** * 新增用户 * * @param user * @return */ boolean submit(User user); /** * 修改用户 * * @param user * @return */ boolean updateUser(User user); /** * 修改用户基本信息 * * @param user * @return */ boolean updateUserInfo(User user); /** * 自定义分页 * * @param page * @param user * @param deptId * @param tenantId * @return */ IPage selectUserPages(IPage page, UserVO user, Long deptId, String tenantId); /** * 自定义分页 * * @param page * @param user * @param deptId * @param tenantId * @return */ IPage selectUserPage(IPage page, User user, Long deptId, String tenantId); /** * 自定义分页 * * @param user * @param query * @return */ IPage selectUserSearch(UserVO user, Query query); /** * 根据账号获取用户 * * @param tenantId * @param account * @return */ User userByAccount(String tenantId, String account); /** * 用户信息 * * @param userId * @return */ UserInfo userInfo(Long userId); /** * 用户信息 * * @param tenantId * @param account * @param password * @return */ UserInfo userInfo(String tenantId, String account, String password); /** * 用户信息 * * @param tenantId * @param account * @param password * @param userEnum * @return */ UserInfo userInfo(String tenantId, String account, String password, UserEnum userEnum); /** * 用户信息 * * @param userOauth * @return */ UserInfo userInfo(UserOauth userOauth); /** * 给用户设置角色 * * @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); /** * 通过 身份证号查询用户信息 * @param idCardNo 身份证号 * @return */ User getUserInfoByIdCardNo(String idCardNo); /** * 自定义用户列表(只有保安员) */ IPage selectUserPageSecurity(IPage page, User user); /** * 自定义用户列表(只有保安员),根据保安员查 */ List selectUserPageSecurityUnit(IPage page, User user); /** * 保安员列表,帅选无保安证 * @param page * @param user * @param deptId * @param s * @return */ IPage selectUserPageSecurityApply(IPage page, UserVO user); /** * 保安员列表树 安员列表树,帅选无保安证,下拉tree * @param user 用户信息 * @return */ List getSecurityApplyTree(UserVO user); List> selectInr(String deptid); /** * 查询当前年份已有的保安证编号 * @param pre 前缀 * @return */ int getSecurityPaperCount(String pre); /** * 查询当前公司未持证保安没有报名的人员 * @param deptId * @return */ List getNotApplyIdList(String deptId); /** * 计算保安人员年龄 * @param userId * @return */ UserVO getUserAgeById(Long userId); }