From c4de412ba3387cb312260bef4adea8b08768e28e Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期四, 20 八月 2026 13:19:04 +0800
Subject: [PATCH] feat0806: 项目介绍密码接口密码没有清空
---
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/ProjectIntroductionPasswordMapper.java | 8 ++++++++
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionPasswordController.java | 4 ++--
tcm-training-admin/src/pages/live/project-introduction-password/index.tsx | 11 ++++-------
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionPasswordService.java | 11 ++++-------
4 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionPasswordController.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionPasswordController.java
index 821bedb..e0eceb1 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionPasswordController.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/ProjectIntroductionPasswordController.java
@@ -35,8 +35,8 @@
* 保存项目介绍密码配置
*/
@PostMapping("/project-introduction-password")
- public ApiResponse<Void> savePasswordConfig(@Valid @RequestBody ProjectIntroductionPasswordRequest req) {
+ public ApiResponse<Boolean> savePasswordConfig(@Valid @RequestBody ProjectIntroductionPasswordRequest req) {
passwordService.savePasswordConfig(req);
- return ApiResponse.ok(null);
+ return ApiResponse.ok(true);
}
}
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/ProjectIntroductionPasswordMapper.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/ProjectIntroductionPasswordMapper.java
index 202ba77..32bdaa0 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/ProjectIntroductionPasswordMapper.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/mapper/ProjectIntroductionPasswordMapper.java
@@ -3,7 +3,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tcm.training.admin.live.entity.ProjectIntroductionPassword;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
@Mapper
public interface ProjectIntroductionPasswordMapper extends BaseMapper<ProjectIntroductionPassword> {
+
+ /**
+ * 更新密码配置(支持将密码设置为null)
+ */
+ @Update("UPDATE tcm_project_introduction_password SET password_enabled = #{passwordEnabled}, password = #{password}, updated_at = NOW() WHERE id = #{id}")
+ int updatePasswordConfig(@Param("id") Long id, @Param("passwordEnabled") Integer passwordEnabled, @Param("password") String password);
}
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionPasswordService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionPasswordService.java
index 14ac5e2..ba47239 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionPasswordService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/ProjectIntroductionPasswordService.java
@@ -78,15 +78,12 @@
}
passwordMapper.insert(config);
} else {
- // 更新
- config.setPasswordEnabled(req.getPasswordEnabled());
+ // 更新 - 使用自定义SQL支持设置为null
+ String encodedPassword = null;
if (req.getPasswordEnabled() == 1 && StrUtil.isNotBlank(req.getPassword())) {
- config.setPassword(passwordEncoder.encode(req.getPassword()));
- } else {
- // 不启用密码时,清空密码
- config.setPassword(null);
+ encodedPassword = passwordEncoder.encode(req.getPassword());
}
- passwordMapper.updateById(config);
+ passwordMapper.updatePasswordConfig(config.getId(), req.getPasswordEnabled(), encodedPassword);
}
}
diff --git a/tcm-training-admin/src/pages/live/project-introduction-password/index.tsx b/tcm-training-admin/src/pages/live/project-introduction-password/index.tsx
index c8bee65..152b225 100644
--- a/tcm-training-admin/src/pages/live/project-introduction-password/index.tsx
+++ b/tcm-training-admin/src/pages/live/project-introduction-password/index.tsx
@@ -60,14 +60,11 @@
password: values.passwordEnabled ? values.password : undefined,
};
- const res = await saveProjectIntroductionPassword(data);
- if (res.code === 200) {
- message.success('保存成功');
- loadConfig();
- } else {
- message.error(res.message || '保存失败');
- }
+ await saveProjectIntroductionPassword(data);
+ message.success('保存成功');
+ loadConfig();
} catch (error) {
+ message.error('保存失败');
console.error('保存失败:', error);
} finally {
setSubmitting(false);
--
Gitblit v1.7.1