提交 48fbbb8d 编写于 作者: 夏天飘过的风's avatar 夏天飘过的风

Merge remote-tracking branch 'gitlab/dev' into dev

......@@ -4,12 +4,10 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.roncoo.education.common.core.aliyun.Aliyun;
import com.roncoo.education.common.core.aliyun.AliyunUtil;
import com.roncoo.education.common.core.base.BaseException;
import com.roncoo.education.common.core.base.Page;
import com.roncoo.education.common.core.base.PageUtil;
import com.roncoo.education.common.core.base.Result;
import com.roncoo.education.common.core.base.*;
import com.roncoo.education.common.core.enums.*;
import com.roncoo.education.common.core.tools.BeanUtil;
import com.roncoo.education.common.es.EsCourse;
import com.roncoo.education.course.dao.*;
import com.roncoo.education.course.dao.impl.mapper.entity.*;
import com.roncoo.education.course.dao.impl.mapper.entity.CourseAuditExample.Criteria;
......@@ -19,8 +17,13 @@ import com.roncoo.education.system.feign.interfaces.IFeignSys;
import com.roncoo.education.user.feign.interfaces.IFeignLecturer;
import com.roncoo.education.user.feign.interfaces.vo.LecturerVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.IndexQuery;
import org.springframework.data.elasticsearch.core.query.IndexQueryBuilder;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
......@@ -30,7 +33,7 @@ import java.util.List;
* 课程信息-审核
*/
@Component
public class PcApiCourseAuditBiz {
public class PcApiCourseAuditBiz extends BaseBiz {
@Autowired
private IFeignLecturer bossLecturer;
......@@ -56,6 +59,9 @@ public class PcApiCourseAuditBiz {
@Autowired
private CourseIntroduceAuditDao courseIntroduceAuditDao;
@Autowired
private ElasticsearchRestTemplate elasticsearchRestTemplate;
public Result<Page<CourseAuditPageRESQ>> list(CourseAuditPageREQ req) {
CourseAuditExample example = new CourseAuditExample();
Criteria c = example.createCriteria();
......@@ -258,7 +264,6 @@ public class PcApiCourseAuditBiz {
if (ObjectUtil.isNull(courseAudit)) {
return Result.error("课程不存在");
}
// 根据课程ID查询课时信息集合
List<CourseChapterPeriodAudit> periodAuditList = courseChapterPeriodAuditDao.listByCourseId(courseAudit.getId());
......@@ -314,11 +319,52 @@ public class PcApiCourseAuditBiz {
CourseAudit audit = BeanUtil.copyProperties(req, CourseAudit.class);
int resultNum = dao.updateById(audit);
if (resultNum < 0) {
if (IsPutawayEnum.YES.getCode().equals(courseAudit.getIsPutaway()) && StatusIdEnum.YES.getCode().equals(courseAudit.getStatusId())) {
courseAddEs(course);
} else {
courseDelEs(course.getId());
}
return Result.error(ResultEnum.COURSE_AUDIT_FAIL);
}
return Result.success(resultNum);
}
/**
* 课程添加ES
*
* @param course 课程信息
*/
private void courseAddEs(Course course) {
LecturerVO lecturer = bossLecturer.getByLecturerUserNo(course.getLecturerUserNo());
if (ObjectUtil.isNull(lecturer)) {
throw new BaseException("讲师不存在");
}
try {
course.setIsPutaway(IsPutawayEnum.YES.getCode());
course.setStatusId(StatusIdEnum.YES.getCode());
EsCourse esCourse = BeanUtil.copyProperties(course, EsCourse.class);
esCourse.setLecturerName(lecturer.getLecturerName());
IndexQuery query = new IndexQueryBuilder().withObject(esCourse).build();
elasticsearchRestTemplate.index(query, IndexCoordinates.of(EsCourse.COURSE));
} catch (Exception e) {
logger.error("elasticsearch更新数据失败! 原因={}", e);
}
}
/**
* 课程删除ES
*
* @param courseId 课程ID
*/
private void courseDelEs(Long courseId) {
try {
elasticsearchRestTemplate.delete(courseId.toString(), EsCourse.class);
} catch (Exception e) {
logger.error("Elasticsearch删除数据失败", e);
}
}
// 审核章节
private void chapter(CourseAudit courseAudit) {
// 根据课程编号查找章节审核信息集合
......
......@@ -2,13 +2,13 @@ package com.roncoo.education.course.service.pc.biz;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.roncoo.education.common.core.base.Page;
import com.roncoo.education.common.core.base.PageUtil;
import com.roncoo.education.common.core.base.Result;
import com.roncoo.education.common.core.base.*;
import com.roncoo.education.common.core.enums.IsFreeEnum;
import com.roncoo.education.common.core.enums.IsPutawayEnum;
import com.roncoo.education.common.core.enums.ResultEnum;
import com.roncoo.education.common.core.enums.StatusIdEnum;
import com.roncoo.education.common.core.tools.BeanUtil;
import com.roncoo.education.common.es.EsCourse;
import com.roncoo.education.course.dao.*;
import com.roncoo.education.course.dao.impl.mapper.entity.*;
import com.roncoo.education.course.dao.impl.mapper.entity.CourseExample.Criteria;
......@@ -20,6 +20,10 @@ import com.roncoo.education.course.service.pc.resq.*;
import com.roncoo.education.user.feign.interfaces.IFeignLecturer;
import com.roncoo.education.user.feign.interfaces.vo.LecturerVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.IndexQuery;
import org.springframework.data.elasticsearch.core.query.IndexQueryBuilder;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
......@@ -31,7 +35,7 @@ import java.util.List;
* 课程信息
*/
@Component
public class PcApiCourseBiz {
public class PcApiCourseBiz extends BaseBiz {
@Autowired
private IFeignLecturer bossLecturer;
......@@ -52,7 +56,8 @@ public class PcApiCourseBiz {
private CourseCategoryDao courseCategoryDao;
@Autowired
private CourseChapterPeriodDao courseChapterPeriodDao;
@Autowired
private ElasticsearchRestTemplate elasticsearchRestTemplate;
/**
* 分页列出
*
......@@ -144,7 +149,6 @@ public class PcApiCourseBiz {
return Result.error(ResultEnum.COURSE_UPDATE_FAIL);
}
}
if (StringUtils.hasText(req.getIntroduce())) {
// 更新课程介绍
CourseIntroduce courseIntroduce = courseIntroduceDao.getById(course.getIntroduceId());
......@@ -168,9 +172,52 @@ public class PcApiCourseBiz {
courseIntroduceAudit.setIntroduce(req.getIntroduce());
courseIntroduceAuditDao.updateById(courseIntroduceAudit);
}
if (IsPutawayEnum.YES.getCode().equals(req.getIsPutaway()) && StatusIdEnum.YES.getCode().equals(req.getStatusId())) {
courseAddEs(dao.getById(course.getId()));
} else {
courseDelEs(course.getId());
}
return Result.success(result);
}
/**
* 课程添加ES
*
* @param course 课程信息
*/
private void courseAddEs(Course course) {
LecturerVO lecturer = bossLecturer.getByLecturerUserNo(course.getLecturerUserNo());
if (ObjectUtil.isNull(lecturer)) {
throw new BaseException("讲师不存在");
}
try {
course.setIsPutaway(IsPutawayEnum.YES.getCode());
course.setStatusId(StatusIdEnum.YES.getCode());
EsCourse esCourse = BeanUtil.copyProperties(course, EsCourse.class);
esCourse.setLecturerName(lecturer.getLecturerName());
IndexQuery query = new IndexQueryBuilder().withObject(esCourse).build();
elasticsearchRestTemplate.index(query, IndexCoordinates.of(EsCourse.COURSE));
} catch (Exception e) {
logger.error("elasticsearch更新数据失败! 原因={}", e);
}
}
/**
* 课程删除ES
*
* @param courseId 课程ID
*/
private void courseDelEs(Long courseId) {
try {
elasticsearchRestTemplate.delete(courseId.toString(), EsCourse.class);
} catch (Exception e) {
logger.error("Elasticsearch删除数据失败", e);
}
}
/**
* 查看(课程修改使用)
*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册