mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 03:46:50 +08:00
课程受众权限
This commit is contained in:
@@ -234,7 +234,7 @@ public class CoursePortalApi extends ApiBaseController{
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value="/detail",method = {RequestMethod.GET,RequestMethod.POST})
|
@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)) {
|
if(StringUtils.isBlank(id)) {
|
||||||
return badRequest("参数错误,未指定课程");
|
return badRequest("参数错误,未指定课程");
|
||||||
}
|
}
|
||||||
@@ -262,20 +262,25 @@ public class CoursePortalApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
StudyCourse studyCourse = studyCourseService.findByCourseIdAndAid(course.getId(), aid);
|
StudyCourse studyCourse = studyCourseService.findByCourseIdAndAid(course.getId(), aid);
|
||||||
|
// 无受众 所有人可看
|
||||||
|
// 此课程是否包含此aid用户
|
||||||
|
// 例外情况判断
|
||||||
boolean pass = false;
|
boolean pass = false;
|
||||||
if(!preview) {
|
if (!courseCrowdList.isEmpty()) {
|
||||||
if (!courseCrowdList.isEmpty()) {
|
List<String> audienceList = Arrays.asList(audiences.split(",")); // 此用户所在受众组
|
||||||
for (CourseCrowd c : courseCrowdList) {
|
for (CourseCrowd c : courseCrowdList) {
|
||||||
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
|
for (String audience :audienceList){
|
||||||
List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
|
if (Objects.isNull(studyCourse) || c.getGroupId().equals(audience)) {
|
||||||
if (hasItem != null && !hasItem.isEmpty() || !Objects.isNull(studyCourse)) {
|
|
||||||
pass = true;
|
pass = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else {
|
if (pass){
|
||||||
pass = true;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
pass = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
log.debug("=--------- 是否有权限查看此课程: " +pass);
|
log.debug("=--------- 是否有权限查看此课程: " +pass);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import com.xboe.api.ThirdApi;
|
import com.xboe.api.ThirdApi;
|
||||||
import com.xboe.api.vo.AuditList;
|
import com.xboe.api.vo.AuditList;
|
||||||
import com.xboe.api.vo.AuditListParam;
|
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.api.vo.UserdynamicParam;
|
||||||
import com.xboe.module.usergroup.entity.UserGroupItem;
|
import com.xboe.module.usergroup.entity.UserGroupItem;
|
||||||
import com.xboe.module.usergroup.service.IUserGroupService;
|
import com.xboe.module.usergroup.service.IUserGroupService;
|
||||||
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@@ -146,7 +148,7 @@ public class StudyCourseApi extends ApiBaseController{
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value="/studyIndex",method = {RequestMethod.GET,RequestMethod.POST})
|
@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)){
|
if(StringUtils.isBlank(cid)){
|
||||||
return error("无课程信息");
|
return error("无课程信息");
|
||||||
}
|
}
|
||||||
@@ -166,25 +168,21 @@ public class StudyCourseApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
StudyCourse studyCourse = service.findByCourseIdAndAid(course.getId(), aid);
|
StudyCourse studyCourse = service.findByCourseIdAndAid(course.getId(), aid);
|
||||||
log.error("=--------- 开始查询是否学习过此课程 ---------------------------------course.getId()= "+ course.getId() + ",aid = " + aid +",studyCourse = " + studyCourse);
|
|
||||||
|
// 无受众 所有人可看
|
||||||
|
// 此课程是否包含此aid用户
|
||||||
|
// 例外情况判断
|
||||||
boolean pass = false;
|
boolean pass = false;
|
||||||
if (!courseCrowdList.isEmpty()) {
|
if (!courseCrowdList.isEmpty()) {
|
||||||
log.debug("=---studyIndex------ 开始查询受众信息 ---------------------------------");
|
List<String> audienceList = Arrays.asList(audiences.split(",")); // 此用户所在受众组
|
||||||
String token = request.getHeader("XBOE-Access-Token");
|
|
||||||
for (CourseCrowd c : courseCrowdList) {
|
for (CourseCrowd c : courseCrowdList) {
|
||||||
//同一个受众,同一个只会有一条记录,所以这里就直接查询了
|
for (String audience :audienceList){
|
||||||
// List<UserGroupItem> hasItem = userGroupService.findByGroupIdAndAid(c.getGroupId(),aid);
|
if (Objects.isNull(studyCourse) || c.getGroupId().equals(audience)) {
|
||||||
log.debug("=--------- 开始调研用户中心受众接口 groupId = " + c.getGroupId());
|
pass = true;
|
||||||
List<AuditList> allAudienceList = thirdApi.getAllAudienceList(AuditListParam.builder().audienceId(c.getGroupId()).pageSize(1000).pageNo(1).build(), token);
|
break;
|
||||||
List<Long> userIdList = allAudienceList.stream().map(AuditList::getUserId).collect(Collectors.toList());
|
}
|
||||||
log.debug("=--------- allAudienceList: " +allAudienceList);
|
}
|
||||||
|
if (pass){
|
||||||
/*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;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user