package com.ruoyi.system.service.impl; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.PoUser; import com.ruoyi.system.mapper.PoUserMapper; import com.ruoyi.system.service.IPoUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 用户Service业务层处理 * * @author ruoyi * @date 2023-01-17 */ @Service public class PoUserServiceImpl implements IPoUserService { @Autowired private PoUserMapper poUserMapper; /** * 查询用户 * * @param userId 用户主键 * @return 用户 */ @Override public PoUser selectPoUserByUserId(Long userId) { return poUserMapper.selectPoUserByUserId(userId); } /** * 查询用户列表 * * @param poUser 用户 * @return 用户 */ @Override public List selectPoUserList(PoUser poUser) { return poUserMapper.selectPoUserList(poUser); } /** * 新增用户 * * @param poUser 用户 * @return 结果 */ @Override public int insertPoUser(PoUser poUser) { poUser.setCreateTime(DateUtils.getNowDate()); return poUserMapper.insertPoUser(poUser); } /** * 修改用户 * * @param poUser 用户 * @return 结果 */ @Override public int updatePoUser(PoUser poUser) { poUser.setUpdateTime(DateUtils.getNowDate()); return poUserMapper.updatePoUser(poUser); } /** * 批量删除用户 * * @param userIds 需要删除的用户主键 * @return 结果 */ @Override public int deletePoUserByUserIds(Long[] userIds) { return poUserMapper.deletePoUserByUserIds(userIds); } /** * 删除用户信息 * * @param userId 用户主键 * @return 结果 */ @Override public int deletePoUserByUserId(Long userId) { return poUserMapper.deletePoUserByUserId(userId); } /** * 检验用户账号是否存在 * * @param poUser * @return */ @Override public String checkUserNameUnique(PoUser poUser) { return poUserMapper.checkUserNameUnique(poUser); } /** * 检验用户手机号是否存在 * * @param poUser * @return */ @Override public String checkPhoneUnique(PoUser poUser) { return poUserMapper.checkPhoneUnique(poUser); } /** * 检验邮箱是否存在 * * @param poUser * @return */ @Override public String checkEmailUnique(PoUser poUser) { return poUserMapper.checkEmailUnique(poUser); } /** * 检验用户是否有操作权限 * * @param poUser */ @Override public void checkUserAllowed(PoUser poUser) { if (StringUtils.isNotNull(poUser.getUserId()) && poUser.isAdmin()) { throw new ServiceException("不允许操作超级管理员用户"); } } /** * 检验用户是否有数据权限 * * @param userId */ @Override public void checkUserDataScope(Long userId) { { if (!PoUser.isAdmin(SecurityUtils.getUserId())) { PoUser poUser = new PoUser(); poUser.setUserId(userId); List poUsers = SpringUtils.getAopProxy(this).selectPoUserList(poUser); if (StringUtils.isEmpty(poUsers)) { throw new ServiceException("没有权限访问用户数据!"); } } } } /** * 重置密码 * @param poUser * @return */ @Override public int resetPwd(PoUser poUser) { return poUserMapper.updatePoUser(poUser); } /** * 状态修改 * @param poUser * @return */ @Override public int updateUserStatus(PoUser poUser) { return poUserMapper.updatePoUser(poUser); } }