diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java index 330b8615..bc8d8d38 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java @@ -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> detail(String id,Boolean addView,Boolean crowd,Boolean preview){ + public JsonResponse> 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 hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid); - if (hasItem != null && !hasItem.isEmpty()) { +// List hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid); + List allAudienceList = thirdApi.getAllAudienceList(AuditListParam.builder().audienceId(c.getGroupId()).pageSize(1000).pageNo(1).build(), token); + log.debug("=--------- allAudienceList: " +allAudienceList); + List userIdList = allAudienceList.stream().map(AuditList::getUserId).collect(Collectors.toList()); + if (userIdList.contains(aid)) { pass = true; break; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index f02cd96d..f3155e86 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -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; + /** * 课程学习的内容 */ @@ -82,7 +89,10 @@ 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> loadDetail(String cid,Boolean addView,Boolean crowd){ + public JsonResponse> 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 hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid); - if (hasItem != null && !hasItem.isEmpty()) { +// List hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid); + List allAudienceList = thirdApi.getAllAudienceList(AuditListParam.builder().audienceId(c.getGroupId()).pageSize(1000).pageNo(1).build(), token); + List userIdList = allAudienceList.stream().map(AuditList::getUserId).collect(Collectors.toList()); + if (userIdList.contains(aid)) { pass = true; break; }