From 4f6f15b818704079ff2e4e4719b798f48d68a335 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 11 九月 2026 13:52:19 +0800
Subject: [PATCH] update
---
backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java | 34 +++++++++++++++++++++++++---------
1 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java b/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java
index 16695af..8b4039c 100644
--- a/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java
+++ b/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java
@@ -166,15 +166,17 @@
GuideTeam team = user.getTeamId() == null ? null : teamMapper.selectById(user.getTeamId());
List<GuideScenicConfig> scenicConfigs = scenicConfigMapper.selectList(
new LambdaQueryWrapper<GuideScenicConfig>().eq(GuideScenicConfig::getGuideId, id).orderByAsc(GuideScenicConfig::getId));
+ GuideApplication application = findLatestApplication(user);
LocalDate birthDate = user.getBirthDate();
Integer workYears = user.getWorkYears();
if (birthDate == null || workYears == null) {
- GuideApplication application = findLatestApplication(user);
if (birthDate == null && application != null) birthDate = parseBirthDate(application.getIdCardNo());
if (workYears == null && application != null) workYears = parseWorkYears(application.getWorkYearRange());
}
return new GuideUserDetailResponse(user, team == null ? null : team.getTeamName(), scenicConfigs,
- birthDate, workYears);
+ birthDate, workYears,
+ application == null ? null : application.getAgeRange(),
+ application == null ? null : application.getWorkYearRange());
}
private GuideApplication findLatestApplication(GuideUser user) {
@@ -317,6 +319,7 @@
if (user.getStatus() == STATUS_CANCELLED) {
user.setStatus(STATUS_PENDING);
user.setAutoDisableWhitelisted(0);
+ user.setPremiumEnabled(0);
user.setAutoDisabled(0);
user.setDeleted(0);
}
@@ -443,12 +446,7 @@
@Transactional
public GuideUserResponse changeMobile(Long id, String newPhone) {
GuideUser user = findEnabledById(id);
- ensurePhoneAvailable(id, newPhone);
- String oldPhone = user.getMobile();
- user.setMobile(newPhone);
- if (oldPhone != null && oldPhone.equals(user.getUsername())) {
- user.setUsername(newPhone);
- }
+ updateMobileAndLoginUsername(user, newPhone);
userMapper.updateById(user);
return GuideUserResponse.from(user);
}
@@ -462,8 +460,8 @@
.eq(GuideTeam::getCollectionGuideId, id)) > 0) {
throw new BusinessException(409, "该导游已配置为讲解队收款导游,请先更换收款导游");
}
+ updateMobileAndLoginUsername(user, request.getMobile());
user.setRealName(request.getRealName());
- user.setMobile(request.getMobile());
user.setAvatar(request.getAvatar());
user.setCertificateNo(request.getCertificateNo());
user.setGender(request.getGender());
@@ -481,6 +479,17 @@
return detail(id);
}
+ private void updateMobileAndLoginUsername(GuideUser user, String newPhone) {
+ String oldPhone = user.getMobile();
+ if (!java.util.Objects.equals(oldPhone, newPhone) && StringUtils.hasText(newPhone)) {
+ ensurePhoneAvailable(user.getId(), newPhone);
+ }
+ user.setMobile(newPhone);
+ if (oldPhone != null && oldPhone.equals(user.getUsername()) && StringUtils.hasText(newPhone)) {
+ user.setUsername(newPhone);
+ }
+ }
+
@Transactional
public void updateWhitelist(Long id, boolean enabled) {
GuideUser user = findById(id);
@@ -496,6 +505,13 @@
userMapper.updateById(user);
}
+ @Transactional
+ public void updatePremiumPermission(Long id, boolean enabled) {
+ GuideUser user = findById(id);
+ user.setPremiumEnabled(enabled ? 1 : 0);
+ userMapper.updateById(user);
+ }
+
public GuideAutoDisableConfigResponse getAutoDisableConfig() {
GuideAutoDisableConfig config = autoDisableConfigMapper.selectById(1);
if (config == null) {
--
Gitblit v1.7.1