吉安感知网项目-后端
rain
2026-01-09 3ae46f2a59f9d4e751f78d8dc1a896ceba5ca495
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
@@ -17,6 +17,7 @@
package org.sxkj.fw.area.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.dto.FwAreaDivideDTO;
import org.sxkj.fw.area.entity.FwAreaDivideEntity;
@@ -45,6 +46,10 @@
      return page.setRecords(baseMapper.selectFwAreaDividePage(page, fwAreaDivide));
   }
   @Override
   public FwAreaDivideVO selectFwAreaDivideDetail(Long id) {
      return baseMapper.selectFwAreaDivideDetail(id);
   }
   @Override
   public List<FwAreaDivideExcel> exportFwAreaDivide(Wrapper<FwAreaDivideEntity> queryWrapper) {
@@ -58,40 +63,59 @@
   @Override
   public boolean save(FwAreaDivideEntity fwAreaDivide) {
      fillCreateFields(fwAreaDivide);
      return super.save(fwAreaDivide);
      return baseMapper.insertWithGeom(fwAreaDivide) > 0;
   }
   @Override
   public boolean updateById(FwAreaDivideEntity fwAreaDivide) {
      fillUpdateFields(fwAreaDivide);
      return super.updateById(fwAreaDivide);
      return baseMapper.updateWithGeomById(fwAreaDivide) > 0;
   }
   @Override
   public boolean saveOrUpdate(FwAreaDivideEntity fwAreaDivide) {
      if (fwAreaDivide.getId() == null) {
         fillCreateFields(fwAreaDivide);
         return baseMapper.insertWithGeom(fwAreaDivide) > 0;
      } else {
         fillUpdateFields(fwAreaDivide);
         return baseMapper.updateWithGeomById(fwAreaDivide) > 0;
      }
      return super.saveOrUpdate(fwAreaDivide);
   }
   private void fillCreateFields(FwAreaDivideEntity fwAreaDivide) {
      Long userId = AuthUtil.getUserId();
      Long deptId = Long.valueOf(AuthUtil.getDeptId());
      String areaCode = HeaderUtils.getAreaCode();
      String deptIdStr = AuthUtil.getDeptId();
      Long deptId = null;
      if (StringUtil.isNotBlank(deptIdStr)) {
         try {
            deptId = Long.valueOf(deptIdStr);
         } catch (NumberFormatException ignored) {
            deptId = null;
         }
      }
      String areaCode = fwAreaDivide.getAreaCode();
      if (StringUtil.isBlank(areaCode)) {
         areaCode = HeaderUtils.getAreaCode();
      }
      Date now = new Date();
      fwAreaDivide.setCreateUser(userId);
      fwAreaDivide.setUpdateUser(userId);
      fwAreaDivide.setCreateDept(deptId);
      fwAreaDivide.setAreaCode(areaCode);
      if (deptId != null) {
         fwAreaDivide.setCreateDept(deptId);
      }
      if (StringUtil.isNotBlank(areaCode)) {
         fwAreaDivide.setAreaCode(areaCode);
      }
      fwAreaDivide.setCreateTime(now);
      fwAreaDivide.setUpdateTime(now);
   }
   private void fillUpdateFields(FwAreaDivideEntity fwAreaDivide) {
      fwAreaDivide.setUpdateUser(AuthUtil.getUserId());
      Long userId = AuthUtil.getUserId();
      if (userId != null) {
         fwAreaDivide.setUpdateUser(userId);
      }
      fwAreaDivide.setUpdateTime(new Date());
   }