吉安感知网项目-后端
rain
2026-01-09 3ae46f2a59f9d4e751f78d8dc1a896ceba5ca495
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
@@ -16,6 +16,9 @@
 */
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.entity.FwDefenseZoneEntity;
import org.sxkj.fw.area.vo.FwDefenseZoneVO;
import org.sxkj.fw.area.excel.FwDefenseZoneExcel;
@@ -26,12 +29,13 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
import java.util.Date;
/**
 * 防区管理表 服务实现类
 *
 * @author lw
 * @since 2026-01-07
 * @since 2026-01-08
 */
@Service
public class FwDefenseZoneServiceImpl extends BaseServiceImpl<FwDefenseZoneMapper, FwDefenseZoneEntity> implements IFwDefenseZoneService {
@@ -51,4 +55,63 @@
      return fwDefenseZoneList;
   }
   @Override
   public boolean save(FwDefenseZoneEntity fwDefenseZone) {
      fillCreateFields(fwDefenseZone);
      return baseMapper.insertWithGeom(fwDefenseZone) > 0;
   }
   @Override
   public boolean updateById(FwDefenseZoneEntity fwDefenseZone) {
      fillUpdateFields(fwDefenseZone);
      return baseMapper.updateWithGeomById(fwDefenseZone) > 0;
   }
   @Override
   public boolean saveOrUpdate(FwDefenseZoneEntity fwDefenseZone) {
      if (fwDefenseZone.getId() == null) {
         fillCreateFields(fwDefenseZone);
         return baseMapper.insertWithGeom(fwDefenseZone) > 0;
      } else {
         fillUpdateFields(fwDefenseZone);
         return baseMapper.updateWithGeomById(fwDefenseZone) > 0;
      }
   }
   private void fillCreateFields(FwDefenseZoneEntity fwDefenseZone) {
      Long userId = AuthUtil.getUserId();
      String deptIdStr = AuthUtil.getDeptId();
      Long deptId = null;
      if (StringUtil.isNotBlank(deptIdStr)) {
         try {
            deptId = Long.valueOf(deptIdStr);
         } catch (NumberFormatException ignored) {
            deptId = null;
         }
      }
      String areaCode = HeaderUtils.getAreaCode();
      if (StringUtil.isBlank(areaCode)) {
         areaCode = fwDefenseZone.getAreaCode();
      }
      Date now = new Date();
      fwDefenseZone.setCreateUser(userId);
      fwDefenseZone.setUpdateUser(userId);
      if (deptId != null) {
         fwDefenseZone.setCreateDept(deptId);
      }
      if (StringUtil.isNotBlank(areaCode)) {
         fwDefenseZone.setAreaCode(areaCode);
      }
      fwDefenseZone.setCreateTime(now);
      fwDefenseZone.setUpdateTime(now);
   }
   private void fillUpdateFields(FwDefenseZoneEntity fwDefenseZone) {
      Long userId = AuthUtil.getUserId();
      if (userId != null) {
         fwDefenseZone.setUpdateUser(userId);
      }
      fwDefenseZone.setUpdateTime(new Date());
   }
}