| | |
| | | package com.ruoyi.system.controller.sys; |
| | | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.web.controller.BaseController; |
| | |
| | | import com.ruoyi.common.security.annotation.InnerAuth; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.AppEditUserDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtFrozenMemberDto; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysDept; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysRole; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysStaff; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysUser; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import com.ruoyi.system.api.model.QwH5LoginVo; |
| | | import com.ruoyi.system.api.model.QwUserDetailDto; |
| | | import com.ruoyi.system.domain.dto.UserMenuEditDto; |
| | | import com.ruoyi.system.service.sys.*; |
| | | import com.ruoyi.system.service.staff.SysStaffService; |
| | | import com.ruoyi.system.service.sys.ISysConfigService; |
| | | import com.ruoyi.system.service.sys.ISysDeptService; |
| | | import com.ruoyi.system.service.sys.ISysPermissionService; |
| | | import com.ruoyi.system.service.sys.ISysPostService; |
| | | import com.ruoyi.system.service.sys.ISysRoleService; |
| | | import com.ruoyi.system.service.sys.ISysUserService; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.lang3.ArrayUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Autowired |
| | | private SysStaffService sysStaffService; |
| | | |
| | | |
| | | /** |
| | | * 根据部门获取所有员工id |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @GetMapping("/getUserIdsByDept/{userId}") |
| | | public R<List<Long>> getUserIdsByDept(@PathVariable("userId") Long userId) |
| | | { |
| | | SysUser loginSysUser = userService.selectUserById(userId); |
| | | SysUser querySysUser = new SysUser(); |
| | | querySysUser.setDelFlag("0"); |
| | | querySysUser.setDeptId(loginSysUser.getDeptId()); |
| | | List<SysUser> userList = userService.selectUserList(querySysUser); |
| | | List<Long> userIds = userList.stream().map(sysUser->{ |
| | | return sysUser.getUserId(); |
| | | }).collect(Collectors.toList()); |
| | | return R.ok(userIds); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据部门id获取用户列表 |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | @PostMapping("/getUsersByDeptId") |
| | | R<List<SysUser>> getUsersByDeptId(@RequestBody Long deptId){ |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setDeptId(deptId); |
| | | List<SysUser> sysUsers = userService.selectUserList(sysUser); |
| | | return R.ok(sysUsers); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取用户列表 |
| | |
| | | { |
| | | return error("当前用户不能删除"); |
| | | } |
| | | if(Arrays.stream(userIds).anyMatch((element->element.equals(1L)))){ |
| | | throw new ServiceException("禁止删除admin"); |
| | | } |
| | | return toAjax(userService.deleteUserByIds(userIds)); |
| | | } |
| | | |
| | |
| | | /** |
| | | * 获取部门树列表 |
| | | */ |
| | | @RequiresPermissions("system:user:list") |
| | | @GetMapping("/deptTree") |
| | | public AjaxResult deptTree(SysDept dept) |
| | | { |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @ApiOperation(value = "修改用户权限") |
| | | @Log(title = "用户管理", businessType = BusinessType.UPDATE,operContent = "修改用户权限") |
| | | @PostMapping("/editUserMenu") |
| | | public R editUserMenu(@RequestBody UserMenuEditDto userMenuEditDto){ |
| | | userService.editUserMenu(userMenuEditDto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * @description 冻结用户 |
| | | * @author jqs |
| | | * @date 2023/6/29 17:20 |
| | | * @param mgtFrozenMemberDto |
| | | * @return R<Activeness> |
| | | */ |
| | | @PostMapping("/frozenUser") |
| | | public R frozenUser(@RequestBody MgtFrozenMemberDto mgtFrozenMemberDto) |
| | | { |
| | | if(mgtFrozenMemberDto.getId()==1){ |
| | | throw new ServiceException("禁止删除admin"); |
| | | } |
| | | userService.frozenUser(mgtFrozenMemberDto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * @description 员工端登录 |
| | | * @author jqs |
| | | * @date 2023/7/14 10:04 |
| | | * @param qwUserDetail |
| | | * @return R<QwH5LoginVo> |
| | | */ |
| | | @PostMapping("/qwH5StaffLogin") |
| | | @ApiOperation(value = "员工端登录") |
| | | public R<QwH5LoginVo> qwH5StaffLogin(@RequestBody QwUserDetailDto qwUserDetail) |
| | | { |
| | | String mobile = qwUserDetail.getMobile(); |
| | | SysStaff sysStaff = sysStaffService.getByMobile(mobile); |
| | | if(sysStaff==null){ |
| | | throw new ServiceException(AppErrorConstant.USER_NO_SYSTEM); |
| | | } |
| | | Long userId = sysStaff.getUserId(); |
| | | SysUser sysUser = userService.selectUserById(userId); |
| | | Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); |
| | | // 构造登录返回信息 |
| | | QwH5LoginVo qwH5LoginVo = new QwH5LoginVo(); |
| | | qwH5LoginVo.setUserid(qwUserDetail.getUserid()); |
| | | qwH5LoginVo.setMobile(qwUserDetail.getMobile()); |
| | | qwH5LoginVo.setSysUser(sysUser); |
| | | return R.ok(qwH5LoginVo); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取当前用户权限范围内的员工id |
| | | * @return |
| | | */ |
| | | @PostMapping("/getScopeOfAuthorityUserId") |
| | | public List<Long> getScopeOfAuthorityUserId(){ |
| | | return userService.getScopeOfAuthorityUserId(); |
| | | } |
| | | } |