|
@@ -1,9 +1,8 @@
|
|
package cn.iselab.mooctest.site.service.impl;
|
|
package cn.iselab.mooctest.site.service.impl;
|
|
|
|
|
|
-import cn.iselab.mooctest.site.common.enums.EntityTypeEnum;
|
|
|
|
|
|
+import cn.iselab.mooctest.site.common.enums.*;
|
|
import cn.iselab.mooctest.site.dao.*;
|
|
import cn.iselab.mooctest.site.dao.*;
|
|
import cn.iselab.mooctest.site.common.constant.OwningPartyConstants;
|
|
import cn.iselab.mooctest.site.common.constant.OwningPartyConstants;
|
|
-import cn.iselab.mooctest.site.common.enums.CourseVisibility;
|
|
|
|
import cn.iselab.mooctest.site.common.enums.EntityTypeEnum;
|
|
import cn.iselab.mooctest.site.common.enums.EntityTypeEnum;
|
|
import cn.iselab.mooctest.site.dao.CourseResourceDao;
|
|
import cn.iselab.mooctest.site.dao.CourseResourceDao;
|
|
import cn.iselab.mooctest.site.common.enums.CourseVisibility;
|
|
import cn.iselab.mooctest.site.common.enums.CourseVisibility;
|
|
@@ -92,7 +91,7 @@ public class ThemeServiceImpl implements ThemeService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Page<ThemeDetail> getThemeDetails(Pageable pageable) {
|
|
public Page<ThemeDetail> getThemeDetails(Pageable pageable) {
|
|
- return themeDetailDao.findAllBy(pageable);
|
|
|
|
|
|
+ return themeDetailDao.findAllByType(pageable, ThemeType.THEME.getValue());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -272,7 +271,7 @@ public class ThemeServiceImpl implements ThemeService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Page<ParticipantCourse> getCourseByParticipant(Long userId, Map<String, String> extraCondition, String keyword, Pageable pageable) {
|
|
public Page<ParticipantCourse> getCourseByParticipant(Long userId, Map<String, String> extraCondition, String keyword, Pageable pageable) {
|
|
- Specifications<ParticipantCourse> where = Specifications.where(this.getWhereClause(ParticipantCourse.class,"participantId",userId,extraCondition,null,
|
|
|
|
|
|
+ Specifications<ParticipantCourse> where = Specifications.where(this.getWhereClause(ParticipantCourse.class,"participantId",userId, ThemeType.COURSE.getValue(),extraCondition,null,
|
|
keyword));
|
|
keyword));
|
|
return participantCourseDao.findAll(where, pageable);
|
|
return participantCourseDao.findAll(where, pageable);
|
|
}
|
|
}
|
|
@@ -386,7 +385,7 @@ public class ThemeServiceImpl implements ThemeService {
|
|
@Override
|
|
@Override
|
|
public Page<ThemeDetail> getPlatformThemeDetails(Map<String, String> extraCondition, Map<String, String> excludeCondition,
|
|
public Page<ThemeDetail> getPlatformThemeDetails(Map<String, String> extraCondition, Map<String, String> excludeCondition,
|
|
Pageable pageable, String keyword) {
|
|
Pageable pageable, String keyword) {
|
|
- Specifications<ThemeDetail> where = Specifications.where(this.getWhereClause(ThemeDetail.class, null, null,
|
|
|
|
|
|
+ Specifications<ThemeDetail> where = Specifications.where(this.getWhereClause(ThemeDetail.class, null,null, ThemeType.COURSE.getValue(),
|
|
extraCondition, excludeCondition, keyword));
|
|
extraCondition, excludeCondition, keyword));
|
|
return themeDetailDao.findAll(where,pageable);
|
|
return themeDetailDao.findAll(where,pageable);
|
|
}
|
|
}
|
|
@@ -460,7 +459,7 @@ public class ThemeServiceImpl implements ThemeService {
|
|
return status;
|
|
return status;
|
|
}
|
|
}
|
|
|
|
|
|
- private <T> Specification<T> getWhereClause(Class<T> model, String joinedColumn, Long userId,
|
|
|
|
|
|
+ private <T> Specification<T> getWhereClause(Class<T> model, String joinedColumn, Long userId, int type,
|
|
Map<String, String> extraCondition,Map<String, String> excludeCondition, String keyword) {
|
|
Map<String, String> extraCondition,Map<String, String> excludeCondition, String keyword) {
|
|
return (root, query, builder) -> {
|
|
return (root, query, builder) -> {
|
|
Predicate predicate = builder.conjunction();
|
|
Predicate predicate = builder.conjunction();
|
|
@@ -473,6 +472,13 @@ public class ThemeServiceImpl implements ThemeService {
|
|
//do nothing
|
|
//do nothing
|
|
}
|
|
}
|
|
try{
|
|
try{
|
|
|
|
+ model.getDeclaredField("type");
|
|
|
|
+ predicate.getExpressions().add(
|
|
|
|
+ builder.equal(root.get("type"), type)
|
|
|
|
+ );
|
|
|
|
+ }catch (NoSuchFieldException e){}
|
|
|
|
+
|
|
|
|
+ try{
|
|
model.getDeclaredField("released");
|
|
model.getDeclaredField("released");
|
|
predicate.getExpressions().add(
|
|
predicate.getExpressions().add(
|
|
builder.equal(root.<Long>get("released"), ThemeDetail.RELEASED)
|
|
builder.equal(root.<Long>get("released"), ThemeDetail.RELEASED)
|