去除租户代码;添加预警配置列表;

This commit is contained in:
cjw 2024-04-26 15:31:03 +08:00
parent c5e24b2ffe
commit 1d331eddae
15 changed files with 74 additions and 93 deletions

View File

@ -1,45 +0,0 @@
package org.dromara.common.core.constant;
/**
* 租户常量信息
*
* @author Lion Li
*/
public interface TenantConstants {
/**
* 租户正常状态
*/
String NORMAL = "0";
/**
* 租户封禁状态
*/
String DISABLE = "1";
/**
* 超级管理员ID
*/
Long SUPER_ADMIN_ID = 1L;
/**
* 超级管理员角色 roleKey
*/
String SUPER_ADMIN_ROLE_KEY = "superadmin";
/**
* 租户管理员角色 roleKey
*/
String TENANT_ADMIN_ROLE_KEY = "admin";
/**
* 租户管理员角色名称
*/
String TENANT_ADMIN_ROLE_NAME = "管理员";
/**
* 默认租户ID
*/
String DEFAULT_TENANT_ID = "000000";
}

View File

@ -7,10 +7,6 @@ package org.dromara.common.core.constant;
*/ */
public interface UserConstants { public interface UserConstants {
/**
* 平台内系统用户的唯一标志
*/
String SYS_USER = "SYS_USER";
/** /**
* 正常状态 * 正常状态
@ -139,4 +135,9 @@ public interface UserConstants {
*/ */
Long SUPER_ADMIN_ID = 1L; Long SUPER_ADMIN_ID = 1L;
/**
* 超级管理员角色 roleKey
*/
String SUPER_ADMIN_ROLE_KEY = "superadmin";
} }

View File

@ -67,7 +67,7 @@ public class PlusDataPermissionHandler {
DataPermissionHelper.setVariable("user", currentUser); DataPermissionHelper.setVariable("user", currentUser);
} }
// 如果是超级管理员或租户管理员则不过滤数据 // 如果是超级管理员或租户管理员则不过滤数据
if (LoginHelper.isSuperAdmin() || LoginHelper.isTenantAdmin()) { if (LoginHelper.isSuperAdmin()) {
return where; return where;
} }
String dataFilterSql = buildDataFilter(dataColumns, isSelect); String dataFilterSql = buildDataFilter(dataColumns, isSelect);

View File

@ -9,12 +9,10 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.core.constant.TenantConstants;
import org.dromara.common.core.constant.UserConstants; import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.UserType; import org.dromara.common.core.enums.UserType;
import java.util.Set;
import java.util.function.Supplier; import java.util.function.Supplier;
/** /**
@ -130,23 +128,6 @@ public class LoginHelper {
return isSuperAdmin(getUserId()); return isSuperAdmin(getUserId());
} }
/**
* 是否为超级管理员
*
* @param rolePermission 角色权限标识组
* @return 结果
*/
public static boolean isTenantAdmin(Set<String> rolePermission) {
return rolePermission.contains(TenantConstants.TENANT_ADMIN_ROLE_KEY);
}
public static boolean isTenantAdmin() {
Object value = getStorageIfAbsentSet(TENANT_ADMIN_KEY, () -> {
return isTenantAdmin(getLoginUser().getRolePermission());
});
return Convert.toBool(value);
}
public static boolean isLogin() { public static boolean isLogin() {
return getLoginUser() != null; return getLoginUser() != null;
} }

View File

@ -72,7 +72,7 @@ public class SysInterveneRecordController extends BaseController {
* *
* @param userId 主键 * @param userId 主键
*/ */
@SaCheckPermission("intervene:record:query") @SaCheckPermission("intervene:record:list")
@GetMapping("/times") @GetMapping("/times")
public R<List<TimeAxisVo>> getTimes(@NotNull(message = "用户id不能为空") Long userId) { public R<List<TimeAxisVo>> getTimes(@NotNull(message = "用户id不能为空") Long userId) {
return R.ok(sysInterveneRecordService.queryInterveneTimeList(userId)); return R.ok(sysInterveneRecordService.queryInterveneTimeList(userId));

View File

@ -71,7 +71,7 @@ public class SysScalePublishController extends BaseController {
* 新增量表发布 * 新增量表发布
*/ */
@SaCheckPermission("scale:publish:add") @SaCheckPermission("scale:publish:add")
@Log(title = "量发布", businessType = BusinessType.INSERT) @Log(title = "新增发布", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysScalePublishBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody SysScalePublishBo bo) {
@ -82,7 +82,7 @@ public class SysScalePublishController extends BaseController {
* 修改量表发布 * 修改量表发布
*/ */
@SaCheckPermission("scale:publish:edit") @SaCheckPermission("scale:publish:edit")
@Log(title = "量发布", businessType = BusinessType.UPDATE) @Log(title = "修改发布", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysScalePublishBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysScalePublishBo bo) {
@ -95,6 +95,8 @@ public class SysScalePublishController extends BaseController {
* @param bo * @param bo
* @return * @return
*/ */
@SaCheckPermission("scale:publish:edit")
@Log(title = "中止量表发布", businessType = BusinessType.UPDATE)
@PostMapping("/end") @PostMapping("/end")
public R<Void> end(@RequestBody SysScalePublishBo bo) { public R<Void> end(@RequestBody SysScalePublishBo bo) {
return toAjax(sysScalePublishService.end(bo)); return toAjax(sysScalePublishService.end(bo));
@ -106,7 +108,7 @@ public class SysScalePublishController extends BaseController {
* @param batchNos 主键串 * @param batchNos 主键串
*/ */
@SaCheckPermission("scale:publish:remove") @SaCheckPermission("scale:publish:remove")
@Log(title = "量发布", businessType = BusinessType.DELETE) @Log(title = "删除发布", businessType = BusinessType.DELETE)
@DeleteMapping("/{batchNo}") @DeleteMapping("/{batchNo}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long batchNos) { public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long batchNos) {
return toAjax(sysScalePublishService.deleteWithValidByIds(List.of(batchNos), true)); return toAjax(sysScalePublishService.deleteWithValidByIds(List.of(batchNos), true));

View File

@ -16,6 +16,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.scale.domain.bo.SysWarnRecordBo; import org.dromara.scale.domain.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysEvaluationRecordVo; import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysWarnConfigVo;
import org.dromara.scale.domain.vo.SysWarnRecordVo; import org.dromara.scale.domain.vo.SysWarnRecordVo;
import org.dromara.scale.service.ISysWarnRecordService; import org.dromara.scale.service.ISysWarnRecordService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -104,4 +105,13 @@ public class SysWarnController extends BaseController {
return toAjax(sysWarnRecordService.updateWarnConfig(ids)); return toAjax(sysWarnRecordService.updateWarnConfig(ids));
} }
/**
* 修改预警配置
*/
@SaCheckPermission("warn:config:list")
@GetMapping("/config/list")
public R<List<SysWarnConfigVo>> configList() {
return R.ok(sysWarnRecordService.queryWarnConfig());
}
} }

View File

@ -0,0 +1,24 @@
package org.dromara.scale.domain.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* <p>TODO<p>
*
* @author cjw
* @version V1.0.0
* @date 2024/4/26 15:24
*/
@Data
public class SysWarnConfigVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private Integer status;
}

View File

@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.scale.domain.SysWarnRecord; import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.vo.SysWarnConfigVo;
import org.dromara.scale.domain.vo.TimeAxisVo; import org.dromara.scale.domain.vo.TimeAxisVo;
import org.dromara.scale.domain.vo.SysEvaluationRecordVo; import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysWarnRecordVo; import org.dromara.scale.domain.vo.SysWarnRecordVo;
@ -33,5 +34,9 @@ public interface SysWarnRecordMapper extends BaseMapperPlus<SysWarnRecord, SysWa
List<TimeAxisVo> selectTimeList(Long userId); List<TimeAxisVo> selectTimeList(Long userId);
List<SysWarnConfigVo> selectWarnConfig();
} }

View File

@ -5,6 +5,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.scale.domain.SysWarnRecord; import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.bo.SysWarnRecordBo; import org.dromara.scale.domain.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysEvaluationRecordVo; import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysWarnConfigVo;
import org.dromara.scale.domain.vo.SysWarnRecordVo; import org.dromara.scale.domain.vo.SysWarnRecordVo;
import java.util.List; import java.util.List;
@ -45,5 +46,6 @@ public interface ISysWarnRecordService {
List<SysEvaluationRecordVo> queryConclusionListByWarnId(Long warnId); List<SysEvaluationRecordVo> queryConclusionListByWarnId(Long warnId);
Boolean updateWarnConfig(Integer[] ids); Boolean updateWarnConfig(Integer[] ids);
List<SysWarnConfigVo> queryWarnConfig();
} }

View File

@ -12,6 +12,7 @@ import org.dromara.scale.constant.StatusEnum;
import org.dromara.scale.domain.SysWarnRecord; import org.dromara.scale.domain.SysWarnRecord;
import org.dromara.scale.domain.bo.SysWarnRecordBo; import org.dromara.scale.domain.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysEvaluationRecordVo; import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysWarnConfigVo;
import org.dromara.scale.domain.vo.SysWarnRecordVo; import org.dromara.scale.domain.vo.SysWarnRecordVo;
import org.dromara.scale.mapper.SysWarnRecordMapper; import org.dromara.scale.mapper.SysWarnRecordMapper;
import org.dromara.scale.service.ISysWarnRecordService; import org.dromara.scale.service.ISysWarnRecordService;
@ -123,4 +124,9 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService {
public Boolean updateWarnConfig(Integer[] ids) { public Boolean updateWarnConfig(Integer[] ids) {
return baseMapper.updateConfigByIds(StrUtil.join(StrUtil.COMMA, ids)) > 0; return baseMapper.updateConfigByIds(StrUtil.join(StrUtil.COMMA, ids)) > 0;
} }
@Override
public List<SysWarnConfigVo> queryWarnConfig() {
return baseMapper.selectWarnConfig();
}
} }

View File

@ -43,4 +43,9 @@
left join sys_scale_publish sp on sp.batch_no = wr.batch_no left join sys_scale_publish sp on sp.batch_no = wr.batch_no
where wr.user_id = #{userId} where wr.user_id = #{userId}
</select> </select>
<select id="selectWarnConfig" resultType="org.dromara.scale.domain.vo.SysWarnConfigVo">
select *
from sys_warn_config
</select>
</mapper> </mapper>

View File

@ -2,9 +2,8 @@ package org.dromara.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole; import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.Tree;
import org.dromara.common.core.constant.TenantConstants; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.UserConstants; import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
@ -18,7 +17,6 @@ import org.dromara.system.domain.vo.MenuTreeSelectVo;
import org.dromara.system.domain.vo.RouterVo; import org.dromara.system.domain.vo.RouterVo;
import org.dromara.system.domain.vo.SysMenuVo; import org.dromara.system.domain.vo.SysMenuVo;
import org.dromara.system.service.ISysMenuService; import org.dromara.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -51,10 +49,7 @@ public class SysMenuController extends BaseController {
/** /**
* 获取菜单列表 * 获取菜单列表
*/ */
@SaCheckRole(value = { @SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
TenantConstants.SUPER_ADMIN_ROLE_KEY,
TenantConstants.TENANT_ADMIN_ROLE_KEY
}, mode = SaMode.OR)
@SaCheckPermission("system:menu:list") @SaCheckPermission("system:menu:list")
@GetMapping("/list") @GetMapping("/list")
public R<List<SysMenuVo>> list(SysMenuBo menu) { public R<List<SysMenuVo>> list(SysMenuBo menu) {
@ -67,10 +62,7 @@ public class SysMenuController extends BaseController {
* *
* @param menuId 菜单ID * @param menuId 菜单ID
*/ */
@SaCheckRole(value = { @SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
TenantConstants.SUPER_ADMIN_ROLE_KEY,
TenantConstants.TENANT_ADMIN_ROLE_KEY
}, mode = SaMode.OR)
@SaCheckPermission("system:menu:query") @SaCheckPermission("system:menu:query")
@GetMapping(value = "/{menuId}") @GetMapping(value = "/{menuId}")
public R<SysMenuVo> getInfo(@PathVariable Long menuId) { public R<SysMenuVo> getInfo(@PathVariable Long menuId) {
@ -103,11 +95,10 @@ public class SysMenuController extends BaseController {
} }
/** /**
* 新增菜单 * 新增菜单
*/ */
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:menu:add") @SaCheckPermission("system:menu:add")
@Log(title = "菜单管理", businessType = BusinessType.INSERT) @Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@ -123,7 +114,7 @@ public class SysMenuController extends BaseController {
/** /**
* 修改菜单 * 修改菜单
*/ */
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:menu:edit") @SaCheckPermission("system:menu:edit")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE) @Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
@ -143,7 +134,7 @@ public class SysMenuController extends BaseController {
* *
* @param menuId 菜单ID * @param menuId 菜单ID
*/ */
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:menu:remove") @SaCheckPermission("system:menu:remove")
@Log(title = "菜单管理", businessType = BusinessType.DELETE) @Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}") @DeleteMapping("/{menuId}")

View File

@ -1,11 +1,11 @@
package org.dromara.system.service.impl; package org.dromara.system.service.impl;
import org.dromara.common.core.constant.TenantConstants; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.service.ISysMenuService; import org.dromara.system.service.ISysMenuService;
import org.dromara.system.service.ISysPermissionService; import org.dromara.system.service.ISysPermissionService;
import org.dromara.system.service.ISysRoleService; import org.dromara.system.service.ISysRoleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashSet; import java.util.HashSet;
@ -34,7 +34,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService {
Set<String> roles = new HashSet<>(); Set<String> roles = new HashSet<>();
// 管理员拥有所有权限 // 管理员拥有所有权限
if (LoginHelper.isSuperAdmin(userId)) { if (LoginHelper.isSuperAdmin(userId)) {
roles.add(TenantConstants.SUPER_ADMIN_ROLE_KEY); roles.add(UserConstants.SUPER_ADMIN_ROLE_KEY);
} else { } else {
roles.addAll(roleService.selectRolePermissionByUserId(userId)); roles.addAll(roleService.selectRolePermissionByUserId(userId));
} }

View File

@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.TenantConstants;
import org.dromara.common.core.constant.UserConstants; import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
@ -193,7 +192,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
if (ObjectUtil.isNotNull(role.getRoleId()) && LoginHelper.isSuperAdmin(role.getRoleId())) { if (ObjectUtil.isNotNull(role.getRoleId()) && LoginHelper.isSuperAdmin(role.getRoleId())) {
throw new ServiceException("不允许操作超级管理员角色"); throw new ServiceException("不允许操作超级管理员角色");
} }
String[] keys = new String[]{TenantConstants.SUPER_ADMIN_ROLE_KEY, TenantConstants.TENANT_ADMIN_ROLE_KEY}; String[] keys = new String[]{UserConstants.SUPER_ADMIN_ROLE_KEY};
// 新增不允许使用 管理员标识符 // 新增不允许使用 管理员标识符
if (ObjectUtil.isNull(role.getRoleId()) if (ObjectUtil.isNull(role.getRoleId())
&& StringUtils.equalsAny(role.getRoleKey(), keys)) { && StringUtils.equalsAny(role.getRoleKey(), keys)) {