fix:学习记录查询/导出接口中,学习时长条件查询重新赋值补全实体类解耦逻辑,避免影响原表数据

This commit is contained in:
miaowenbo
2025-12-04 14:38:16 +08:00
parent 8e1a68d416
commit 4f53a268ba

View File

@@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.transaction.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -100,6 +101,13 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
@Autowired(required = false)
ICourseStudySearch esSearch;//对ES的处理
/**
* 用于避免JPA查询后修改entity实体字段自动更新到数据库
*/
@Autowired
private EntityManager entityManager;
@Override
public StudyCourse findByCourseIdAndAid(String courseId, String aid) {
//加上排序,如果是多条学习记录,只会取最新的一条
@@ -219,6 +227,8 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
String queryStartTime = sc.getQueryStartTime();
String queryFinishTime = sc.getQueryFinishTime();
for (StudyCourse studyCourse : studyCourses) {
// 实体类解耦
entityManager.detach(studyCourse);
// 解析查询时间范围
LocalDate startDate = LocalDate.parse(queryStartTime);
LocalDate endDate = LocalDate.parse(queryFinishTime);
@@ -860,6 +870,8 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
String queryStartTime = sc.getQueryStartTime();
String queryFinishTime = sc.getQueryFinishTime();
for (StudyCourse studyCourse : studyCourses) {
// 实体类解耦
entityManager.detach(studyCourse);
// 解析查询时间范围
LocalDate startDate = LocalDate.parse(queryStartTime);
LocalDate endDate = LocalDate.parse(queryFinishTime);