Browse Source

对外接口 工作人员的数据权限,既所在组织以及下级

ResiTopicOperationFormDTO去掉不必要的@NotBlank
dev_shibei_match
wangchao 5 years ago
parent
commit
183e22182b
  1. 7
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtStaffPermissionResultDTO.java
  2. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  3. 28
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  4. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  5. 72
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  6. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java

7
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtStaffPermissionResultDTO.java

@ -3,6 +3,7 @@ package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
@ -28,15 +29,15 @@ public class ExtStaffPermissionResultDTO implements Serializable {
/**
* 直属机关直属网格列表
* */
private List<ExtGridResultDTO> gridList;
private List<ExtGridResultDTO> gridList = new ArrayList<>();
/**
* 直属机关直属部门列表
* */
private List<ExtDeptResultDTO> departmentList;
private List<ExtDeptResultDTO> departmentList = new ArrayList<>();
/**
* 子集机关列表
* */
private List<ExtStaffPermissionResultDTO> subAgencyList;
private List<ExtStaffPermissionResultDTO> subAgencyList = new ArrayList<>();
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -205,4 +205,16 @@ public class CustomerAgencyController {
Result<ExtStaffInfoResultDTO> staffInfoExt(@RequestBody ExtStaffInfoResultDTO result){
return new Result<ExtStaffInfoResultDTO>().ok(customerAgencyService.staffInfoExt(result));
}
/**
* @Description 根据staffId查询当前这个用户的数据权限对外接口
* @param staffId
* @return
* @author wangc
* @date 2020.08.17 17:30
**/
@PostMapping("permissionext/{staffId}")
Result<ExtStaffPermissionResultDTO> staffPermissionExt(@PathVariable(value = "staffId") String staffId){
return new Result<ExtStaffPermissionResultDTO>().ok(customerAgencyService.staffPermissionExt(staffId));
}
}

28
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -133,4 +133,32 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
* @date 2020.08.17 09:50
**/
ExtStaffInfoResultDTO selectAgencyAndGridInfoExt(@Param("gridId") String gridId);
/**
* @Description 根据agencyId查找指定机构的信息直属网格部门
* @param agencyId
* @return
* @author wangc
* @date 2020.08.18 13:41
**/
ExtStaffPermissionResultDTO selectAgencyById(@Param("agencyId")String agencyId);
/**
* @Description 根绝agencyId查找其下属机构的信息
* @param pid
* @return
* @author wangc
* @date 2020.08.18 13:42
**/
List<ExtStaffPermissionResultDTO> selectSubAgencyByPid(@Param("pid") String pid);
/**
* @Description 根据agencyId查找指定机构直属的部门将grid与dept分开是因为grid与dept的数量可能不等造成重复数据无法去重
* @param agencyId
* @return
* @author wangc
* @date 2020.08.18 13:42
**/
List<ExtDeptResultDTO> selectDeptList(@Param("agencyId") String agencyId);
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -880,13 +880,23 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
**/
@Override
public ExtStaffPermissionResultDTO staffPermissionExt(String staffId) {
//1.通过staffId去user服务查询最近一次登陆的agencyId
Result<String> agency =
epmetUserOpenFeignClient.latestAgency(staffId);
if(agency.success() && StringUtils.isNotBlank(agency.getData())){
//2.根据此agencyId查询数据权限
ExtStaffPermissionResultDTO res = baseDao.selectAgencyById(agency.getData());
return res;
}else{
logger.error("com.epmet.service.impl.CustomerAgencyServiceImpl.staffPermissionExt,没有找到工作人员最近一次登陆的Agency信息,用户Id:{}",staffId);
ExtStaffPermissionResultDTO emptyResult = new ExtStaffPermissionResultDTO();
checkFieldAndSetDefault(emptyResult);
return emptyResult;
}
return null;
}

72
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -186,4 +186,76 @@
gridd.DEL_FLAG = '0'
AND gridd.ID = #{gridId}
</select>
<resultMap id="treeMap" type="com.epmet.dto.result.ExtStaffPermissionResultDTO">
<id column="agencyId" property="agencyId" />
<result column="agencyName" property="agencyName"/>
<collection property="gridList" ofType="com.epmet.dto.result.ExtGridResultDTO">
<id column="gridId" property="gridId" />
<result column="gridName" property="gridName" />
</collection>
<collection property="departmentList" column="agencyId" ofType="com.epmet.dto.result.ExtDeptResultDTO" select="selectDeptList">
<id column="deptId" property="deptId" />
<result column="deptName" property="deptName" />
</collection>
<collection property="subAgencyList" column="agencyId"
ofType="com.epmet.dto.result.ExtStaffPermissionResultDTO" select="selectSubAgencyByPid">
<!-- <collection property="gridList" ofType="com.epmet.dto.result.ExtGridResultDTO">
<id column="ID" property="gridId" />
<result column="GRID_NAME" property="gridName" />
</collection>
<collection property="departmentList" ofType="com.epmet.dto.result.ExtDeptResultDTO" select="selectDeptList">
<id column="ID" property="deptId" />
<result column="DEPARTMENT_ID" property="deptName" />
</collection>-->
</collection>
</resultMap>
<select id="selectAgencyById" resultMap="treeMap">
SELECT
agency.ID AS agencyId,
agency.ORGANIZATION_NAME AS agencyName,
grid.ID AS gridId,
grid.GRID_NAME AS gridName
FROM
CUSTOMER_AGENCY agency
LEFT JOIN CUSTOMER_GRID grid ON agency.ID = grid.PID
AND grid.DEL_FLAG = '0'
WHERE
agency.DEL_FLAG = '0'
AND agency.ID = #{agencyId}
</select>
<select id="selectDeptList" resultType="com.epmet.dto.result.ExtDeptResultDTO">
SELECT
ID AS deptId,
DEPARTMENT_NAME AS deptName
FROM
CUSTOMER_DEPARTMENT dept
WHERE
DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
</select>
<select id="selectSubAgencyByPid" resultMap="treeMap">
SELECT
agency.ID AS agencyId,
agency.ORGANIZATION_NAME AS agencyName,
grid.ID AS gridId,
grid.GRID_NAME AS gridName
FROM
CUSTOMER_AGENCY agency
LEFT JOIN CUSTOMER_GRID grid ON agency.ID = grid.PID
AND grid.DEL_FLAG = '0'
WHERE
agency.DEL_FLAG = '0'
AND agency.PID = #{pid}
</select>
</mapper>

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicOperationFormDTO.java

@ -29,7 +29,7 @@ public class ResiTopicOperationFormDTO implements Serializable {
/**
* 是否解决(已解决 resolved未解决 unresolved)
*/
@NotBlank(message = "解决状态不能为空")
//@NotBlank(message = "解决状态不能为空")
private String closedStatus;

Loading…
Cancel
Save