From 7a0f7e715ffacab8851de10abcf6b857ca84a263 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期二, 09 七月 2024 17:54:13 +0800
Subject: [PATCH] 修改bug
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 375 +++++++++++++++++++++++++----------------------------
1 files changed, 179 insertions(+), 196 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
index 74e1c90..b9e6e5d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -1,29 +1,16 @@
package com.ruoyi.system.controller;
-import java.io.IOException;
-import java.util.*;
-import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletResponse;
-
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.common.core.web.page.PageInfo;
-
-import com.ruoyi.system.api.model.*;
-import com.ruoyi.system.domain.SysUserRole;
-import com.ruoyi.system.service.*;
-import io.swagger.annotations.Api;
-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.multipart.MultipartFile;
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.page.BeanUtils;
+import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.InnerAuth;
@@ -32,6 +19,47 @@
import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.system.api.validate.InsertGroup;
+import com.ruoyi.system.api.validate.UpdateGroup;
+import com.ruoyi.system.domain.SysUserRole;
+import com.ruoyi.system.domain.dto.ResetPwdDTO;
+import com.ruoyi.system.domain.dto.SupplierDTO;
+import com.ruoyi.system.domain.dto.SupplierQuery;
+import com.ruoyi.system.domain.dto.SysUserDTO;
+import com.ruoyi.system.domain.dto.SysUserQuery;
+import com.ruoyi.system.domain.vo.SupplierVO;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysPermissionService;
+import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysRoleService;
+import com.ruoyi.system.service.ISysUserRoleService;
+import com.ruoyi.system.service.ISysUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
/**
* 用户信息
@@ -69,21 +97,26 @@
/**
* 获取用户列表
*/
- @GetMapping("/list")
- @ApiOperation("管理员列表")
- public AjaxResult list(String phonenumber, int pageNumber, int pageSize) {
- PageInfo<SysUser> pageInfo = new PageInfo<>(pageNumber, pageSize);
- PageInfo<SysUser> page = userService.getList(pageInfo, phonenumber);
+ @PostMapping("/list")
+ @ApiOperation("账号管理列表")
+ public AjaxResult list(@Validated @RequestBody SysUserQuery query) {
+ PageInfo<SysUser> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
+ PageInfo<SysUser> page = userService.getList(pageInfo, query.getNickName(),
+ query.getPhonenumber(), query.getStatus());
return AjaxResult.success(page);
}
/**
* 新增用户
*/
- @Log(title = "用户管理", businessType = BusinessType.INSERT)
+ @Log(title = "账号管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
- @ApiOperation("添加管理员")
- public AjaxResult add(@Validated @RequestBody SysUser user) {
+ @ApiOperation("添加账号")
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult add(@Validated(InsertGroup.class) @RequestBody SysUserDTO dto) {
+ SysUser user = BeanUtils.copyBean(dto, SysUser.class);
+ user.setUserId(null);
+ user.setUserType(dto.getIsAuctioneer() == 1 ? "04" : "00");
user.setUserName(user.getPhonenumber());
if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
user.setNickName(user.getPhonenumber());
@@ -92,23 +125,24 @@
return error("手机号已开通账号");
}
user.setCreateBy(SecurityUtils.getUsername());
- user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+ user.setPassword(SecurityUtils.encryptPassword("123456"));
user.setRoleType(1);
int i = userService.insertUser(user);
SysUserRole sysUserRole = new SysUserRole();
- sysUserRole.setRoleId(1l);
+ sysUserRole.setRoleId(dto.getRoleId());
sysUserRole.setUserId(user.getUserId());
int i1 = userRoleService.insertSysUserRole(sysUserRole);
- return AjaxResult.success(i1);
+ return AjaxResult.success();
}
/**
* 根据用户编号获取详细信息
*/
- @ApiOperation("管理员详情")
- @GetMapping(value = {"/", "/{userId}"})
- public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
+ @ApiOperation("账号详情")
+ @GetMapping("/{userId}")
+ public AjaxResult getInfo(
+ @ApiParam(value = "用户ID", required = true) @PathVariable(value = "userId", required = true) Long userId) {
userService.checkUserDataScope(userId);
AjaxResult ajax = AjaxResult.success();
List<SysRole> roles = roleService.selectRoleAll();
@@ -127,11 +161,11 @@
/**
* 修改用户
*/
- @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+ @Log(title = "账号管理", businessType = BusinessType.UPDATE)
@PutMapping("/update")
- @ApiOperation("编辑管理员")
- public AjaxResult edit(@Validated @RequestBody SysUser user) {
-
+ @ApiOperation("编辑账号")
+ public AjaxResult edit(@Validated(UpdateGroup.class) @RequestBody SysUserDTO dto) {
+ SysUser user = BeanUtils.copyBean(dto, SysUser.class);
user.setUserName(user.getPhonenumber());
if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
user.setNickName(user.getPhonenumber());
@@ -140,7 +174,7 @@
Integer data = admin.getData();
if(data == null || data != 1){
SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId()));
- one.setRoleId(user.getRoleId());
+ one.setRoleId(dto.getRoleId());
sysUserRoleService.updateSysUserRole(one);
}
userService.checkUserAllowed(user);
@@ -171,9 +205,9 @@
/**
* 删除用户
*/
- @Log(title = "用户管理", businessType = BusinessType.DELETE)
+ @Log(title = "账号管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
- @ApiOperation("删除管理员")
+ @ApiOperation("删除账号")
public AjaxResult remove(@PathVariable Long[] userIds) {
if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
return error("当前用户不能删除");
@@ -181,9 +215,10 @@
return toAjax(userService.deleteUserByIds(userIds));
}
- @PostMapping("/shopUserStart")
- @ApiOperation("账号管理--停用/启用")
- public AjaxResult shopUserStart(Long userId) {
+ @PostMapping("/updStatus/{userId}")
+ @ApiOperation("账号管理--冻结/解冻")
+ public AjaxResult updStatus(
+ @ApiParam(value = "账号ID", required = true) @PathVariable("userId") Long userId) {
if (userId == null) {
return AjaxResult.error("userId不能为空");
}
@@ -206,53 +241,7 @@
return R.ok(list);
}
- @PostMapping("/getSysUserFromCompanyId")
- public R<List<CompanyUserListVo>> getSysUserFromCompanyId(@RequestBody CompanySysUserReq companySysUserReq) {
- LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
- if (companySysUserReq.getUserIds().size() == 0) {
- List<Integer> userIds = companySysUserReq.getUserIds();
- userIds.add(-1);
- companySysUserReq.setUserIds(userIds);
- }
- sysUserLambdaQueryWrapper.in(SysUser::getUserId, companySysUserReq.getUserIds());
- if (companySysUserReq.getName() != null && !"".equals(companySysUserReq.getName())) {
- sysUserLambdaQueryWrapper.like(SysUser::getUserName, companySysUserReq.getName()).or().like(SysUser::getPhonenumber, companySysUserReq.getName());
- }
- sysUserLambdaQueryWrapper.eq(SysUser::getRoleType,2);
- List<SysUser> list = userService.list(sysUserLambdaQueryWrapper);
- ArrayList<CompanyUserListVo> companyUserListVos = new ArrayList<>();
- for (SysUser sysUser : list) {
- CompanyUserListVo companyUserListVo = new CompanyUserListVo();
- companyUserListVo.setId(sysUser.getUserId());
- companyUserListVo.setPassword(sysUser.getPassword());
- companyUserListVo.setPhoneNumber(sysUser.getPhonenumber());
- companyUserListVo.setUserName(sysUser.getUserName());
- companyUserListVo.setNickName(sysUser.getNickName());
- companyUserListVos.add(companyUserListVo);
- }
- return R.ok(companyUserListVos);
- }
- @PostMapping("/getSysUserFromCompanyIdOne")
- public R<List<CompanyUserListVo>> getSysUserFromCompanyIdOne(@RequestBody CompanySysUserReq companySysUserReq) {
- LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
- sysUserLambdaQueryWrapper.eq(SysUser::getRoleType, 2);
- if (companySysUserReq.getName() != null && !"".equals(companySysUserReq.getName())) {
- sysUserLambdaQueryWrapper.like(SysUser::getPhonenumber, companySysUserReq.getName());
- }
- List<SysUser> list = userService.list(sysUserLambdaQueryWrapper);
- ArrayList<CompanyUserListVo> companyUserListVos = new ArrayList<>();
- for (SysUser sysUser : list) {
- CompanyUserListVo companyUserListVo = new CompanyUserListVo();
- companyUserListVo.setId(sysUser.getUserId());
- companyUserListVo.setPassword(sysUser.getPassword());
- companyUserListVo.setPhoneNumber(sysUser.getPhonenumber());
- companyUserListVo.setUserName(sysUser.getUserName());
- companyUserListVo.setNickName(sysUser.getNickName());
- companyUserListVos.add(companyUserListVo);
- }
- return R.ok(companyUserListVos);
- }
@PostMapping("/isAdmin")
public R<Integer> isAdmin(@RequestBody Long userId){
SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
@@ -283,86 +272,6 @@
return R.ok();
}
}
-
-
- @PostMapping("/companySaveSysUser")
- public R<List<Integer>> companySaveSysUser(@RequestBody CompanyAddSysUserDto dto) {
- List<CompanyUserListVo> list = dto.getList();
- ArrayList<Integer> userIds = new ArrayList<>();
- try {
- for (CompanyUserListVo companyUserListVo : list) {
- List<Long> ids = userService.getSysUserFromPhone(companyUserListVo.getPhoneNumber());
- SysUser sysUser = new SysUser();
- if (ids.size() > 0) {
- sysUser.setRoleType(2);
- sysUser.setObjectId(dto.getCompanyId());
- if(companyUserListVo.getPassword()!=null){
- sysUser.setPassword(SecurityUtils.encryptPassword(companyUserListVo.getPassword()));
- }
- sysUser.setPhonenumber(companyUserListVo.getPhoneNumber());
- sysUser.setUserName(companyUserListVo.getPhoneNumber());
- sysUser.setNickName(companyUserListVo.getNickName());
- sysUser.setUserId(ids.get(0).longValue());
- userService.updateUser(sysUser);
- userIds.add(ids.get(0).intValue());
- } else {
-
- sysUser.setRoleType(2);
- sysUser.setObjectId(dto.getCompanyId());
- if(companyUserListVo.getPassword()!=null){
- sysUser.setPassword(SecurityUtils.encryptPassword(companyUserListVo.getPassword()));
- }
- sysUser.setPhonenumber(companyUserListVo.getPhoneNumber());
- sysUser.setUserName(companyUserListVo.getPhoneNumber());
- sysUser.setNickName(companyUserListVo.getNickName());
- sysUser.setCreateBy(SecurityUtils.getUsername());
- sysUser.setCreateTime(new Date());
- userService.insertUser(sysUser);
- SysUserRole sysUserRole = new SysUserRole();
- sysUserRole.setRoleId(20l);
- sysUserRole.setUserId(sysUser.getUserId());
- sysUserRoleService.insertSysUserRole(sysUserRole);
- userIds.add(sysUser.getUserId().intValue());
- }
- }
- return R.ok(userIds);
- } catch (Exception e) {
- e.printStackTrace();
- return R.ok(new ArrayList<>());
- }
- }
-
-
- @PostMapping("/addTRepairSysUser")
- public R<List<Integer>> addTRepairSysUser(@RequestBody TRepairShopAddDto dto) {
- List<TRepairShopAdd> list = dto.getList();
- ArrayList<Integer> userIds = new ArrayList<>();
- try {
- for (TRepairShopAdd add : list) {
- List<Long> ids = userService.getSysUserFromPhone(add.getPhonenumber());
- if (ids.size() > 0) {
- userIds.add(ids.get(0).intValue());
- } else {
- SysUser sysUser = new SysUser();
- sysUser.setPhonenumber(add.getPhonenumber());
- sysUser.setCreateTime(new Date());
- sysUser.setCreateBy(SecurityUtils.getUsername());
- sysUser.setPassword(SecurityUtils.encryptPassword(add.getPwd()));
- sysUser.setRoleType(4);
- sysUser.setObjectId(dto.getRepairId());
- sysUser.setUserName(add.getPhonenumber());
- sysUser.setNickName(add.getPhonenumber());
- userService.insertUser(sysUser);
- userIds.add(sysUser.getUserId().intValue());
- }
- }
- return R.ok(userIds);
- } catch (Exception e) {
- e.printStackTrace();
- return R.ok(new ArrayList<>());
- }
- }
-
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:user:export")
@@ -400,15 +309,16 @@
if (StringUtils.isNull(sysUser)) {
return R.fail("用户名或密码错误");
}
- // 角色集合
- Set<String> roles = permissionService.getRolePermission(sysUser);
- // 权限集合
- Set<String> permissions = permissionService.getMenuPermission(sysUser);
LoginUser sysUserVo = new LoginUser();
sysUserVo.setSysUser(sysUser);
- sysUserVo.setRoles(roles);
- sysUserVo.setPermissions(permissions);
-
+ if (sysUser.getUserType().equals("00")) {
+ // 角色集合
+ Set<String> roles = permissionService.getRolePermission(sysUser);
+ // 权限集合
+ Set<String> permissions = permissionService.getMenuPermission(sysUser);
+ sysUserVo.setRoles(roles);
+ sysUserVo.setPermissions(permissions);
+ }
return R.ok(sysUserVo);
}
@@ -417,7 +327,7 @@
*/
@InnerAuth
@PostMapping("/register")
- public R<Boolean> register(@RequestBody SysUser sysUser) {
+ public R<SysUser> register(@RequestBody SysUser sysUser) {
String username = sysUser.getUserName();
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
return R.fail("当前系统没有开启注册功能!");
@@ -427,6 +337,13 @@
}
return R.ok(userService.registerUser(sysUser));
}
+
+ @PostMapping("/registerUser")
+ public R<SysUser> registerUser(@RequestBody SysUser sysUser){
+ sysUser = userService.registerUser(sysUser);
+ return R.ok(sysUser);
+ }
+
/**
* 获取用户信息
@@ -452,16 +369,41 @@
* 重置密码
*/
@RequiresPermissions("system:user:edit")
+ @ApiOperation("重置密码")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
- @PutMapping("/resetPwd")
- public AjaxResult resetPwd(@RequestBody SysUser user) {
+ @PostMapping("/resetPwd")
+ public AjaxResult resetPwd(@RequestBody ResetPwdDTO dto) {
+ SysUser user = userService.lambdaQuery().eq(SysUser::getUserId, dto.getUserId())
+ .in(SysUser::getUserType, "00", "01").one();
+ if (StringUtils.isNull(user)) {
+ throw new ServiceException("账号不存在");
+ }
+
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
- user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+ user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.resetPwd(user));
}
+ /**
+ * 获取当前用户信息
+ */
+ @InnerAuth
+ @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+ @PutMapping("/change-password")
+ public R<LoginUser> info(@RequestParam("username") String username,
+ @RequestParam("password") String password) {
+ SysUser user = userService.selectUserByUserName(username);
+ user.setPassword(password);
+ user.setUpdateBy(SecurityUtils.getUsername());
+ int i = userService.updateUser(user);
+ if (i == 1) {
+ return R.ok();
+ } else {
+ return R.fail();
+ }
+ }
/**
* 状态修改
*/
@@ -557,23 +499,6 @@
}
/**
- * 默认批量添加修理厂
- * @param dtoList
- * @return
- */
- @PostMapping("/addUserRole")
- public R<Boolean> addUserRole(@RequestBody List<SysUserRoleDTO> dtoList){
- List<SysUserRole> userRoles = new ArrayList<>();
- for (SysUserRoleDTO userRoleDTO : dtoList) {
- SysUserRole userRole = new SysUserRole();
- userRole.setRoleId(userRoleDTO.getRoleId());
- userRole.setUserId(userRoleDTO.getUserId());
- userRoles.add(userRole);
- }
- return R.ok(sysUserRoleService.saveBatch(userRoles));
- }
-
- /**
* 通过手机号查询用户
* @param phone
* @return
@@ -585,6 +510,15 @@
.last("LIMIT 1"));
return R.ok(user);
}
+
+// @PostMapping("/queryUserByPhone1")
+// public R<SysUser> queryUserByPhone1(@RequestBody String phone){
+// SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
+// .eq(SysUser::getPhonenumber, phone)
+// .eq(SysUser::get, phone)
+// .last("LIMIT 1"));
+// return R.ok(user);
+// }
/**
@@ -600,4 +534,53 @@
return R.ok(user);
}
+ /**
+ * 获取供应商分页列表
+ *
+ * @param query 供应商列表查询数据传输对象
+ * @return PageDTO<SupplyUserVO>
+ */
+ @ApiOperation(value = "获取供应商分页列表", notes = "获取供应商分页列表")
+ @PostMapping("/supplier-page")
+ public R<PageDTO<SupplierVO>> getSupplierPage(@Validated @RequestBody SupplierQuery query) {
+ return R.ok(userService.getSupplierPage(query));
+ }
+
+ /**
+ * 添加/编辑供应商
+ *
+ * @param dto 供应商数据传输对象
+ */
+ @Log(title = "供应商管理", businessType = BusinessType.UPDATE)
+ @ApiOperation(value = "添加/编辑供应商", notes = "添加/编辑供应商")
+ @PostMapping("/save-supplier")
+ public R<?> saveSupplier(@Validated @RequestBody SupplierDTO dto) {
+ userService.saveSupplier(dto);
+ return R.ok();
+ }
+
+ /**
+ * 删除供应商
+ *
+ * @param id 供应商id
+ */
+ @ApiOperation(value = "删除供应商", notes = "删除供应商")
+ @DeleteMapping("/delete-supplier/{id}")
+ public R<?> deleteSupplier(@PathVariable("id") Long id) {
+ userService.deleteSupplier(id);
+ return R.ok();
+ }
+
+ @InnerAuth
+ @GetMapping("/list-by-name")
+ R<List<SysUser>> getUserListByName(@RequestBody SysUser sysUser) {
+ List<SysUser> list = userService.lambdaQuery()
+ .like(StringUtils.isNotBlank(sysUser.getNickName()), SysUser::getNickName,
+ sysUser.getNickName())
+ .like(StringUtils.isNotBlank(sysUser.getPhonenumber()), SysUser::getPhonenumber,
+ sysUser.getPhonenumber())
+ .eq(SysUser::getUserType, "00")
+ .eq(SysUser::getDelFlag, 0).list();
+ return R.ok(list);
+ }
}
--
Gitblit v1.7.1