From 06f69c0a04e14639d005b84e46b82a93b8d5883d Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期二, 01 九月 2026 16:29:19 +0800
Subject: [PATCH] fix0901: 继续修复扫描问题4
---
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionAppService.java | 5 +++++
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/UserAppService.java | 9 +++++++++
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/ClinicAppService.java | 8 ++++++++
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/service/ProvincialAgentAppService.java | 6 ++++++
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/LiveCourseAppService.java | 8 ++++++++
5 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/service/ProvincialAgentAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/service/ProvincialAgentAppService.java
index 7b9ab69..c985ac5 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/service/ProvincialAgentAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/agent/service/ProvincialAgentAppService.java
@@ -54,6 +54,7 @@
this.vzanHttpUtil = vzanHttpUtil;
}
+ /** 分页查询省代理。 */
public PageResponse<ProvincialAgentListItemVO> page(int page, int pageSize, String regionCode,
String clinicName, String contactInfo, Integer status) {
LambdaQueryWrapper<ProvincialAgent> query = new LambdaQueryWrapper<ProvincialAgent>()
@@ -94,12 +95,15 @@
return PageResponse.of(new ArrayList<ProvincialAgentListItemVO>(), 0, page, pageSize);
}
+ /** 查询省代理详情。 */
public ProvincialAgentDetailVO detail(Long id) {
return toDetail(require(id));
}
@Transactional(rollbackFor = Exception.class)
+ /** 创建省代理并同步区域及微赞代理信息。 */
public ProvincialAgentDetailVO create(ProvincialAgentSaveRequest request) {
+ // STEP 1:保存本地代理与负责区域;STEP 2:同步第三方代理;失败时整体回滚。
boolean firstAgent = agentMapper.selectCount(new LambdaQueryWrapper<ProvincialAgent>()
.eq(ProvincialAgent::getDeleted, 0)) == 0;
ProvincialAgent agent = new ProvincialAgent();
@@ -126,6 +130,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 更新省代理及其负责区域。 */
public ProvincialAgentDetailVO update(Long id, ProvincialAgentSaveRequest request) {
ProvincialAgent agent = require(id);
fill(agent, request);
@@ -136,6 +141,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 删除省代理。 */
public void delete(Long id) {
require(id);
agentMapper.deleteById(id);
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/LiveCourseAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/LiveCourseAppService.java
index 3add64d..1fcbb77 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/LiveCourseAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/LiveCourseAppService.java
@@ -59,6 +59,7 @@
this.projectIntroductionPasswordService = projectIntroductionPasswordService;
}
+ /** 分页查询直播课程。 */
public PageResponse<LiveCourseListItemVO> page(int page, int pageSize, String keyword, Long expertId, Integer status, Integer liveStatus) {
IPage<LiveCourseListRow> p = liveCourseMapper.selectCoursePage(new Page<LiveCourseListRow>(page, pageSize),
keyword, expertId, status, liveStatus);
@@ -85,6 +86,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 创建直播课程。 */
public LiveCourseDetailVO create(LiveCourseUpsertRequest req) {
throw new IllegalArgumentException("直播课程为初始化数据,禁止新增");
/*
@@ -107,6 +109,7 @@
*/
}
+ /** 查询直播课程详情。 */
public LiveCourseDetailVO detail(Long id) {
LiveCourseDetailRow row = liveCourseMapper.selectCourseDetail(id);
if (row == null) {
@@ -136,6 +139,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 更新直播课程。 */
public LiveCourseDetailVO update(Long id, LiveCourseUpsertRequest req) {
validateExpert(req.getExpertId());
@@ -160,6 +164,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 修改直播课程状态。 */
public LiveCourseStatusVO patchStatus(Long id, LiveCourseStatusRequest req) {
LiveCourse course = liveCourseMapper.selectById(id);
if (course == null) {
@@ -171,6 +176,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 更新直播课程密码。 */
public void updatePassword(Long id, LiveCoursePasswordRequest req) {
String password = req.getPassword();
if (StrUtil.isNotBlank(password)) {
@@ -190,6 +196,7 @@
liveCourseMapper.updatePasswordById(id, course.getPassword());
}
+ /** 校验直播课程访问密码。 */
public boolean verifyPassword(LiveCoursePasswordVerifyRequest req) {
if (req.getType() == LIVE_ROOM_PASSWORD_TYPE) {
// 直播间密码验证
@@ -210,6 +217,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 删除直播课程。 */
public void delete(Long id) {
throw new IllegalArgumentException("直播课程为初始化数据,禁止删除");
}
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionAppService.java
index cc2fd93..aaf3b11 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionAppService.java
@@ -24,6 +24,7 @@
this.projectIntroductionMapper = projectIntroductionMapper;
}
+ /** 分页查询项目介绍。 */
public PageResponse<ProjectIntroductionListItemVO> page(int page,
int pageSize,
String keyword,
@@ -56,11 +57,13 @@
return PageResponse.of(list, result.getTotal(), result.getCurrent(), result.getSize());
}
+ /** 查询项目介绍详情。 */
public ProjectIntroductionDetailVO detail(Long id) {
return toDetailVO(requireItem(id));
}
@Transactional(rollbackFor = Exception.class)
+ /** 创建项目介绍。 */
public ProjectIntroductionDetailVO create(ProjectIntroductionSaveRequest req) {
ProjectIntroduction item = new ProjectIntroduction();
fillEntity(item, req);
@@ -71,6 +74,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 更新项目介绍。 */
public ProjectIntroductionDetailVO update(Long id, ProjectIntroductionSaveRequest req) {
ProjectIntroduction item = requireItem(id);
fillEntity(item, req);
@@ -79,6 +83,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 删除项目介绍。 */
public void delete(Long id) {
requireItem(id);
projectIntroductionMapper.deleteById(id);
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/ClinicAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/ClinicAppService.java
index 3136c3e..0b0bc6a 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/ClinicAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/member/service/ClinicAppService.java
@@ -68,6 +68,7 @@
this.transactionManager = transactionManager;
}
+ /** 分页查询诊所。 */
public PageResponse<ClinicListItemVO> page(int page,
int pageSize,
String regionCode,
@@ -94,6 +95,7 @@
return PageResponse.of(list, result.getTotal(), result.getCurrent(), result.getSize());
}
+ /** 下载诊所代理导入模板。 */
public void downloadClinicImportTemplate(HttpServletResponse response) throws IOException {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
@@ -105,6 +107,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 批量导入诊所与代理绑定关系。 */
public void importAgentBindings(MultipartFile file) throws IOException {
if (file == null || file.isEmpty()) {
throw new IllegalArgumentException("请选择导入文件");
@@ -171,6 +174,7 @@
}
}
+ /** 导出诊所列表。 */
public void export(String regionCode,
String name,
String phone,
@@ -211,6 +215,7 @@
.doWrite(exports);
}
+ /** 查询诊所区域选项。 */
public List<ClinicRegionOptionVO> regionOptions() {
List<ClinicRegionOptionRow> rows = clinicQueryMapper.selectRegionOptions();
List<ClinicRegionOptionVO> list = new ArrayList<ClinicRegionOptionVO>();
@@ -220,6 +225,7 @@
return list;
}
+ /** 查询诊所详情。 */
public ClinicDetailVO detail(Long id) {
ClinicDetailRow row = clinicQueryMapper.selectClinicDetail(id);
if (row == null) {
@@ -246,6 +252,7 @@
return vo;
}
+ /** 更新诊所银行账户信息。 */
public ClinicDetailVO updateBankAccount(Long id, ClinicBankAccountUpdateRequest request) {
// 手动开启事务
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
@@ -322,6 +329,7 @@
return region == null ? trimToNull(fallback) : region.getName();
}
+ /** 分页查询诊所绑定用户。 */
public PageResponse<ClinicBoundUserItemVO> clinicUsers(Long clinicId,
int page,
int pageSize,
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 a0617b7..c8ab19b 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
@@ -55,6 +55,7 @@
this.passwordEncoder = passwordEncoder;
}
+ /** 分页查询用户。 */
public PageResponse<UserListItemVO> page(int page,
int pageSize,
String nickname,
@@ -101,6 +102,7 @@
return PageResponse.of(list, result.getTotal(), result.getCurrent(), result.getSize());
}
+ /** 查询用户详情。 */
public UserDetailVO detail(Long id) {
UserDetailRow row = userMapper.selectUserDetail(id);
if (row == null) {
@@ -142,6 +144,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 更新用户信息。 */
public UserDetailVO update(Long id, UserUpdateRequest req) {
AppUser user = requireUser(id);
if (req.getClinicId() != null) {
@@ -170,6 +173,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 修改用户状态。 */
public UserStatusVO patchStatus(Long id, UserStatusRequest req) {
AppUser user = requireUser(id);
user.setStatus(req.getStatus());
@@ -178,6 +182,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 重置用户密码。 */
public void resetPassword(Long id, UserResetPasswordRequest req) {
AppUser user = requireUser(id);
if (!req.getNewPassword().equals(req.getConfirmPassword())) {
@@ -189,12 +194,14 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 删除用户。 */
public void delete(Long id) {
requireUser(id);
userMapper.deleteById(id);
}
@Transactional(rollbackFor = Exception.class)
+ /** 解除用户微信绑定。 */
public UserDetailVO unbindWechat(Long id) {
requireUser(id);
userMapper.update(null, new LambdaUpdateWrapper<AppUser>()
@@ -207,6 +214,7 @@
}
@Transactional(rollbackFor = Exception.class)
+ /** 批量更新用户诊所归属。 */
public void batchUpdateClinic(UserBatchClinicUpdateRequest req) {
Clinic clinic = clinicMapper.selectById(req.getClinicId());
if (clinic == null || Integer.valueOf(1).equals(clinic.getDeleted())) {
@@ -224,6 +232,7 @@
.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