From 60f70f7409ec1ece8905e088fb43e0cb0258a70b Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期四, 19 十二月 2024 10:10:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 291 ++++++++++++++------------------------------------------- 1 files changed, 72 insertions(+), 219 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 d69b216..03bb721 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,25 +1,27 @@ package com.ruoyi.system.controller; -import java.util.*; -import java.util.stream.Collectors; -import javax.annotation.Resource; - import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.ruoyi.chargingPile.api.feignClient.SiteClient; -import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; +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.other.api.domain.TUserSite; -import com.ruoyi.other.api.feignClient.RoleSiteClient; -import com.ruoyi.other.api.feignClient.UserSiteClient; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.security.annotation.InnerAuth; +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.model.LoginUser; +import com.ruoyi.system.api.model.UserShop; import com.ruoyi.system.api.query.ChangeUserQuery; -import com.ruoyi.system.api.model.*; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.query.GetSysUserList; import com.ruoyi.system.query.ShopUserStart; import com.ruoyi.system.service.*; -import io.seata.core.context.RootContext; import io.seata.spring.annotation.GlobalTransactional; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -27,17 +29,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.log.annotation.Log; -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.utils.SecurityUtils; -import com.ruoyi.system.api.domain.SysDept; -import com.ruoyi.system.api.domain.SysRole; -import com.ruoyi.system.api.domain.SysUser; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * 用户信息 @@ -73,13 +68,10 @@ private ISysUserRoleService sysUserRoleService; @Resource - private UserSiteClient userSiteClient; + private UserShopService userShopService; @Resource - private RoleSiteClient roleSiteClient; - - @Resource - private SiteClient siteClient; + private TokenService tokenService; @@ -89,7 +81,7 @@ * 获取用户列表 */ @GetMapping("/list") - @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-系统用户管理", "管理后台-角色管理"}) + @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-账号管理", "门店后台-部门管理"}) public AjaxResult list(GetSysUserList getSysUserList) { PageInfo<SysUser> pageInfo = new PageInfo<>(getSysUserList.getPageCurr(), getSysUserList.getPageSize()); PageInfo<SysUser> page = userService.getList(pageInfo, getSysUserList); @@ -100,7 +92,7 @@ * 获取用户选择列表 */ @PostMapping("/getChangeUserList") - @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"}) + @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表", "门店后台-部门管理"}) public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) { return AjaxResult.success(userService.getChangeUserList(query)); } @@ -110,10 +102,14 @@ */ @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping("/add") - @ApiOperation(value = "添加系统用户", tags = {"管理后台-系统用户管理"}) - @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 + @ApiOperation(value = "添加系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"}) public AjaxResult add(@RequestBody SysUser user) { user.setUserName(user.getPhonenumber()); + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser1 = userService.getById(userid); + if(sysUser1.getRoleType() == 2){ + user.setObjectId(sysUser1.getObjectId()); + } if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ user.setNickName(user.getPhonenumber()); } @@ -124,28 +120,19 @@ return error("登录账号重复"); } user.setCreateBy(SecurityUtils.getUsername()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setPassword(SecurityUtils.encryptPassword("a123456")); user.setRoleType(1); userService.insertUser(user); SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setRoleId(user.getRoleId()); sysUserRole.setUserId(user.getUserId()); userRoleService.insertSysUserRole(sysUserRole); - List<Integer> siteIds = user.getSiteIds(); - List<TUserSite> userSites = new ArrayList<>(); - for (Integer siteId : siteIds) { - TUserSite userSite = new TUserSite(); - userSite.setUserId(user.getUserId().intValue()); - userSite.setSiteId(siteId); - userSites.add(userSite); - } - userSiteClient.addUserSite(userSites); return AjaxResult.success(); } @GetMapping("/verifyUserNameRepeat/{username}") - @ApiOperation(value = "校验账号是否重复", tags = {"管理后台-系统用户管理"}) + @ApiOperation(value = "校验账号是否重复", tags = {"管理后台-账号管理"}) public AjaxResult verifyUserNameRepeat(@PathVariable String username){ SysUser user = new SysUser(); user.setUserName(username); @@ -155,17 +142,7 @@ return success(); } - @GetMapping("/getRoleSiteName/{roleId}") - @ApiOperation(value = "获取角色对应的站点名称", tags = {"管理后台-系统用户管理"}) - public AjaxResult<List<String>> getRoleSiteName(@PathVariable Integer roleId){ - List<Integer> ids = roleSiteClient.getSiteIds(roleId.longValue()).getData(); - List<Site> data = siteClient.getSiteByIds(ids).getData(); - if(null == data){ - return AjaxResult.success(new ArrayList<>()); - } - List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList()); - return AjaxResult.success(siteNames); - } + @@ -173,7 +150,7 @@ /** * 根据用户编号获取详细信息 */ - @ApiOperation(value = "获取用户详情", tags = {"管理后台-系统用户管理"}) + @ApiOperation(value = "获取用户详情", tags = {"管理后台-账号管理", "门店后台-部门管理"}) @GetMapping("/getInfo/{userId}") public AjaxResult getInfo(@PathVariable Long userId) { userService.checkUserDataScope(userId); @@ -183,12 +160,7 @@ ajax.put("posts", postService.selectPostAll()); if (StringUtils.isNotNull(userId)) { SysUser sysUser = userService.selectUserById(userId); - List<Integer> siteIds = userSiteClient.getSiteIds(userId).getData(); - sysUser.setSiteIds(siteIds); - List<Site> data = siteClient.getSiteByIds(siteIds).getData(); - List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList()); - sysUser.setSiteNames(siteNames); - ajax.put(AjaxResult.DATA_TAG, sysUser); + ajax.put("data", sysUser); ajax.put("postIds", postService.selectPostListByUserId(userId)); ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); } @@ -201,8 +173,7 @@ */ @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/update") - @ApiOperation(value = "编辑系统用户", tags = {"管理后台-系统用户管理"}) - @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 + @ApiOperation(value = "编辑系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"}) public AjaxResult edit(@Validated @RequestBody SysUser user) { user.setUserName(user.getPhonenumber()); if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ @@ -243,18 +214,6 @@ user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateTime(new Date()); userService.updateUser(user); - - //删除旧的站点数据后添加新的 - userSiteClient.delUserSite(user.getUserId()); - List<Integer> siteIds = user.getSiteIds(); - List<TUserSite> userSites = new ArrayList<>(); - for (Integer siteId : siteIds) { - TUserSite userSite = new TUserSite(); - userSite.setUserId(user.getUserId().intValue()); - userSite.setSiteId(siteId); - userSites.add(userSite); - } - userSiteClient.addUserSite(userSites); return success(); } @@ -264,7 +223,7 @@ */ @Log(title = "用户管理", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") - @ApiOperation(value = "删除系统用户", tags = {"管理后台-系统用户管理"}) + @ApiOperation(value = "删除系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"}) public AjaxResult remove(@PathVariable Long[] userIds) { if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) { return error("当前用户不能删除"); @@ -276,7 +235,7 @@ @PostMapping("/shopUserStart") - @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-系统用户管理"}) + @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-账号管理", "门店后台-部门管理"}) public AjaxResult shopUserStart(@RequestBody ShopUserStart shopUserStart) { if (shopUserStart.getUserId() == null) { return AjaxResult.error("userId不能为空"); @@ -299,53 +258,6 @@ 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)); @@ -385,84 +297,6 @@ } } - - @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<>()); - } - } /** @@ -527,11 +361,11 @@ */ @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") - @ApiOperation(value = "重置密码", tags = {"管理后台-系统用户管理"}) + @ApiOperation(value = "重置密码", tags = {"管理后台-账号管理", "门店后台-部门管理"}) public AjaxResult resetPwd(@RequestBody SysUser user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setPassword(SecurityUtils.encryptPassword("a123456")); user.setUpdateBy(SecurityUtils.getUsername()); return toAjax(userService.resetPwd(user)); } @@ -626,22 +460,6 @@ 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)); - } /** * 通过手机号查询用户 @@ -721,4 +539,39 @@ public SysUser getSysUserById(@RequestParam("userId") Long userId){ return userService.getById(userId); } + + + /** + * 保存门店员工管理后台账号 + * @param user + * @return + */ + @ResponseBody + @PostMapping("/saveShopUser") + public R saveShopUser(@RequestBody SysUser user){ + Integer shopId = user.getObjectId(); + SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, user.getPhonenumber()).eq(SysUser::getDelFlag, "0") + .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2).eq(SysUser::getAppUserId, user.getAppUserId())); + if(null == one){ + user.setObjectId(null); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + userService.save(user); + //添加用户角色数据 + SysUserRole userRole = new SysUserRole(); + userRole.setUserId(user.getUserId()); + userRole.setRoleId(2L); + userRoleService.save(userRole); + }else{ + user = one; + } + //添加门店关系数据 + UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, shopId).eq(UserShop::getUserId, user.getAppUserId())); + if(null == userShop){ + userShop = new UserShop(); + userShop.setUserId(user.getUserId().intValue()); + userShop.setShopId(user.getObjectId()); + userShopService.save(userShop); + } + return R.ok(); + } } -- Gitblit v1.7.1