Commit 02b27c61 authored by helinlin's avatar helinlin

待办任务列表只显示自己单位的隐患数据

parent 92d29a0f
package com.yeejoin.amos.latentdanger.business.feign; package com.yeejoin.amos.latentdanger.business.feign;
import com.yeejoin.amos.boot.biz.common.feign.MultipartSupportConfig; import com.yeejoin.amos.boot.biz.common.feign.MultipartSupportConfig;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyPerson;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
...@@ -10,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -10,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
/** /**
* 机场服务feign * 机场服务feign
* *
...@@ -28,8 +31,15 @@ public interface JcsFeignClient { ...@@ -28,8 +31,15 @@ public interface JcsFeignClient {
/** /**
* 查询用户单位信息 * 查询用户单位信息
*
* @return ResponseModel<ReginParams.PersonIdentity> * @return ResponseModel<ReginParams.PersonIdentity>
*/ */
@GetMapping(value = "/org-usr/getLoginUserDetails") @GetMapping(value = "/org-usr/getLoginUserDetails")
FeignClientResult getJcsUser(); FeignClientResult getJcsUser();
/**
* 根据id获取单位人员列表
*/
@GetMapping(value = "/company/{ids}/person")
FeignClientResult<List<CompanyPerson>> selectCompanyPerson(@PathVariable List<Long> ids);
} }
package com.yeejoin.amos.latentdanger.business.service.impl; package com.yeejoin.amos.latentdanger.business.service.impl;
import com.google.common.collect.Sets;
import com.yeejoin.amos.boot.biz.common.constants.RuleConstant; import com.yeejoin.amos.boot.biz.common.constants.RuleConstant;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyPerson;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.rule.RuleTrigger; import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel; import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.latentdanger.business.dto.LatentDangerRo; import com.yeejoin.amos.latentdanger.business.dto.LatentDangerRo;
import com.yeejoin.amos.latentdanger.business.feign.JcsFeignClient;
import com.yeejoin.amos.latentdanger.business.util.DateUtil; import com.yeejoin.amos.latentdanger.business.util.DateUtil;
import com.yeejoin.amos.latentdanger.common.enums.LatentDangerState; import com.yeejoin.amos.latentdanger.common.enums.LatentDangerState;
import com.yeejoin.amos.latentdanger.dao.entity.LatentDanger; import com.yeejoin.amos.latentdanger.dao.entity.LatentDanger;
...@@ -14,11 +20,11 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -14,11 +20,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.Date; import java.util.*;
import java.util.HashMap; import java.util.function.Consumer;
import java.util.List; import java.util.function.Predicate;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @Author: xl * @Author: xl
...@@ -33,6 +39,8 @@ public class RuleDangerService { ...@@ -33,6 +39,8 @@ public class RuleDangerService {
@Autowired @Autowired
private RuleTrigger ruleTrigger; private RuleTrigger ruleTrigger;
@Autowired
private JcsFeignClient jcsFeignClient;
public Boolean addLatentDangerRule(LatentDanger latentDanger, String ruleType, String roleName) throws Exception { public Boolean addLatentDangerRule(LatentDanger latentDanger, String ruleType, String roleName) throws Exception {
LatentDangerRo latentDangerRo = buildLatentDangerRo(latentDanger, ruleType); LatentDangerRo latentDangerRo = buildLatentDangerRo(latentDanger, ruleType);
...@@ -40,7 +48,25 @@ public class RuleDangerService { ...@@ -40,7 +48,25 @@ public class RuleDangerService {
List<RoleModel> result = Privilege.roleClient.queryRoleList(roleName, null).getResult(); List<RoleModel> result = Privilege.roleClient.queryRoleList(roleName, null).getResult();
if (result.size() > 0) { if (result.size() > 0) {
List<AgencyUserModel> userModels = Privilege.agencyUserClient.queryByRoleId(String.valueOf(result.get(0).getSequenceNbr()), null).getResult(); List<AgencyUserModel> userModels = Privilege.agencyUserClient.queryByRoleId(String.valueOf(result.get(0).getSequenceNbr()), null).getResult();
List<String> userIds = userModels.stream().map(AgencyUserModel::getUserId).collect(Collectors.toList());
//只发送给本部门的人员
Long pointId = latentDanger.getBizInfo().getLong("pointId");
FeignClientResult<List<CompanyPerson>> companyPersons = jcsFeignClient.selectCompanyPerson(Collections.singletonList(pointId));
if (companyPersons.getStatus() != 200) {
return false;
}
//本部门的人员列表
List<CompanyPerson> personList = companyPersons.getResult();
List<OrgUsrDto> OrgUsrDtos = new ArrayList<>();
personList.forEach(companyPerson -> OrgUsrDtos.addAll(companyPerson.getPersons()));
//角色人员列表与本部门的人员列表取交集
List<AgencyUserModel> userModelList = userModels.stream().filter(
agencyUserModel -> OrgUsrDtos.stream().anyMatch(
orgUsrDto -> agencyUserModel.getUserId().equals(orgUsrDto.getAmosOrgId())
)
).collect(Collectors.toList());
List<String> userIds = userModelList.stream().map(AgencyUserModel::getUserId).collect(Collectors.toList());
latentDangerRo.setRecivers(userIds); latentDangerRo.setRecivers(userIds);
} }
//触发规则 //触发规则
...@@ -64,7 +90,7 @@ public class RuleDangerService { ...@@ -64,7 +90,7 @@ public class RuleDangerService {
return true; return true;
} }
private LatentDangerRo buildLatentDangerRo (LatentDanger latentDanger, String ruleType){ private LatentDangerRo buildLatentDangerRo(LatentDanger latentDanger, String ruleType) {
LatentDangerRo latentDangerRo = new LatentDangerRo(); LatentDangerRo latentDangerRo = new LatentDangerRo();
BeanUtils.copyProperties(latentDanger, latentDangerRo); BeanUtils.copyProperties(latentDanger, latentDangerRo);
latentDangerRo.setMsgType(msgType); latentDangerRo.setMsgType(msgType);
...@@ -86,7 +112,7 @@ public class RuleDangerService { ...@@ -86,7 +112,7 @@ public class RuleDangerService {
} }
} }
if (!ValidationUtil.isEmpty(type)){ if (!ValidationUtil.isEmpty(type)) {
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("type", type); map.put("type", type);
map.put("id", String.valueOf(latentDanger.getId())); map.put("id", String.valueOf(latentDanger.getId()));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment