Эх сурвалжийг харах

fix:二级等保【高危】接口权限越权

lihao16 1 сар өмнө
parent
commit
7563595ccb

+ 21 - 4
elevator-admin/src/main/java/com/inspur/idm/media/service/EleBuildingServiceImpl.java

@@ -7,10 +7,8 @@ import com.inspur.idm.media.dao.EleBuildingEquipmentDao;
 import com.inspur.idm.media.dao.EleEstateDao;
 import com.inspur.idm.media.po.estate.EleBuilding;
 import com.inspur.idm.media.po.estate.EleEstate;
-import com.inspur.idm.media.vo.estate.EleBuildingBatchDTO;
-import com.inspur.idm.media.vo.estate.EleBuildingDTO;
-import com.inspur.idm.media.vo.estate.EleBuildingQuery;
-import com.inspur.idm.media.vo.estate.EleBuildingVO;
+import com.inspur.idm.media.util.MyUserUtil;
+import com.inspur.idm.media.vo.estate.*;
 import com.inspur.idm.platform.comm.BaseObj;
 import com.inspur.idm.platform.comm.CodeException;
 import com.inspur.idm.platform.utils.UUIDUtil;
@@ -19,6 +17,9 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * @author zy
  * @date 2023/11/14
@@ -34,6 +35,9 @@ public class EleBuildingServiceImpl implements EleBuildingService {
     @Autowired
     private EleBuildingEquipmentDao eleBuildingEquipmentDao;
 
+    @Autowired
+    private EleEstateDao EleEstateDao;
+
     @Override
     public void deleteEleBuildingById(String buildingId) {
         EleBuildingDao.deleteByPrimaryKey(buildingId);
@@ -52,6 +56,19 @@ public class EleBuildingServiceImpl implements EleBuildingService {
 
     @Override
     public Page<EleBuildingVO> getEleBuildingList(EleBuildingQuery query) {
+
+        EleEstateQuery estateQuery = new EleEstateQuery();
+        MyUserUtil.addDataAuth(estateQuery);
+        List<EleEstateVO> estateList = EleEstateDao.selectByQuery(estateQuery);
+        if (estateList.isEmpty()) {
+            return new Page<>();
+        }else {
+            List<String> estateIdList = estateList.stream().map(EleEstateVO::getEstateId).collect(Collectors.toList());
+            if (!estateIdList.contains(query.getEstateId())) {
+                return new Page<>();
+            }
+        }
+
         Page<EleBuildingVO> page = PageHelper.startPage(query.getPageNum(), query.getPageSize()).doSelectPage(() -> {
             EleBuildingDao.selectByQuery(query);
         });