| | |
| | | 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; |
| | | import org.sxkj.fw.area.service.IFwPoliceStationService; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | |
| | | * @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) { |
| | | // 校验派出所名称唯一性 |
| | | checkStationNameUnique(fwPoliceStation.getStationName(), null); |
| | | fillCreateFields(fwPoliceStation); |
| | | return super.save(fwPoliceStation); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateById(FwPoliceStationEntity fwPoliceStation) { |
| | | // 校验派出所名称唯一性(排除当前记录) |
| | | checkStationNameUnique(fwPoliceStation.getStationName(), fwPoliceStation.getId()); |
| | | fillUpdateFields(fwPoliceStation); |
| | | return super.updateById(fwPoliceStation); |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveOrUpdate(FwPoliceStationEntity fwPoliceStation) { |
| | | // 校验派出所名称唯一性 |
| | | checkStationNameUnique(fwPoliceStation.getStationName(), fwPoliceStation.getId()); |
| | | if (fwPoliceStation.getId() == null) { |
| | | fillCreateFields(fwPoliceStation); |
| | | } else { |
| | |
| | | return super.saveOrUpdate(fwPoliceStation); |
| | | } |
| | | |
| | | /** |
| | | * 校验派出所名称唯一性 |
| | | * |
| | | * @param stationName 派出所名称 |
| | | * @param excludeId 排除的ID(更新时使用,排除当前记录) |
| | | * @throws RuntimeException 当名称已存在时抛出异常 |
| | | */ |
| | | private void checkStationNameUnique(String stationName, Long excludeId) { |
| | | if (StringUtil.isBlank(stationName)) { |
| | | return; |
| | | } |
| | | LambdaQueryWrapper<FwPoliceStationEntity> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(FwPoliceStationEntity::getStationName, stationName); |
| | | if (excludeId != null) { |
| | | queryWrapper.ne(FwPoliceStationEntity::getId, excludeId); |
| | | } |
| | | long count = count(queryWrapper); |
| | | if (count > 0) { |
| | | throw new RuntimeException("派出所名称 '" + stationName + "' 已存在"); |
| | | } |
| | | } |
| | | |
| | | private void fillCreateFields(FwPoliceStationEntity fwPoliceStation) { |
| | | // 创建/更新基础审计字段统一设置 |
| | | Long userId = AuthUtil.getUserId(); |
| | | String deptIdStr = AuthUtil.getDeptId(); |
| | | Long deptId = null; |
| | |
| | | deptId = null; |
| | | } |
| | | } |
| | | String areaCode = HeaderUtils.getAreaCode(); |
| | | if (StringUtil.isBlank(areaCode)) { |
| | | areaCode = fwPoliceStation.getAreaCode(); |
| | | } |
| | | // 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); |
| | | } |
| | | // if (StringUtil.isNotBlank(areaCode)) { |
| | | // fwPoliceStation.setAreaCode(areaCode); |
| | | // } |
| | | fwPoliceStation.setCreateTime(now); |
| | | fwPoliceStation.setUpdateTime(now); |
| | | } |