lin
2024-02-27 3501ca8469b1a09f22cf0d3dbbe1adf331ea814a
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -24,6 +24,7 @@
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.IdUtils;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.support.Condition;
@@ -48,6 +49,7 @@
import org.springblade.modules.place.service.IPlaceExtService;
import org.springblade.modules.place.service.IPlacePoiLabelService;
import org.springblade.modules.place.service.IPlaceRelService;
import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.modules.place.vo.PlacePoiLabelVO;
import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.place.mapper.PlaceMapper;
@@ -119,16 +121,13 @@
    */
   @Override
   public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
      List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
      Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
      List<String> list = new ArrayList<>();
      if (null != place.getRoleName() && !place.getRoleName().equals("")) {
         if (place.getRoleName().equals("网格员")) {
            // 查询对应的房屋地址code
            list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
         }
      }
      List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page, place, list, regionChildCodesList, isAdministrator);
      // 公共参数设置
      CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class,place);
      List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page,
         place,
         commonParamSet.getGridCodeList(),
         commonParamSet.getRegionChildCodesList(),
         commonParamSet.getIsAdministrator());
      // 返回
      return page.setRecords(placeVOS);
   }
@@ -313,6 +312,7 @@
         }
      } else {
         // 一对一,暂时不处理,后续考虑需加绑定关系表
      }
   }
@@ -327,6 +327,7 @@
         && !Strings.isBlank(placeVO.getLocation())
         && !Strings.isBlank(placeVO.getPlaceName())
         && !Strings.isBlank(placeVO.getImageUrls())
         && !Strings.isBlank(placeVO.getPrincipalIdCard())
      ) {
         // 已完善
         placeVO.setStatus(2);
@@ -792,6 +793,7 @@
            if (null != addressEntity) {
               placeVO = new PlaceVO();
               placeVO.setDoorplateAddressEntity(addressEntity);
               placeVO.setHouseCode(addressEntity.getAddressCode());
               placeVO.setLng(addressEntity.getX());
               placeVO.setLat(addressEntity.getY());
               placeVO.setLocation(addressEntity.getAddressName());
@@ -1341,4 +1343,30 @@
      }
      return null;
   }
   /**
    * 场所综治网格处理
    */
   @Override
   public Object placeGridCodeHandle() {
      // 查询 综治网格为空的数据
      List<PlaceEntity> list = baseMapper.getPlaceNotGridCode();
      // 遍历
      for (PlaceEntity placeEntity : list) {
         if (!Strings.isBlank(placeEntity.getLng())) {
            // 空间分析
            //点坐标解析
            String point = "'POINT(" + placeEntity.getLng() + " " + placeEntity.getLat() + ")'";
            //String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'";
            List<GridEntity> gridEntityList = gridService.spatialAnalysis(point);
            if (gridEntityList.size() > 0) {
               GridEntity gridEntity = gridEntityList.get(0);
               placeEntity.setGridCode(gridEntity.getGridCode());
               // 更新
               updateById(placeEntity);
            }
         }
      }
      return null;
   }
}