/* * 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.core.tool.api.R; 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.QrCodeExcel; import org.springblade.modules.system.excel.SecurityExcel; import org.springblade.modules.system.excel.SecurityYyExcel; import org.springblade.modules.system.excel.UserExcel; import org.springblade.modules.system.node.TreeNode; import org.springblade.modules.system.vo.UserInfoDetail; 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 * @return */ IPage selectUserPages(IPage page, UserVO user); /** * 自定义分页 * * @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,String deptId); /** * 导出用户数据 * * @return */ List exportUser(Map user); /** * 注册用户 * * @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); /** * 保安员列表树 安员列表树,帅选无保安证,下拉tree * @param user 用户信息 * @return */ List getSecurityDispatcherTree(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); List> selectUser(); /** * 导入保安员 * @param data * @param isCovered */ void importSecurity(List data, Boolean isCovered, String deptId); /** * 押运人员导入 * @param data * @param isCovered * @param deptId */ void importSecurityYy(List data, Boolean isCovered, String deptId); /** * 根据保安员编码查询保安信息 * @param securityNumber 保安证编码 * @return */ UserVO getUserInfoBySecurityNumber(String securityNumber,String cardid); /** * 保安员信息 * @param user * @return */ UserVO getUserDetails(User user); List> seleL(String type,String deptid,String jurisdiction,Long userId); /** * 查询账号相同的用户数量 * @param account * @return */ Integer selectCount(String account); /** * 查询用户表中未删除,未离职的用户信息 * @param username * @return */ User getUserInfo(String username); /** * 生成二维码 * @param data * @param isCovered * @param deptId */ void importQrCode(List data, Boolean isCovered, String deptId); /** * 根据用户账户查询用户是否存在 * @param account * @return */ Integer selectCountAccount(String account); /** * 保安员信息导出 * @param user * @return */ List exportSecurityInfo(UserVO user); /** * 导入保安员test * @param data */ void importSecurityTest(List data); /** * 查询押运人员编码不为null的保安信息 * @return */ List> selectEquipent(); /** * 年龄分布查询 * @param user * @return */ Object getAgeStatistics(UserVO user); /** * 查询登录密码还是 123456 的单位信息 * @return */ Object getNotUpdatePwdInfo(); /** * 根据用户 id 查询用户信息 * @param id * @return */ User getUserById(String id); /** * 获取用户信息 * @param tenantId * @param phone * @param web * @return */ UserInfo userInfoByWx(String tenantId, String phone, UserEnum web); /** * 6个月未登录人员,进行冻结 */ void sixMonthNotLoginHandle(); /** * 12个月未登录人员,进行注销 */ void oneYearNotLoginHandle(); /** * 判断用户是否存在(根据手机号) * @param phone * @return */ UserInfo getUserByPhone(String phone); /** * 判断是否报名 * @param id * @return */ boolean getUserIsApply(Long id); /** * 自定义查询详情信息 * @param id * @return */ UserVO getUserDetailById(Long id); /** * 数据处理 * @return */ Object dataHandler(); Boolean wxRegister(User user); UserInfoDetail getUserInfoDetail(String id); boolean batchAudit(String ids, String auditStatus); }