| | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.xiaopeng.map.service.serviceimpl.XpElectronicFenceServiceImpl.getPinyinInitials; |
| | |
| | | I18nKeyConstant.FENCE_STATUS_CANNOT_COPIED |
| | | ); |
| | | } |
| | | electronicFence.setElectronicName("副本_"+electronicFence.getElectronicName()); |
| | | electronicFence.setElectronicName(buildCopyFenceName(electronicFence.getElectronicName())); |
| | | electronicFence.setId(null); |
| | | electronicFence.setStatus(0); |
| | | List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, id) |
| | |
| | | return R.ok(electronicFence.getId()); |
| | | } |
| | | |
| | | private String buildCopyFenceName(String sourceName) { |
| | | Set<String> existingNames = new HashSet<>(xpElectronicFenceService.lambdaQuery() |
| | | .likeRight(XpElectronicFence::getElectronicName, sourceName) |
| | | .list() |
| | | .stream() |
| | | .map(XpElectronicFence::getElectronicName) |
| | | .collect(Collectors.toSet())); |
| | | |
| | | String candidateName = sourceName + "_副本"; |
| | | while (existingNames.contains(candidateName)) { |
| | | candidateName = candidateName + "_副本"; |
| | | } |
| | | return candidateName; |
| | | } |
| | | |
| | | /** |
| | | * 根据ID列表批量查询电子围栏 |
| | | * |