| | |
| | | package com.ruoyi.system.service.impl.sys; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Validator; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.api.domain.dto.AppEditUserDto; |
| | | import com.ruoyi.system.api.domain.poji.config.SysTag; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | | import com.ruoyi.system.domain.pojo.coupon.Coupon; |
| | | import com.ruoyi.system.mapper.coupon.CouponMapper; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | import com.ruoyi.common.core.constant.UserConstants; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.common.core.utils.SpringUtils; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.bean.BeanValidators; |
| | | import com.ruoyi.common.datascope.annotation.DataScope; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.system.api.domain.dto.AppEditUserDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtFrozenMemberDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtUserIdByDept; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysRole; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysUser; |
| | | import com.ruoyi.system.api.domain.vo.MgtSysSimpleUserVo; |
| | | import com.ruoyi.system.domain.dto.UserMenuEditDto; |
| | | import com.ruoyi.system.domain.pojo.sys.SysPost; |
| | | import com.ruoyi.system.domain.pojo.sys.SysUserMenu; |
| | | import com.ruoyi.system.domain.pojo.sys.SysUserPost; |
| | | import com.ruoyi.system.domain.pojo.sys.SysUserRole; |
| | | import com.ruoyi.system.mapper.sys.SysPostMapper; |
| | | import com.ruoyi.system.mapper.sys.SysRoleMapper; |
| | | import com.ruoyi.system.mapper.sys.SysUserMapper; |
| | | import com.ruoyi.system.mapper.sys.SysUserPostMapper; |
| | | import com.ruoyi.system.mapper.sys.SysUserRoleMapper; |
| | | import com.ruoyi.system.mapper.sys.*; |
| | | import com.ruoyi.system.service.sys.ISysConfigService; |
| | | import com.ruoyi.system.service.sys.ISysUserService; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Validator; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 用户 业务层处理 |
| | |
| | | |
| | | @Resource |
| | | protected Validator validator; |
| | | |
| | | @Resource |
| | | protected SysUserMenuMapper userMenuMapper; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 根据条件分页查询用户列表 |
| | |
| | | String editValue = appEditUserDto.getEditValue(); |
| | | switch (editType){ |
| | | case 1: |
| | | sysUser.setNickName(editValue); |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | case 2: |
| | | sysUser.setAvatar(editValue); |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | case 3: |
| | | sysUser.setSex(editValue); |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | case 4: |
| | | break; |
| | | case 5: |
| | | sysUser.setNickName(editValue); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 获取部门用户 |
| | | * @author jqs |
| | | * @date 2023/6/21 16:00 |
| | | * @param userIdByDept |
| | | * @return MgtUserIdByDept |
| | | */ |
| | | @Override |
| | | public MgtUserIdByDept getUserIdByDept(MgtUserIdByDept userIdByDept){ |
| | | List<Long> userIdList = userMapper.getUserIdByDept(userIdByDept); |
| | | userIdByDept.setUserIdList(userIdList); |
| | | return userIdByDept; |
| | | } |
| | | |
| | | /** |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/6/25 14:35 |
| | | * @param mgtBaseBathDto |
| | | * @return List<MgtSysSimpleUserVo> |
| | | */ |
| | | @Override |
| | | public List<MgtSysSimpleUserVo> listSimpleUserVo(MgtBaseBathDto mgtBaseBathDto){ |
| | | return userMapper.listSimpleUserVo(mgtBaseBathDto.getIds()); |
| | | } |
| | | |
| | | /** |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/6/25 16:37 |
| | | * @param userMenuEditDto |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void editUserMenu(UserMenuEditDto userMenuEditDto){ |
| | | SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId()); |
| | | sysUser.setDataScope(userMenuEditDto.getDataScope()); |
| | | sysUser.setDataScopeEmployee(userMenuEditDto.getDataScopeEmployee()); |
| | | userMapper.updateUser(sysUser); |
| | | userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId()); |
| | | int rows = 1; |
| | | // 新增用户与角色管理 |
| | | List<SysUserMenu> list = new ArrayList<SysUserMenu>(); |
| | | for (Long menuId : userMenuEditDto.getMenuIds()) |
| | | { |
| | | SysUserMenu rm = new SysUserMenu(); |
| | | rm.setUserId(userMenuEditDto.getUserId()); |
| | | rm.setMenuId(menuId); |
| | | rm.setMenuFrom(1); |
| | | list.add(rm); |
| | | } |
| | | for(Long menuId : userMenuEditDto.getStaffMenuIds()){ |
| | | SysUserMenu rm = new SysUserMenu(); |
| | | rm.setUserId(userMenuEditDto.getUserId()); |
| | | rm.setMenuId(menuId); |
| | | rm.setMenuFrom(2); |
| | | list.add(rm); |
| | | } |
| | | if (list.size() > 0) |
| | | { |
| | | rows = userMenuMapper.batchUserMenu(list); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/6/26 10:36 |
| | | * @param sysUser |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void updateOnlyUser(SysUser sysUser){ |
| | | userMapper.updateUser(sysUser); |
| | | } |
| | | |
| | | /** |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/7/5 21:24 |
| | | * @param mgtFrozenMemberDto |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void frozenUser(MgtFrozenMemberDto mgtFrozenMemberDto){ |
| | | Long userId = mgtFrozenMemberDto.getId(); |
| | | SysUser sysUser = this.selectUserById(userId); |
| | | if(mgtFrozenMemberDto.getFrozenFlag()==1){ |
| | | sysUser.setStatus("1"); |
| | | }else{ |
| | | sysUser.setStatus("0"); |
| | | } |
| | | userMapper.updateUser(sysUser); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取当前员工权限范围内的员工id |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Long> getScopeOfAuthorityUserId() { |
| | | List<Long> userIds = new ArrayList<>(); |
| | | Long userId = SecurityUtils.getUserId(); |
| | | SysUser user = this.baseMapper.selectUserById(userId); |
| | | String dataScope = user.getDataScope(); |
| | | //没有配置默认查询自己 |
| | | if(!SecurityUtils.isAdmin(userId) && StringUtils.isEmpty(dataScope)){ |
| | | userIds.add(userId); |
| | | } |
| | | //管理员或者全部权限 |
| | | if(SecurityUtils.isAdmin(userId) || (StringUtils.isNotEmpty(dataScope) && "1".equals(dataScope))){ |
| | | return null; |
| | | } |
| | | //部分权限 |
| | | if(StringUtils.isNotEmpty(dataScope) && "3".equals(dataScope)){ |
| | | SysUser user1 = new SysUser(); |
| | | user1.setUserType("00"); |
| | | user1.setStatus("0"); |
| | | user1.setDeptId(user.getDeptId()); |
| | | List<SysUser> list = this.baseMapper.selectUserList(user1); |
| | | userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); |
| | | } |
| | | //个人权限 |
| | | if(StringUtils.isNotEmpty(dataScope) && "5".equals(dataScope)){ |
| | | userIds.add(userId); |
| | | } |
| | | return userIds; |
| | | } |
| | | } |