mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 01:46:47 +08:00
Merge remote-tracking branch 'boe/dev0731' into dev0731
This commit is contained in:
@@ -354,7 +354,8 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
||||
}
|
||||
|
||||
|
||||
//加上Source判断,是为了应对后台查询,后台查询时,不需要权限,但是需要指定数据来源
|
||||
/* 2023-08-08 不管是否是此课程受众 ,都可以搜索到 但点进课程详情提示无权限
|
||||
//加上Source判断,是为了应对后台查询,后台查询时,不需要权限,但是需要指定数据来源
|
||||
if(params.getSource()==null || params.getSource()==0 ) {
|
||||
//受众权限条件,必须是有受众的课程并且受众条件不为空
|
||||
if(params.getAudiences()!=null && params.getAudiences().length>0) {
|
||||
@@ -377,7 +378,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
||||
//如果当前用户无受众,只能查询未设置受众的课程
|
||||
boolQuery.must(QueryBuilders.termQuery("isSetAudience",0));
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
//在哪端显示
|
||||
if(params.getDevice()!=null) {
|
||||
|
||||
@@ -234,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, HttpServletRequest request){
|
||||
public JsonResponse<Map<String,Object>> detail(String id,Boolean addView,Boolean crowd,Boolean preview, HttpServletRequest request,String audiences){
|
||||
if(StringUtils.isBlank(id)) {
|
||||
return badRequest("参数错误,未指定课程");
|
||||
}
|
||||
@@ -260,51 +260,36 @@ public class CoursePortalApi extends ApiBaseController{
|
||||
if(preview==null) {
|
||||
preview=true;
|
||||
}
|
||||
|
||||
// StudyCourse sc = new StudyCourse();
|
||||
// sc.setCourseId(course.getId());
|
||||
// sc.setAid(aid);
|
||||
log.debug("=--------- 开始查询是否学习过此课程 ---------------------------------course.getId()= "+ course.getId() + ",aid = " + aid );
|
||||
// PageList<StudyCourse> rs1= studyCourseService.findPage(1,10, sc, OrderCondition.desc("id"),null);
|
||||
log.error("---------------课程的受众------------ courseCrowdList = " + courseCrowdList);
|
||||
StudyCourse studyCourse = studyCourseService.findByCourseIdAndAid(course.getId(), aid);
|
||||
log.debug("=--------- 开始查询是否学习过此课程 ---------------------------------course.getId()= "+ course.getId() + ",aid = " + aid +",studyCourse = " + studyCourse);
|
||||
log.error("--------------------------- studyCourse = " + studyCourse);
|
||||
// 无受众 所有人可看
|
||||
// 此课程是否包含此aid用户
|
||||
// 例外情况判断
|
||||
boolean pass = false;
|
||||
if(!preview) {
|
||||
log.error("=--------- 开始查询受众信息 ---------------------------------aid = " + aid);
|
||||
String token = request.getHeader("XBOE-Access-Token");
|
||||
log.debug("=--------- 获取token token = " + token);
|
||||
if (!courseCrowdList.isEmpty()) {
|
||||
for (CourseCrowd c : courseCrowdList) {
|
||||
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
|
||||
// List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
|
||||
|
||||
log.debug("=--------- 开始调研用户中心受众接口 groupId = " + c.getGroupId());
|
||||
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());
|
||||
log.debug("=--------- allAudienceList: " +allAudienceList);
|
||||
/*
|
||||
List<UserDynamic> userDynamicList = thirdApi.getAllUserdynamicList(UserdynamicParam.builder().aid(Long.parseLong(aid)).pageSize(1000).pageIndex(1).build(), token);
|
||||
log.error("=--------- 开始查询课程信息信息 ---------------------------------userDynamicList = " + userDynamicList);
|
||||
List<Long> dynamicList = userDynamicList.stream().map(UserDynamic::getContentId).map(Long::parseLong).collect(Collectors.toList());
|
||||
log.error(id + "=--------- 开始查询课程信息信息 ---------------------------------dynamicList = " + dynamicList);*/
|
||||
|
||||
|
||||
if (userIdList.contains(Long.parseLong(aid)) || !Objects.isNull(studyCourse)) {
|
||||
if (!Objects.isNull(studyCourse)){
|
||||
pass = true;
|
||||
}
|
||||
if (Objects.isNull(studyCourse) && !courseCrowdList.isEmpty()) {
|
||||
List<String> audienceList = Arrays.asList(audiences.split(",")); // 此用户所在受众组
|
||||
log.error("---------------参数------------ audienceList = " + audienceList);
|
||||
for (CourseCrowd c : courseCrowdList) {
|
||||
for (String audience :audienceList){
|
||||
if (c.getGroupId().equals(audience)) {
|
||||
pass = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// if (!pass) {
|
||||
// //return badRequest("您无学习此课程的权限,请与管理员联系");
|
||||
// return wrap(JsonResponseStatus.NO_CONTENT, "您无学习此课程的权限,请与管理员联系",rs);
|
||||
// }
|
||||
|
||||
}else {
|
||||
pass = true;
|
||||
if (pass){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
pass = true;
|
||||
}
|
||||
|
||||
log.debug("=--------- 是否有权限查看此课程: " +pass);
|
||||
|
||||
log.error("=--------- 是否有权限查看此课程: " +pass);
|
||||
List<CourseContent> cclist=contentService.getByCourseId(id);
|
||||
List<CourseSection> sectionlist=sectionService.getByCourseId(id);
|
||||
List<CourseTeacher> teachers=courseService.findTeachersByCourseId(id);
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import com.xboe.api.ThirdApi;
|
||||
import com.xboe.api.vo.AuditList;
|
||||
import com.xboe.api.vo.AuditListParam;
|
||||
@@ -11,6 +12,7 @@ import com.xboe.api.vo.UserDynamic;
|
||||
import com.xboe.api.vo.UserdynamicParam;
|
||||
import com.xboe.module.usergroup.entity.UserGroupItem;
|
||||
import com.xboe.module.usergroup.service.IUserGroupService;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -146,7 +148,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, HttpServletRequest request){
|
||||
public JsonResponse<Map<String,Object>> loadDetail(String cid,Boolean addView,Boolean crowd, HttpServletRequest request,String audiences){
|
||||
if(StringUtils.isBlank(cid)){
|
||||
return error("无课程信息");
|
||||
}
|
||||
@@ -164,27 +166,27 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
if(crowd!=null && crowd) {
|
||||
rs.put("crowds",courseCrowdList);
|
||||
}
|
||||
|
||||
log.error("---------------课程的受众------------ courseCrowdList = " + courseCrowdList);
|
||||
StudyCourse studyCourse = service.findByCourseIdAndAid(course.getId(), aid);
|
||||
log.error("=--------- 开始查询是否学习过此课程 ---------------------------------course.getId()= "+ course.getId() + ",aid = " + aid +",studyCourse = " + studyCourse);
|
||||
log.error("--------------------------- studyCourse = " + studyCourse);
|
||||
// 无受众 所有人可看
|
||||
// 此课程是否包含此aid用户
|
||||
// 例外情况判断
|
||||
boolean pass = false;
|
||||
if (!courseCrowdList.isEmpty()) {
|
||||
log.debug("=---studyIndex------ 开始查询受众信息 ---------------------------------");
|
||||
String token = request.getHeader("XBOE-Access-Token");
|
||||
if (!Objects.isNull(studyCourse)){
|
||||
pass = true;
|
||||
}
|
||||
if (Objects.isNull(studyCourse) && !courseCrowdList.isEmpty()) {
|
||||
List<String> audienceList = Arrays.asList(audiences.split(",")); // 此用户所在受众组
|
||||
log.error("---------------参数------------ audienceList = " + audienceList);
|
||||
for (CourseCrowd c : courseCrowdList) {
|
||||
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
|
||||
// List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
|
||||
log.debug("=--------- 开始调研用户中心受众接口 groupId = " + c.getGroupId());
|
||||
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());
|
||||
log.debug("=--------- allAudienceList: " +allAudienceList);
|
||||
|
||||
/*List<UserDynamic> userDynamicList = thirdApi.getAllUserdynamicList(UserdynamicParam.builder().aid(Long.parseLong(aid)).pageSize(1000).pageIndex(1).build(), token);
|
||||
log.error("=--------- 开始查询课程信息信息 ---------------------------------userDynamicList = " + userDynamicList);
|
||||
List<Long> dynamicList = userDynamicList.stream().map(UserDynamic::getContentId).map(Long::parseLong).collect(Collectors.toList());
|
||||
log.error(cid + "=--------- 开始查询课程信息信息 ---------------------------------dynamicList = " + dynamicList);*/
|
||||
if (userIdList.contains(Long.parseLong(aid)) || !Objects.isNull(studyCourse)) {
|
||||
pass = true;
|
||||
for (String audience :audienceList){
|
||||
if (c.getGroupId().equals(audience)) {
|
||||
pass = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (pass){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user