mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 01:46:47 +08:00
合并标签
This commit is contained in:
@@ -385,6 +385,8 @@ public class CourseTagServiceImpl implements ICourseTagService {
|
||||
QueryBuilder query=QueryBuilder.from(CourseTag.class);
|
||||
List<IFieldFilter> filters = new ArrayList<>();
|
||||
filters.add(FieldFilters.eq("tagName",tagName));//精确匹配
|
||||
filters.add(FieldFilters.eq("status",0));//正式
|
||||
filters.add(FieldFilters.eq("deleted",0));//未删除的
|
||||
query.addFilters(filters);
|
||||
List<CourseTag> courseTagList = courseTagDao.findList(query.builder());
|
||||
if (courseTagList==null || courseTagList.size()==0){//1.1 如果该标签不存在,则新建标签
|
||||
@@ -461,6 +463,9 @@ public class CourseTagServiceImpl implements ICourseTagService {
|
||||
continue;
|
||||
}
|
||||
|
||||
//合并临时标签
|
||||
tag = mergeTag(tag);
|
||||
|
||||
// 创建课程-标签关联关系
|
||||
createCourseTagRelation(courseId, tag, userInfo);
|
||||
|
||||
@@ -508,6 +513,9 @@ public class CourseTagServiceImpl implements ICourseTagService {
|
||||
log.warn("标签不存在: {}", tagId);
|
||||
continue;
|
||||
}
|
||||
//如果已有同名的正式标签 则需要合并
|
||||
//合并临时标签
|
||||
tag = mergeTag(tag);
|
||||
|
||||
// 创建课程-标签关联关系
|
||||
createCourseTagRelation(courseId, tag, userInfo);
|
||||
@@ -526,6 +534,35 @@ public class CourseTagServiceImpl implements ICourseTagService {
|
||||
log.info("完成编辑课程标签处理: courseId={}", newCourse != null ? newCourse.getId() : "null");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 合并标签
|
||||
*/
|
||||
private CourseTag mergeTag(CourseTag tag){
|
||||
//只处理临时标签 正式的忽略
|
||||
if (tag.getStatus()==1){
|
||||
QueryBuilder query=QueryBuilder.from(CourseTag.class);
|
||||
List<IFieldFilter> filters = new ArrayList<>();
|
||||
filters.add(FieldFilters.eq("tagName",tag));//精确匹配
|
||||
filters.add(FieldFilters.eq("status",0));//正式
|
||||
filters.add(FieldFilters.eq("deleted",0));//未删除的
|
||||
query.addFilters(filters);
|
||||
List<CourseTag> courseTagList = courseTagDao.findList(query.builder());
|
||||
log.info("标签合并 createTag courseTagList = {} " , courseTagList);
|
||||
//如果无同名正式标签 则转正
|
||||
//有同名正式标签 则合并
|
||||
if (courseTagList != null && !courseTagList.isEmpty()) {
|
||||
//删除临时标签
|
||||
tag.setSysUpdateBy("系统合并删除");
|
||||
tag.setSysUpdateTime(LocalDateTime.now());
|
||||
courseTagDao.setDeleted(tag.getId());
|
||||
//返回同名正式标签
|
||||
tag = courseTagList.get(0);
|
||||
}
|
||||
}
|
||||
return tag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建课程-标签关联关系
|
||||
*/
|
||||
@@ -739,7 +776,9 @@ public class CourseTagServiceImpl implements ICourseTagService {
|
||||
tag != null ? tag.getUseCount() : "null");
|
||||
|
||||
// 将标签状态设置为正式(status=0)
|
||||
tag.setStatus(0); // 正式标签
|
||||
if (tag != null && tag.getStatus() == 1) {
|
||||
tag.setStatus(0); // 正式标签
|
||||
}
|
||||
// 统计当前活跃的关联关系数量
|
||||
QueryBuilder query = QueryBuilder.from(CourseTagRelation.class);
|
||||
List<IFieldFilter> filters = new ArrayList<>();
|
||||
|
||||
Reference in New Issue
Block a user