mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-10 11:26:50 +08:00
课程受众权限
This commit is contained in:
@@ -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("参数错误,未指定课程");
|
||||
}
|
||||
@@ -262,20 +262,25 @@ public class CoursePortalApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
StudyCourse studyCourse = studyCourseService.findByCourseIdAndAid(course.getId(), aid);
|
||||
// 无受众 所有人可看
|
||||
// 此课程是否包含此aid用户
|
||||
// 例外情况判断
|
||||
boolean pass = false;
|
||||
if(!preview) {
|
||||
if (!courseCrowdList.isEmpty()) {
|
||||
for (CourseCrowd c : courseCrowdList) {
|
||||
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
|
||||
List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
|
||||
if (hasItem != null && !hasItem.isEmpty() || !Objects.isNull(studyCourse)) {
|
||||
if (!courseCrowdList.isEmpty()) {
|
||||
List<String> audienceList = Arrays.asList(audiences.split(",")); // 此用户所在受众组
|
||||
for (CourseCrowd c : courseCrowdList) {
|
||||
for (String audience :audienceList){
|
||||
if (Objects.isNull(studyCourse) || c.getGroupId().equals(audience)) {
|
||||
pass = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
pass = true;
|
||||
if (pass){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
pass = true;
|
||||
}
|
||||
|
||||
log.debug("=--------- 是否有权限查看此课程: " +pass);
|
||||
|
||||
@@ -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("无课程信息");
|
||||
}
|
||||
@@ -166,25 +168,21 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
StudyCourse studyCourse = service.findByCourseIdAndAid(course.getId(), aid);
|
||||
log.error("=--------- 开始查询是否学习过此课程 ---------------------------------course.getId()= "+ course.getId() + ",aid = " + aid +",studyCourse = " + studyCourse);
|
||||
|
||||
// 无受众 所有人可看
|
||||
// 此课程是否包含此aid用户
|
||||
// 例外情况判断
|
||||
boolean pass = false;
|
||||
if (!courseCrowdList.isEmpty()) {
|
||||
log.debug("=---studyIndex------ 开始查询受众信息 ---------------------------------");
|
||||
String token = request.getHeader("XBOE-Access-Token");
|
||||
List<String> audienceList = Arrays.asList(audiences.split(",")); // 此用户所在受众组
|
||||
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 (Objects.isNull(studyCourse) || c.getGroupId().equals(audience)) {
|
||||
pass = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (pass){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user