|
@@ -9,21 +9,27 @@ import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageSupervision;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageSupervision;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmRoleSupervisionWarn;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmRoleSupervisionWarnRule;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmRoleSupervisionWarnRule;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatus;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatus;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmWarnUserRelation;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageSupervisionService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageSupervisionService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmRoleSupervisionWarnRuleService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmRoleSupervisionWarnRuleService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmRoleSupervisionWarnService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskSupervisionService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskSupervisionService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmWarnUserRelationService;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
@@ -32,6 +38,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.Collection;
|
|
import java.util.Collection;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
@@ -70,6 +77,9 @@ public class WmSupervisionManager {
|
|
private final SysEnterpriseAreaService enterpriseAreaService;
|
|
private final SysEnterpriseAreaService enterpriseAreaService;
|
|
private final WmRoleSupervisionWarnRuleService warnRuleService;
|
|
private final WmRoleSupervisionWarnRuleService warnRuleService;
|
|
private final SysRoleService roleService;
|
|
private final SysRoleService roleService;
|
|
|
|
+ private final WmWarnUserRelationService warnUserRelationService;
|
|
|
|
+ private final WmRoleSupervisionWarnService roleSupervisionWarnService;
|
|
|
|
+ private final SysUserRoleService userRoleService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -335,7 +345,7 @@ public class WmSupervisionManager {
|
|
* @param query 查询条件
|
|
* @param query 查询条件
|
|
* @return 分页结果
|
|
* @return 分页结果
|
|
*/
|
|
*/
|
|
- public Page<Map<String, Object>> pageWarnRule(WmSupervisionDto.OnWarnRulPage query) {
|
|
|
|
|
|
+ public Page<Map<String, Object>> pageWarnRule(WmSupervisionDto.OnWarnRulePage query) {
|
|
|
|
|
|
Page<WmRoleSupervisionWarnRule> page = warnRuleService.page(new Page<>(query.getCurrent(), query.getSize()));
|
|
Page<WmRoleSupervisionWarnRule> page = warnRuleService.page(new Page<>(query.getCurrent(), query.getSize()));
|
|
|
|
|
|
@@ -384,4 +394,78 @@ public class WmSupervisionManager {
|
|
|
|
|
|
return warnRuleService.createWarnRule(resource, user);
|
|
return warnRuleService.createWarnRule(resource, user);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 修改预警规则
|
|
|
|
+ *
|
|
|
|
+ * @param resource 规则信息
|
|
|
|
+ * @param user 创建人
|
|
|
|
+ * @return 修改结果
|
|
|
|
+ */
|
|
|
|
+ public Boolean updateWarnRule(WmSupervisionDto.OnWarnRulUpdate resource, HnqzUser user) {
|
|
|
|
+ return warnRuleService.updateWarnRule(resource, user);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取警告分页
|
|
|
|
+ *
|
|
|
|
+ * @param query 查询条件
|
|
|
|
+ * @param user 查询人
|
|
|
|
+ * @return 操作结果
|
|
|
|
+ */
|
|
|
|
+ public Page<Map<String, Object>> pageRoleSupervisionWarn(WmSupervisionDto.OnWarnPage query, HnqzUser user) {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Set<Integer> roleIds = userRoleService.list(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getUserId, user.getId())).stream().mapToInt(SysUserRole::getRoleId).boxed().collect(Collectors.toSet());
|
|
|
|
+
|
|
|
|
+ Page<WmRoleSupervisionWarn> page = roleSupervisionWarnService.page(new Page<>(query.getCurrent(), query.getSize()),
|
|
|
|
+ Wrappers.<WmRoleSupervisionWarn>lambdaQuery()
|
|
|
|
+ .in(CollUtil.isNotEmpty(roleIds), WmRoleSupervisionWarn::getRoleId, roleIds)
|
|
|
|
+ .orderByDesc(WmRoleSupervisionWarn::getCreateTime)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ List<WmRoleSupervisionWarn> warns = page.getRecords();
|
|
|
|
+
|
|
|
|
+ List<Map<String, Object>> resList;
|
|
|
|
+ if (CollUtil.isNotEmpty(warns)) {
|
|
|
|
+ Set<Integer> warnIds = warns.stream().mapToInt(WmRoleSupervisionWarn::getWarnId).boxed().collect(Collectors.toSet());
|
|
|
|
+ Set<Integer> collect = warnUserRelationService.list(Wrappers.<WmWarnUserRelation>lambdaQuery()
|
|
|
|
+ .eq(WmWarnUserRelation::getUserId, user.getId())
|
|
|
|
+ .in(WmWarnUserRelation::getWarnId, warnIds)).stream().mapToInt(WmWarnUserRelation::getWarnId).boxed().collect(Collectors.toSet());
|
|
|
|
+
|
|
|
|
+ resList = warns.stream().map(warn -> {
|
|
|
|
+ Map<String, Object> map = BeanUtil.copyProperties(warn, Map.class);
|
|
|
|
+ map.put("read", collect.contains(warn.getWarnId()));
|
|
|
|
+ map.put("targetInfo", "xxxxx");
|
|
|
|
+ return map;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ resList = Collections.emptyList();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Page<Map<String, Object>> res = new Page<>();
|
|
|
|
+ res.setTotal(page.getTotal());
|
|
|
|
+ res.setCurrent(page.getCurrent());
|
|
|
|
+ res.setSize(page.getSize());
|
|
|
|
+ res.setRecords(resList);
|
|
|
|
+ return res;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 警告信息
|
|
|
|
+ *
|
|
|
|
+ * @param resource 警告信息
|
|
|
|
+ * @param user 阅读人
|
|
|
|
+ * @return 阅读结果
|
|
|
|
+ */
|
|
|
|
+ public Boolean readWarn(WmSupervisionDto.OnWarnCreate resource, HnqzUser user) {
|
|
|
|
+
|
|
|
|
+ boolean read = warnUserRelationService.hasRead(resource.getWarnId(), user.getId());
|
|
|
|
+ if (read) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return warnUserRelationService.read(resource, user);
|
|
|
|
+ }
|
|
}
|
|
}
|