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

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 {
/**
* 平台内系统用户的唯一标志
*/
String SYS_USER = "SYS_USER";
/**
* 正常状态
@ -139,4 +135,9 @@ public interface UserConstants {
*/
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);
}
// 如果是超级管理员或租户管理员则不过滤数据
if (LoginHelper.isSuperAdmin() || LoginHelper.isTenantAdmin()) {
if (LoginHelper.isSuperAdmin()) {
return where;
}
String dataFilterSql = buildDataFilter(dataColumns, isSelect);

View File

@ -9,12 +9,10 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.dromara.common.core.constant.TenantConstants;
import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.UserType;
import java.util.Set;
import java.util.function.Supplier;
/**
@ -130,23 +128,6 @@ public class LoginHelper {
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() {
return getLoginUser() != null;
}

View File

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

View File

@ -71,7 +71,7 @@ public class SysScalePublishController extends BaseController {
* 新增量表发布
*/
@SaCheckPermission("scale:publish:add")
@Log(title = "量发布", businessType = BusinessType.INSERT)
@Log(title = "新增发布", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysScalePublishBo bo) {
@ -82,7 +82,7 @@ public class SysScalePublishController extends BaseController {
* 修改量表发布
*/
@SaCheckPermission("scale:publish:edit")
@Log(title = "量发布", businessType = BusinessType.UPDATE)
@Log(title = "修改发布", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysScalePublishBo bo) {
@ -95,6 +95,8 @@ public class SysScalePublishController extends BaseController {
* @param bo
* @return
*/
@SaCheckPermission("scale:publish:edit")
@Log(title = "中止量表发布", businessType = BusinessType.UPDATE)
@PostMapping("/end")
public R<Void> end(@RequestBody SysScalePublishBo bo) {
return toAjax(sysScalePublishService.end(bo));
@ -106,7 +108,7 @@ public class SysScalePublishController extends BaseController {
* @param batchNos 主键串
*/
@SaCheckPermission("scale:publish:remove")
@Log(title = "量发布", businessType = BusinessType.DELETE)
@Log(title = "删除发布", businessType = BusinessType.DELETE)
@DeleteMapping("/{batchNo}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long batchNos) {
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.scale.domain.bo.SysWarnRecordBo;
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.service.ISysWarnRecordService;
import org.springframework.validation.annotation.Validated;
@ -104,4 +105,13 @@ public class SysWarnController extends BaseController {
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.dromara.common.mybatis.core.mapper.BaseMapperPlus;
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.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysWarnRecordVo;
@ -33,5 +34,9 @@ public interface SysWarnRecordMapper extends BaseMapperPlus<SysWarnRecord, SysWa
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.bo.SysWarnRecordBo;
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysWarnConfigVo;
import org.dromara.scale.domain.vo.SysWarnRecordVo;
import java.util.List;
@ -45,5 +46,6 @@ public interface ISysWarnRecordService {
List<SysEvaluationRecordVo> queryConclusionListByWarnId(Long warnId);
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.bo.SysWarnRecordBo;
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.mapper.SysWarnRecordMapper;
import org.dromara.scale.service.ISysWarnRecordService;
@ -123,4 +124,9 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService {
public Boolean updateWarnConfig(Integer[] ids) {
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
where wr.user_id = #{userId}
</select>
<select id="selectWarnConfig" resultType="org.dromara.scale.domain.vo.SysWarnConfigVo">
select *
from sys_warn_config
</select>
</mapper>

View File

@ -2,9 +2,8 @@ package org.dromara.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaMode;
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.domain.R;
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.SysMenuVo;
import org.dromara.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -51,10 +49,7 @@ public class SysMenuController extends BaseController {
/**
* 获取菜单列表
*/
@SaCheckRole(value = {
TenantConstants.SUPER_ADMIN_ROLE_KEY,
TenantConstants.TENANT_ADMIN_ROLE_KEY
}, mode = SaMode.OR)
@SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:menu:list")
@GetMapping("/list")
public R<List<SysMenuVo>> list(SysMenuBo menu) {
@ -67,10 +62,7 @@ public class SysMenuController extends BaseController {
*
* @param menuId 菜单ID
*/
@SaCheckRole(value = {
TenantConstants.SUPER_ADMIN_ROLE_KEY,
TenantConstants.TENANT_ADMIN_ROLE_KEY
}, mode = SaMode.OR)
@SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:menu:query")
@GetMapping(value = "/{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")
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
@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")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping
@ -143,7 +134,7 @@ public class SysMenuController extends BaseController {
*
* @param menuId 菜单ID
*/
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckRole(UserConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:menu:remove")
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}")

View File

@ -1,11 +1,11 @@
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.system.service.ISysMenuService;
import org.dromara.system.service.ISysPermissionService;
import org.dromara.system.service.ISysRoleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.HashSet;
@ -34,7 +34,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService {
Set<String> roles = new HashSet<>();
// 管理员拥有所有权限
if (LoginHelper.isSuperAdmin(userId)) {
roles.add(TenantConstants.SUPER_ADMIN_ROLE_KEY);
roles.add(UserConstants.SUPER_ADMIN_ROLE_KEY);
} else {
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.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.TenantConstants;
import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.domain.model.LoginUser;
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())) {
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())
&& StringUtils.equalsAny(role.getRoleKey(), keys)) {