1、新增课程默认封面 2、新增资源修改功能

This commit is contained in:
2025-07-24 16:49:58 +08:00
parent 6974aab6c4
commit 35a3eeb312
3 changed files with 26 additions and 19 deletions

View File

@ -36,8 +36,8 @@ public class LessonTaskService {
@Cacheable(value = "lessonTasks", key = "#userId != null ? 'user:' + #userId + ':page:' + #pageable.pageNumber : 'all:page:' + #pageable.pageNumber") @Cacheable(value = "lessonTasks", key = "#userId != null ? 'user:' + #userId + ':page:' + #pageable.pageNumber : 'all:page:' + #pageable.pageNumber")
public Page<LessonTask> findAll(Pageable pageable, Long userId) { public Page<LessonTask> findAll(Pageable pageable, Long userId) {
// logger.info("查询课程任务 - 页码: {}, 每页数量: {}, 用户ID: {}", // logger.info("查询课程任务 - 页码: {}, 每页数量: {}, 用户ID: {}",
// pageable.getPageNumber(), pageable.getPageSize(), userId); // pageable.getPageNumber(), pageable.getPageSize(), userId);
Page<LessonTask> result; Page<LessonTask> result;
if (userId != null) { if (userId != null) {
@ -46,16 +46,16 @@ public class LessonTaskService {
result = lessonTaskRepository.findAll(pageable); result = lessonTaskRepository.findAll(pageable);
} }
// logger.info("查询到 {} 条课程任务", result.getTotalElements()); // logger.info("查询到 {} 条课程任务", result.getTotalElements());
return result; return result;
} }
@Cacheable(value = "lessonTask", key = "#id") @Cacheable(value = "lessonTask", key = "#id")
public LessonTask findById(Long id) { public LessonTask findById(Long id) {
// logger.info("根据ID查询课程任务 - 任务ID: {}", id); // logger.info("根据ID查询课程任务 - 任务ID: {}", id);
return lessonTaskRepository.findById(id) return lessonTaskRepository.findById(id)
.orElseThrow(() -> { .orElseThrow(() -> {
// logger.error("未找到ID为 {} 的课程任务", id); // logger.error("未找到ID为 {} 的课程任务", id);
return new EntityNotFoundException("未找到ID为 " + id + " 的任务"); return new EntityNotFoundException("未找到ID为 " + id + " 的任务");
}); });
} }
@ -63,21 +63,22 @@ public class LessonTaskService {
@Transactional @Transactional
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true) @CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
public LessonTask create(LessonTaskRequest request) { public LessonTask create(LessonTaskRequest request) {
// logger.info("开始创建课程任务 - 课程名称: {}, 微课名称: {}, 用户ID: {}", // logger.info("开始创建课程任务 - 课程名称: {}, 微课名称: {}, 用户ID: {}",
// request.getCourseName(), request.getMicroLessonName(), request.getUserId()); // request.getCourseName(), request.getMicroLessonName(), request.getUserId());
validateRequest(request); validateRequest(request);
LessonTask task = new LessonTask(); LessonTask task = new LessonTask();
BeanUtils.copyProperties(request, task); BeanUtils.copyProperties(request, task);
task.setProgressStatus(0); // 初始状态:未开始 task.setProgressStatus(0); // 初始状态:未开始
LessonTask savedTask = lessonTaskRepository.save(task); LessonTask savedTask = lessonTaskRepository.save(task);
// logger.info("创建课程任务成功 - 任务ID: {}", savedTask.getId()); // logger.info("创建课程任务成功 - 任务ID: {}", savedTask.getId());
return savedTask; return savedTask;
} }
@Transactional @Transactional
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true) @CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
public LessonTask update(Long id, LessonTaskRequest request) { public LessonTask update(Long id, LessonTaskRequest request) {
// logger.info("开始更新课程任务 - 任务ID: {}, 进度状态: {}", id, request.getProgressStatus()); // logger.info("开始更新课程任务 - 任务ID: {}, 进度状态: {}", id,
// request.getProgressStatus());
LessonTask task = findById(id); LessonTask task = findById(id);
// 只更新非空字段 // 只更新非空字段
@ -141,20 +142,20 @@ public class LessonTaskService {
task.setUpdatedAt(System.currentTimeMillis() / 1000); task.setUpdatedAt(System.currentTimeMillis() / 1000);
LessonTask updatedTask = lessonTaskRepository.save(task); LessonTask updatedTask = lessonTaskRepository.save(task);
// logger.info("更新课程任务成功 - 任务ID: {}", updatedTask.getId()); // logger.info("更新课程任务成功 - 任务ID: {}", updatedTask.getId());
return updatedTask; return updatedTask;
} }
@Transactional @Transactional
@CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true) @CacheEvict(value = { "lessonTasks", "lessonTask" }, allEntries = true)
public void delete(Long id) { public void delete(Long id) {
// logger.info("开始删除课程任务 - 任务ID: {}", id); // logger.info("开始删除课程任务 - 任务ID: {}", id);
if (!lessonTaskRepository.existsById(id)) { if (!lessonTaskRepository.existsById(id)) {
// logger.error("未找到ID为 {} 的课程任务", id); // logger.error("未找到ID为 {} 的课程任务", id);
throw new EntityNotFoundException("未找到ID为 " + id + " 的任务"); throw new EntityNotFoundException("未找到ID为 " + id + " 的任务");
} }
lessonTaskRepository.deleteById(id); lessonTaskRepository.deleteById(id);
// logger.info("删除课程任务成功 - 任务ID: {}", id); // logger.info("删除课程任务成功 - 任务ID: {}", id);
} }
/** /**
@ -165,7 +166,7 @@ public class LessonTaskService {
* @return 课程任务分页数据 * @return 课程任务分页数据
*/ */
public Page<LessonTaskDTO> findByDepartmentIdAndNormalUser(Long departmentId, Pageable pageable) { public Page<LessonTaskDTO> findByDepartmentIdAndNormalUser(Long departmentId, Pageable pageable) {
// logger.info("查询部门正常用户的课程任务部门ID: {}", departmentId); // logger.info("查询部门正常用户的课程任务部门ID: {}", departmentId);
Page<java.util.Map<String, Object>> result = lessonTaskRepository Page<java.util.Map<String, Object>> result = lessonTaskRepository
.findByDepartmentIdAndNormalUserWithUsername(departmentId, pageable); .findByDepartmentIdAndNormalUserWithUsername(departmentId, pageable);
@ -185,7 +186,7 @@ public class LessonTaskService {
* @return 课程任务分页数据 * @return 课程任务分页数据
*/ */
public Page<LessonTask> findByDepartmentIdAndStatus(Long departmentId, Integer status, Pageable pageable) { public Page<LessonTask> findByDepartmentIdAndStatus(Long departmentId, Integer status, Pageable pageable) {
// logger.info("查询部门课程任务部门ID: {}, 状态: {}", departmentId, status); // logger.info("查询部门课程任务部门ID: {}, 状态: {}", departmentId, status);
return lessonTaskRepository.findByDepartmentIdAndStatus(departmentId, status, pageable); return lessonTaskRepository.findByDepartmentIdAndStatus(departmentId, status, pageable);
} }
@ -198,7 +199,7 @@ public class LessonTaskService {
* @return 课程任务分页数据 * @return 课程任务分页数据
*/ */
public Page<LessonTask> findByDepartmentIdAndUserStatus(Long departmentId, Integer userStatus, Pageable pageable) { public Page<LessonTask> findByDepartmentIdAndUserStatus(Long departmentId, Integer userStatus, Pageable pageable) {
// logger.info("查询部门课程任务部门ID: {}, 用户状态: {}", departmentId, userStatus); // logger.info("查询部门课程任务部门ID: {}, 用户状态: {}", departmentId, userStatus);
return lessonTaskRepository.findByDepartmentIdAndUserStatus(departmentId, userStatus, pageable); return lessonTaskRepository.findByDepartmentIdAndUserStatus(departmentId, userStatus, pageable);
} }

View File

@ -1,5 +1,5 @@
# 数据库配置 # 数据库配置
spring.datasource.url=jdbc:mysql://8.137.89.177:3306/jinduguanli?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true spring.datasource.url=jdbc:mysql://8.137.89.177:3306/jinduguanli?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=jinduguanli spring.datasource.username=jinduguanli
spring.datasource.password=root041218 spring.datasource.password=root041218
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

View File

@ -1,6 +1,12 @@
server: server:
port: 1218 port: 1218
ssl:
enabled: true
key-store: /root/jinduguanli/key-store/service5.fenshenzhike.com.pfx
key-store-password: "lt0w2ghu"
key-store-type: PKCS12
spring: spring:
main: main:
banner-mode: console banner-mode: console
@ -18,10 +24,10 @@ spring:
format_sql: true format_sql: true
use_sql_comments: true use_sql_comments: true
redis: redis:
host: 8.137.89.177 host: localhost
port: 6379 port: 6379
database: 0 database: 0
timeout: 10000 timeout: 10s
password: # 如果Redis设置了密码需要在这里添加 password: # 如果Redis设置了密码需要在这里添加
lettuce: lettuce:
pool: pool: