/*
package com.ruoyi.web.controller.system;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.SysUserUpdateStatusDTO;
import com.ruoyi.system.query.SysUserQuery;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.vo.SysUserVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
*/
/**
* 用户信息
*
* @author ruoyi
*
* 获取用户列表
*
* 获取用户黑名单列表
*
* 人员借用列表
*
* 获取用户详情
*
* 获取用户数量统计
*
* 移除黑名单
*
* 新增用户
*
* 修改用户
*
* 删除用户
*
* 重置密码
*
* 状态修改
*
* 根据用户编号获取授权角色
*
* 用户授权角色
*
* 获取部门树列表
*//*
@Api(tags = "用户信息")
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController
{
@Autowired
private ISysUserService userService;
@Autowired
private ISysRoleService roleService;
@Autowired
private ISysDeptService deptService;
@Autowired
private TokenService tokenService;
*/
/**
* 获取用户列表
*//*
@ApiOperation(value = "获取用户列表")
@PostMapping("/list")
public AjaxResult list(@RequestBody SysUserQuery query)
{
PageInfo list = userService.pageList(query);
return AjaxResult.success(list);
}
@ApiOperation(value = "获取用户列表-不分页")
@PostMapping("/listNotPage")
public AjaxResult listNotPage()
{
List list = userService.queryList();
return AjaxResult.success(list);
}
*/
/**
* 获取用户黑名单列表
*//*
// @ApiOperation(value = "获取用户黑名单列表")
// @PostMapping("/blacklist")
// public AjaxResult blacklist(@RequestBody SysUserQuery query)
// {
// startPage(query.getPageNum(), query.getPageSize());
// List list = userService.selectBlackPageList(query);
// return AjaxResult.success(getDataTable(list));
// }
*/
/**
* 人员借用列表
*//*
// @ApiOperation(value = "人员借用列表")
// @GetMapping("/userBorrowList")
// public AjaxResult userBorrowList(@RequestParam(required = false) String name,
// @RequestParam(required = false) Integer type)
// {
//
// UserAddListVO userAddListVO = new UserAddListVO();
//
// Long companyId = tokenService.getLoginUser().getUser().getCompanyId();
//
// List companyList = new ArrayList<>();
// List deptList = new ArrayList<>();
// List userList = new ArrayList<>();
// // 查询公司
// if(Objects.nonNull(type) && type == 1){
// companyList = companyService.userAddListByCompanyName(name);
// }
// // 查询部门
// if(Objects.nonNull(type) && type == 2){
// deptList = tDeptService.userAddListByDeptName(name);
// }
// // 查询用户
// if(Objects.nonNull(type) && type == 3){
// userList = userService.selectListByNamePhone(name);
// }
//
// if(Objects.isNull(type)){
// companyList = companyService.userAddListByCompanyName(name);
// deptList = tDeptService.userAddListByDeptName(name);
// userList = userService.selectListByNamePhone(name);
// }
//
// List companyIds = companyList.stream().map(TCompany::getId).collect(Collectors.toList());
// List deptCompanyIds = deptList.stream().map(TDept::getCompanyId).collect(Collectors.toList());
// List userCompanyIds = userList.stream().map(SysUser::getCompanyId).collect(Collectors.toList());
// companyIds.addAll(deptCompanyIds);
// companyIds.addAll(userCompanyIds);
//
// companyIds = companyIds.stream().distinct().collect(Collectors.toList());
//
// if(CollectionUtils.isEmpty(companyIds)){
// return AjaxResult.success(userAddListVO);
// }
// SysUser user1 = tokenService.getLoginUser().getUser();
// if(!user1.isAdmin()){
// companyIds = companyIds.stream().filter(e->!e.equals(companyId)).collect(Collectors.toList());
// }
//
// // 查询符合要求的公司
// List parent = companyService.userAddListByCompanyIds(companyIds);
//
// List depts = tDeptService.selectList();
//
// List sysUsers = userService.selectList();
//
// for (UserLevelVO userLevelVO : parent) {
//
// // 找到公司下的部门
// List tDepts = depts.stream().filter(e -> userLevelVO.getKey().equals(e.getCompanyId())).collect(Collectors.toList());
// List children = new ArrayList<>();
// // 封装部门
// for (TDept dept : tDepts) {
// userLevelVO.setChildren(children);
// UserLevelVO userLevelVO1 = new UserLevelVO();
// userLevelVO1.setKey(dept.getId());
// userLevelVO1.setTitle(dept.getDeptName());
// // 找到部门下的人员
// List users;
// if(StringUtils.isNotEmpty(name) && type == 3){
// users = sysUsers.stream().filter(e -> userLevelVO1.getKey().equals(e.getDeptId())
// && ((StringUtils.isNotEmpty(e.getNickName()) && e.getNickName().contains(name)))
// || (StringUtils.isNotEmpty(e.getPhoneNumber()) && e.getPhoneNumber().contains(name))).collect(Collectors.toList());
// }else {
// users = sysUsers.stream().filter(e -> userLevelVO1.getKey().equals(e.getDeptId())).collect(Collectors.toList());
// }
// List children1 = new ArrayList<>();
// // 封装人员
// for (SysUser user : users) {
// UserLevelVO userLevelVO2 = new UserLevelVO();
// userLevelVO2.setKey(user.getUserId());
// userLevelVO2.setTitle(user.getNickName());
// userLevelVO2.setAvatar(user.getAvatar());
// userLevelVO2.setFlag(true);
// children1.add(userLevelVO2);
// }
// userLevelVO1.setChildren(children1);
//
// children.add(userLevelVO1);
// }
// userLevelVO.setChildren(children);
// }
// userAddListVO.setUserLevelVOS(parent);
// userAddListVO.setUserList(sysUsers);
// return AjaxResult.success(userAddListVO);
// }
*/
/**
* 获取用户详情
*//*
@ApiOperation(value = "获取用户详情")
@GetMapping("/getDetail")
public AjaxResult getDetail(@RequestParam Long userId)
{
SysUser sysUser = userService.selectUserById(userId);
SysUserVO sysUserVO = new SysUserVO();
BeanUtils.copyProperties(sysUser,sysUserVO);
return AjaxResult.success(sysUser);
}
*/
/**
* 获取用户数量统计
*//*
@ApiOperation(value = "获取用户数量统计")
@PostMapping("/getUserCount")
public AjaxResult getUserCount()
{
Map map = new HashMap<>();
Integer userCountSum = userService.selectCount(null);
Integer normalCount = userService.selectCount(0);// 正常
Integer stopCount = userService.selectCount(1);// 停用
map.put("all",userCountSum);
map.put("normal",normalCount);
map.put("stop",stopCount);
return AjaxResult.success(map);
}
*/
/**
* 移除黑名单
*//*
@GetMapping("/removeBlackList")
public AjaxResult removeBlackList(@RequestParam String ids)
{
String[] split = ids.split(",");
List id = new ArrayList<>();
for (String s : split) {
id.add(Long.valueOf(s));
}
userService.updateUserIfBlack(id);
return AjaxResult.success();
}
// @Log(title = "用户管理", businessType = BusinessType.EXPORT)
//// // @PreAuthorize("@ss.hasPermi('system:user:export')")
// @PostMapping("/export")
// public void export(HttpServletResponse response, SysUser user)
// {
// List list = userService.selectUserList(user);
// ExcelUtil util = new ExcelUtil(SysUser.class);
// util.exportExcel(response, list, "用户数据");
// }
// @Log(title = "用户管理", businessType = BusinessType.IMPORT)
//// // @PreAuthorize("@ss.hasPermi('system:user:import')")
// @PostMapping("/importData")
// public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
// {
// ExcelUtil util = new ExcelUtil(SysUser.class);
// List userList = util.importExcel(file.getInputStream());
// String operName = getUsername();
// String message = userService.importUser(userList, updateSupport, operName);
// return AjaxResult.success(message);
// }
// @PostMapping("/importTemplate")
// public void importTemplate(HttpServletResponse response)
// {
// ExcelUtil util = new ExcelUtil(SysUser.class);
// util.importTemplateExcel(response, "用户数据");
// }
*/
/**
* 新增用户
*//*
// @PreAuthorize("@ss.hasPermi('system:user:add')")
@ApiOperation(value = "新增用户管理")
@Log(title = "用户信息-新增用户", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@Validated @RequestBody SysUser user)
{
user.setUserName(user.getPhoneNumber());
if (!userService.checkUserNameUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
}
else if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
}
user.setCreateBy(getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
userService.insertUser(user);
return AjaxResult.success();
}
*/
/**
* 修改用户
*//*
// @PreAuthorize("@ss.hasPermi('system:user:edit')")
@ApiOperation(value = "修改用户管理")
@Log(title = "用户信息-修改用户", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@Validated @RequestBody SysUser user)
{
user.setUserName(user.getPhoneNumber());
// userService.checkUserAllowed(user);
// userService.checkUserDataScope(user.getUserId());
if (!userService.checkUserNameUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
}
else if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
}
user.setUpdateBy(getUsername());
return AjaxResult.success(userService.updateUser(user));
}
*/
/**
* 删除用户
*//*
// @PreAuthorize("@ss.hasPermi('system:user:remove')")
@ApiOperation(value = "批量删除用户")
@Log(title = "用户信息-批量删除用户", businessType = BusinessType.DELETE)
@DeleteMapping("/deleteById/{ids}")
public AjaxResult remove(@PathVariable String ids)
{
String[] split = ids.split(",");
List userIds = new ArrayList<>();
for (String s : split) {
userIds.add(Long.valueOf(s));
}
if (userIds.contains(getUserId()))
{
return error("当前用户不能删除");
}
return AjaxResult.success(userService.deleteUserByIds(userIds));
}
*/
/**
* 重置密码
*//*
// @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
@ApiOperation(value = "重置密码")
@Log(title = "用户信息-重置密码", businessType = BusinessType.UPDATE)
@PostMapping("/resetPwd")
public AjaxResult resetPwd(@RequestBody SysUser user)
{
userService.checkUserAllowed(user);
// userService.checkUserDataScope(user.getUserId());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(getUsername());
return AjaxResult.success(userService.resetPwd(user));
}
*/
/**
* 状态修改
*//*
@ApiOperation(value = "状态修改")
@Log(title = "用户信息-状态修改", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUserUpdateStatusDTO dto)
{
SysUser user = new SysUser();
user.setUserId(dto.getUserId());
user.setStatus(String.valueOf(dto.getStatus()));
user.setRemark(dto.getRemark());
user.setUpdateBy(getUsername());
return AjaxResult.success(userService.updateUserStatus(user));
}
*/
/**
* 根据用户编号获取授权角色
*//*
// @PreAuthorize("@ss.hasPermi('system:user:query')")
@GetMapping("/authRole/{userId}")
public AjaxResult authRole(@PathVariable("userId") Long userId)
{
AjaxResult ajax = AjaxResult.success();
SysUser user = userService.selectUserById(userId);
List roles = roleService.selectRolesByUserId(userId);
ajax.put("user", user);
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
return ajax;
}
*/
/**
* 用户授权角色
*//*
// @PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole")
public AjaxResult insertAuthRole(Long userId, Long[] roleIds)
{
userService.checkUserDataScope(userId);
userService.insertUserAuth(userId, roleIds);
return AjaxResult.success();
}
*/
/**
* 获取部门树列表
*//*
// @PreAuthorize("@ss.hasPermi('system:user:list')")
@GetMapping("/deptTree")
public AjaxResult deptTree(SysDept dept)
{
return AjaxResult.success(deptService.selectDeptTreeList(dept));
}
}
*/