| | |
| | | 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; |
| | |
| | | |
| | | @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(); |