From 19e3ffa69142c78ae357a924e9766f419ed3e5cc Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期二, 18 八月 2026 16:47:04 +0800
Subject: [PATCH] feat0806: 批量修改诊所功能
---
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/UserAppService.java | 32 +++++++++++++++++++++++---------
1 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/UserAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/UserAppService.java
index 988b8ab..bcc1370 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/UserAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/UserAppService.java
@@ -9,22 +9,18 @@
import com.tcm.training.admin.common.PageResponse;
import com.tcm.training.admin.common.PhoneMasker;
import com.tcm.training.admin.live.entity.Clinic;
-import com.tcm.training.admin.member.entity.AppUser;
import com.tcm.training.admin.live.mapper.ClinicMapper;
-import com.tcm.training.admin.member.excel.MemberUserExcelRow;
+import com.tcm.training.admin.member.dto.UserBatchClinicUpdateRequest;
import com.tcm.training.admin.member.dto.UserResetPasswordRequest;
import com.tcm.training.admin.member.dto.UserStatusRequest;
import com.tcm.training.admin.member.dto.UserUpdateRequest;
+import com.tcm.training.admin.member.entity.AppUser;
+import com.tcm.training.admin.member.excel.MemberUserExcelRow;
import com.tcm.training.admin.member.excel.UserExcelRow;
import com.tcm.training.admin.member.mapper.UserMapper;
import com.tcm.training.admin.member.row.UserDetailRow;
import com.tcm.training.admin.member.row.UserListRow;
-import com.tcm.training.admin.member.vo.ClinicInUserVO;
-import com.tcm.training.admin.member.vo.ClinicOptionVO;
-import com.tcm.training.admin.member.vo.UserDetailVO;
-import com.tcm.training.admin.member.vo.UserListItemVO;
-import com.tcm.training.admin.member.vo.UserStatusVO;
-import com.tcm.training.admin.member.vo.WechatBindingVO;
+import com.tcm.training.admin.member.vo.*;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -90,7 +86,7 @@
UserListItemVO item = new UserListItemVO();
item.setId(row.getId());
item.setNickname(row.getNickname());
- item.setPhone(PhoneMasker.mask(row.getPhone()));
+ item.setPhone(row.getPhone());
item.setAvatar(row.getAvatar());
item.setType(row.getType());
item.setClinicName(row.getClinicName());
@@ -210,6 +206,24 @@
return detail(id);
}
+ @Transactional
+ public void batchUpdateClinic(UserBatchClinicUpdateRequest req) {
+ Clinic clinic = clinicMapper.selectById(req.getClinicId());
+ if (clinic == null || Integer.valueOf(1).equals(clinic.getDeleted())) {
+ throw new IllegalArgumentException("诊所不存在");
+ }
+ Long userCount = userMapper.selectCount(new LambdaQueryWrapper<AppUser>()
+ .in(AppUser::getId, req.getUserIds())
+ .eq(AppUser::getDeleted, 0));
+ if (userCount != req.getUserIds().size()) {
+ throw new IllegalArgumentException("部分用户不存在");
+ }
+ userMapper.update(null, new LambdaUpdateWrapper<AppUser>()
+ .in(AppUser::getId, req.getUserIds())
+ .eq(AppUser::getDeleted, 0)
+ .set(AppUser::getClinicId, req.getClinicId()));
+ }
+
public List<ClinicOptionVO> listClinicOptions() {
List<Clinic> clinics = clinicMapper.selectList(new LambdaQueryWrapper<Clinic>()
.eq(Clinic::getDeleted, 0)
--
Gitblit v1.7.1