From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 03 九月 2024 16:52:49 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java |  155 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 129 insertions(+), 26 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 4c904ff..d24c355 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,6 +1,7 @@
 package com.ruoyi.system.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
@@ -15,10 +16,13 @@
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.annotation.InnerAuth;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 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.domain.getVolumeProductionRkQuery;
+import com.ruoyi.system.api.feignClient.ManagementClient;
 import com.ruoyi.system.api.model.LoginUser;
 import com.ruoyi.system.api.validate.InsertGroup;
 import com.ruoyi.system.api.validate.UpdateGroup;
@@ -42,6 +46,7 @@
 import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -69,7 +74,8 @@
 public class SysUserController extends BaseController {
     @Autowired
     private ISysUserService userService;
-
+    @Resource
+    private TokenService tokenService;
     @Autowired
     private ISysRoleService roleService;
 
@@ -91,15 +97,18 @@
 
     @Autowired
     private ISysUserRoleService sysUserRoleService;
+    @Autowired
+    private ManagementClient managementClient;
     /**
      * 获取用户列表
      */
     @PostMapping("/list")
     @ApiOperation("账号管理列表")
     public AjaxResult list(@Validated @RequestBody SysUserQuery query) {
+        tokenService.getLoginUser();
         PageInfo<SysUser> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
         PageInfo<SysUser> page = userService.getList(pageInfo, query.getNickName(),
-                query.getPhonenumber(), query.getStatus());
+                query.getPhonenumber(), query.getStatus(),query.getDeptId());
         return AjaxResult.success(page);
     }
 
@@ -111,12 +120,25 @@
     @ApiOperation("添加账号")
     @Transactional(rollbackFor = Exception.class)
     public AjaxResult add(@Validated(InsertGroup.class) @RequestBody SysUserDTO dto) {
+        tokenService.getLoginUser();
         SysUser user = BeanUtils.copyBean(dto, SysUser.class);
         user.setUserId(null);
-        user.setUserType(dto.getIsAuctioneer() == 1 ? "03" : "00");
+        // 添加为平台管理员
+        user.setUserType("00");
         user.setUserName(user.getPhonenumber());
         if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
             user.setNickName(user.getPhonenumber());
+        }
+        SysUser one = userService.getOne(new QueryWrapper<SysUser>()
+                .ne("user_type", "02")
+                .eq("phonenumber", dto.getPhonenumber())
+                .eq("del_flag", "0"));
+        if (one!=null){
+            if (one.getUserType().equals("03")){
+                return error("添加失败,该账号为仓库管理员账号");
+            }else{
+                return error("手机号已开通账号");
+            }
         }
         if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
             return error("手机号已开通账号");
@@ -124,7 +146,14 @@
         user.setCreateBy(SecurityUtils.getUsername());
         user.setPassword(SecurityUtils.encryptPassword("a123456"));
         user.setRoleType(1);
-        int i = userService.insertUser(user);
+        user.setDept(deptService.selectDeptById(dto.getDeptId()));
+        SysDept sysDept= deptService.selectDeptById(dto.getDeptId());
+        user.setDeptName(sysDept.getDeptName());
+        user.setDeptId(dto.getDeptId());
+        SysRole byId = roleService.selectRoleById(dto.getRoleId());
+        user.setRoleName(byId.getRoleName());
+        user.setRoleId(dto.getRoleId());
+        userService.save(user);
         SysUserRole sysUserRole = new SysUserRole();
         sysUserRole.setRoleId(dto.getRoleId());
         sysUserRole.setUserId(user.getUserId());
@@ -140,18 +169,20 @@
     @GetMapping("/{userId}")
     public AjaxResult getInfo(
             @ApiParam(value = "用户ID", required = true) @PathVariable(value = "userId", required = true) Long userId) {
+        tokenService.getLoginUser();
         userService.checkUserDataScope(userId);
         AjaxResult ajax = AjaxResult.success();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
-        ajax.put("posts", postService.selectPostAll());
+        ajax.put("Dept", deptService.selectDeptList(null));
         if (StringUtils.isNotNull(userId)) {
-            SysUser sysUser = userService.selectUserById(userId);
+            SysUser sysUser = userService.getById(userId);
             ajax.put(AjaxResult.DATA_TAG, sysUser);
-            ajax.put("postIds", postService.selectPostListByUserId(userId));
-            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
+            ajax.put("Dept", sysUser.getDept());
+            ajax.put("roleId", sysUser.getRoleId());
+            ajax.put("roleName", sysUser.getRoleName());
         }
-        return AjaxResult.success(ajax);
+        return ajax;
     }
 
 
@@ -162,6 +193,18 @@
     @PutMapping("/update")
     @ApiOperation("编辑账号")
     public AjaxResult edit(@Validated(UpdateGroup.class) @RequestBody SysUserDTO dto) {
+        tokenService.getLoginUser();
+        SysUser two = userService.getOne(new QueryWrapper<SysUser>()
+                .ne("user_type", "02")
+                .eq("phonenumber", dto.getPhonenumber())
+                .eq("del_flag", "0"));
+        if (two!=null){
+            if (two.getUserType().equals("03")){
+                return error("添加失败,该账号为仓库管理员账号");
+            }else{
+                return error("手机号已开通账号");
+            }
+        }
         SysUser user = BeanUtils.copyBean(dto, SysUser.class);
         user.setUserName(user.getPhonenumber());
         if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
@@ -195,7 +238,19 @@
         user.setPassword(null);
         user.setUpdateBy(SecurityUtils.getUsername());
         user.setUpdateTime(new Date());
-        return toAjax(userService.updateUser(user));
+        user.setDept(deptService.selectDeptById(dto.getDeptId()));
+        SysDept sysDept= deptService.selectDeptById(dto.getDeptId());
+        user.setDeptName(sysDept.getDeptName());
+        user.setDeptId(dto.getDeptId());
+        SysRole byId = roleService.selectRoleById(dto.getRoleId());
+        user.setRoleName(byId.getRoleName());
+        user.setRoleId(dto.getRoleId());
+        // 原来的role
+        SysUserRole one = userRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId,dto.getUserId() ));
+        one.setRoleId(dto.getRoleId());
+        //更新新的role
+        userRoleService.updateSysUserRole(one);
+        return toAjax(userService.updateById(user));
     }
 
 
@@ -257,6 +312,18 @@
         }
     }
 
+    @PostMapping("/getUserSupplierList")
+    public R<List<SysUser>> getUserSupplierList(@RequestBody getVolumeProductionRkQuery getVolumeProductionRkQuery) {
+        LambdaQueryWrapper<SysUser> like1 = new LambdaQueryWrapper<SysUser>();
+        if (getVolumeProductionRkQuery.getSupplierName()!=null){
+            like1.like(SysUser::getNickName, getVolumeProductionRkQuery.getSupplierName());
+        }if (getVolumeProductionRkQuery.getSupplierPhone()!=null){
+            like1.like(SysUser::getPhonenumber,getVolumeProductionRkQuery.getSupplierPhone());
+        }
+        List<SysUser> list = userService.list(like1);
+        return R.ok(list);
+    }
+
     @PostMapping("/updateSysUser")
     public R<Boolean> updateSysUser(@RequestBody SysUser sysUser) {
         try {
@@ -270,8 +337,8 @@
         }
     }
 
+
     @Log(title = "用户管理", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:user:export")
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysUser user) {
         List<SysUser> list = userService.selectUserList(user);
@@ -286,7 +353,6 @@
     }
 
     @Log(title = "用户管理", businessType = BusinessType.IMPORT)
-    @RequiresPermissions("system:user:import")
     @PostMapping("/importData")
     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
@@ -306,7 +372,9 @@
         if (StringUtils.isNull(sysUser)) {
             return R.fail("用户名或密码错误");
         }
+        String data = managementClient.isHaveCKZY(sysUser.getUserId().toString()).getData();
         LoginUser sysUserVo = new LoginUser();
+        sysUser.setIsHaveCk(data);
         sysUserVo.setSysUser(sysUser);
         if (sysUser.getUserType().equals("00")) {
             // 角色集合
@@ -365,23 +433,43 @@
     /**
      * 重置密码
      */
-    @RequiresPermissions("system:user:edit")
     @ApiOperation("重置密码")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PostMapping("/resetPwd")
     public AjaxResult resetPwd(@RequestBody ResetPwdDTO dto) {
         SysUser user = userService.lambdaQuery().eq(SysUser::getUserId, dto.getUserId())
-                .in(SysUser::getUserType, "00", "02").one();
+                .in(SysUser::getUserType, "00", "01", "02", "03").one();
         if (StringUtils.isNull(user)) {
             throw new ServiceException("账号不存在");
         }
-
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
-        user.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        user.setPassword(SecurityUtils.encryptPassword("a123456"));
         user.setUpdateBy(SecurityUtils.getUsername());
         return toAjax(userService.resetPwd(user));
     }
+
+    @ApiOperation("修改密码")
+    @PostMapping("/updatePwd")
+    public AjaxResult updatePwd(@RequestBody ResetPwdDTO dto) {
+        // 判断旧密码是否和当前密码是否匹配
+        SysUser one = userService.getOne(new QueryWrapper<SysUser>()
+                .eq("phonenumber", dto.getPhonenumber())
+                .eq("del_flag", 0));
+        if (one == null){
+            return AjaxResult.error("账号不存在");
+        }
+        if (SecurityUtils.matchesPassword(dto.getPassword(),one.getPassword())) {
+            return AjaxResult.error("新密码不能和旧密码一致");
+        }
+        if (!SecurityUtils.matchesPassword(dto.getOldPassword(),one.getPassword())){
+            return AjaxResult.error("旧密码错误");
+        }
+        one.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        userService.updateById(one);
+        return AjaxResult.success();
+    }
+
 
     /**
      * 获取当前用户信息
@@ -404,7 +492,6 @@
     /**
      * 状态修改
      */
-    @RequiresPermissions("system:user:edit")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody SysUser user) {
@@ -417,7 +504,6 @@
     /**
      * 根据用户编号获取授权角色
      */
-    @RequiresPermissions("system:user:query")
     @GetMapping("/authRole/{userId}")
     public AjaxResult authRole(@PathVariable("userId") Long userId) {
         AjaxResult ajax = AjaxResult.success();
@@ -431,7 +517,6 @@
     /**
      * 用户授权角色
      */
-    @RequiresPermissions("system:user:edit")
     @Log(title = "用户管理", businessType = BusinessType.GRANT)
     @PutMapping("/authRole")
     public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
@@ -443,7 +528,6 @@
     /**
      * 获取部门树列表
      */
-    @RequiresPermissions("system:user:list")
     @GetMapping("/deptTree")
     public AjaxResult deptTree(SysDept dept) {
         return success(deptService.selectDeptTreeList(dept));
@@ -543,6 +627,13 @@
         return R.ok(userService.getSupplierPage(query));
     }
 
+
+    @ApiOperation(value = "获取供应商不分页列表", notes = "获取供应商不分页列表")
+    @PostMapping("/supplier-page1")
+    public R<List<SysUser>> getSupplierPage1() {
+        return R.ok(userService.getSupplierPage1());
+    }
+
     /**
      * 添加/编辑供应商
      *
@@ -569,10 +660,23 @@
     }
 
 
-    @ApiOperation(value = "获取管理员分页列表", notes = "获取管理员分页列表")
+    @ApiOperation(value = "获取仓库管理员分页列表", notes = "获取仓库管理分页列表")
     @PostMapping("/conservator-page")
     public R<PageDTO<ConservatorVO>> getConservatorPage(@Validated @RequestBody ConservatorQuery query) {
         return R.ok(userService.getConservatorPage(query));
+    }
+    @ApiOperation(value = "根据仓库等级和所在地获取管理员列表--不分页", notes = "获取仓库管理分页列表")
+    @PostMapping("/conservator-page2")
+    public R<List<SysUser>> getConservatorPage2(@RequestBody ConservatorQueryA query) {
+        tokenService.getLoginUser();
+        return R.ok(userService.getConservatorPage2(query));
+    }
+
+    @ApiOperation(value = "获取仓库管理员不分页列表", notes = "获取仓库管理分页列表")
+    @GetMapping("/conservator-page1/{grade}")
+    public R<List<SysUser>> getConservatorPage1(@PathVariable("grade") String grade) {
+        tokenService.getLoginUser();
+        return R.ok(userService.getConservatorPage1(grade));
     }
 
     /**
@@ -580,12 +684,11 @@
      *
      * @param dto 供应商数据传输对象
      */
-    @Log(title = "供应商管理", businessType = BusinessType.UPDATE)
-    @ApiOperation(value = "添加/编辑管理员", notes = "添加/编辑管理员")
+    @ApiOperation(value = "添加/编辑仓库管理", notes = "添加/编辑仓库管理")
     @PostMapping("/save-conservator")
     public R<?> saveConservator(@Validated @RequestBody ConservatorDTO dto) {
-        userService.saveConservator(dto);
-        return R.ok();
+
+        return userService.saveConservator(dto);
     }
 
     /**
@@ -593,7 +696,7 @@
      *
      * @param id 供应商id
      */
-    @ApiOperation(value = "删除供应商", notes = "删除供应商")
+    @ApiOperation(value = "删除仓库管理", notes = "删除仓库管理")
     @DeleteMapping("/delete-conservator/{id}")
     public R<?> deleteConservator(@PathVariable("id") Long id) {
         userService.deleteConservator(id);

--
Gitblit v1.7.1