/*
|
* 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<User> {
|
|
/**
|
* 新增用户
|
*
|
* @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<UserVO> selectUserPages(IPage<UserVO> page, UserVO user);
|
|
/**
|
* 自定义分页
|
*
|
* @param page
|
* @param user
|
* @param deptId
|
* @param tenantId
|
* @return
|
*/
|
IPage<UserVO> selectUserPage(IPage<UserVO> page, User user, Long deptId, String tenantId);
|
|
/**
|
* 自定义分页
|
*
|
* @param user
|
* @param query
|
* @return
|
*/
|
IPage<UserVO> 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<UserExcel> data, Boolean isCovered,String deptId);
|
|
/**
|
* 导出用户数据
|
*
|
* @return
|
*/
|
List<UserExcel> exportUser(Map<String, Object> 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<User> selectUserPageSecurity(IPage<User> page, User user);
|
|
/**
|
* 自定义用户列表(只有保安员),根据保安员查
|
*/
|
List<User> selectUserPageSecurityUnit(IPage<User> page, User user);
|
|
/**
|
* 保安员列表,帅选无保安证
|
* @param page
|
* @param user
|
* @param deptId
|
* @param s
|
* @return
|
*/
|
IPage<UserVO> selectUserPageSecurityApply(IPage<UserVO> page, UserVO user);
|
|
/**
|
* 保安员列表树 安员列表树,帅选无保安证,下拉tree
|
* @param user 用户信息
|
* @return
|
*/
|
List<TreeNode> getSecurityApplyTree(UserVO user);
|
|
/**
|
* 保安员列表树 安员列表树,帅选无保安证,下拉tree
|
* @param user 用户信息
|
* @return
|
*/
|
List<TreeNode> getSecurityDispatcherTree(UserVO user);
|
|
List<Map<Object,Object>> selectInr(String deptid);
|
|
|
/**
|
* 查询当前年份已有的保安证编号
|
* @param pre 前缀
|
* @return
|
*/
|
int getSecurityPaperCount(String pre);
|
|
/**
|
* 查询当前公司未持证保安没有报名的人员
|
* @param deptId
|
* @return
|
*/
|
List<User> getNotApplyIdList(String deptId);
|
|
/**
|
* 计算保安人员年龄
|
* @param userId
|
* @return
|
*/
|
UserVO getUserAgeById(Long userId);
|
|
List<Map<String, Object>> selectUser();
|
|
/**
|
* 导入保安员
|
* @param data
|
* @param isCovered
|
*/
|
void importSecurity(List<SecurityExcel> data, Boolean isCovered, String deptId);
|
|
/**
|
* 押运人员导入
|
* @param data
|
* @param isCovered
|
* @param deptId
|
*/
|
void importSecurityYy(List<SecurityYyExcel> data, Boolean isCovered, String deptId);
|
|
/**
|
* 根据保安员编码查询保安信息
|
* @param securityNumber 保安证编码
|
* @return
|
*/
|
UserVO getUserInfoBySecurityNumber(String securityNumber,String cardid);
|
|
/**
|
* 保安员信息
|
* @param user
|
* @return
|
*/
|
UserVO getUserDetails(User user);
|
List<Map<String, Object>> 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<QrCodeExcel> data, Boolean isCovered, String deptId);
|
|
|
/**
|
* 根据用户账户查询用户是否存在
|
* @param account
|
* @return
|
*/
|
Integer selectCountAccount(String account);
|
|
/**
|
* 保安员信息导出
|
* @param user
|
* @return
|
*/
|
List<SecurityExcel> exportSecurityInfo(UserVO user);
|
|
/**
|
* 导入保安员test
|
* @param data
|
*/
|
void importSecurityTest(List<SecurityExcel> data);
|
/**
|
* 查询押运人员编码不为null的保安信息
|
* @return
|
*/
|
List<Map<String, Object>> 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);
|
}
|