liujie
2026-09-14 a910819c1853081735356c7a2c5e05a2953602ab
backend/src/main/java/com/tourguide/modules/user/service/GuideAccountService.java
@@ -1,12 +1,14 @@
package com.tourguide.modules.user.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.tourguide.common.exception.BusinessException;
import com.tourguide.modules.order.domain.OrderStatus;
import com.tourguide.modules.order.entity.TourOrder;
import com.tourguide.modules.order.mapper.TourOrderMapper;
import com.tourguide.modules.user.domain.ClientType;
import com.tourguide.modules.user.entity.GuideUser;
import com.tourguide.modules.user.mapper.GuideApplicationMapper;
import com.tourguide.modules.user.mapper.GuideUserMapper;
import com.tourguide.security.JwtTokenService;
import com.tourguide.security.TokenPayload;
@@ -19,13 +21,16 @@
@Service
public class GuideAccountService {
    private final GuideUserMapper guideUserMapper;
    private final GuideApplicationMapper guideApplicationMapper;
    private final TourOrderMapper tourOrderMapper;
    private final JwtTokenService jwtTokenService;
    private final TokenSessionService tokenSessionService;
    public GuideAccountService(GuideUserMapper guideUserMapper, TourOrderMapper tourOrderMapper,
    public GuideAccountService(GuideUserMapper guideUserMapper, GuideApplicationMapper guideApplicationMapper,
                               TourOrderMapper tourOrderMapper,
                               JwtTokenService jwtTokenService, TokenSessionService tokenSessionService) {
        this.guideUserMapper = guideUserMapper;
        this.guideApplicationMapper = guideApplicationMapper;
        this.tourOrderMapper = tourOrderMapper;
        this.jwtTokenService = jwtTokenService;
        this.tokenSessionService = tokenSessionService;
@@ -49,14 +54,21 @@
        if (user == null) {
            throw new BusinessException(404, "导游用户不存在");
        }
        user.setUsername("deleted_" + UUID.randomUUID().toString().replace("-", "").substring(0, 24));
        user.setMobile(null);
        user.setCertificateNo(null);
        user.setIdCardNo(null);
        user.setStatus(GuideUserService.STATUS_CANCELLED);
        user.setAutoDisableWhitelisted(0);
        user.setAutoDisabled(0);
        guideUserMapper.updateById(user);
        String idCardNo = user.getIdCardNo();
        if (idCardNo != null && !idCardNo.trim().isEmpty()) {
            guideApplicationMapper.clearIdentityByIdCard(idCardNo);
        }
        guideUserMapper.update(null, new LambdaUpdateWrapper<GuideUser>()
                .eq(GuideUser::getId, guideId)
                .set(GuideUser::getUsername, "deleted_" + UUID.randomUUID().toString().replace("-", "").substring(0, 24))
                .set(GuideUser::getMobile, null)
                .set(GuideUser::getCertificateNo, null)
                .set(GuideUser::getIdCardNo, null)
                .set(GuideUser::getIdCardFrontUrl, null)
                .set(GuideUser::getIdCardBackUrl, null)
                .set(GuideUser::getStatus, GuideUserService.STATUS_CANCELLED)
                .set(GuideUser::getAutoDisableWhitelisted, 0)
                .set(GuideUser::getAutoDisabled, 0));
        tokenSessionService.remove(payload);
    }
}