From 01d6fa48a0de7a21988e89f71721b6b85e53b517 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 06 三月 2025 16:33:53 +0800 Subject: [PATCH] 去掉资讯图片必填限制 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 351 +++++++++++++++++++++++++++------------------------------ 1 files changed, 166 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..0ff62de 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 @@ -2,28 +2,37 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.constant.CacheConstants; +import com.ruoyi.common.core.constant.SecurityConstants; 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.redis.service.RedisService; 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.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.feignClient.AuthClient; 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 +42,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 +52,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; @@ -88,24 +98,33 @@ @Autowired private ISysUserRoleService sysUserRoleService; + @Autowired + private AuthClient authClient; + @Autowired + private RedisService redisService; /** * 获取用户列表 */ - @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 ? "00" : "01"); user.setUserName(user.getPhonenumber()); if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ user.setNickName(user.getPhonenumber()); @@ -114,23 +133,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 +169,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,13 +182,14 @@ 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); userService.checkUserDataScope(user.getUserId()); SysUser sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::getPhonenumber, user.getPhonenumber()) + .in(SysUser::getUserType, "00", "01", "04") .eq(SysUser::getDelFlag,0) .last("LIMIT 1")); @@ -183,6 +204,7 @@ if (user.getPhonenumber() != null) { user.setUserName(user.getPhonenumber()); } + user.setUserType(dto.getIsAuctioneer() == 1 ? "00" : "01"); user.setPassword(null); user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateTime(new Date()); @@ -193,9 +215,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,21 +225,29 @@ 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不能为空"); } SysUser sysUser = userService.selectUserById(userId); if (sysUser.getStatus().equals("0")) { sysUser.setStatus("1"); + Object tokenObj = redisService.getCacheObject(getUserTokenKey(userId)); + if (Objects.nonNull(tokenObj)) { + authClient.logout(tokenObj.toString(), SecurityConstants.INNER); + } } else { sysUser.setStatus("0"); } return toAjax(userService.updateUser(sysUser)); } + private String getUserTokenKey(Long userId) { + return CacheConstants.USER_TOKEN_KEY + userId; + } @Autowired private ISysUserRoleService iSysUserRoleService; @@ -228,53 +258,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 +289,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 +326,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 +344,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 +354,13 @@ } return R.ok(userService.registerUser(sysUser)); } + + @PostMapping("/registerUser") + public R<SysUser> registerUser(@RequestBody SysUser sysUser){ + sysUser = userService.registerUser(sysUser); + return R.ok(sysUser); + } + /** * 获取用户信息 @@ -473,13 +385,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)); } @@ -592,25 +510,16 @@ public R<List<SysUser>> queryUserByPhoneList(@RequestBody List<String> phoneList){ List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class) .in(SysUser::getPhonenumber, phoneList) - .ne(SysUser::getDelFlag,2)); + .eq(SysUser::getUserType,"01") + .eq(SysUser::getDelFlag,0)); return R.ok(list); } - /** - * 默认批量添加修理厂 - * @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)); + @PostMapping("/queryUserByPhoneList1") + public R<List<SysUser>> queryUserByPhoneList1(@RequestBody List<String> phoneList){ + List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class) + .in(SysUser::getPhonenumber, phoneList)); + return R.ok(list); } /** @@ -622,9 +531,31 @@ public R<SysUser> queryUserByPhone(@RequestBody String phone){ SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::getPhonenumber, phone) + .eq(SysUser::getUserType,"01") + .eq(SysUser::getStatus,0) + .eq(SysUser::getDelFlag,0) + .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::getDelFlag, 0) + .eq(SysUser::getUserType,"01") .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); +// } /** @@ -636,8 +567,58 @@ public R<SysUser> queryUserByUserName(@RequestBody String userName){ SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::getUserName, userName) + .eq(SysUser::getDelFlag, "0") .last("LIMIT 1")); 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 + @PostMapping("/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