Browse Source

房屋加入单元权限控制

wuxw 3 years ago
parent
commit
00425fbb67

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/dataPrivilegeUnit/DataPrivilegeUnitDto.java

@@ -18,6 +18,7 @@ public class DataPrivilegeUnitDto extends PageDto implements Serializable {
     private String floorId;
     private String dpUnitId;
     private String dpId;
+    private String[] dpIds;
     private String unitNum;
     private String unitId;
     private String remark;
@@ -110,4 +111,12 @@ public class DataPrivilegeUnitDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String[] getDpIds() {
+        return dpIds;
+    }
+
+    public void setDpIds(String[] dpIds) {
+        this.dpIds = dpIds;
+    }
 }

+ 6 - 0
java110-db/src/main/resources/mapper/community/DataPrivilegeUnitV1ServiceDaoImplMapper.xml

@@ -31,6 +31,12 @@
         <if test="dpId !=null and dpId != ''">
             and t.dp_id= #{dpId}
         </if>
+        <if test="dpIds !=null">
+            and t.dp_id in
+            <foreach collection="dpIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="unitNum !=null and unitNum != ''">
             and t.unit_num= #{unitNum}
         </if>

+ 6 - 0
java110-db/src/main/resources/mapper/community/FloorServiceDaoImplMapper.xml

@@ -261,6 +261,12 @@
         <if test="unitId !=null and unitId != ''">
             and bu.unit_id= #{unitId}
         </if>
+        <if test="unitIds !=null ">
+            and bu.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="unitNum !=null and unitNum != ''">
             and bu.unit_num= #{unitNum}
         </if>

+ 4 - 0
java110-interface/src/main/java/com/java110/intf/community/IDataPrivilegeUnitV1InnerServiceSMO.java

@@ -17,6 +17,7 @@ package com.java110.intf.community;
 
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.UnitDto;
+import com.java110.dto.dataPrivilegeStaff.DataPrivilegeStaffDto;
 import com.java110.dto.dataPrivilegeUnit.DataPrivilegeUnitDto;
 import com.java110.po.dataPrivilegeUnit.DataPrivilegeUnitPo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -72,4 +73,7 @@ public interface IDataPrivilegeUnitV1InnerServiceSMO {
 
     @RequestMapping(value = "/queryUnitsNotInDataPrivilege", method = RequestMethod.POST)
     List<UnitDto> queryUnitsNotInDataPrivilege(@RequestBody DataPrivilegeUnitDto dataPrivilegeUnitDto);
+
+    @RequestMapping(value = "/queryDataPrivilegeUnitsByStaff", method = RequestMethod.POST)
+    String[] queryDataPrivilegeUnitsByStaff(@RequestBody DataPrivilegeStaffDto dataPrivilegeStaffDto);
 }

+ 15 - 0
service-community/src/main/java/com/java110/community/cmd/floor/QueryFloorAndUnitsCmd.java

@@ -6,6 +6,8 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.UnitDto;
+import com.java110.dto.dataPrivilegeStaff.DataPrivilegeStaffDto;
+import com.java110.intf.community.IDataPrivilegeUnitV1InnerServiceSMO;
 import com.java110.intf.community.IFloorInnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -23,6 +25,9 @@ public class QueryFloorAndUnitsCmd extends Cmd {
     @Autowired
     private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
 
+    @Autowired
+    private IDataPrivilegeUnitV1InnerServiceSMO dataPrivilegeUnitV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息");
@@ -40,6 +45,16 @@ public class QueryFloorAndUnitsCmd extends Cmd {
         UnitDto unitDto = BeanConvertUtil.covertBean(reqJson, UnitDto.class);
         unitDto.setUserId("");
 
+        //查询 员工是否有配置 授权单元
+        String staffId = cmdDataFlowContext.getReqHeaders().get("user-id");
+        DataPrivilegeStaffDto dataPrivilegeStaffDto = new DataPrivilegeStaffDto();
+        dataPrivilegeStaffDto.setStaffId(staffId);
+        String[] unitIds = dataPrivilegeUnitV1InnerServiceSMOImpl.queryDataPrivilegeUnitsByStaff(dataPrivilegeStaffDto);
+
+        if(unitIds != null && unitIds.length>0){
+            unitDto.setUnitIds(unitIds);
+        }
+
         List<UnitDto> unitDtoList = floorInnerServiceSMOImpl.queryFloorAndUnits(unitDto);
 
         List<ApiUnitVo> apiUnitVos = BeanConvertUtil.covertBeanList(unitDtoList, ApiUnitVo.class);

+ 35 - 0
service-community/src/main/java/com/java110/community/smo/impl/DataPrivilegeUnitV1InnerServiceSMOImpl.java

@@ -18,6 +18,8 @@ package com.java110.community.smo.impl;
 
 import com.java110.community.dao.IDataPrivilegeUnitV1ServiceDao;
 import com.java110.dto.UnitDto;
+import com.java110.dto.dataPrivilegeStaff.DataPrivilegeStaffDto;
+import com.java110.intf.community.IDataPrivilegeStaffV1InnerServiceSMO;
 import com.java110.intf.community.IDataPrivilegeUnitV1InnerServiceSMO;
 import com.java110.dto.dataPrivilegeUnit.DataPrivilegeUnitDto;
 import com.java110.po.dataPrivilegeUnit.DataPrivilegeUnitPo;
@@ -46,6 +48,9 @@ public class DataPrivilegeUnitV1InnerServiceSMOImpl extends BaseServiceSMO imple
     @Autowired
     private IDataPrivilegeUnitV1ServiceDao dataPrivilegeUnitV1ServiceDaoImpl;
 
+    @Autowired
+    private IDataPrivilegeStaffV1InnerServiceSMO dataPrivilegeStaffV1InnerServiceSMOImpl;
+
 
     @Override
     public int saveDataPrivilegeUnit(@RequestBody  DataPrivilegeUnitPo dataPrivilegeUnitPo) {
@@ -109,4 +114,34 @@ public class DataPrivilegeUnitV1InnerServiceSMOImpl extends BaseServiceSMO imple
         return unitDtos;
     }
 
+    @Override
+    public String[] queryDataPrivilegeUnitsByStaff(@RequestBody DataPrivilegeStaffDto dataPrivilegeStaffDto) {
+
+        List<DataPrivilegeStaffDto> dataPrivilegeStaffDtos = dataPrivilegeStaffV1InnerServiceSMOImpl.queryDataPrivilegeStaffs(dataPrivilegeStaffDto);
+
+        if(dataPrivilegeStaffDtos == null || dataPrivilegeStaffDtos.size()<1){
+            return new String[0];
+        }
+
+        List<String> dpIds = new ArrayList<>();
+
+        for(DataPrivilegeStaffDto dataPrivilegeStaffDto1 : dataPrivilegeStaffDtos){
+            dpIds.add(dataPrivilegeStaffDto1.getDpId());
+        }
+
+        DataPrivilegeUnitDto dataPrivilegeUnitDto = new DataPrivilegeUnitDto();
+        dataPrivilegeUnitDto.setDpIds(dpIds.toArray(new String[dpIds.size()]));
+        List<DataPrivilegeUnitDto> dataPrivilegeUnitDtos = queryDataPrivilegeUnits(dataPrivilegeUnitDto);
+
+        if(dataPrivilegeUnitDtos == null || dataPrivilegeUnitDtos.size()<1){
+            return new String[0];
+        }
+        List<String> unitIds = new ArrayList<>();
+        for(DataPrivilegeUnitDto dataPrivilegeUnitDto1 : dataPrivilegeUnitDtos){
+            unitIds.add(dataPrivilegeUnitDto1.getUnitId());
+        }
+
+        return unitIds.toArray(new String[unitIds.size()]);
+    }
+
 }