From 84f91e46377accae3fbb66954d40116c9ca8e72b Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期三, 19 八月 2026 14:18:20 +0800
Subject: [PATCH] feat0806: 养生直播密码非必填
---
tcm-training-admin/src/pages/live/broadcast/index.tsx | 8 +++-----
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java | 2 +-
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/LiveCoursePasswordRequest.java | 7 ++-----
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/LiveCourseAppService.java | 13 ++++++++++++-
4 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java
index ffebe48..8e4a81d 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/controller/LiveCourseController.java
@@ -66,7 +66,7 @@
}
@PutMapping("/live-courses/{id}/password")
- public ApiResponse<Void> updatePassword(@PathVariable("id") Long id, @Valid @RequestBody LiveCoursePasswordRequest req) {
+ public ApiResponse<Void> updatePassword(@PathVariable("id") Long id, @RequestBody LiveCoursePasswordRequest req) {
liveCourseAppService.updatePassword(id, req);
return ApiResponse.ok(null);
}
diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/LiveCoursePasswordRequest.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/LiveCoursePasswordRequest.java
index 9cb6dcc..beb72c9 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/LiveCoursePasswordRequest.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/LiveCoursePasswordRequest.java
@@ -4,15 +4,12 @@
import lombok.NoArgsConstructor;
import lombok.Setter;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
-
@Getter
@Setter
@NoArgsConstructor
public class LiveCoursePasswordRequest {
- @NotBlank(message = "请输入直播间密码")
- @Size(max = 6, message = "直播间密码不能超过6个字符")
+ // @NotBlank(message = "请输入直播间密码")
+// @Size(max = 6, message = "直播间密码不能超过6个字符")
private String password;
}
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 00cb162..6026d4d 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
@@ -1,5 +1,6 @@
package com.tcm.training.admin.live.service;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -166,11 +167,21 @@
@Transactional
public void updatePassword(Long id, LiveCoursePasswordRequest req) {
+ String password = req.getPassword();
+ if (StrUtil.isNotBlank(password)) {
+ if (password.length() != 6) {
+ throw new IllegalArgumentException("直播间密码必须是6个字符");
+ }
+ }
LiveCourse course = liveCourseMapper.selectById(id);
if (course == null) {
throw new IllegalArgumentException("课程不存在");
}
- course.setPassword(passwordEncoder.encode(req.getPassword()));
+ if (StrUtil.isNotBlank(password)) {
+ course.setPassword(passwordEncoder.encode(req.getPassword()));
+ } else {
+ course.setPassword(null);
+ }
liveCourseMapper.updateById(course);
}
diff --git a/tcm-training-admin/src/pages/live/broadcast/index.tsx b/tcm-training-admin/src/pages/live/broadcast/index.tsx
index 0cd86d6..1cae71c 100644
--- a/tcm-training-admin/src/pages/live/broadcast/index.tsx
+++ b/tcm-training-admin/src/pages/live/broadcast/index.tsx
@@ -86,8 +86,8 @@
}
setPasswordSubmitting(true);
try {
- await updateLiveCoursePassword(passwordCourseId, { password: values.password });
- message.success('直播间密码设置成功');
+ await updateLiveCoursePassword(passwordCourseId, { password: values.password || '' });
+ message.success(values.password ? '直播间密码设置成功' : '直播间密码已清除');
setPasswordModalOpen(false);
passwordForm.resetFields();
} finally {
@@ -220,8 +220,7 @@
label="直播间密码"
name="password"
rules={[
- { required: true, whitespace: true, message: '请输入直播间密码' },
- { max: 6, message: '直播间密码不能超过6个字符' },
+ { len: 6, message: '直播间密码必须为6个字符' },
]}
>
<Input.Password autoComplete="new-password" placeholder="请输入直播间密码" />
@@ -231,7 +230,6 @@
name="confirmPassword"
dependencies={['password']}
rules={[
- { required: true, message: '请再次输入直播间密码' },
({ getFieldValue }) => ({
validator(_, value) {
return !value || getFieldValue('password') === value
--
Gitblit v1.7.1