From 700f9d0da314a4ea701fe9f68d305b67d72ec5fb Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 08 七月 2026 15:08:37 +0800
Subject: [PATCH] 各类修复fix
---
backend/src/main/java/com/sinata/appointment/service/MiniVisitorApplicationService.java | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/backend/src/main/java/com/sinata/appointment/service/MiniVisitorApplicationService.java b/backend/src/main/java/com/sinata/appointment/service/MiniVisitorApplicationService.java
index 244cef7..2f1e864 100644
--- a/backend/src/main/java/com/sinata/appointment/service/MiniVisitorApplicationService.java
+++ b/backend/src/main/java/com/sinata/appointment/service/MiniVisitorApplicationService.java
@@ -103,6 +103,17 @@
mpVisitorMapper.updateById(row);
}
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(Long id, String uuid) {
+ MpUser current = miniAuthApplicationService.currentMpUser();
+ MpVisitor row = loadOwnedVisitor(id, uuid, current.getId());
+ boolean wasDefault = isDefault(row);
+ mpVisitorMapper.deleteById(row.getId());
+ if (wasDefault) {
+ resetEarliestVisitorAsDefault(current.getId());
+ }
+ }
+
public MiniVisitorDetailVo detail(Long id, String uuid) {
MpUser current = miniAuthApplicationService.currentMpUser();
MpVisitor row = loadOwnedVisitor(id, uuid, current.getId());
@@ -165,6 +176,21 @@
> 0;
}
+ private void resetEarliestVisitorAsDefault(Long mpUserId) {
+ MpVisitor next =
+ mpVisitorMapper.selectOne(
+ new LambdaQueryWrapper<MpVisitor>()
+ .eq(MpVisitor::getMpUserId, mpUserId)
+ .eq(MpVisitor::getDelFlag, 0)
+ .orderByAsc(MpVisitor::getCreateTime)
+ .orderByAsc(MpVisitor::getId)
+ .last("limit 1"));
+ if (next != null) {
+ next.setIsDefault(1);
+ mpVisitorMapper.updateById(next);
+ }
+ }
+
private List<String> resolveMissingFieldCodes(MpVisitor row, Set<String> requiredCodes) {
List<String> missing = new ArrayList<>();
for (String code : requiredCodes) {
--
Gitblit v1.7.1