From ad491191ab50a259da548863d805c57d8a95d083 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 15 九月 2026 11:16:12 +0800
Subject: [PATCH] update

---
 backend/src/main/java/com/tourguide/modules/user/mapper/GuideUserMapper.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/backend/src/main/java/com/tourguide/modules/user/mapper/GuideUserMapper.java b/backend/src/main/java/com/tourguide/modules/user/mapper/GuideUserMapper.java
index ef8bd96..7950712 100644
--- a/backend/src/main/java/com/tourguide/modules/user/mapper/GuideUserMapper.java
+++ b/backend/src/main/java/com/tourguide/modules/user/mapper/GuideUserMapper.java
@@ -9,6 +9,22 @@
 import java.math.BigDecimal;
 
 public interface GuideUserMapper extends BaseMapper<GuideUser> {
+    @Update("UPDATE guide_user SET username = #{username}, mobile = NULL, certificate_no = NULL, " +
+            "id_card_no = NULL, id_card_front_url = NULL, id_card_back_url = NULL, status = 3, " +
+            "auto_disable_whitelisted = 0, auto_disabled = 0, updated_at = NOW() " +
+            "WHERE id = #{guideId} AND deleted = 0")
+    int cancelAccount(@Param("guideId") Long guideId, @Param("username") String username);
+
+    @Update("UPDATE guide_user SET username = #{username}, mobile = NULL, certificate_no = NULL, " +
+            "id_card_no = NULL, id_card_front_url = NULL, id_card_back_url = NULL, updated_at = NOW() " +
+            "WHERE id = #{guideId} AND status = 3 AND deleted = 0")
+    int anonymizeCancelledGuide(@Param("guideId") Long guideId, @Param("username") String username);
+
+    @Update("UPDATE guide_user SET id_card_no = NULL, id_card_front_url = NULL, " +
+            "id_card_back_url = NULL, updated_at = NOW() " +
+            "WHERE id_card_no = #{idCardNo} AND status = 3 AND deleted = 0")
+    int clearCancelledIdentityByIdCard(@Param("idCardNo") String idCardNo);
+
     @Select("SELECT * FROM guide_user WHERE id = #{guideId} AND deleted = 0 FOR UPDATE")
     GuideUser selectForUpdate(@Param("guideId") Long guideId);
 
@@ -23,6 +39,10 @@
             "WHERE id = #{guideId} AND deleted = 0 AND balance >= #{amount}")
     int decreaseBalance(@Param("guideId") Long guideId, @Param("amount") BigDecimal amount);
 
+    @Update("UPDATE guide_user SET balance = COALESCE(balance, 0) - #{amount}, updated_at = NOW() " +
+            "WHERE id = #{guideId} AND deleted = 0")
+    int decreaseBalanceForRefund(@Param("guideId") Long guideId, @Param("amount") BigDecimal amount);
+
     @Update("UPDATE guide_user SET accepted_order_count = accepted_order_count + 1, " +
             "current_month_order_count = current_month_order_count + 1, updated_at = NOW() " +
             "WHERE id = #{guideId} AND deleted = 0 AND status = 1")

--
Gitblit v1.7.1