diff --git a/web-app/src/main/java/com/zcloud/personnel/positioning/command/FencePointPersistenceService.java b/web-app/src/main/java/com/zcloud/personnel/positioning/command/FencePointPersistenceService.java index 9b6530d..d293f99 100644 --- a/web-app/src/main/java/com/zcloud/personnel/positioning/command/FencePointPersistenceService.java +++ b/web-app/src/main/java/com/zcloud/personnel/positioning/command/FencePointPersistenceService.java @@ -1,7 +1,6 @@ package com.zcloud.personnel.positioning.command; import com.alibaba.cola.exception.BizException; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.zcloud.personnel.positioning.domain.model.FenceE; @@ -39,9 +38,7 @@ public class FencePointPersistenceService { throw new BizException("Fence id is required"); } List points = parsePolygon(fence.getPolygonJson()); - QueryWrapper removeWrapper = new QueryWrapper<>(); - removeWrapper.eq("fence_id", fence.getId()); - fencePointRepository.remove(removeWrapper); + fencePointRepository.physicalDeleteByFenceId(fence.getId()); for (RingPoint point : points) { FencePointDO pointDO = new FencePointDO(); pointDO.setFenceId(fence.getId()); @@ -60,9 +57,7 @@ public class FencePointPersistenceService { if (fenceId == null) { return; } - QueryWrapper removeWrapper = new QueryWrapper<>(); - removeWrapper.eq("fence_id", fenceId); - fencePointRepository.remove(removeWrapper); + fencePointRepository.physicalDeleteByFenceId(fenceId); } public void fillCenter(FenceDO fence) { diff --git a/web-app/src/main/java/com/zcloud/personnel/positioning/command/FindsPendingSyncService.java b/web-app/src/main/java/com/zcloud/personnel/positioning/command/FindsPendingSyncService.java index ded7ebb..f16d506 100644 --- a/web-app/src/main/java/com/zcloud/personnel/positioning/command/FindsPendingSyncService.java +++ b/web-app/src/main/java/com/zcloud/personnel/positioning/command/FindsPendingSyncService.java @@ -7,7 +7,6 @@ import com.zcloud.personnel.positioning.persistence.dataobject.AlarmRuleDO; import com.zcloud.personnel.positioning.persistence.dataobject.AlarmRuleFenceRelDO; import com.zcloud.personnel.positioning.persistence.dataobject.AlarmRuleItemDO; import com.zcloud.personnel.positioning.persistence.dataobject.FenceDO; -import com.zcloud.personnel.positioning.persistence.dataobject.FencePointDO; import com.zcloud.personnel.positioning.persistence.dataobject.TerminalBindDO; import com.zcloud.personnel.positioning.persistence.dataobject.TerminalDO; import com.zcloud.personnel.positioning.persistence.repository.AlarmRuleFenceRelRepository; @@ -89,9 +88,7 @@ public class FindsPendingSyncService { fenceFindsSyncService.delete(fence); transactionTemplate.execute(status -> { if (findsSyncStateService.deleteFenceIfCurrent(fence)) { - QueryWrapper pointWrapper = new QueryWrapper<>(); - pointWrapper.eq("fence_id", id); - fencePointRepository.remove(pointWrapper); + fencePointRepository.physicalDeleteByFenceId(id); } return null; }); diff --git a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/mapper/FencePointMapper.java b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/mapper/FencePointMapper.java index 88953c2..2aa278a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/mapper/FencePointMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/mapper/FencePointMapper.java @@ -3,6 +3,7 @@ package com.zcloud.personnel.positioning.persistence.mapper; import com.zcloud.personnel.positioning.persistence.dataobject.FencePointDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * web-infrastructure @@ -12,4 +13,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface FencePointMapper extends BaseMapper { + int physicalDeleteByFenceId(@Param("fenceId") Long fenceId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/FencePointRepository.java b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/FencePointRepository.java index 41dca67..f3494d3 100644 --- a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/FencePointRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/FencePointRepository.java @@ -14,4 +14,6 @@ import java.util.Map; */ public interface FencePointRepository extends BaseRepository { PageResponse listPage(Map params); + + boolean physicalDeleteByFenceId(Long fenceId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/FencePointRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/FencePointRepositoryImpl.java index 01df7cf..767fc2d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/FencePointRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/personnel/positioning/persistence/repository/impl/FencePointRepositoryImpl.java @@ -35,4 +35,9 @@ public class FencePointRepositoryImpl extends BaseRepositoryImpl result = fencePointMapper.selectPage(iPage, queryWrapper); return PageHelper.pageToResponse(result, result.getRecords()); } + + @Override + public boolean physicalDeleteByFenceId(Long fenceId) { + return fencePointMapper.physicalDeleteByFenceId(fenceId) >= 0; + } } diff --git a/web-infrastructure/src/main/resources/mapper/FencePointMapper.xml b/web-infrastructure/src/main/resources/mapper/FencePointMapper.xml index 385568a..bce3980 100644 --- a/web-infrastructure/src/main/resources/mapper/FencePointMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/FencePointMapper.xml @@ -3,4 +3,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + DELETE FROM fence_point WHERE fence_id = #{fenceId} +