From 14f96ba18b58cda204d10608c1abfe9a1d78a495 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 10 六月 2026 20:21:31 +0800
Subject: [PATCH] bug fix
---
ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java | 67 +++++++++++++++++++++++++++++++--
1 files changed, 62 insertions(+), 5 deletions(-)
diff --git a/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
index 6edadac..54cba63 100644
--- a/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
+++ b/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -1,5 +1,6 @@
package com.stylefeng.guns.modular.system.controller.system;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.config.properties.GunsProperties;
import com.stylefeng.guns.core.base.controller.BaseController;
@@ -22,6 +23,8 @@
import com.stylefeng.guns.modular.system.factory.UserFactory;
import com.stylefeng.guns.modular.system.model.TCompany;
import com.stylefeng.guns.modular.system.model.User;
+import com.stylefeng.guns.modular.system.model.SysUserCompanyScope;
+import com.stylefeng.guns.modular.system.service.ISysUserCompanyScopeService;
import com.stylefeng.guns.modular.system.service.ITCompanyService;
import com.stylefeng.guns.modular.system.service.ITDriverService;
import com.stylefeng.guns.modular.system.service.IUserService;
@@ -37,6 +40,7 @@
import javax.validation.Valid;
import java.io.File;
import java.util.Date;
+import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -64,6 +68,9 @@
@Autowired
private ITCompanyService companyService;
+ @Autowired
+ private ISysUserCompanyScopeService userCompanyScopeService;
+
/**
* 跳转到查看管理员列表的页面
@@ -77,7 +84,9 @@
* 跳转到查看管理员列表的页面
*/
@RequestMapping("/user_add")
- public String addView() {
+ public String addView(Model model) {
+ model.addAttribute("roleType", ShiroKit.getUser().getRoleType());
+ model.addAttribute("companyList", getAvailableCompanies());
return PREFIX + "user_add.html";
}
@@ -107,6 +116,9 @@
model.addAttribute(user);
model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid()));
model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid()));
+ model.addAttribute("roleType", ShiroKit.getUser().getRoleType());
+ model.addAttribute("companyList", getAvailableCompanies());
+ model.addAttribute("companyScopes", userCompanyScopeService.selectScopesByUserId(userId));
LogObjectHolder.me().set(user);
return PREFIX + "user_edit.html";
}
@@ -195,8 +207,7 @@
throw new GunsException(BizExceptionEnum.USER_ALREADY_REG);
}
ShiroUser user1 = ShiroKit.getUser();
- User user2 = userService.selectById(user1.getId());
- TCompany tCompany = companyService.selectById(user2.getObjectId());
+ TCompany tCompany = companyService.selectById(user1.getObjectId());
// 完善账号信息
user.setSalt(ShiroKit.getRandomSalt(5));
@@ -208,9 +219,15 @@
User objectUser = UserFactory.createUser(user);
objectUser.setObjectId(user1.getObjectId());
+ objectUser.setRoleType(2);
objectUser.setEntercode(tCompany.getEnterCode());
objectUser.setEnterId(Long.valueOf(tCompany.getEnterCode()));
this.userService.insert(objectUser);
+ if (SinataUtil.isNotEmpty(user.getCompanyScopes())) {
+ userCompanyScopeService.saveScopes(objectUser.getId(), user.getCompanyScopes(), objectUser.getObjectId(), objectUser.getRoleid(), objectUser.getDeptid());
+ } else {
+ userCompanyScopeService.ensureDefaultScope(objectUser);
+ }
return SUCCESS_TIP;
}
@@ -229,14 +246,18 @@
}
User oldUser = userService.selectById(user.getId());
ShiroUser user1 = ShiroKit.getUser();
- User user2 = userService.selectById(user1.getId());
- TCompany tCompany = companyService.selectById(user2.getObjectId());
+ TCompany tCompany = companyService.selectById(user1.getObjectId());
oldUser.setEntercode(tCompany.getEnterCode());
oldUser.setEnterId(Long.valueOf(tCompany.getEnterCode()));
user.setEntercode(tCompany.getEnterCode());
user.setEnterId(Long.valueOf(tCompany.getEnterCode()));
this.userService.updateById(UserFactory.editUser(user, oldUser));
+ if (SinataUtil.isNotEmpty(user.getCompanyScopes())) {
+ userCompanyScopeService.saveScopes(oldUser.getId(), user.getCompanyScopes(), oldUser.getObjectId(), oldUser.getRoleid(), oldUser.getDeptid());
+ } else {
+ userCompanyScopeService.ensureDefaultScope(oldUser);
+ }
return SUCCESS_TIP;
}
@@ -384,9 +405,33 @@
throw new GunsException(BizExceptionEnum.CANT_CHANGE_ADMIN);
}
this.userService.setRoles(userId, roleIds);
+ SysUserCompanyScope scope = userCompanyScopeService.selectActiveScope(userId, ShiroKit.getUser().getObjectId());
+ if (scope != null) {
+ scope.setRoleid(roleIds);
+ scope.setUpdateTime(new Date());
+ userCompanyScopeService.updateById(scope);
+ } else {
+ User user = userService.selectById(userId);
+ SysUserCompanyScope newScope = new SysUserCompanyScope();
+ newScope.setUserId(userId);
+ newScope.setCompanyId(ShiroKit.getUser().getObjectId());
+ newScope.setRoleid(roleIds);
+ newScope.setDeptid(user.getDeptid());
+ newScope.setIsDefault(2);
+ newScope.setStatus(1);
+ newScope.setCreateTime(new Date());
+ newScope.setUpdateTime(new Date());
+ userCompanyScopeService.insert(newScope);
+ }
return SUCCESS_TIP;
+ }
+
+ @RequestMapping("/companyScopeOptions")
+ @ResponseBody
+ public Object companyScopeOptions() {
+ return getAvailableCompanies();
}
/**
@@ -405,6 +450,18 @@
}
return pictureName;
}
+
+ private List<TCompany> getAvailableCompanies() {
+ ShiroUser user = ShiroKit.getUser();
+ EntityWrapper<TCompany> wrapper = new EntityWrapper<TCompany>();
+ wrapper.eq("type", 2);
+ wrapper.ne("flag", 3);
+ wrapper.orderBy("id", false);
+ if (user != null && user.getRoleType() != null && user.getRoleType() == 2) {
+ wrapper.eq("id", user.getObjectId());
+ }
+ return companyService.selectList(wrapper);
+ }
}
--
Gitblit v1.7.1