1、电子围栏点位删除修改为物理删除

master
shenzhidan 2026-08-10 17:10:10 +08:00
parent d6ac29e24e
commit 1f585a01ef
6 changed files with 15 additions and 11 deletions

View File

@ -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<RingPoint> points = parsePolygon(fence.getPolygonJson());
QueryWrapper<FencePointDO> 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<FencePointDO> removeWrapper = new QueryWrapper<>();
removeWrapper.eq("fence_id", fenceId);
fencePointRepository.remove(removeWrapper);
fencePointRepository.physicalDeleteByFenceId(fenceId);
}
public void fillCenter(FenceDO fence) {

View File

@ -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<FencePointDO> pointWrapper = new QueryWrapper<>();
pointWrapper.eq("fence_id", id);
fencePointRepository.remove(pointWrapper);
fencePointRepository.physicalDeleteByFenceId(id);
}
return null;
});

View File

@ -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<FencePointDO> {
int physicalDeleteByFenceId(@Param("fenceId") Long fenceId);
}

View File

@ -14,4 +14,6 @@ import java.util.Map;
*/
public interface FencePointRepository extends BaseRepository<FencePointDO> {
PageResponse<FencePointDO> listPage(Map<String, Object> params);
boolean physicalDeleteByFenceId(Long fenceId);
}

View File

@ -35,4 +35,9 @@ public class FencePointRepositoryImpl extends BaseRepositoryImpl<FencePointMappe
IPage<FencePointDO> result = fencePointMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public boolean physicalDeleteByFenceId(Long fenceId) {
return fencePointMapper.physicalDeleteByFenceId(fenceId) >= 0;
}
}

View File

@ -3,4 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.personnel.positioning.persistence.mapper.FencePointMapper">
<delete id="physicalDeleteByFenceId">
DELETE FROM fence_point WHERE fence_id = #{fenceId}
</delete>
</mapper>