|
@@ -1,20 +1,25 @@
|
|
|
package com.qunzhixinxi.hnqz.admin.manager;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageSupervision;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmRoleSupervisionWarnRule;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageSupervisionService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmRoleSupervisionWarnRuleService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
@@ -63,6 +68,8 @@ public class WmSupervisionManager {
|
|
|
private final SysDeptService deptService;
|
|
|
private final SysUserService userService;
|
|
|
private final SysEnterpriseAreaService enterpriseAreaService;
|
|
|
+ private final WmRoleSupervisionWarnRuleService warnRuleService;
|
|
|
+ private final SysRoleService roleService;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -321,4 +328,60 @@ public class WmSupervisionManager {
|
|
|
|
|
|
return maps;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取警告分页
|
|
|
+ *
|
|
|
+ * @param query 查询条件
|
|
|
+ * @return 分页结果
|
|
|
+ */
|
|
|
+ public Page<Map<String, Object>> pageWarnRule(WmSupervisionDto.OnWarnRulPage query) {
|
|
|
+
|
|
|
+ Page<WmRoleSupervisionWarnRule> page = warnRuleService.page(new Page<>(query.getCurrent(), query.getSize()));
|
|
|
+
|
|
|
+ Page<Map<String, Object>> res = new Page<>();
|
|
|
+ res.setTotal(page.getTotal());
|
|
|
+ res.setCurrent(page.getCurrent());
|
|
|
+ res.setSize(page.getSize());
|
|
|
+
|
|
|
+ List<WmRoleSupervisionWarnRule> records = page.getRecords();
|
|
|
+ if (CollUtil.isNotEmpty(records)) {
|
|
|
+
|
|
|
+ Set<Integer> roleIds = records.stream().mapToInt(WmRoleSupervisionWarnRule::getRoleId).boxed().collect(Collectors.toSet());
|
|
|
+
|
|
|
+ Map<Integer, SysRole> idToRoleMap = roleService.listByIds(roleIds).stream().collect(Collectors.toMap(SysRole::getRoleId, Function.identity()));
|
|
|
+
|
|
|
+ List<Map<String, Object>> collect = records.stream().map(rule -> {
|
|
|
+ Map<String, Object> map = BeanUtil.copyProperties(rule, Map.class);
|
|
|
+ SysRole role = idToRoleMap.get(rule.getRoleId());
|
|
|
+ map.put("role", role);
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ res.setRecords(collect);
|
|
|
+ } else {
|
|
|
+ res.setRecords(Collections.emptyList());
|
|
|
+ }
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 创建预警规则
|
|
|
+ *
|
|
|
+ * @param resource 规则信息
|
|
|
+ * @param user 创建人
|
|
|
+ * @return 创建结果
|
|
|
+ */
|
|
|
+ public Boolean createWarnRule(WmSupervisionDto.OnWarnRulCreate resource, HnqzUser user) {
|
|
|
+
|
|
|
+ boolean checked = warnRuleService.hasType(resource.getWarnType(), resource.getRoleId());
|
|
|
+
|
|
|
+ if (checked) {
|
|
|
+ throw new BizException("类型已经存在, 请勿重新添加");
|
|
|
+ }
|
|
|
+
|
|
|
+ return warnRuleService.createWarnRule(resource, user);
|
|
|
+ }
|
|
|
}
|