From cd55aff7eea06f77a8f712cef1ad2744c44d0f8a Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 20 六月 2024 18:56:16 +0800
Subject: [PATCH] 1.修改bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java |  304 +++++++++++++++++++------------------------------
 1 files changed, 119 insertions(+), 185 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 3201b9f..78b7ccb 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
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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;
@@ -16,14 +19,16 @@
 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.CompanyAddSysUserDto;
-import com.ruoyi.system.api.model.CompanySysUserReq;
-import com.ruoyi.system.api.model.CompanyUserListVo;
 import com.ruoyi.system.api.model.LoginUser;
-import com.ruoyi.system.api.model.SysUserRoleDTO;
-import com.ruoyi.system.api.model.TRepairShopAdd;
-import com.ruoyi.system.api.model.TRepairShopAddDto;
+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;
@@ -33,8 +38,8 @@
 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.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -43,6 +48,7 @@
 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;
@@ -91,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());
@@ -114,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();
@@ -149,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());
@@ -162,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);
@@ -193,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("当前用户不能删除");
@@ -203,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不能为空");
         }
@@ -228,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));
@@ -305,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")
@@ -422,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);
     }
 
@@ -439,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("当前系统没有开启注册功能!");
@@ -449,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);
+    }
+
 
     /**
      * 获取用户信息
@@ -474,12 +369,19 @@
      * 重置密码
      */
     @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));
     }
@@ -597,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
@@ -640,4 +525,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