吉安感知网项目-后端
linwei
2026-02-02 1bfbc52da47b22f00a1c1f5f670c30f70d999873
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
@@ -16,7 +16,11 @@
 */
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.FwPoliceStationEntity;
import org.sxkj.fw.area.param.FwPoliceStationQueryParam;
import org.sxkj.fw.area.vo.FwPoliceStationVO;
import org.sxkj.fw.area.excel.FwPoliceStationExcel;
import org.sxkj.fw.area.mapper.FwPoliceStationMapper;
@@ -26,29 +30,102 @@
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 FwPoliceStationServiceImpl extends BaseServiceImpl<FwPoliceStationMapper, FwPoliceStationEntity> implements IFwPoliceStationService {
public class FwPoliceStationServiceImpl extends BaseServiceImpl<FwPoliceStationMapper, FwPoliceStationEntity>
   implements IFwPoliceStationService {
   @Override
   public IPage<FwPoliceStationVO> selectFwPoliceStationPage(IPage<FwPoliceStationVO> page, FwPoliceStationVO fwPoliceStation) {
      return page.setRecords(baseMapper.selectFwPoliceStationPage(page, fwPoliceStation));
   public IPage<FwPoliceStationVO> selectFwPoliceStationPage(IPage<FwPoliceStationVO> page,
                                               FwPoliceStationQueryParam param) {
      return page.setRecords(baseMapper.selectFwPoliceStationPage(page, param));
   }
   @Override
   public List<FwPoliceStationVO> selectFwPoliceStationList(String stationName) {
      return baseMapper.selectFwPoliceStationList(stationName);
   }
   @Override
   public List<FwPoliceStationExcel> exportFwPoliceStation(Wrapper<FwPoliceStationEntity> queryWrapper) {
      List<FwPoliceStationExcel> fwPoliceStationList = baseMapper.exportFwPoliceStation(queryWrapper);
      //fwPoliceStationList.forEach(fwPoliceStation -> {
      //   fwPoliceStation.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwPoliceStation.getType()));
      //});
      // fwPoliceStationList.forEach(fwPoliceStation -> {
      // fwPoliceStation.setTypeName(DictCache.getValue(DictEnum.YES_NO,
      // FwPoliceStation.getType()));
      // });
      return fwPoliceStationList;
   }
   @Override
   public List<FwPoliceStationVO> selectByPolygons(List<String> polygons) {
      // 仅做空间过滤,具体坐标规则由 SQL 处理
      return baseMapper.selectByPolygons(polygons);
   }
   @Override
   public boolean save(FwPoliceStationEntity fwPoliceStation) {
      fillCreateFields(fwPoliceStation);
      return super.save(fwPoliceStation);
   }
   @Override
   public boolean updateById(FwPoliceStationEntity fwPoliceStation) {
      fillUpdateFields(fwPoliceStation);
      return super.updateById(fwPoliceStation);
   }
   @Override
   public boolean saveOrUpdate(FwPoliceStationEntity fwPoliceStation) {
      if (fwPoliceStation.getId() == null) {
         fillCreateFields(fwPoliceStation);
      } else {
         fillUpdateFields(fwPoliceStation);
      }
      return super.saveOrUpdate(fwPoliceStation);
   }
   private void fillCreateFields(FwPoliceStationEntity fwPoliceStation) {
      // 创建/更新基础审计字段统一设置
      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 = fwPoliceStation.getAreaCode();
      // }
      Date now = new Date();
      fwPoliceStation.setCreateUser(userId);
      fwPoliceStation.setUpdateUser(userId);
      if (deptId != null) {
         fwPoliceStation.setCreateDept(deptId);
      }
      // if (StringUtil.isNotBlank(areaCode)) {
      // fwPoliceStation.setAreaCode(areaCode);
      // }
      fwPoliceStation.setCreateTime(now);
      fwPoliceStation.setUpdateTime(now);
   }
   private void fillUpdateFields(FwPoliceStationEntity fwPoliceStation) {
      Long userId = AuthUtil.getUserId();
      if (userId != null) {
         fwPoliceStation.setUpdateUser(userId);
      }
      fwPoliceStation.setUpdateTime(new Date());
   }
}