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