feat: 系统管理相关逻辑增加租户id条件

This commit is contained in:
tangwei 2026-06-16 17:53:29 +08:00
parent b171d91e54
commit c0ee187eff
28 changed files with 469 additions and 139 deletions

View File

@ -3,6 +3,7 @@ package com.yfd.platform.system.controller;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yfd.platform.config.ResponseResult; import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.system.domain.SysConfig; import com.yfd.platform.system.domain.SysConfig;
import com.yfd.platform.system.service.ISysConfigService; import com.yfd.platform.system.service.ISysConfigService;
@ -38,16 +39,22 @@ public class SysConfigController {
@PostMapping("/getOneById") @PostMapping("/getOneById")
@Operation(summary = "根据id查询全局配置详情记录") @Operation(summary = "根据id查询全局配置详情记录")
@ResponseBody @ResponseBody
public SysConfig getOneById(String id){ public SysConfig getOneById(String id,
return configService.getById(id); @RequestHeader(value = "Tenant_id", required = false) String tenantId){
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysConfig::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysConfig::getTenantId, StrUtil.trim(tenantId));
return configService.getOne(queryWrapper);
} }
@PostMapping("/addConfig") @PostMapping("/addConfig")
@Operation(summary = "根据id查询全局配置详情记录") @Operation(summary = "根据id查询全局配置详情记录")
@ResponseBody @ResponseBody
public ResponseResult addConfig(@RequestBody SysConfig config ) throws IOException, UnsupportedAudioFileException { public ResponseResult addConfig(@RequestBody SysConfig config,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) throws IOException, UnsupportedAudioFileException {
if (StrUtil.isEmpty(config.getId())){ if (StrUtil.isEmpty(config.getId())){
config.setId(IdUtil.fastSimpleUUID()); } config.setId(IdUtil.fastSimpleUUID()); }
config.setTenantId(StrUtil.trimToNull(tenantId));
config.setLastmodifier(userService.getUsername()); config.setLastmodifier(userService.getUsername());
config.setLastmodifydate(new Timestamp(System.currentTimeMillis())); config.setLastmodifydate(new Timestamp(System.currentTimeMillis()));
boolean ok=configService.save(config); boolean ok=configService.save(config);
@ -57,7 +64,15 @@ public class SysConfigController {
@PostMapping("/updateById") @PostMapping("/updateById")
@Operation(summary = "根据id修改全局配置记录") @Operation(summary = "根据id修改全局配置记录")
@ResponseBody @ResponseBody
public ResponseResult updateById(@RequestBody SysConfig config) throws IOException, UnsupportedAudioFileException { public ResponseResult updateById(@RequestBody SysConfig config,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) throws IOException, UnsupportedAudioFileException {
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysConfig::getId, config.getId())
.eq(StrUtil.isNotBlank(tenantId), SysConfig::getTenantId, StrUtil.trim(tenantId));
if (configService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的配置记录");
}
config.setTenantId(StrUtil.trimToNull(tenantId));
config.setLastmodifier(userService.getUsername()); config.setLastmodifier(userService.getUsername());
config.setLastmodifydate(new Timestamp(System.currentTimeMillis())); config.setLastmodifydate(new Timestamp(System.currentTimeMillis()));
boolean ok=configService.updateById(config); boolean ok=configService.updateById(config);

View File

@ -1,5 +1,6 @@
package com.yfd.platform.system.controller; package com.yfd.platform.system.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yfd.platform.annotation.Log; import com.yfd.platform.annotation.Log;
import com.yfd.platform.config.ResponseResult; import com.yfd.platform.config.ResponseResult;
@ -42,10 +43,11 @@ public class SysLogController {
@Operation(summary = "分页查询日志信息") @Operation(summary = "分页查询日志信息")
public ResponseResult getLogList(String username, String optType, public ResponseResult getLogList(String username, String optType,
String startDate, String startDate,
String endDate, Page<SysLog> page) { String endDate, Page<SysLog> page,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
tenantId=null;
Page<SysLog> sysLogPage = sysLogService.getLogList(username, optType, Page<SysLog> sysLogPage = sysLogService.getLogList(username, optType,
startDate, endDate, page); startDate, endDate, page, StrUtil.trimToNull(tenantId));
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("list", sysLogPage.getRecords()); map.put("list", sysLogPage.getRecords());
map.put("total", sysLogPage.getTotal()); map.put("total", sysLogPage.getTotal());
@ -65,10 +67,11 @@ public class SysLogController {
public void exportExcel(String username, String optType, public void exportExcel(String username, String optType,
String startDate, String startDate,
String endDate, Page<SysLog> page, String endDate, Page<SysLog> page,
HttpServletResponse response) throws IOException { HttpServletResponse response,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) throws IOException {
tenantId=null;
Page<SysLog> sysLogPage = sysLogService.getLogList(username, optType, Page<SysLog> sysLogPage = sysLogService.getLogList(username, optType,
startDate, endDate, page); startDate, endDate, page, StrUtil.trimToNull(tenantId));
sysLogService.exportExcel(sysLogPage.getRecords(), response); sysLogService.exportExcel(sysLogPage.getRecords(), response);
} }
} }

View File

@ -2,6 +2,7 @@ package com.yfd.platform.system.controller;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yfd.platform.annotation.Log; import com.yfd.platform.annotation.Log;
import com.yfd.platform.config.ResponseResult; import com.yfd.platform.config.ResponseResult;
@ -58,8 +59,9 @@ public class SysMenuController {
@ResponseBody @ResponseBody
public List<Map<String, Object>> getMenuButtonTree(String systemcode, public List<Map<String, Object>> getMenuButtonTree(String systemcode,
String name, String name,
String isdisplay) { String isdisplay,
return sysMenuService.getMenuButtonTree(systemcode, name, isdisplay); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
return sysMenuService.getMenuButtonTree(systemcode, name, isdisplay, StrUtil.trimToNull(tenantId));
} }
/*********************************** /***********************************
@ -75,8 +77,9 @@ public class SysMenuController {
@ResponseBody @ResponseBody
public List<Map<String, Object>> getMenuTree(String systemcode, public List<Map<String, Object>> getMenuTree(String systemcode,
String name, String name,
String isdisplay) { String isdisplay,
return sysMenuService.getMenuTree(systemcode, name, isdisplay); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
return sysMenuService.getMenuTree(systemcode, name, isdisplay, StrUtil.trimToNull(tenantId));
} }
/*********************************** /***********************************
@ -90,11 +93,12 @@ public class SysMenuController {
@PostMapping("/permissionAssignment") @PostMapping("/permissionAssignment")
@Operation(summary = "获取分配权限(不含按钮)") @Operation(summary = "获取分配权限(不含按钮)")
@ResponseBody @ResponseBody
public List<Map<String, Object>> permissionAssignment(String code, String roleId) { public List<Map<String, Object>> permissionAssignment(String code, String roleId,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
if (StrUtil.isBlank(code)) { if (StrUtil.isBlank(code)) {
code = "1"; code = "1";
} }
return sysMenuService.permissionAssignment(code,roleId); return sysMenuService.permissionAssignment(code, roleId, StrUtil.trimToNull(tenantId));
} }
/********************************** /**********************************
@ -105,13 +109,13 @@ public class SysMenuController {
@GetMapping("/treeRoutes") @GetMapping("/treeRoutes")
@Operation(summary = "获取当前用户菜单结构树") @Operation(summary = "获取当前用户菜单结构树")
@ResponseBody @ResponseBody
public List<Map<String, Object>> getMenuTreeByUser() { public List<Map<String, Object>> getMenuTreeByUser(@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
SysUser userInfo = userService.getUserInfo(); SysUser userInfo = userService.getUserInfo();
String id = ""; String id = "";
if (0 != userInfo.getUsertype()) { if (0 != userInfo.getUsertype()) {
id = userInfo.getId(); id = userInfo.getId();
} }
return sysMenuService.getMenuTree(id); return sysMenuService.getMenuTree(id, StrUtil.isNotBlank(tenantId) ? StrUtil.trimToNull(tenantId) : userInfo.getTenantId());
} }
/*********************************** /***********************************
@ -123,8 +127,12 @@ public class SysMenuController {
@PostMapping("/getOneById") @PostMapping("/getOneById")
@Operation(summary = "根据id查询菜单或按钮详情") @Operation(summary = "根据id查询菜单或按钮详情")
@ResponseBody @ResponseBody
public ResponseResult getOneById(String id) { public ResponseResult getOneById(String id,
SysMenu sysMenu = sysMenuService.getById(id); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
SysMenu sysMenu = sysMenuService.getOne(queryWrapper);
return ResponseResult.successData(sysMenu); return ResponseResult.successData(sysMenu);
} }
@ -138,7 +146,9 @@ public class SysMenuController {
@PostMapping("/addMenu") @PostMapping("/addMenu")
@Operation(summary = "新增菜单及按钮") @Operation(summary = "新增菜单及按钮")
@ResponseBody @ResponseBody
public ResponseResult addMenu(@RequestBody SysMenu sysMenu) { public ResponseResult addMenu(@RequestBody SysMenu sysMenu,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
sysMenu.setTenantId(StrUtil.trimToNull(tenantId));
boolean isOk = sysMenuService.addMenu(sysMenu); boolean isOk = sysMenuService.addMenu(sysMenu);
if (isOk) { if (isOk) {
return ResponseResult.success(); return ResponseResult.success();
@ -157,7 +167,15 @@ public class SysMenuController {
@PostMapping("/updateById") @PostMapping("/updateById")
@Operation(summary = "修改菜单及按钮") @Operation(summary = "修改菜单及按钮")
@ResponseBody @ResponseBody
public ResponseResult updateById(@RequestBody SysMenu sysMenu) { public ResponseResult updateById(@RequestBody SysMenu sysMenu,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getId, sysMenu.getId())
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
if (sysMenuService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的菜单");
}
sysMenu.setTenantId(StrUtil.trimToNull(tenantId));
sysMenu.setLastmodifier(userService.getUsername()); sysMenu.setLastmodifier(userService.getUsername());
sysMenu.setLastmodifydate(new Timestamp(System.currentTimeMillis())); sysMenu.setLastmodifydate(new Timestamp(System.currentTimeMillis()));
boolean isOk = sysMenuService.updateById(sysMenu); boolean isOk = sysMenuService.updateById(sysMenu);
@ -179,7 +197,14 @@ public class SysMenuController {
@PostMapping("/deleteIcon") @PostMapping("/deleteIcon")
@Operation(summary = "根据id删除单个图标") @Operation(summary = "根据id删除单个图标")
@ResponseBody @ResponseBody
public ResponseResult deleteIcon(@RequestParam String id) { public ResponseResult deleteIcon(@RequestParam String id,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
if (sysMenuService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的菜单");
}
boolean ok = sysMenuService.deleteIcon(id); boolean ok = sysMenuService.deleteIcon(id);
if (ok) { if (ok) {
return ResponseResult.success(); return ResponseResult.success();
@ -199,10 +224,11 @@ public class SysMenuController {
@PostMapping("/setIsDisplay") @PostMapping("/setIsDisplay")
@Operation(summary = "更新菜单及按钮是否有效") @Operation(summary = "更新菜单及按钮是否有效")
@ResponseBody @ResponseBody
public ResponseResult setIsDisplay(String id, String isdisplay) { public ResponseResult setIsDisplay(String id, String isdisplay,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
UpdateWrapper<SysMenu> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysMenu> updateWrapper = new UpdateWrapper<>();
//根据id 修改是否显示 最近修改人最近修改时间 //根据id 修改是否显示 最近修改人最近修改时间
updateWrapper.eq("id", id).set("isdisplay", isdisplay).set( updateWrapper.eq("id", id).eq(StrUtil.isNotBlank(tenantId), "tenant_id", StrUtil.trim(tenantId)).set("isdisplay", isdisplay).set(
"lastmodifier", userService.getUsername()).set( "lastmodifier", userService.getUsername()).set(
"lastmodifydate", "lastmodifydate",
new Timestamp(System.currentTimeMillis())); new Timestamp(System.currentTimeMillis()));
@ -227,8 +253,15 @@ public class SysMenuController {
@ResponseBody @ResponseBody
public ResponseResult moveOrderno(@RequestParam String parentid, public ResponseResult moveOrderno(@RequestParam String parentid,
@RequestParam String id, @RequestParam String id,
@RequestParam int orderno) { @RequestParam int orderno,
boolean ok = sysMenuService.moveOrderno(parentid, id, orderno); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
if (sysMenuService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的菜单");
}
boolean ok = sysMenuService.moveOrderno(parentid, id, orderno, StrUtil.trimToNull(tenantId));
if (ok) { if (ok) {
return ResponseResult.success(); return ResponseResult.success();
} else { } else {
@ -246,7 +279,14 @@ public class SysMenuController {
@PostMapping("/deleteById") @PostMapping("/deleteById")
@Operation(summary = "根据id删除菜单或按钮") @Operation(summary = "根据id删除菜单或按钮")
@ResponseBody @ResponseBody
public ResponseResult deleteById(@RequestParam String id) { public ResponseResult deleteById(@RequestParam String id,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
if (sysMenuService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的菜单");
}
boolean ok = sysMenuService.deleteById(id); boolean ok = sysMenuService.deleteById(id);
if (ok) { if (ok) {
return ResponseResult.success(); return ResponseResult.success();
@ -266,13 +306,23 @@ public class SysMenuController {
@Operation(summary = "菜单或按钮切换") @Operation(summary = "菜单或按钮切换")
@ResponseBody @ResponseBody
public ResponseResult changeMenuOrder(@RequestParam String fromId, public ResponseResult changeMenuOrder(@RequestParam String fromId,
@RequestParam String toId) { @RequestParam String toId,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
if (StrUtil.isBlank(fromId) || StrUtil.isBlank(toId)) { if (StrUtil.isBlank(fromId) || StrUtil.isBlank(toId)) {
return ResponseResult.error("参数为空!"); return ResponseResult.error("参数为空!");
} }
if (fromId.equals(toId)) { if (fromId.equals(toId)) {
return ResponseResult.error("切换失败!"); return ResponseResult.error("切换失败!");
} }
LambdaQueryWrapper<SysMenu> fromWrapper = new LambdaQueryWrapper<>();
fromWrapper.eq(SysMenu::getId, fromId)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
LambdaQueryWrapper<SysMenu> toWrapper = new LambdaQueryWrapper<>();
toWrapper.eq(SysMenu::getId, toId)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
if (sysMenuService.getOne(fromWrapper) == null || sysMenuService.getOne(toWrapper) == null) {
return ResponseResult.error("存在不属于当前租户的菜单");
}
boolean ok = sysMenuService.changeOderNoById(fromId, toId); boolean ok = sysMenuService.changeOderNoById(fromId, toId);
if (ok) { if (ok) {
return ResponseResult.success(); return ResponseResult.success();
@ -290,9 +340,16 @@ public class SysMenuController {
@PostMapping("/uploadIcon") @PostMapping("/uploadIcon")
@Operation(summary = "上传单个图标") @Operation(summary = "上传单个图标")
@ResponseBody @ResponseBody
public ResponseResult uploadIcon(MultipartFile icon, String menuId) throws FileNotFoundException { public ResponseResult uploadIcon(MultipartFile icon, String menuId,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) throws FileNotFoundException {
if (StrUtil.isNotBlank(menuId)) { if (StrUtil.isNotBlank(menuId)) {
SysMenu sysMenu = sysMenuService.getById(menuId); LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getId, menuId)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId));
SysMenu sysMenu = sysMenuService.getOne(queryWrapper);
if (sysMenu == null) {
return ResponseResult.error("未找到对应租户的菜单");
}
//图片路径 //图片路径
String iconname = String iconname =
System.getProperty("user.dir") + "\\src\\main" + System.getProperty("user.dir") + "\\src\\main" +

View File

@ -51,8 +51,9 @@ public class SysOrganizationController {
@PostMapping("/getOrgScopeTree") @PostMapping("/getOrgScopeTree")
@Operation(summary = "获取组织范围树结构") @Operation(summary = "获取组织范围树结构")
@ResponseBody @ResponseBody
public List<Map<String, Object>> getOrgScopeTree(String roleId) { public List<Map<String, Object>> getOrgScopeTree(String roleId,
return organizationService.getOrgScopeTree(roleId); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
return organizationService.getOrgScopeTree(roleId, StrUtil.trimToNull(tenantId));
} }
/*********************************** /***********************************
@ -64,8 +65,9 @@ public class SysOrganizationController {
@Operation(summary = "获取组织结构树") @Operation(summary = "获取组织结构树")
@ResponseBody @ResponseBody
public List<Map<String, Object>> getOrgTree(String parentid, public List<Map<String, Object>> getOrgTree(String parentid,
String params) { String params,
return organizationService.getOrgTree(parentid, params); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
return organizationService.getOrgTree(parentid, params, StrUtil.trimToNull(tenantId));
} }
/*********************************** /***********************************
@ -77,12 +79,13 @@ public class SysOrganizationController {
@PostMapping("/getOrganizationById") @PostMapping("/getOrganizationById")
@Operation(summary = "根据企业ID查询组织信息") @Operation(summary = "根据企业ID查询组织信息")
@ResponseBody @ResponseBody
public ResponseResult getOrganizationById(String id, String orgName) { public ResponseResult getOrganizationById(String id, String orgName,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
if (StrUtil.isBlank(id)) { if (StrUtil.isBlank(id)) {
return ResponseResult.error("查询失败!"); return ResponseResult.error("查询失败!");
} }
List<SysOrganization> sysOrganizations = List<SysOrganization> sysOrganizations =
organizationService.getOrganizationById(id, orgName); organizationService.getOrganizationById(id, orgName, StrUtil.trimToNull(tenantId));
return ResponseResult.successData(sysOrganizations); return ResponseResult.successData(sysOrganizations);
} }
@ -95,8 +98,13 @@ public class SysOrganizationController {
@PostMapping("/getOneById") @PostMapping("/getOneById")
@Operation(summary = "根据ID查询组织详情") @Operation(summary = "根据ID查询组织详情")
@ResponseBody @ResponseBody
public ResponseResult getOneById(String id) { public ResponseResult getOneById(String id,
SysOrganization sysOrganization = organizationService.getById(id); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysOrganization> queryWrapper =
new LambdaQueryWrapper<>();
queryWrapper.eq(SysOrganization::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, StrUtil.trim(tenantId));
SysOrganization sysOrganization = organizationService.getOne(queryWrapper);
return ResponseResult.successData(sysOrganization); return ResponseResult.successData(sysOrganization);
} }
@ -110,7 +118,8 @@ public class SysOrganizationController {
@PostMapping("/addOrg") @PostMapping("/addOrg")
@Operation(summary = "新增系统组织框架") @Operation(summary = "新增系统组织框架")
@ResponseBody @ResponseBody
public ResponseResult addOrg(@RequestBody SysOrganization sysOrganization) { public ResponseResult addOrg(@RequestBody SysOrganization sysOrganization,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
//判断是否是否填写 有效 否则默认为 1 //判断是否是否填写 有效 否则默认为 1
if (StrUtil.isEmpty(sysOrganization.getIsvaild())) { if (StrUtil.isEmpty(sysOrganization.getIsvaild())) {
sysOrganization.setIsvaild("1"); sysOrganization.setIsvaild("1");
@ -118,6 +127,7 @@ public class SysOrganizationController {
if("".equals(sysOrganization.getId())){ if("".equals(sysOrganization.getId())){
sysOrganization.setId(null); sysOrganization.setId(null);
} }
sysOrganization.setTenantId(StrUtil.trimToNull(tenantId));
//填写 当前用户名称 //填写 当前用户名称
sysOrganization.setLastmodifier(userService.getUsername()); sysOrganization.setLastmodifier(userService.getUsername());
//填写 当前日期 //填写 当前日期
@ -141,7 +151,16 @@ public class SysOrganizationController {
@PostMapping("/updateById") @PostMapping("/updateById")
@Operation(summary = "修改系统组织框架") @Operation(summary = "修改系统组织框架")
@ResponseBody @ResponseBody
public ResponseResult updateById(@RequestBody SysOrganization sysOrganization) { public ResponseResult updateById(@RequestBody SysOrganization sysOrganization,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysOrganization> queryWrapper =
new LambdaQueryWrapper<>();
queryWrapper.eq(SysOrganization::getId, sysOrganization.getId())
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, StrUtil.trim(tenantId));
if (organizationService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的组织");
}
sysOrganization.setTenantId(StrUtil.trimToNull(tenantId));
//填写 当前用户名称 //填写 当前用户名称
sysOrganization.setLastmodifier(userService.getUsername()); sysOrganization.setLastmodifier(userService.getUsername());
//填写 当前日期 //填写 当前日期
@ -166,10 +185,11 @@ public class SysOrganizationController {
@Operation(summary = "设置组织是否有效") @Operation(summary = "设置组织是否有效")
@ResponseBody @ResponseBody
public ResponseResult setIsValid(@RequestParam String id, public ResponseResult setIsValid(@RequestParam String id,
@RequestParam String isvaild) { @RequestParam String isvaild,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
UpdateWrapper<SysOrganization> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysOrganization> updateWrapper = new UpdateWrapper<>();
//根据id 修改是否有效最近修改人最近修改时间 //根据id 修改是否有效最近修改人最近修改时间
updateWrapper.eq("id", id).set("isvaild", isvaild).set("lastmodifier" updateWrapper.eq("id", id).eq(StrUtil.isNotBlank(tenantId), "tenant_id", StrUtil.trim(tenantId)).set("isvaild", isvaild).set("lastmodifier"
, userService.getUsername()).set("lastmodifydate", , userService.getUsername()).set("lastmodifydate",
new Timestamp(System.currentTimeMillis())); new Timestamp(System.currentTimeMillis()));
boolean isOk = organizationService.update(updateWrapper); boolean isOk = organizationService.update(updateWrapper);
@ -190,21 +210,34 @@ public class SysOrganizationController {
@PostMapping("/deleteById") @PostMapping("/deleteById")
@Operation(summary = "根据id删除系统组织框架") @Operation(summary = "根据id删除系统组织框架")
@ResponseBody @ResponseBody
public ResponseResult deleteById(@RequestParam String id) { public ResponseResult deleteById(@RequestParam String id,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
String[] orgIds = id.split(","); String[] orgIds = id.split(",");
for (String orgId : orgIds) { for (String orgId : orgIds) {
LambdaQueryWrapper<SysOrganization> currentWrapper =
new LambdaQueryWrapper<>();
currentWrapper.eq(SysOrganization::getId, orgId)
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, StrUtil.trim(tenantId));
if (organizationService.getOne(currentWrapper) == null) {
return ResponseResult.error("存在不属于当前租户的组织");
}
LambdaQueryWrapper<SysOrganization> queryWrapper = LambdaQueryWrapper<SysOrganization> queryWrapper =
new LambdaQueryWrapper<>(); new LambdaQueryWrapper<>();
List<SysOrganization> list = List<SysOrganization> list =
organizationService.list(queryWrapper.eq(SysOrganization::getParentid, orgId)); organizationService.list(queryWrapper.eq(SysOrganization::getParentid, orgId)
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, StrUtil.trim(tenantId)));
List<String> ids = List<String> ids =
list.stream().map(SysOrganization::getId).collect(Collectors.toList()); list.stream().map(SysOrganization::getId).collect(Collectors.toList());
boolean isOk = organizationService.removeById(orgId); boolean isOk = organizationService.remove(new LambdaQueryWrapper<SysOrganization>()
.eq(SysOrganization::getId, orgId)
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, StrUtil.trim(tenantId)));
if (!isOk) { if (!isOk) {
continue; continue;
} }
for (String oid : ids) { for (String oid : ids) {
organizationService.removeById(oid); organizationService.remove(new LambdaQueryWrapper<SysOrganization>()
.eq(SysOrganization::getId, oid)
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, StrUtil.trim(tenantId)));
} }
} }
return ResponseResult.success(); return ResponseResult.success();

View File

@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yfd.platform.annotation.Log; import com.yfd.platform.annotation.Log;
import com.yfd.platform.config.ResponseResult; import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.system.domain.SysMenu;
import com.yfd.platform.system.domain.SysRole; import com.yfd.platform.system.domain.SysRole;
import com.yfd.platform.system.service.ISysMenuService;
import com.yfd.platform.system.service.ISysRoleService; import com.yfd.platform.system.service.ISysRoleService;
import com.yfd.platform.system.service.IUserService; import com.yfd.platform.system.service.IUserService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -38,6 +41,9 @@ public class SysRoleController {
@Resource @Resource
private IUserService userService; private IUserService userService;
@Resource
private ISysMenuService sysMenuService;
/*********************************** /***********************************
* 用途说明查询所有角色 * 用途说明查询所有角色
* 参数说明 * 参数说明
@ -47,8 +53,9 @@ public class SysRoleController {
@PostMapping("/list") @PostMapping("/list")
@Operation(summary = "查询所有角色") @Operation(summary = "查询所有角色")
@ResponseBody @ResponseBody
public List<SysRole> list(@RequestParam(required = false) String rolename) { public List<SysRole> list(@RequestParam(required = false) String rolename,
return roleService.selectRoleList(rolename); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
return roleService.selectRoleList(rolename, StrUtil.trimToNull(tenantId));
} }
/*********************************** /***********************************
@ -60,8 +67,12 @@ public class SysRoleController {
@PostMapping("/getOneById") @PostMapping("/getOneById")
@Operation(summary = "根据Id获取当个角色") @Operation(summary = "根据Id获取当个角色")
@ResponseBody @ResponseBody
public ResponseResult getOneById(String id) { public ResponseResult getOneById(String id,
SysRole sysRole = roleService.getById(id); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRole::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysRole::getTenantId, StrUtil.trim(tenantId));
SysRole sysRole = roleService.getOne(queryWrapper);
return ResponseResult.successData(sysRole); return ResponseResult.successData(sysRole);
} }
@ -75,7 +86,9 @@ public class SysRoleController {
@PostMapping("/addRole") @PostMapping("/addRole")
@Operation(summary = "新增角色") @Operation(summary = "新增角色")
@ResponseBody @ResponseBody
public ResponseResult addRole(@RequestBody SysRole sysRole) { public ResponseResult addRole(@RequestBody SysRole sysRole,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
sysRole.setTenantId(StrUtil.trimToNull(tenantId));
boolean isOk = roleService.addRole(sysRole); boolean isOk = roleService.addRole(sysRole);
if (isOk) { if (isOk) {
return ResponseResult.success(); return ResponseResult.success();
@ -96,10 +109,11 @@ public class SysRoleController {
@Operation(summary = "分配操作权限") @Operation(summary = "分配操作权限")
@ResponseBody @ResponseBody
public ResponseResult setOptScope(@RequestParam String id, public ResponseResult setOptScope(@RequestParam String id,
@RequestParam String optscope) { @RequestParam String optscope,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>();
//根据id 更新权限最近修改人最近修改时间 //根据id 更新权限最近修改人最近修改时间
updateWrapper.eq("id", id).set("optscope", optscope).set( updateWrapper.eq("id", id).eq(StrUtil.isNotBlank(tenantId), "tenant_id", StrUtil.trim(tenantId)).set("optscope", optscope).set(
"lastmodifier", userService.getUsername()).set( "lastmodifier", userService.getUsername()).set(
"lastmodifydate", LocalDateTime.now()); "lastmodifydate", LocalDateTime.now());
boolean ok = roleService.update(updateWrapper); boolean ok = roleService.update(updateWrapper);
@ -121,13 +135,34 @@ public class SysRoleController {
@PostMapping("/setMenuById") @PostMapping("/setMenuById")
@Operation(summary = "角色菜单权限") @Operation(summary = "角色菜单权限")
@ResponseBody @ResponseBody
public ResponseResult setMenuById(String id, String menuIds) { public ResponseResult setMenuById(String id, String menuIds,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
if (StrUtil.isBlank(id)) { if (StrUtil.isBlank(id)) {
return ResponseResult.error("参数为空"); return ResponseResult.error("参数为空");
} }
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRole::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysRole::getTenantId, StrUtil.trim(tenantId));
if (roleService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的角色");
}
if (StrUtil.isBlank(menuIds)) { if (StrUtil.isBlank(menuIds)) {
return ResponseResult.success(); return ResponseResult.success();
} }
List<String> menuIdList = Arrays.stream(menuIds.split(","))
.map(StrUtil::trim)
.filter(StrUtil::isNotBlank)
.distinct()
.toList();
if (menuIdList.isEmpty()) {
return ResponseResult.success();
}
long menuCount = sysMenuService.count(new LambdaQueryWrapper<SysMenu>()
.in(SysMenu::getId, menuIdList)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, StrUtil.trim(tenantId)));
if (menuCount != menuIdList.size()) {
return ResponseResult.error("存在不属于当前租户的菜单");
}
boolean ok = roleService.setMenuById(id, menuIds); boolean ok = roleService.setMenuById(id, menuIds);
if (ok) { if (ok) {
return ResponseResult.success(); return ResponseResult.success();
@ -149,10 +184,11 @@ public class SysRoleController {
@Operation(summary = "设置组织范围") @Operation(summary = "设置组织范围")
@ResponseBody @ResponseBody
public ResponseResult setOrgscope(@RequestParam String id, public ResponseResult setOrgscope(@RequestParam String id,
@RequestParam String orgscope) { @RequestParam String orgscope,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>();
//根据id 更新组织范围最近修改人最近修改时间 //根据id 更新组织范围最近修改人最近修改时间
updateWrapper.eq("id", id).set("orgscope", orgscope).set( updateWrapper.eq("id", id).eq(StrUtil.isNotBlank(tenantId), "tenant_id", StrUtil.trim(tenantId)).set("orgscope", orgscope).set(
"lastmodifier", userService.getUsername()).set( "lastmodifier", userService.getUsername()).set(
"lastmodifydate", LocalDateTime.now()); "lastmodifydate", LocalDateTime.now());
boolean ok = roleService.update(updateWrapper); boolean ok = roleService.update(updateWrapper);
@ -175,10 +211,11 @@ public class SysRoleController {
@Operation(summary = "设置业务范围") @Operation(summary = "设置业务范围")
@ResponseBody @ResponseBody
public ResponseResult setBusscope(@RequestParam String id, public ResponseResult setBusscope(@RequestParam String id,
@RequestParam String busscope) { @RequestParam String busscope,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>();
//根据id 更新业务范围最近修改人最近修改时间 //根据id 更新业务范围最近修改人最近修改时间
updateWrapper.eq("id", id).set("busscope", busscope).set( updateWrapper.eq("id", id).eq(StrUtil.isNotBlank(tenantId), "tenant_id", StrUtil.trim(tenantId)).set("busscope", busscope).set(
"lastmodifier", userService.getUsername()).set( "lastmodifier", userService.getUsername()).set(
"lastmodifydate", LocalDateTime.now()); "lastmodifydate", LocalDateTime.now());
boolean ok = roleService.update(updateWrapper); boolean ok = roleService.update(updateWrapper);
@ -200,7 +237,14 @@ public class SysRoleController {
@PostMapping("/setRoleUsers") @PostMapping("/setRoleUsers")
@Operation(summary = "角色添加用户") @Operation(summary = "角色添加用户")
@ResponseBody @ResponseBody
public ResponseResult setRoleUsers(String roleid, String userids) { public ResponseResult setRoleUsers(String roleid, String userids,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysRole> roleWrapper = new LambdaQueryWrapper<>();
roleWrapper.eq(SysRole::getId, roleid)
.eq(StrUtil.isNotBlank(tenantId), SysRole::getTenantId, StrUtil.trim(tenantId));
if (roleService.getOne(roleWrapper) == null) {
return ResponseResult.error("未找到对应租户的角色");
}
boolean isOk = true; boolean isOk = true;
String[] temp = userids.split(","); String[] temp = userids.split(",");
for (String userid : temp) { for (String userid : temp) {
@ -223,7 +267,14 @@ public class SysRoleController {
@Operation(summary = "删除角色用户") @Operation(summary = "删除角色用户")
@ResponseBody @ResponseBody
public ResponseResult deleteRoleUsers(@RequestParam String roleid, public ResponseResult deleteRoleUsers(@RequestParam String roleid,
@RequestParam String userids) { @RequestParam String userids,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysRole> roleWrapper = new LambdaQueryWrapper<>();
roleWrapper.eq(SysRole::getId, roleid)
.eq(StrUtil.isNotBlank(tenantId), SysRole::getTenantId, StrUtil.trim(tenantId));
if (roleService.getOne(roleWrapper) == null) {
return ResponseResult.error("未找到对应租户的角色");
}
//根据角色id用户id删除 //根据角色id用户id删除
boolean ok = roleService.deleteRoleUsers(roleid, userids); boolean ok = roleService.deleteRoleUsers(roleid, userids);
if (ok) { if (ok) {
@ -243,10 +294,11 @@ public class SysRoleController {
@PostMapping("/setIsvaild") @PostMapping("/setIsvaild")
@Operation(summary = "设置角色是否有效") @Operation(summary = "设置角色是否有效")
@ResponseBody @ResponseBody
public ResponseResult setIsvaild(String id, String isvaild) { public ResponseResult setIsvaild(String id, String isvaild,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysRole> updateWrapper = new UpdateWrapper<>();
//根据id 更新业务范围最近修改人最近修改时间 //根据id 更新业务范围最近修改人最近修改时间
updateWrapper.eq("id", id).set("isvaild", isvaild).set("lastmodifier" updateWrapper.eq("id", id).eq(StrUtil.isNotBlank(tenantId), "tenant_id", StrUtil.trim(tenantId)).set("isvaild", isvaild).set("lastmodifier"
, userService.getUsername()).set("lastmodifydate", , userService.getUsername()).set("lastmodifydate",
LocalDateTime.now()); LocalDateTime.now());
boolean ok = roleService.update(updateWrapper); boolean ok = roleService.update(updateWrapper);
@ -266,7 +318,15 @@ public class SysRoleController {
@PostMapping("/updateById") @PostMapping("/updateById")
@Operation(summary = "更新角色信息") @Operation(summary = "更新角色信息")
@ResponseBody @ResponseBody
public ResponseResult updateById(@RequestBody SysRole sysRole) { public ResponseResult updateById(@RequestBody SysRole sysRole,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRole::getId, sysRole.getId())
.eq(StrUtil.isNotBlank(tenantId), SysRole::getTenantId, StrUtil.trim(tenantId));
if (roleService.getOne(queryWrapper) == null) {
return ResponseResult.error("未找到对应租户的角色");
}
sysRole.setTenantId(StrUtil.trimToNull(tenantId));
//更新最近修改人 //更新最近修改人
sysRole.setLastmodifier(userService.getUsername()); sysRole.setLastmodifier(userService.getUsername());
//更新最近修改时间 //更新最近修改时间
@ -289,7 +349,17 @@ public class SysRoleController {
@PostMapping("/deleteById") @PostMapping("/deleteById")
@Operation(summary = "根据id删除角色") @Operation(summary = "根据id删除角色")
@ResponseBody @ResponseBody
public ResponseResult deleteById(@RequestParam String id) { public ResponseResult deleteById(@RequestParam String id,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
String[] roleIds = id.split(",");
for (String roleId : roleIds) {
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRole::getId, roleId)
.eq(StrUtil.isNotBlank(tenantId), SysRole::getTenantId, StrUtil.trim(tenantId));
if (roleService.getOne(queryWrapper) == null) {
return ResponseResult.error("存在不属于当前租户的角色");
}
}
roleService.deleteById(id); roleService.deleteById(id);
return ResponseResult.success(); return ResponseResult.success();
} }
@ -310,9 +380,10 @@ public class SysRoleController {
@ResponseBody @ResponseBody
public List<Map> listRoleUsers(String orgid, String username, public List<Map> listRoleUsers(String orgid, String username,
String status, String level, String status, String level,
String rolename, String isvaild) { String rolename, String isvaild,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
return roleService.listRoleUsers(orgid, username, status, level, return roleService.listRoleUsers(orgid, username, status, level,
rolename, isvaild); rolename, isvaild, StrUtil.trimToNull(tenantId));
} }
} }

View File

@ -1,6 +1,7 @@
package com.yfd.platform.system.controller; package com.yfd.platform.system.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yfd.platform.annotation.Log; import com.yfd.platform.annotation.Log;
import com.yfd.platform.config.ResponseResult; import com.yfd.platform.config.ResponseResult;
@ -41,7 +42,10 @@ public class UserController {
@PostMapping("/addUser") @PostMapping("/addUser")
@Operation(summary = "新增系统用户") @Operation(summary = "新增系统用户")
@ResponseBody @ResponseBody
public ResponseResult addUser(@RequestBody SysUser user, String roleids) { public ResponseResult addUser(@RequestBody SysUser user,
String roleids,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
user.setTenantId(StrUtil.trimToNull(tenantId));
Map reslut = userService.addUser(user, roleids); Map reslut = userService.addUser(user, roleids);
return ResponseResult.successData(reslut); return ResponseResult.successData(reslut);
} }
@ -51,10 +55,12 @@ public class UserController {
@Operation(summary = "修改用户信息") @Operation(summary = "修改用户信息")
@ResponseBody @ResponseBody
public ResponseResult updateUser(@RequestBody SysUser user, public ResponseResult updateUser(@RequestBody SysUser user,
String roleids) { String roleids,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
if (StrUtil.isEmpty(user.getId())) { if (StrUtil.isEmpty(user.getId())) {
return ResponseResult.error("没有用户ID"); return ResponseResult.error("没有用户ID");
} }
user.setTenantId(StrUtil.trimToNull(tenantId));
//填写 当前用户名称 //填写 当前用户名称
user.setLastmodifier(userService.getUsername()); user.setLastmodifier(userService.getUsername());
//填写 当前日期 //填写 当前日期
@ -68,10 +74,12 @@ public class UserController {
@Operation(summary = "查询用户信息") @Operation(summary = "查询用户信息")
@ResponseBody @ResponseBody
public ResponseResult queryUsers(String orgid, public ResponseResult queryUsers(String orgid,
String username, Page<SysUser> page) { String username,
Page<SysUser> page,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
Page<SysUser> mapPage = userService.queryUsers(orgid, Page<SysUser> mapPage = userService.queryUsers(orgid,
username, page); username, StrUtil.trimToNull(tenantId), page);
return ResponseResult.successData(mapPage); return ResponseResult.successData(mapPage);
} }
@ -104,8 +112,12 @@ public class UserController {
@GetMapping("/queryUserById") @GetMapping("/queryUserById")
@Operation(summary = "根据id查询用户信息") @Operation(summary = "根据id查询用户信息")
@ResponseBody @ResponseBody
public ResponseResult queryUserById(String id) { public ResponseResult queryUserById(String id,
SysUser user = userService.getById(id); @RequestHeader(value = "Tenant_id", required = false) String tenantId) {
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysUser::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysUser::getTenantId, StrUtil.trim(tenantId));
SysUser user = userService.getOne(queryWrapper);
return ResponseResult.successData(user); return ResponseResult.successData(user);
} }
@ -232,8 +244,11 @@ public class UserController {
@GetMapping("/queryPendingAuditUsers") @GetMapping("/queryPendingAuditUsers")
@Operation(summary = "查询待审核用户列表") @Operation(summary = "查询待审核用户列表")
@ResponseBody @ResponseBody
public ResponseResult queryPendingAuditUsers(Page<SysUser> page,String name,String regStatus) { public ResponseResult queryPendingAuditUsers(Page<SysUser> page,
Page<SysUser> result = userService.queryPendingAuditUsers(page,name,regStatus); String name,
String regStatus,
@RequestHeader(value = "Tenant_id", required = false) String tenantId) {
Page<SysUser> result = userService.queryPendingAuditUsers(page, name, regStatus, StrUtil.trimToNull(tenantId));
return ResponseResult.successData(result); return ResponseResult.successData(result);
} }
} }

View File

@ -48,6 +48,12 @@ public class SysConfig implements Serializable {
*/ */
private String remark; private String remark;
/**
* 租户ID
*/
@TableField("TENANT_ID")
private String tenantId;
/** /**
* 最近修改者 * 最近修改者
*/ */

View File

@ -83,6 +83,12 @@ public class SysLog implements Serializable {
@TableField("REQUESTIP") @TableField("REQUESTIP")
private String requestip; private String requestip;
/**
* 租户ID
*/
@TableField("TENANT_ID")
private String tenantId;
/** /**
* 浏览器类型 * 浏览器类型
*/ */

View File

@ -85,6 +85,12 @@ public class SysMenu implements Serializable {
*/ */
private String isdisplay; private String isdisplay;
/**
* 租户ID
*/
@TableField("TENANT_ID")
private String tenantId;
/** /**
* 最近修改者 * 最近修改者
*/ */

View File

@ -63,6 +63,12 @@ public class SysOrganization implements Serializable {
*/ */
private String description; private String description;
/**
* 租户ID
*/
@TableField("TENANT_ID")
private String tenantId;
/** /**
* 最近修改者 * 最近修改者
*/ */

View File

@ -69,6 +69,12 @@ public class SysRole implements Serializable {
*/ */
private String isvaild; private String isvaild;
/**
* 租户ID
*/
@TableField("TENANT_ID")
private String tenantId;
/** /**
* 最近修改者 * 最近修改者
*/ */

View File

@ -79,6 +79,12 @@ public class SysUser implements Serializable {
*/ */
private String orgid; private String orgid;
/**
* 租户ID
*/
@TableField("TENANT_ID")
private String tenantId;
/** /**
* 密码重置时间 * 密码重置时间
*/ */

View File

@ -25,7 +25,10 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
*upOrderno 大于等于序号更改的序号加一 *upOrderno 大于等于序号更改的序号加一
* 返回值说明: 是否更新成功 * 返回值说明: 是否更新成功
***********************************/ ***********************************/
boolean upMoveOrderno(@Param("parentid") String parentid, @Param("Orderno") int Orderno, @Param("upOrderno") int upOrderno); boolean upMoveOrderno(@Param("parentid") String parentid,
@Param("Orderno") int Orderno,
@Param("upOrderno") int upOrderno,
@Param("tenantId") String tenantId);
/*********************************** /***********************************
* 用途说明菜单及按钮序号向下移动 * 用途说明菜单及按钮序号向下移动
@ -35,13 +38,16 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
*downOrderno 小于等于序号更改的序号减一 *downOrderno 小于等于序号更改的序号减一
* 返回值说明: 是否更新成功 * 返回值说明: 是否更新成功
***********************************/ ***********************************/
boolean downMoveOrderno(@Param("parentid") String parentid, @Param("Orderno") int Orderno, @Param("downOrderno") int downOrderno); boolean downMoveOrderno(@Param("parentid") String parentid,
@Param("Orderno") int Orderno,
@Param("downOrderno") int downOrderno,
@Param("tenantId") String tenantId);
List<String> selectPermsByUserId(String userId); List<String> selectPermsByUserId(String userId);
//List<SysMenu> selectMenuByUserId(String userId); //List<SysMenu> selectMenuByUserId(String userId);
List<SysMenu> selectMenuByUserId(String userId); List<SysMenu> selectMenuByUserId(@Param("userId") String userId, @Param("tenantId") String tenantId);
/*********************************** /***********************************
* 用途说明根据权限id查找系统类型 * 用途说明根据权限id查找系统类型
@ -55,5 +61,5 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
* 参数说明 id 权限id * 参数说明 id 权限id
* 返回值说明: 返回权限集合 * 返回值说明: 返回权限集合
***********************************/ ***********************************/
List<String> selectMenuByRoleId(String id); List<String> selectMenuByRoleId(@Param("id") String id, @Param("tenantId") String tenantId);
} }

View File

@ -44,8 +44,13 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
* isvaild 角色是否有效 * isvaild 角色是否有效
* 返回值说明: 系统用户角色数据集合 * 返回值说明: 系统用户角色数据集合
***********************************/ ***********************************/
List<Map> listRoleUsers(String orgid, String username, String status, List<Map> listRoleUsers(@Param("orgid") String orgid,
String level, String rolename, String isvaild); @Param("username") String username,
@Param("status") String status,
@Param("level") String level,
@Param("rolename") String rolename,
@Param("isvaild") String isvaild,
@Param("tenantId") String tenantId);
/*********************************** /***********************************
* 用途说明根据 角色id和用户id 删除 admin除外 * 用途说明根据 角色id和用户id 删除 admin除外
@ -113,6 +118,6 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
* 参数说明rolename - 角色名称 * 参数说明rolename - 角色名称
* 返回值说明角色列表 * 返回值说明角色列表
***********************************/ ***********************************/
List<SysRole> selectRoleList(@Param("rolename") String rolename); List<SysRole> selectRoleList(@Param("rolename") String rolename, @Param("tenantId") String tenantId);
} }

View File

@ -81,9 +81,10 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
************************************/ ************************************/
boolean delInRoleUsersByUserid(@Param("userid") String userid,@Param("roleids")String[] roleids); boolean delInRoleUsersByUserid(@Param("userid") String userid,@Param("roleids")String[] roleids);
Page<SysUser> queryUsers(String orgid, Page<SysUser> queryUsers(@Param("orgid") String orgid,
String username, @Param("username") String username,
Page<SysUser> page); @Param("tenantId") String tenantId,
Page<SysUser> page);
Map<String, String> getOrganizationByid(String id); Map<String, String> getOrganizationByid(String id);

View File

@ -28,7 +28,7 @@ public interface ISysLogService extends IService<SysLog> {
***********************************/ ***********************************/
Page<SysLog> getLogList(String username, String optType, Page<SysLog> getLogList(String username, String optType,
String startDate, String startDate,
String endDate, Page<SysLog> page); String endDate, Page<SysLog> page, String tenantId);
/********************************** /**********************************

View File

@ -27,7 +27,7 @@ public interface ISysMenuService extends IService<SysMenu> {
* isdisplay 是否显示 * isdisplay 是否显示
* 返回值说明: 菜单结构树集合 * 返回值说明: 菜单结构树集合
***********************************/ ***********************************/
List<Map<String,Object>> getMenuButtonTree(String systemcode, String name, String isdisplay); List<Map<String,Object>> getMenuButtonTree(String systemcode, String name, String isdisplay, String tenantId);
/*********************************** /***********************************
* 用途说明获取菜单结构树不含按钮 * 用途说明获取菜单结构树不含按钮
@ -37,7 +37,7 @@ public interface ISysMenuService extends IService<SysMenu> {
* isdisplay 是否显示 * isdisplay 是否显示
* 返回值说明: 菜单结构树集合 * 返回值说明: 菜单结构树集合
***********************************/ ***********************************/
List<Map<String,Object>> getMenuTree(String systemcode, String name, String isdisplay); List<Map<String,Object>> getMenuTree(String systemcode, String name, String isdisplay, String tenantId);
/*********************************** /***********************************
@ -73,7 +73,7 @@ public interface ISysMenuService extends IService<SysMenu> {
* orderMap map<菜单及按钮表id,排列序号> * orderMap map<菜单及按钮表id,排列序号>
* 返回值说明: 是否更新成功 * 返回值说明: 是否更新成功
***********************************/ ***********************************/
boolean moveOrderno(String parentid, String id, int orderno); boolean moveOrderno(String parentid, String id, int orderno, String tenantId);
/*********************************** /***********************************
* 用途说明根据id删除菜单或按钮 * 用途说明根据id删除菜单或按钮
@ -85,7 +85,7 @@ public interface ISysMenuService extends IService<SysMenu> {
boolean changeOderNoById(String fromId, String toId); boolean changeOderNoById(String fromId, String toId);
List<Map<String, Object>> getMenuTree(String id); List<Map<String, Object>> getMenuTree(String id, String tenantId);
/*********************************** /***********************************
* 用途说明权限分配 * 用途说明权限分配
@ -95,7 +95,7 @@ public interface ISysMenuService extends IService<SysMenu> {
* isdisplay 是否显示 * isdisplay 是否显示
* 返回值说明: 菜单结构树集合 * 返回值说明: 菜单结构树集合
***********************************/ ***********************************/
List<Map<String, Object>> permissionAssignment(String code,String roleId); List<Map<String, Object>> permissionAssignment(String code, String roleId, String tenantId);
String uploadIcon(MultipartFile icon) throws FileNotFoundException; String uploadIcon(MultipartFile icon) throws FileNotFoundException;
} }

View File

@ -24,7 +24,7 @@ public interface ISysOrganizationService extends IService<SysOrganization> {
* params 名称根据名称查询二级 * params 名称根据名称查询二级
* 返回值说明: 组织树集合 * 返回值说明: 组织树集合
***********************************/ ***********************************/
List<Map<String, Object>> getOrgTree(String parentid, String params); List<Map<String, Object>> getOrgTree(String parentid, String params, String tenantId);
/*********************************** /***********************************
* 用途说明新增系统组织框架 * 用途说明新增系统组织框架
@ -40,7 +40,7 @@ public interface ISysOrganizationService extends IService<SysOrganization> {
* id 企业id * id 企业id
* 返回值说明: 系统组织框架对象 * 返回值说明: 系统组织框架对象
***********************************/ ***********************************/
List<SysOrganization> getOrganizationById(String id,String orgName); List<SysOrganization> getOrganizationById(String id, String orgName, String tenantId);
/*********************************** /***********************************
* 用途说明获取组织范围树结构 * 用途说明获取组织范围树结构
@ -48,7 +48,7 @@ public interface ISysOrganizationService extends IService<SysOrganization> {
*roleId 角色id *roleId 角色id
* 返回值说明: 组织树集合 * 返回值说明: 组织树集合
***********************************/ ***********************************/
List<Map<String, Object>> getOrgScopeTree(String roleId); List<Map<String, Object>> getOrgScopeTree(String roleId, String tenantId);
/********************************** /**********************************
* 用途说明: 修改角色组织范围 * 用途说明: 修改角色组织范围

View File

@ -52,7 +52,7 @@ public interface ISysRoleService extends IService<SysRole> {
* isvaild 角色是否有效 * isvaild 角色是否有效
* 返回值说明: 系统用户角色数据集合 * 返回值说明: 系统用户角色数据集合
***********************************/ ***********************************/
List<Map> listRoleUsers(String orgid, String username, String status, String level, String rolename, String isvaild); List<Map> listRoleUsers(String orgid, String username, String status, String level, String rolename, String isvaild, String tenantId);
/*********************************** /***********************************
@ -64,5 +64,5 @@ public interface ISysRoleService extends IService<SysRole> {
***********************************/ ***********************************/
boolean setMenuById(String id, String menuIds); boolean setMenuById(String id, String menuIds);
List<SysRole> selectRoleList(String rolename); List<SysRole> selectRoleList(String rolename, String tenantId);
} }

View File

@ -132,7 +132,7 @@ public interface IUserService extends IService<SysUser> {
boolean addUserRoles(String roleid, String userid); boolean addUserRoles(String roleid, String userid);
//Page<SysUser> queryUsers(String orgid, String username, Page<SysUser> page); //Page<SysUser> queryUsers(String orgid, String username, Page<SysUser> page);
Page<SysUser> queryUsers(String orgid, String username, Page<SysUser> page); Page<SysUser> queryUsers(String orgid, String username, String tenantId, Page<SysUser> page);
/*********************************** /***********************************
* 用途说明根据ID批量删除用户 * 用途说明根据ID批量删除用户
@ -174,6 +174,6 @@ public interface IUserService extends IService<SysUser> {
*page 分页参数 *page 分页参数
* 返回值说明: 待审核用户分页列表 * 返回值说明: 待审核用户分页列表
************************************/ ************************************/
Page<SysUser> queryPendingAuditUsers(Page<SysUser> page,String name, String regStatus); Page<SysUser> queryPendingAuditUsers(Page<SysUser> page, String name, String regStatus, String tenantId);
} }

View File

@ -17,10 +17,13 @@ import com.yfd.platform.utils.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature; import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.AnnotatedType; import java.lang.reflect.AnnotatedType;
@ -55,7 +58,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
@Override @Override
public Page<SysLog> getLogList(String username, String optType, public Page<SysLog> getLogList(String username, String optType,
String startDate, String startDate,
String endDate, Page<SysLog> page) { String endDate, Page<SysLog> page, String tenantId) {
LambdaQueryWrapper<SysLog> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysLog> queryWrapper = new LambdaQueryWrapper<>();
// 没有传username就不按此条件查询 // 没有传username就不按此条件查询
@ -72,6 +75,9 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
if (parseStartDate != null && parseEndDate != null) { if (parseStartDate != null && parseEndDate != null) {
queryWrapper.ge(SysLog::getLogtime, parseStartDate).lt(SysLog::getLogtime, dateTime); queryWrapper.ge(SysLog::getLogtime, parseStartDate).lt(SysLog::getLogtime, dateTime);
} }
if (StrUtil.isNotBlank(tenantId)) {
queryWrapper.eq(SysLog::getTenantId, tenantId);
}
queryWrapper.orderByDesc(SysLog::getLogtime); queryWrapper.orderByDesc(SysLog::getLogtime);
return sysLogMapper.selectPage(page, queryWrapper); return sysLogMapper.selectPage(page, queryWrapper);
@ -152,6 +158,11 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
log.setUsername(nickname); log.setUsername(nickname);
log.setParams(getParameter(method, joinPoint.getArgs())); log.setParams(getParameter(method, joinPoint.getArgs()));
log.setBrowser(browser); log.setBrowser(browser);
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
log.setTenantId(StrUtil.trimToNull(request.getHeader("tenant_id")));
}
String operationtype = getOperationtype(signature.getName()); String operationtype = getOperationtype(signature.getName());
log.setOpttype(operationtype); log.setOpttype(operationtype);
log.setLogtime(new Timestamp(System.currentTimeMillis())); log.setLogtime(new Timestamp(System.currentTimeMillis()));

View File

@ -64,23 +64,28 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override @Override
public List<Map<String, Object>> getMenuButtonTree(String systemcode, public List<Map<String, Object>> getMenuButtonTree(String systemcode,
String name, String name,
String isdisplay) { String isdisplay,
String tenantId) {
List<Map<String, Object>> mapList=null; List<Map<String, Object>> mapList=null;
List<Map<String, Object>> listMap =new ArrayList<>(); List<Map<String, Object>> listMap =new ArrayList<>();
if(StrUtil.isEmpty(name)){//不带名称查询返回树结构 if(StrUtil.isEmpty(name)){//不带名称查询返回树结构
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("parentid", "0").eq("systemcode", systemcode).orderByAsc("orderno"); queryWrapper.eq("parentid", "0").eq("systemcode", systemcode)
.eq(StrUtil.isNotBlank(tenantId), "tenant_id", tenantId)
.orderByAsc("orderno");
mapList = this.listMaps(queryWrapper); mapList = this.listMaps(queryWrapper);
listMap.addAll(ObjectConverterUtil.convertMapFieldsToEntityFormat(SysMenu.class, mapList)); listMap.addAll(ObjectConverterUtil.convertMapFieldsToEntityFormat(SysMenu.class, mapList));
for (int i = 0; i < listMap.size(); i++) { for (int i = 0; i < listMap.size(); i++) {
//查询下一子集 //查询下一子集
List<Map<String, Object>> childList = child(listMap.get(i).get( List<Map<String, Object>> childList = child(listMap.get(i).get(
"id").toString(), systemcode, name, null, null); "id").toString(), systemcode, name, null, null, tenantId);
listMap.get(i).put("children", childList); //添加新列 子集 listMap.get(i).put("children", childList); //添加新列 子集
} }
}else{ //根据菜单名称查询直接返回类别 }else{ //根据菜单名称查询直接返回类别
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", name).eq("systemcode", systemcode).orderByAsc("name"); queryWrapper.like("name", name).eq("systemcode", systemcode)
.eq(StrUtil.isNotBlank(tenantId), "tenant_id", tenantId)
.orderByAsc("name");
mapList = this.listMaps(queryWrapper); mapList = this.listMaps(queryWrapper);
listMap.addAll(ObjectConverterUtil.convertMapFieldsToEntityFormat(SysMenu.class, mapList)); listMap.addAll(ObjectConverterUtil.convertMapFieldsToEntityFormat(SysMenu.class, mapList));
} }
@ -97,7 +102,8 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override @Override
public List<Map<String, Object>> getMenuTree(String systemcode, public List<Map<String, Object>> getMenuTree(String systemcode,
String name, String name,
String isdisplay) { String isdisplay,
String tenantId) {
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
if (StrUtil.isNotEmpty(isdisplay)) { if (StrUtil.isNotEmpty(isdisplay)) {
queryWrapper.eq("isdisplay", isdisplay); queryWrapper.eq("isdisplay", isdisplay);
@ -107,11 +113,11 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
//根据系统 ,类型不为2 显示序号 正序排序 //根据系统 ,类型不为2 显示序号 正序排序
queryWrapper.eq("parentid", "0").eq("systemcode", systemcode).ne( queryWrapper.eq("parentid", "0").eq("systemcode", systemcode).ne(
"type", "2").orderByAsc("orderno"); "type", "2").eq(StrUtil.isNotBlank(tenantId), "tenant_id", tenantId).orderByAsc("orderno");
List<Map<String, Object>> listMap = this.listMaps(queryWrapper); List<Map<String, Object>> listMap = this.listMaps(queryWrapper);
for (int i = 0; i < listMap.size(); i++) { for (int i = 0; i < listMap.size(); i++) {
List<Map<String, Object>> childList = child(listMap.get(i).get( List<Map<String, Object>> childList = child(listMap.get(i).get(
"id").toString(), systemcode, name, isdisplay, "2");//查询下一子集 "id").toString(), systemcode, name, isdisplay, "2", tenantId);//查询下一子集
listMap.get(i).put("children", childList); //添加新列 子集 listMap.get(i).put("children", childList); //添加新列 子集
} }
return listMap; return listMap;
@ -128,10 +134,11 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
***********************************/ ***********************************/
private List<Map<String, Object>> child(String parentid, private List<Map<String, Object>> child(String parentid,
String systemcode, String name, String systemcode, String name,
String isdisplay, String type) { String isdisplay, String type, String tenantId) {
List<Map<String, Object>> mapList; List<Map<String, Object>> mapList;
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("parentid", parentid).eq("systemcode", systemcode); queryWrapper.eq("parentid", parentid).eq("systemcode", systemcode);
queryWrapper.eq(StrUtil.isNotBlank(tenantId), "tenant_id", tenantId);
//根据上级id 系统 查询 //根据上级id 系统 查询
if (StrUtil.isNotEmpty(type)) { if (StrUtil.isNotEmpty(type)) {
queryWrapper.ne("type", type); queryWrapper.ne("type", type);
@ -146,7 +153,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
for (int i = 0; i < listMap.size(); i++) { //遍历表数据 for (int i = 0; i < listMap.size(); i++) { //遍历表数据
List<Map<String, Object>> childList = List<Map<String, Object>> childList =
child(listMap.get(i).get("id").toString(), systemcode child(listMap.get(i).get("id").toString(), systemcode
, name, isdisplay, type); //循环获取下一子集 , name, isdisplay, type, tenantId); //循环获取下一子集
listMap.get(i).put("children", childList); //添加新列 子集 listMap.get(i).put("children", childList); //添加新列 子集
} }
} }
@ -165,20 +172,24 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
String parentId = sysMenu.getParentid(); String parentId = sysMenu.getParentid();
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
//根据上级id 查询到总数 并累加 //根据上级id 查询到总数 并累加
long orderno = this.count(queryWrapper.eq("parentid", queryWrapper.eq("parentid", parentId)
parentId)) + 1L; .eq(StrUtil.isNotBlank(sysMenu.getTenantId()), "tenant_id", sysMenu.getTenantId());
long orderno = this.count(queryWrapper) + 1L;
// 生成排序号 // 生成排序号
sysMenu.setOrderno((int) orderno); sysMenu.setOrderno((int) orderno);
// 生成编号 // 生成编号
QueryWrapper<SysMenu> queryMaxCode = new QueryWrapper<>(); QueryWrapper<SysMenu> queryMaxCode = new QueryWrapper<>();
queryMaxCode.eq("parentid", parentId); queryMaxCode.eq("parentid", parentId)
.eq(StrUtil.isNotBlank(sysMenu.getTenantId()), "tenant_id", sysMenu.getTenantId());
// 使用 Oracle 兼容的 NVL 函数处理空值 // 使用 Oracle 兼容的 NVL 函数处理空值
List<Object> maxList = this.listObjs( List<Object> maxList = this.listObjs(
queryMaxCode.select("NVL(MAX(code), '0') as code") queryMaxCode.select("NVL(MAX(code), '0') as code")
.eq("systemcode", sysMenu.getSystemcode()) .eq("systemcode", sysMenu.getSystemcode())
); );
SysMenu parentMenu = sysMenuMapper.selectById(parentId); SysMenu parentMenu = "0".equals(parentId) ? null : this.getOne(new LambdaQueryWrapper<SysMenu>()
.eq(SysMenu::getId, parentId)
.eq(StrUtil.isNotBlank(sysMenu.getTenantId()), SysMenu::getTenantId, sysMenu.getTenantId()));
// 最大编号转换成int类型 // 最大编号转换成int类型
String maxCode = !maxList.isEmpty() ? maxList.getFirst().toString() : "0"; String maxCode = !maxList.isEmpty() ? maxList.getFirst().toString() : "0";
int max = ObjectUtil.isEmpty(maxList) ? 0 : int max = ObjectUtil.isEmpty(maxList) ? 0 :
@ -302,18 +313,25 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
* 返回值说明: 是否更新成功 * 返回值说明: 是否更新成功
***********************************/ ***********************************/
@Override @Override
public boolean moveOrderno(String parentid, String id, int orderno) { public boolean moveOrderno(String parentid, String id, int orderno, String tenantId) {
boolean ok = true; boolean ok = true;
SysMenu sysMenu = this.getById(id); //根据id查询原顺序号 SysMenu sysMenu = this.getOne(new LambdaQueryWrapper<SysMenu>()
.eq(SysMenu::getId, id)
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, tenantId)); //根据id查询原顺序号
if (sysMenu == null) {
return false;
}
if (sysMenu.getOrderno() > orderno) { if (sysMenu.getOrderno() > orderno) {
ok = sysMenuMapper.upMoveOrderno(parentid, sysMenu.getOrderno(), ok = sysMenuMapper.upMoveOrderno(parentid, sysMenu.getOrderno(),
orderno); //根据 父级id 小于原序号 大于等于更改序号 orderno, tenantId); //根据 父级id 小于原序号 大于等于更改序号
} else { } else {
ok = sysMenuMapper.downMoveOrderno(parentid, sysMenu.getOrderno() ok = sysMenuMapper.downMoveOrderno(parentid, sysMenu.getOrderno()
, orderno); //根据 父级id 大于原序号 小于等于更改序号 , orderno, tenantId); //根据 父级id 大于原序号 小于等于更改序号
} }
UpdateWrapper<SysMenu> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<SysMenu> updateWrapper = new UpdateWrapper<>();
ok = ok && this.update(updateWrapper.eq("id", id).set("orderno", ok = ok && this.update(updateWrapper.eq("id", id)
.eq(StrUtil.isNotBlank(tenantId), "tenant_id", tenantId)
.set("orderno",
orderno)); //根据 id修改序号 orderno)); //根据 id修改序号
return ok; return ok;
} }
@ -345,8 +363,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
} }
QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysMenu> queryWrapper = new QueryWrapper<>();
//根据上级id 查询 根据 orderno 正序排序 //根据上级id 查询 根据 orderno 正序排序
queryWrapper.eq("parentid", sysMenu.getParentid()).orderByAsc( queryWrapper.eq("parentid", sysMenu.getParentid())
"orderno"); .eq(StrUtil.isNotBlank(sysMenu.getTenantId()), "tenant_id", sysMenu.getTenantId())
.orderByAsc("orderno");
List<SysMenu> list = this.list(queryWrapper); List<SysMenu> list = this.list(queryWrapper);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
SysMenu menu = list.get(i); SysMenu menu = list.get(i);
@ -409,16 +428,20 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
* 返回值说明: 返回菜单树 * 返回值说明: 返回菜单树
***********************************/ ***********************************/
@Override @Override
public List<Map<String, Object>> getMenuTree(String id) { public List<Map<String, Object>> getMenuTree(String id, String tenantId) {
// 根据id获取菜单 // 根据id获取菜单
//List<SysMenu> sysMenus = sysMenuMapper.selectMenuByUserId(id); //List<SysMenu> sysMenus = sysMenuMapper.selectMenuByUserId(id);
List<SysMenu> sysMenuList; List<SysMenu> sysMenuList;
if (StrUtil.isBlank(id)) { if (StrUtil.isBlank(id)) {
LambdaQueryWrapper<SysMenu> queryWrapper = LambdaQueryWrapper<SysMenu> queryWrapper =
new LambdaQueryWrapper<>(); new LambdaQueryWrapper<>();
sysMenuList = this.list(queryWrapper.eq(SysMenu::getIsdisplay, "1").ne(SysMenu::getType, "2").eq(SysMenu::getSystemcode, "1").orderByAsc(SysMenu::getOrderno)); sysMenuList = this.list(queryWrapper.eq(SysMenu::getIsdisplay, "1")
.ne(SysMenu::getType, "2")
// .eq(SysMenu::getSystemcode, "1")
.eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, tenantId)
.orderByAsc(SysMenu::getOrderno));
} else { } else {
sysMenuList = sysMenuMapper.selectMenuByUserId(id); sysMenuList = sysMenuMapper.selectMenuByUserId(id, tenantId);
} }
// SysMenu 转换为 Map 并构建树 // SysMenu 转换为 Map 并构建树
List<Map<String, Object>> list = sysMenuList.stream() List<Map<String, Object>> list = sysMenuList.stream()
@ -451,7 +474,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
* 返回值说明: 菜单结构树集合 * 返回值说明: 菜单结构树集合
***********************************/ ***********************************/
@Override @Override
public List<Map<String, Object>> permissionAssignment(String code,String roleId) { public List<Map<String, Object>> permissionAssignment(String code, String roleId, String tenantId) {
// String code = sysMenuMapper.getSystemCodeById(roleId); // String code = sysMenuMapper.getSystemCodeById(roleId);
// if (code == null) { // if (code == null) {
@ -459,13 +482,13 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
// } // }
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysMenu::getSystemcode, code).select(SysMenu::getId, queryWrapper.eq(SysMenu::getSystemcode, code).select(SysMenu::getId,
SysMenu::getParentid, SysMenu::getName).orderByAsc SysMenu::getParentid, SysMenu::getName).eq(StrUtil.isNotBlank(tenantId), SysMenu::getTenantId, tenantId).orderByAsc
(SysMenu::getOrderno); (SysMenu::getOrderno);
List<Map<String, Object>> mapList = List<Map<String, Object>> mapList =
sysMenuMapper.selectMaps(queryWrapper); sysMenuMapper.selectMaps(queryWrapper);
List<Map<String, Object>> listAll = ObjectConverterUtil.convertMapFieldsToEntityFormat(SysMenu.class, mapList); List<Map<String, Object>> listAll = ObjectConverterUtil.convertMapFieldsToEntityFormat(SysMenu.class, mapList);
List<String> listRole = List<String> listRole =
sysMenuMapper.selectMenuByRoleId(roleId); sysMenuMapper.selectMenuByRoleId(roleId, tenantId);
for (Map<String, Object> map : listAll) { for (Map<String, Object> map : listAll) {
String id = (String) map.get("id"); String id = (String) map.get("id");
if (listRole.contains(id)) { if (listRole.contains(id)) {

View File

@ -56,7 +56,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
***********************************/ ***********************************/
@Override @Override
public List<Map<String, Object>> getOrgTree(String parentid, public List<Map<String, Object>> getOrgTree(String parentid,
String params) { String params,
String tenantId) {
SysUser userInfo = userService.getUserInfo(); SysUser userInfo = userService.getUserInfo();
// 构建权限过滤条件 // 构建权限过滤条件
@ -75,7 +76,9 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
allowedOrgIds.addAll(stringList); allowedOrgIds.addAll(stringList);
// 查询这些组织的父级ID // 查询这些组织的父级ID
List<SysOrganization> list = sysOrganizationMapper.selectList( List<SysOrganization> list = sysOrganizationMapper.selectList(
new LambdaQueryWrapper<SysOrganization>().in(SysOrganization::getId, stringList)); new LambdaQueryWrapper<SysOrganization>()
.in(SysOrganization::getId, stringList)
.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, tenantId));
for (SysOrganization org : list) { for (SysOrganization org : list) {
if (org.getParentid() != null) { if (org.getParentid() != null) {
allowedOrgIds.add(org.getParentid()); allowedOrgIds.add(org.getParentid());
@ -90,6 +93,9 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
if (!allowedOrgIds.isEmpty()) { if (!allowedOrgIds.isEmpty()) {
queryWrapper.in("id", allowedOrgIds); queryWrapper.in("id", allowedOrgIds);
} }
if (StrUtil.isNotBlank(tenantId)) {
queryWrapper.eq("tenant_id", tenantId);
}
if (StrUtil.isNotEmpty(params)) { if (StrUtil.isNotEmpty(params)) {
queryWrapper.like("orgname", params); queryWrapper.like("orgname", params);
} }
@ -189,13 +195,18 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
queryWrapper.select("max(orgcode)"); queryWrapper.select("max(orgcode)");
if (StrUtil.isNotEmpty(sysOrganization.getParentid())) { if (StrUtil.isNotEmpty(sysOrganization.getParentid())) {
//根据父级id查询父级信息 //根据父级id查询父级信息
parent = this.getById(sysOrganization.getParentid()); parent = this.getOne(new LambdaQueryWrapper<SysOrganization>()
.eq(SysOrganization::getId, sysOrganization.getParentid())
.eq(StrUtil.isNotBlank(sysOrganization.getTenantId()), SysOrganization::getTenantId, sysOrganization.getTenantId()));
queryWrapper.eq("parentid", sysOrganization.getParentid()); queryWrapper.eq("parentid", sysOrganization.getParentid());
} else { } else {
//默认 填写父级id为0 //默认 填写父级id为0
sysOrganization.setParentid("0"); sysOrganization.setParentid("0");
queryWrapper.eq("parentid", "0"); queryWrapper.eq("parentid", "0");
} }
if (StrUtil.isNotBlank(sysOrganization.getTenantId())) {
queryWrapper.eq("tenant_id", sysOrganization.getTenantId());
}
List<Object> max = this.listObjs(queryWrapper); List<Object> max = this.listObjs(queryWrapper);
//判断查询是否存在 存在转换成 int 类型并给 codeMax 替换值 //判断查询是否存在 存在转换成 int 类型并给 codeMax 替换值
if (!max.isEmpty() && max.getFirst() != null) { if (!max.isEmpty() && max.getFirst() != null) {
@ -233,7 +244,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
***********************************/ ***********************************/
@Override @Override
public List<SysOrganization> getOrganizationById(String id, public List<SysOrganization> getOrganizationById(String id,
String orgName) { String orgName,
String tenantId) {
SysUser userInfo = userService.getUserInfo(); SysUser userInfo = userService.getUserInfo();
// 收集所有允许的组织ID // 收集所有允许的组织ID
@ -258,6 +270,7 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
// 构建查询条件 // 构建查询条件
LambdaQueryWrapper<SysOrganization> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysOrganization> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysOrganization::getParentid, id); queryWrapper.eq(SysOrganization::getParentid, id);
queryWrapper.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, tenantId);
if (StrUtil.isNotBlank(orgName)) { if (StrUtil.isNotBlank(orgName)) {
queryWrapper.like(SysOrganization::getOrgname, orgName); queryWrapper.like(SysOrganization::getOrgname, orgName);
@ -281,7 +294,7 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
* 返回值说明: 组织树集合 * 返回值说明: 组织树集合
***********************************/ ***********************************/
@Override @Override
public List<Map<String, Object>> getOrgScopeTree(String roleId) { public List<Map<String, Object>> getOrgScopeTree(String roleId, String tenantId) {
LambdaQueryWrapper<SysOrganization> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysOrganization> queryWrapper = new LambdaQueryWrapper<>();
if(!"admin".equals(SecurityUtils.getCurrentUsername())){ if(!"admin".equals(SecurityUtils.getCurrentUsername())){
@ -300,11 +313,17 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
queryWrapper.in(SysOrganization::getId, ids); queryWrapper.in(SysOrganization::getId, ids);
} }
queryWrapper.eq(SysOrganization::getIsvaild, '1'); queryWrapper.eq(SysOrganization::getIsvaild, '1');
queryWrapper.eq(StrUtil.isNotBlank(tenantId), SysOrganization::getTenantId, tenantId);
queryWrapper.orderByAsc(SysOrganization::getOrgcode); queryWrapper.orderByAsc(SysOrganization::getOrgcode);
List<Map<String, Object>> mapList = this.listMaps(queryWrapper); List<Map<String, Object>> mapList = this.listMaps(queryWrapper);
List<Map<String, Object>> listMaps = ObjectConverterUtil.convertMapFieldsToEntityFormat(SysOrganization.class, mapList); List<Map<String, Object>> listMaps = ObjectConverterUtil.convertMapFieldsToEntityFormat(SysOrganization.class, mapList);
// 获取当前角色 // 获取当前角色
SysRole sysRole = sysRoleMapper.selectById(roleId); SysRole sysRole = sysRoleMapper.selectOne(new QueryWrapper<SysRole>()
.eq("id", roleId)
.eq(StrUtil.isNotBlank(tenantId), "tenant_id", tenantId));
if (sysRole == null) {
return new ArrayList<>();
}
String orgscope = sysRole.getOrgscope(); String orgscope = sysRole.getOrgscope();
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
if (StrUtil.isNotBlank(orgscope)) { if (StrUtil.isNotBlank(orgscope)) {

View File

@ -47,6 +47,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
int codeMax = 0; int codeMax = 0;
DecimalFormat df = new DecimalFormat("000");//四位数字编号 DecimalFormat df = new DecimalFormat("000");//四位数字编号
QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StringUtils.isNotBlank(sysRole.getTenantId()), "tenant_id", sysRole.getTenantId());
List<Object> max = this.listObjs(queryWrapper.select("MAX(rolecode) " + List<Object> max = this.listObjs(queryWrapper.select("MAX(rolecode) " +
"rolecode"));// 查询最大的编号 "rolecode"));// 查询最大的编号
// 存在转换成 int 类型并给 codeMax 替换值 // 存在转换成 int 类型并给 codeMax 替换值
@ -140,9 +141,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Override @Override
public List<Map> listRoleUsers(String orgid, String username, public List<Map> listRoleUsers(String orgid, String username,
String status, String level, String status, String level,
String rolename, String isvaild) { String rolename, String isvaild, String tenantId) {
return roleMapper.listRoleUsers(orgid, username, status, level, return roleMapper.listRoleUsers(orgid, username, status, level,
rolename, isvaild); rolename, isvaild, tenantId);
} }
/*********************************** /***********************************
@ -167,8 +168,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
} }
@Override @Override
public List<SysRole> selectRoleList(String rolename) { public List<SysRole> selectRoleList(String rolename, String tenantId) {
return roleMapper.selectRoleList(rolename); return roleMapper.selectRoleList(rolename, tenantId);
} }
} }

View File

@ -567,9 +567,10 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
@Override @Override
public Page<SysUser> queryUsers(String orgid, public Page<SysUser> queryUsers(String orgid,
String username, String username,
String tenantId,
Page<SysUser> page) { Page<SysUser> page) {
Page<SysUser> mapPage = sysUserMapper.queryUsers(orgid, Page<SysUser> mapPage = sysUserMapper.queryUsers(orgid,
username, page); username, tenantId, page);
mapPage.getRecords().forEach(record -> { mapPage.getRecords().forEach(record -> {
String id = record.getId(); String id = record.getId();
List<SysRole> sysRoles = sysRoleMapper.getRoleByUserId(id); List<SysRole> sysRoles = sysRoleMapper.getRoleByUserId(id);
@ -651,10 +652,11 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
} }
@Override @Override
public Page<SysUser> queryPendingAuditUsers(Page<SysUser> page, String name, String regStatus) { public Page<SysUser> queryPendingAuditUsers(Page<SysUser> page, String name, String regStatus, String tenantId) {
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysUser::getRegStatus, "PENDING", "APPROVED", "REJECTED"); queryWrapper.in(SysUser::getRegStatus, "PENDING", "APPROVED", "REJECTED");
queryWrapper.eq(ObjectUtil.isNotEmpty(regStatus), SysUser::getRegStatus, regStatus); queryWrapper.eq(ObjectUtil.isNotEmpty(regStatus), SysUser::getRegStatus, regStatus);
queryWrapper.eq(StrUtil.isNotBlank(tenantId), SysUser::getTenantId, tenantId);
queryWrapper.and(StrUtil.isNotBlank(name), wrapper -> queryWrapper.and(StrUtil.isNotBlank(name), wrapper ->
wrapper.like(SysUser::getNickname, name) wrapper.like(SysUser::getNickname, name)
.or() .or()

View File

@ -4,12 +4,26 @@
<mapper namespace="com.yfd.platform.system.mapper.SysMenuMapper"> <mapper namespace="com.yfd.platform.system.mapper.SysMenuMapper">
<!-- 向上调整序号 根据父级id 序号小于原序号 并且 大于等于替换序号--> <!-- 向上调整序号 根据父级id 序号小于原序号 并且 大于等于替换序号-->
<update id="upMoveOrderno"> <update id="upMoveOrderno">
update sys_menu set orderno=orderno+1 where parentid=#{parentid} and orderno &lt; #{Orderno} and orderno &gt;= #{upOrderno} update sys_menu
set orderno=orderno+1
where parentid=#{parentid}
and orderno &lt; #{Orderno}
and orderno &gt;= #{upOrderno}
<if test="tenantId != null and tenantId != ''">
and tenant_id = #{tenantId}
</if>
</update> </update>
<!-- 向下调整序号 根据父级id 序号大于原序号 并且 小于等于替换序号--> <!-- 向下调整序号 根据父级id 序号大于原序号 并且 小于等于替换序号-->
<update id="downMoveOrderno"> <update id="downMoveOrderno">
update sys_menu SET orderno=orderno-1 where parentid=#{parentid} and orderno &gt; #{Orderno} and orderno &lt;= #{downOrderno} update sys_menu
SET orderno=orderno-1
where parentid=#{parentid}
and orderno &gt; #{Orderno}
and orderno &lt;= #{downOrderno}
<if test="tenantId != null and tenantId != ''">
and tenant_id = #{tenantId}
</if>
</update> </update>
<select id="selectPermsByUserId" resultType="java.lang.String"> <select id="selectPermsByUserId" resultType="java.lang.String">
@ -47,6 +61,10 @@
WHERE WHERE
r.isvaild = 1 r.isvaild = 1
AND ru.userid = #{userId} AND ru.userid = #{userId}
<if test="tenantId != null and tenantId != ''">
AND m.tenant_id = #{tenantId}
AND r.tenant_id = #{tenantId}
</if>
AND m.isdisplay=1 AND m.isdisplay=1
AND m.type != 2 AND m.type != 2
ORDER BY ORDER BY
@ -63,6 +81,9 @@
WHERE WHERE
m.isdisplay = 1 m.isdisplay = 1
AND rm.roleid= #{id} AND rm.roleid= #{id}
<if test="tenantId != null and tenantId != ''">
AND m.tenant_id = #{tenantId}
</if>
ORDER BY ORDER BY
m.orderno ASC m.orderno ASC
</select> </select>

View File

@ -86,6 +86,10 @@
<if test="isvaild != null"> <if test="isvaild != null">
and c.isvaild=#{isvaild} and c.isvaild=#{isvaild}
</if> </if>
<if test="tenantId != null and tenantId != ''">
and b.tenant_id = #{tenantId}
and c.tenant_id = #{tenantId}
</if>
ORDER BY c.level,b.orgid,b.code ORDER BY c.level,b.orgid,b.code
</select> </select>
<!--根据用户id获取角色信息--> <!--根据用户id获取角色信息-->
@ -129,6 +133,9 @@
<if test="rolename != null and rolename != ''"> <if test="rolename != null and rolename != ''">
AND r.rolename LIKE '%' || #{rolename} || '%' AND r.rolename LIKE '%' || #{rolename} || '%'
</if> </if>
<if test="tenantId != null and tenantId != ''">
AND r.tenant_id = #{tenantId}
</if>
AND r."LEVEL" != '1' AND r."LEVEL" != '1'
</where> </where>
ORDER BY r."LEVEL" ASC, lastmodifydate ASC ORDER BY r."LEVEL" ASC, lastmodifydate ASC

View File

@ -67,6 +67,7 @@
u.phone, u.phone,
u.avatar, u.avatar,
u.orgid, u.orgid,
u.tenant_id AS tenantId,
u.status, u.status,
u.lastmodifier, u.lastmodifier,
u.lastmodifydate u.lastmodifydate
@ -82,6 +83,9 @@
<if test="username != null"> <if test="username != null">
and u.username LIKE '%' || #{username} || '%' and u.username LIKE '%' || #{username} || '%'
</if> </if>
<if test="tenantId != null and tenantId != ''">
and u.tenant_id = #{tenantId}
</if>
ORDER BY u.lastmodifydate DESC ORDER BY u.lastmodifydate DESC
</select> </select>
<select id="getOrganizationByid" resultType="java.util.Map"> <select id="getOrganizationByid" resultType="java.util.Map">