|
@@ -8,10 +8,12 @@ import com.nuliji.tools.exception.ParameterException;
|
|
|
import com.qxgmat.data.constants.enums.ExperienceDayRange;
|
|
|
import com.qxgmat.data.constants.enums.ExperienceScoreRange;
|
|
|
import com.qxgmat.data.constants.enums.module.CourseModule;
|
|
|
+import com.qxgmat.data.constants.enums.module.ProductType;
|
|
|
import com.qxgmat.data.constants.enums.module.VsCourseType;
|
|
|
import com.qxgmat.data.constants.enums.status.DirectionStatus;
|
|
|
import com.qxgmat.data.constants.enums.user.DataType;
|
|
|
import com.qxgmat.data.dao.entity.*;
|
|
|
+import com.qxgmat.data.relation.entity.UserAskCourseStatRelation;
|
|
|
import com.qxgmat.data.relation.entity.UserPreviewPaperRelation;
|
|
|
import com.qxgmat.dto.extend.*;
|
|
|
import com.qxgmat.dto.request.*;
|
|
@@ -97,6 +99,9 @@ public class CourseController {
|
|
|
private UserOrderRecordService userOrderRecordService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private UserOrderCheckoutService userOrderCheckoutService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private UserCourseDataSubscribeService userCourseDataSubscribeService;
|
|
|
|
|
|
@Autowired
|
|
@@ -120,6 +125,7 @@ public class CourseController {
|
|
|
@RequestParam(required = false, defaultValue = "id") String order,
|
|
|
@RequestParam(required = false, defaultValue = "desc") String direction,
|
|
|
HttpSession session) {
|
|
|
+ User user = (User) shiroHelp.getLoginUser();
|
|
|
|
|
|
Page<Course> p = courseService.list(page, size, CourseModule.VIDEO, structId, order, DirectionStatus.ValueOf(direction));
|
|
|
|
|
@@ -128,13 +134,32 @@ public class CourseController {
|
|
|
// 评论
|
|
|
Map<Object, Collection<Comment>> commentMap = commentService.groupByPosition("course-video", ids, 1);
|
|
|
Transform.combine(pr, commentMap, CourseListDto.class, "id", "comments", CommentExtendDto.class);
|
|
|
- // 已购买
|
|
|
+
|
|
|
+ // 优质问答
|
|
|
+ List<UserAskCourseStatRelation> relationList = userAskCourseService.statGroupCourse(ids, 1);
|
|
|
+ Map relationMap = Transform.getMap(relationList, UserAskCourseStatRelation.class, "courseId");
|
|
|
+ for(CourseListDto dto : pr){
|
|
|
+ UserAskCourseStatRelation relation = (UserAskCourseStatRelation) relationMap.getOrDefault(dto.getId(), null);
|
|
|
+ if (relation != null){
|
|
|
+ dto.setAskNumber(relation.getNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- // 添加购物车
|
|
|
+ if(user != null){
|
|
|
+ // 已购买: 查看当前服务
|
|
|
+ List<UserCourse> userCourseList = userCourseService.listByCourse(user.getId(), ids);
|
|
|
+ Map userCourseMap = Transform.getMap(userCourseList, UserCourse.class, "courseId");
|
|
|
|
|
|
+ // 添加购物车
|
|
|
+ List<UserOrderCheckout> userOrderCheckoutList = userOrderCheckoutService.listWithProduct(user.getId(), ProductType.COURSE, ids);
|
|
|
+ Map userOrderCheckoutMap = Transform.getMap(userOrderCheckoutList, UserOrderCheckout.class, "productId");
|
|
|
|
|
|
- // 优质问答
|
|
|
+ for(CourseListDto dto : pr){
|
|
|
+ dto.setHave(userCourseMap.containsKey(dto.getId()));
|
|
|
+ dto.setAdd(userOrderCheckoutMap.containsKey(dto.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
|
}
|
|
@@ -165,11 +190,22 @@ public class CourseController {
|
|
|
List<Faq> faqList = faqService.list(1, 10, "course-"+course.getCourseModule(), course.getId().toString());
|
|
|
dto.setFaqs(Transform.convert(faqList, FaqExtendDto.class));
|
|
|
|
|
|
- // 已购买
|
|
|
+ // 优质问答
|
|
|
+ UserAskCourseStatRelation relation = userAskCourseService.statCourse(courseId, 1);
|
|
|
+ if (relation != null){
|
|
|
+ dto.setAskNumber(relation.getNumber());
|
|
|
+ }
|
|
|
|
|
|
- // 购物车
|
|
|
+ if(user != null){
|
|
|
+ // 已购买
|
|
|
+ UserCourse userCourse = userCourseService.getCourse(user.getId(), courseId);
|
|
|
|
|
|
- // 优质问答
|
|
|
+ // 购物车
|
|
|
+ UserOrderCheckout userOrderCheckout = userOrderCheckoutService.getWithProduct(user.getId(), ProductType.COURSE, courseId);
|
|
|
+
|
|
|
+ dto.setHave(userCourse != null);
|
|
|
+ dto.setAdd(userOrderCheckout != null);
|
|
|
+ }
|
|
|
return ResponseHelp.success(dto);
|
|
|
}
|
|
|
|
|
@@ -253,6 +289,7 @@ public class CourseController {
|
|
|
@RequestParam(required = false, defaultValue = "desc") String direction,
|
|
|
HttpSession session) {
|
|
|
|
|
|
+ User user = (User) shiroHelp.getLoginUser();
|
|
|
Page<CoursePackage> p = coursePackageService.list(page, size, structId, isSpecial, order, DirectionStatus.ValueOf(direction));
|
|
|
|
|
|
List<CoursePackageListDto> pr = Transform.convert(p, CoursePackageListDto.class);
|
|
@@ -269,7 +306,16 @@ public class CourseController {
|
|
|
Map<Object, Collection<Comment>> commentMap = commentService.groupByPosition("course-package", ids, 1);
|
|
|
Transform.combine(pr, commentMap, CourseListDto.class, "id", "comments", CommentExtendDto.class);
|
|
|
|
|
|
- // 购物车
|
|
|
+
|
|
|
+ if(user != null){
|
|
|
+ // 添加购物车
|
|
|
+ List<UserOrderCheckout> userOrderCheckoutList = userOrderCheckoutService.listWithProduct(user.getId(), ProductType.COURSE_PACKAGE, ids);
|
|
|
+ Map userOrderCheckoutMap = Transform.getMap(userOrderCheckoutList, UserOrderCheckout.class, "productId");
|
|
|
+
|
|
|
+ for(CoursePackageListDto dto : pr){
|
|
|
+ dto.setAdd(userOrderCheckoutMap.containsKey(dto.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
|
}
|
|
@@ -295,7 +341,12 @@ public class CourseController {
|
|
|
List<Faq> faqList = faqService.list(1, 10, "course-package", coursePackage.getId().toString());
|
|
|
dto.setFaqs(Transform.convert(faqList, FaqExtendDto.class));
|
|
|
|
|
|
- // 购物车
|
|
|
+ if(user != null){
|
|
|
+ // 购物车
|
|
|
+ UserOrderCheckout userOrderCheckout = userOrderCheckoutService.getWithProduct(user.getId(), ProductType.COURSE_PACKAGE, packageId);
|
|
|
+
|
|
|
+ dto.setAdd(userOrderCheckout != null);
|
|
|
+ }
|
|
|
|
|
|
return ResponseHelp.success(dto);
|
|
|
}
|
|
@@ -312,8 +363,11 @@ public class CourseController {
|
|
|
@RequestParam(required = false, defaultValue = "id") String order,
|
|
|
@RequestParam(required = false, defaultValue = "desc") String direction,
|
|
|
HttpSession session) {
|
|
|
+ User user = (User) shiroHelp.getLoginUser();
|
|
|
|
|
|
Page<CourseData> p = courseDataService.list(page, size, structId, DataType.ValueOf(dataType), isNovice, isOriginal, order, DirectionStatus.ValueOf(direction));
|
|
|
+ courseExtendService.refreshDataResource(user, p);
|
|
|
+
|
|
|
List<CourseDataListDto> pr = Transform.convert(p, CourseDataListDto.class);
|
|
|
Collection ids = Transform.getIds(pr, CourseDataListDto.class, "id");
|
|
|
|
|
@@ -321,10 +375,31 @@ public class CourseController {
|
|
|
Map<Object, Collection<Comment>> commentMap = commentService.groupByPosition("course_data", ids, 1);
|
|
|
Transform.combine(pr, commentMap, CourseListDto.class, "id", "comments", CommentExtendDto.class);
|
|
|
|
|
|
- // 已购买
|
|
|
+ // 订阅
|
|
|
+ if (user != null){
|
|
|
+ List<UserCourseDataSubscribe> subscribeList = userCourseDataSubscribeService.listWithData(user.getId(), ids);
|
|
|
+ Map subscribeMap = Transform.getMap(subscribeList, UserCourseDataSubscribe.class, "dataId");
|
|
|
+
|
|
|
+ for(CourseDataListDto dto : pr){
|
|
|
+ dto.setSubscribe(subscribeMap.containsKey(dto.getId()));
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ if(user != null){
|
|
|
+ // 已购买: 查看当前服务
|
|
|
+ List<UserOrderRecord> userOrderRecordList = userOrderRecordService.listWithUserData(user.getId(), ids);
|
|
|
+ Map userOrderRecordMap = Transform.getMap(userOrderRecordList, UserOrderRecord.class, "productId");
|
|
|
|
|
|
- // 添加购物车
|
|
|
+ // 添加购物车
|
|
|
+ List<UserOrderCheckout> userOrderCheckoutList = userOrderCheckoutService.listWithProduct(user.getId(), ProductType.DATA, ids);
|
|
|
+ Map userOrderCheckoutMap = Transform.getMap(userOrderCheckoutList, UserOrderCheckout.class, "productId");
|
|
|
+
|
|
|
+ for(CourseDataListDto dto : pr){
|
|
|
+ dto.setHave(userOrderRecordMap.containsKey(dto.getId()));
|
|
|
+ dto.setAdd(userOrderCheckoutMap.containsKey(dto.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return ResponseHelp.success(pr, page, size, p.getTotal());
|
|
|
}
|
|
@@ -357,10 +432,16 @@ public class CourseController {
|
|
|
dto.setSubscribe(subscribe != null);
|
|
|
}
|
|
|
|
|
|
- // 已购买
|
|
|
+ if(user != null){
|
|
|
+ // 已购买: 查看当前服务
|
|
|
+ UserOrderRecord userOrderRecord = userOrderRecordService.getWithUserData(user.getId(), dataId);
|
|
|
|
|
|
+ // 添加购物车
|
|
|
+ UserOrderCheckout userOrderCheckout = userOrderCheckoutService.getWithProduct(user.getId(), ProductType.COURSE_PACKAGE, dataId);
|
|
|
|
|
|
- // 添加购物车
|
|
|
+ dto.setHave(userOrderRecord != null);
|
|
|
+ dto.setAdd(userOrderCheckout != null);
|
|
|
+ }
|
|
|
|
|
|
return ResponseHelp.success(dto);
|
|
|
}
|