受众查看课程

This commit is contained in:
lims1@hunktimes.com
2023-08-07 14:56:31 +08:00
parent bf61f06fc3
commit a3f73309d0
2 changed files with 32 additions and 7 deletions

View File

@@ -4,9 +4,14 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.xboe.api.ThirdApi;
import com.xboe.api.vo.AuditList;
import com.xboe.api.vo.AuditListParam;
import com.xboe.core.JsonResponseStatus;
import com.xboe.module.usergroup.entity.UserGroupItem;
import org.apache.commons.lang3.StringUtils;
@@ -78,6 +83,9 @@ public class CoursePortalApi extends ApiBaseController{
@Autowired
private IStudyCourseService studyCourseService;
@Resource
private ThirdApi thirdApi;
/**
* 根据多个课程id返回对应的课程的图片.返回结果如下,
* {
@@ -226,7 +234,7 @@ public class CoursePortalApi extends ApiBaseController{
* @return
*/
@RequestMapping(value="/detail",method = {RequestMethod.GET,RequestMethod.POST})
public JsonResponse<Map<String,Object>> detail(String id,Boolean addView,Boolean crowd,Boolean preview){
public JsonResponse<Map<String,Object>> detail(String id,Boolean addView,Boolean crowd,Boolean preview, HttpServletRequest request){
if(StringUtils.isBlank(id)) {
return badRequest("参数错误,未指定课程");
}
@@ -255,11 +263,15 @@ public class CoursePortalApi extends ApiBaseController{
boolean pass = false;
if(!preview) {
String token = request.getHeader("token");
if (!courseCrowdList.isEmpty()) {
for (CourseCrowd c : courseCrowdList) {
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
if (hasItem != null && !hasItem.isEmpty()) {
// List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
List<AuditList> allAudienceList = thirdApi.getAllAudienceList(AuditListParam.builder().audienceId(c.getGroupId()).pageSize(1000).pageNo(1).build(), token);
log.debug("=--------- allAudienceList: " +allAudienceList);
List<Long> userIdList = allAudienceList.stream().map(AuditList::getUserId).collect(Collectors.toList());
if (userIdList.contains(aid)) {
pass = true;
break;
}

View File

@@ -5,7 +5,11 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.xboe.api.ThirdApi;
import com.xboe.api.vo.AuditList;
import com.xboe.api.vo.AuditListParam;
import com.xboe.module.usergroup.entity.UserGroupItem;
import com.xboe.module.usergroup.service.IUserGroupService;
import org.apache.commons.lang3.StringUtils;
@@ -50,6 +54,9 @@ import com.xboe.school.study.service.IStudySignupService;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
* 课程学习的内容
*/
@@ -83,6 +90,9 @@ public class StudyCourseApi extends ApiBaseController{
@Autowired
private IUserGroupService userGroupService;
@Resource
private ThirdApi thirdApi;
/**
* 用于查询课程的学习记录
* @param pager
@@ -140,7 +150,7 @@ public class StudyCourseApi extends ApiBaseController{
* @return
*/
@RequestMapping(value="/studyIndex",method = {RequestMethod.GET,RequestMethod.POST})
public JsonResponse<Map<String,Object>> loadDetail(String cid,Boolean addView,Boolean crowd){
public JsonResponse<Map<String,Object>> loadDetail(String cid,Boolean addView,Boolean crowd, HttpServletRequest request){
if(StringUtils.isBlank(cid)){
return error("无课程信息");
}
@@ -161,10 +171,13 @@ public class StudyCourseApi extends ApiBaseController{
boolean pass = false;
if (!courseCrowdList.isEmpty()) {
String token = request.getHeader("token");
for (CourseCrowd c : courseCrowdList) {
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
if (hasItem != null && !hasItem.isEmpty()) {
// List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
List<AuditList> allAudienceList = thirdApi.getAllAudienceList(AuditListParam.builder().audienceId(c.getGroupId()).pageSize(1000).pageNo(1).build(), token);
List<Long> userIdList = allAudienceList.stream().map(AuditList::getUserId).collect(Collectors.toList());
if (userIdList.contains(aid)) {
pass = true;
break;
}