From f0ca7d146e94c08dd1b79388e405813b1777c145 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 22 八月 2024 10:19:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 277 ++++++++++++++++++++++++++++---------------------------
1 files changed, 140 insertions(+), 137 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 dac579f..6315e1b 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
@@ -9,8 +9,14 @@
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
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.utils.StringUtils;
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.system.api.query.ChangeUserQuery;
import com.ruoyi.system.domain.dto.IndexDto;
import com.ruoyi.system.domain.vo.UserRoleVO;
import com.ruoyi.system.api.model.*;
@@ -18,8 +24,13 @@
import com.ruoyi.system.domain.dto.AddCompanyUserDto;
import com.ruoyi.system.domain.vo.CompanyUserVo;
import com.ruoyi.system.domain.vo.TCompanyToUserVo;
+import com.ruoyi.system.query.GetSysUserList;
+import com.ruoyi.system.query.ShopUserStart;
import com.ruoyi.system.service.*;
+import io.seata.spring.annotation.GlobalTransactional;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.BeanUtils;
@@ -52,38 +63,61 @@
@RequestMapping("/user")
@Api(tags = "用户信息")
public class SysUserController extends BaseController {
- @Autowired
+ @Resource
private ISysUserService userService;
- @Autowired
+ @Resource
private ISysRoleService roleService;
- @Autowired
+ @Resource
private ISysDeptService deptService;
- @Autowired
+ @Resource
private ISysPostService postService;
- @Autowired
+ @Resource
private ISysPermissionService permissionService;
- @Autowired
+ @Resource
private ISysConfigService configService;
- @Autowired
+ @Resource
private ISysUserRoleService userRoleService;
- @Autowired
+ @Resource
private ISysUserRoleService sysUserRoleService;
+
+ @Resource
+ private UserSiteClient userSiteClient;
+
+ @Resource
+ private RoleSiteClient roleSiteClient;
+
+ @Resource
+ private SiteClient siteClient;
+
+
+
+
+
/**
* 获取用户列表
*/
@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);
+ @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-系统用户管理", "管理后台-角色管理"})
+ public AjaxResult list(GetSysUserList getSysUserList) {
+ PageInfo<SysUser> pageInfo = new PageInfo<>(getSysUserList.getPageCurr(), getSysUserList.getPageSize());
+ PageInfo<SysUser> page = userService.getList(pageInfo, getSysUserList);
return AjaxResult.success(page);
+ }
+
+ /**
+ * 获取用户选择列表
+ */
+ @PostMapping("/getChangeUserList")
+ @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"})
+ public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) {
+ return AjaxResult.success(userService.getChangeUserList(query));
}
/**
@@ -91,8 +125,9 @@
*/
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
- @ApiOperation("添加管理员")
- public AjaxResult add(@Validated @RequestBody SysUser user) {
+ @ApiOperation(value = "添加系统用户", tags = {"管理后台-系统用户管理"})
+ @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
+ public AjaxResult add(@RequestBody SysUser user) {
user.setUserName(user.getPhonenumber());
if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
user.setNickName(user.getPhonenumber());
@@ -100,24 +135,62 @@
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return error("手机号已开通账号");
}
+ if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) {
+ return error("登录账号重复");
+ }
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setRoleType(1);
- int i = userService.insertUser(user);
+ userService.insertUser(user);
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setRoleId(user.getRoleId());
sysUserRole.setUserId(user.getUserId());
- int i1 = userRoleService.insertSysUserRole(sysUserRole);
- return AjaxResult.success(i1);
+ 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 = {"管理后台-系统用户管理"})
+ public AjaxResult verifyUserNameRepeat(@PathVariable String username){
+ SysUser user = new SysUser();
+ user.setUserName(username);
+ if (StringUtils.isNotEmpty(username) && !userService.checkUserNameUnique(user)) {
+ return error("账号不可重复");
+ }
+ 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);
+ }
+
+
+
+
/**
* 根据用户编号获取详细信息
*/
- @ApiOperation("管理员详情")
- @GetMapping(value = {"/", "/{userId}"})
- public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
+ @ApiOperation(value = "获取用户详情", tags = {"管理后台-系统用户管理"})
+ @GetMapping("/getInfo/{userId}")
+ public AjaxResult getInfo(@PathVariable Long userId) {
userService.checkUserDataScope(userId);
AjaxResult ajax = AjaxResult.success();
List<SysRole> roles = roleService.selectRoleAll();
@@ -125,6 +198,11 @@
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("postIds", postService.selectPostListByUserId(userId));
ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
@@ -138,9 +216,9 @@
*/
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/update")
- @ApiOperation("编辑管理员")
+ @ApiOperation(value = "编辑系统用户", tags = {"管理后台-系统用户管理"})
+ @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
public AjaxResult edit(@Validated @RequestBody SysUser user) {
-
user.setUserName(user.getPhonenumber());
if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
user.setNickName(user.getPhonenumber());
@@ -162,6 +240,13 @@
if (StringUtils.isNotEmpty(user.getPhonenumber()) && (Objects.nonNull(sysUser) && !user.getUserId().equals(sysUser.getUserId()) )) {
return error("手机号已开通账号");
}
+ sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
+ .eq(SysUser::getUserName, user.getUserName())
+ .eq(SysUser::getDelFlag,0)
+ .last("LIMIT 1"));
+ if (StringUtils.isNotEmpty(user.getUserName()) && (Objects.nonNull(sysUser) && !user.getUserId().equals(sysUser.getUserId()) )) {
+ return error("登录账号重复");
+ }
user.setUpdateBy(SecurityUtils.getUsername());
if (user.getPassword() != null && !"".equals(user.getPassword())) {
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -173,7 +258,20 @@
user.setPassword(null);
user.setUpdateBy(SecurityUtils.getUsername());
user.setUpdateTime(new Date());
- return toAjax(userService.updateUser(user));
+ 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();
}
@@ -182,7 +280,7 @@
*/
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
- @ApiOperation("删除管理员")
+ @ApiOperation(value = "删除系统用户", tags = {"管理后台-系统用户管理"})
public AjaxResult remove(@PathVariable Long[] userIds) {
if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
return error("当前用户不能删除");
@@ -190,98 +288,25 @@
return toAjax(userService.deleteUserByIds(userIds));
}
-
- @Log(title = "账号管理", businessType = BusinessType.INSERT)
- @PostMapping("/addCompanyUser")
- @ApiOperation("账号管理--添加账号")
- @Transactional(propagation = Propagation.REQUIRES_NEW)
- public AjaxResult addCompanyUser(@Validated @RequestBody AddCompanyUserDto dto) {
- SysUser user = dto.getSysUser();
- if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
- return error("手机号已存在,请重新输入");
- }
- user.setCreateBy(SecurityUtils.getUsername());
- user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
- user.setRoleType(3);
- user.setUserName(user.getPhonenumber());
- if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
- user.setNickName(user.getPhonenumber());
- }
- int i = userService.insertUser(user);
- if (i > 0) {
- // 添加role
- SysUserRole sysUserRole = new SysUserRole();
- sysUserRole.setRoleId(dto.getRoleId());
- sysUserRole.setUserId(dto.getSysUser().getUserId());
- userRoleService.insertSysUserRole(sysUserRole);
- }
- return AjaxResult.success();
- }
-
-
- @Log(title = "账号管理", businessType = BusinessType.INSERT)
- @PostMapping("/companyUserInfo")
- @ApiOperation("账号管理--账号详情")
- @Transactional(propagation = Propagation.REQUIRES_NEW)
- public AjaxResult companyUserInfo(@RequestParam Long userId) {
- SysUser sysUser = userService.selectUserById(userId);
- SysUserRole sysUserRole = userRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
- CompanyUserVo companyUserVo = new CompanyUserVo();
- companyUserVo.setRoleId(sysUserRole.getRoleId());
- companyUserVo.setSysUser(sysUser);
- return AjaxResult.success(companyUserVo);
- }
-
- @Log(title = "账号管理", businessType = BusinessType.INSERT)
- @PostMapping("/updateCompanyUser")
- @ApiOperation("账号管理--修改账号")
- @Transactional(propagation = Propagation.REQUIRES_NEW)
- public AjaxResult updateCompanyUser(@Validated @RequestBody AddCompanyUserDto dto) {
- SysUser user = dto.getSysUser();
-
- if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
- return error("手机号已存在,请重新输入");
- }
- user.setUserName(user.getPhonenumber());
- if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
- user.setNickName(user.getPhonenumber());
- }
- if (user.getPassword() != null && !"".equals(user.getPassword())) {
- user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
- }
- user.setRoleType(1);
- user.setUpdateBy(SecurityUtils.getUsername());
- user.setUpdateTime(new Date());
- int i = userService.updateUser(user);
-// if (i > 0) {
- // 原来的role
- SysUserRole one = userRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, dto.getSysUser().getUserId()));
- one.setRoleId(dto.getRoleId());
- //更新新的role
- userRoleService.updateSysUserRole(one);
-// }
- return AjaxResult.success();
- }
+
@PostMapping("/shopUserStart")
- @ApiOperation("账号管理--停用/启用")
- public AjaxResult shopUserStart(Long userId) {
- if (userId == null) {
+ @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-系统用户管理"})
+ public AjaxResult shopUserStart(@RequestBody ShopUserStart shopUserStart) {
+ if (shopUserStart.getUserId() == null) {
return AjaxResult.error("userId不能为空");
}
- SysUser sysUser = userService.selectUserById(userId);
+ SysUser sysUser = userService.selectUserById(shopUserStart.getUserId());
if (sysUser.getStatus().equals("0")) {
sysUser.setStatus("1");
+ sysUser.setRemark(shopUserStart.getRemark());
} else {
sysUser.setStatus("0");
+ sysUser.setRemark("");
}
return toAjax(userService.updateUser(sysUser));
}
-
-
- @Autowired
- private ISysUserRoleService iSysUserRoleService;
@PostMapping("/getUserList")
@@ -454,32 +479,6 @@
}
- @Log(title = "用户管理", businessType = BusinessType.EXPORT)
- @RequiresPermissions("system:user:export")
- @PostMapping("/export")
- public void export(HttpServletResponse response, SysUser user) {
- List<SysUser> list = userService.selectUserList(user);
- ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
- util.exportExcel(response, list, "用户数据");
- }
-
- @PostMapping("/importTemplate")
- public void importTemplate(HttpServletResponse response) throws IOException {
- ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
- util.importTemplateExcel(response, "用户数据");
- }
-
- @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);
- List<SysUser> userList = util.importExcel(file.getInputStream());
- String operName = SecurityUtils.getUsername();
- String message = userService.importUser(userList, updateSupport, operName);
- return success(message);
- }
-
/**
* 获取当前用户信息
*/
@@ -505,7 +504,6 @@
/**
* 注册用户信息
*/
- @InnerAuth
@PostMapping("/register")
public R<Boolean> register(@RequestBody SysUser sysUser) {
String username = sysUser.getUserName();
@@ -544,6 +542,7 @@
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
+ @ApiOperation(value = "重置密码", tags = {"管理后台-系统用户管理"})
public AjaxResult resetPwd(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
@@ -610,7 +609,7 @@
* @param userId
* @return
*/
- @GetMapping("/queryRoleByUserId/{userId}")
+ @PostMapping("/queryRoleByUserId/{userId}")
public R<SysRole> queryRoleByUserId(@PathVariable("userId") Long userId){
SysUserRole one = sysUserRoleService.getOne(Wrappers.lambdaQuery(SysUserRole.class)
.eq(SysUserRole::getUserId, userId)
@@ -626,7 +625,7 @@
}
- @GetMapping("/queryRoleByRoleId/{roleId}")
+ @PostMapping("/queryRoleByRoleId/{roleId}")
public R<SysRole> queryRoleByRoleId(@PathVariable("roleId") Long roleId){
return R.ok( roleService.getOne(Wrappers.lambdaQuery(SysRole.class)
.eq(SysRole::getRoleId, roleId)
@@ -700,7 +699,9 @@
@PostMapping("/addSysUser")
@Transactional(rollbackFor = Exception.class)
public R addSysUser(@RequestBody SysUser user){
- user.setUserName(user.getPhonenumber());
+ if(StringUtils.isEmpty(user.getUserName())){
+ user.setUserName(user.getPhonenumber());
+ }
if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
user.setNickName(user.getPhonenumber());
}
@@ -712,7 +713,9 @@
}
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
- user.setRoleType(1);
+ if(null == user.getRoleType()){
+ user.setRoleType(1);
+ }
userService.insertUser(user);
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setRoleId(user.getRoleId());
--
Gitblit v1.7.1