mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 01:46:47 +08:00
新在线课逻辑
This commit is contained in:
@@ -264,8 +264,22 @@ public class CourseServiceImpl implements ICourseService {
|
||||
List<IFieldFilter> filters2 = createFilters(dto);
|
||||
List<String> list1 = getProject(dto);
|
||||
List<String> list2 = getRouter(dto);
|
||||
Set<String> list = new HashSet<>(list1);
|
||||
//需要设置为隐藏的课程id
|
||||
Set<String> list = new HashSet<>();
|
||||
//有受众权限的课程
|
||||
if(dto.getAudiences()!=null&&!dto.getAudiences().isEmpty()){
|
||||
List<String> audiences = getAudiences(dto);
|
||||
list.addAll(audiences);
|
||||
}
|
||||
//没有受众的课程
|
||||
List<String> noAudiences = getNoAudiences(dto);
|
||||
list.addAll(noAudiences);
|
||||
//成长路径的课
|
||||
List<String> grow = getGrow(dto);
|
||||
list.addAll(grow);
|
||||
list.addAll(list1);
|
||||
list.addAll(list2);
|
||||
|
||||
//有权限的查询,也同时查询出创建人的数据,在权限上
|
||||
if(TempFilterConfig.Manager_CourseFile_ByOrgIds) {
|
||||
if(dto.getIsSystemAdmin()==null || !dto.getIsSystemAdmin()) {
|
||||
@@ -480,6 +494,172 @@ public class CourseServiceImpl implements ICourseService {
|
||||
|
||||
return list1;
|
||||
}
|
||||
private List<String> getAudiences(CourseQueryDto dto) {
|
||||
List<Long> list=new ArrayList<>();
|
||||
List<String> s=Arrays.asList(dto.getAudiences().split(","));
|
||||
if(StringUtil.isNotBlank(dto.getOrgIds())){
|
||||
if(dto.getOrgIds().contains(",")){
|
||||
String[] split = dto.getOrgIds().split(",");
|
||||
List<String> strings = Arrays.asList(split);
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tcc.course_id \n" +
|
||||
"FROM\n" +
|
||||
"\t`boe_course_crowd` cc\n" +
|
||||
"\tINNER JOIN boe_course c ON cc.course_id = c.id \n" +
|
||||
"WHERE\n" +
|
||||
"\tcc.group_id IN (?1) \n" +
|
||||
"\tAND c.deleted =0 \n"+
|
||||
"and c.org_id not in(?2)\n" +
|
||||
"and (c.sys_create_aid !=?3 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql,s,strings,dto.getOrgAid());
|
||||
|
||||
}
|
||||
else {
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\t`boe_course_crowd` cc\n" +
|
||||
"\tINNER JOIN boe_course c ON cc.course_id = c.id \n" +
|
||||
"WHERE\n" +
|
||||
"\tcc.group_id IN (?1) \n" +
|
||||
"\tAND c.deleted =0 \n"+
|
||||
"and c.org_id !=?2\n" +
|
||||
"and (c.sys_create_aid !=?3 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql, s, dto.getOrgIds(),dto.getOrgAid());
|
||||
}
|
||||
}else {
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\t`boe_course_crowd` cc\n" +
|
||||
"\tINNER JOIN boe_course c ON cc.course_id = c.id \n" +
|
||||
"WHERE\n" +
|
||||
"\tcc.group_id IN (?1) \n" +
|
||||
"\tAND c.deleted =0 \n"+
|
||||
"and (c.sys_create_aid !=?2 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql, s,dto.getOrgAid());
|
||||
}
|
||||
List<String>list1=new ArrayList<>();
|
||||
for (Object obj : list) {
|
||||
list1.add(obj.toString());
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
private List<String> getNoAudiences(CourseQueryDto dto) {
|
||||
List<Long> list=new ArrayList<>();
|
||||
if(StringUtil.isNotBlank(dto.getOrgIds())){
|
||||
if(dto.getOrgIds().contains(",")){
|
||||
String[] split = dto.getOrgIds().split(",");
|
||||
List<String> strings = Arrays.asList(split);
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\tboe_base.boe_course c \n" +
|
||||
"WHERE\n" +
|
||||
"\tc.id NOT IN ( SELECT cc.course_id FROM boe_base.boe_course_crowd cc ) \n" +
|
||||
"\tAND c.deleted =0 \n"+
|
||||
"and c.org_id not in(?1)\n" +
|
||||
"and (c.sys_create_aid !=?2 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql,strings,dto.getOrgAid());
|
||||
|
||||
}
|
||||
else {
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\tboe_base.boe_course c \n" +
|
||||
"WHERE\n" +
|
||||
"\tc.id NOT IN ( SELECT cc.course_id FROM boe_base.boe_course_crowd cc ) \n" +
|
||||
"\tAND c.deleted =0 \n"+
|
||||
"and c.org_id !=?1\n" +
|
||||
"and (c.sys_create_aid !=?2 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql, dto.getOrgIds(),dto.getOrgAid());
|
||||
}
|
||||
}else {
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\tboe_base.boe_course c \n" +
|
||||
"WHERE\n" +
|
||||
"\tc.id NOT IN ( SELECT cc.course_id FROM boe_base.boe_course_crowd cc ) \n" +
|
||||
"\tAND c.deleted =0 \n"+
|
||||
"and (c.sys_create_aid !=?1 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql,dto.getOrgAid());
|
||||
}
|
||||
List<String>list1=new ArrayList<>();
|
||||
for (Object obj : list) {
|
||||
list1.add(obj.toString());
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
private List<String> getGrow(CourseQueryDto dto) {
|
||||
List<Long> list=new ArrayList<>();
|
||||
if(StringUtil.isNotBlank(dto.getOrgIds())){
|
||||
if(dto.getOrgIds().contains(",")){
|
||||
String[] split = dto.getOrgIds().split(",");
|
||||
List<String> strings = Arrays.asList(split);
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\tboe.student s\n" +
|
||||
"\tINNER JOIN boe.grow_task gt ON s.pid = gt.grow_id\n" +
|
||||
"\tINNER JOIN boe_base.boe_course c ON gt.course_id = c.id \n" +
|
||||
"WHERE\n" +
|
||||
"\ts.type = 14 \n" +
|
||||
"\tAND gt.type = 1 \n" +
|
||||
"\tAND s.deleted = 0 \n" +
|
||||
"\tAND gt.deleted = 0 \n" +
|
||||
"\tAND c.deleted = 0\n"+
|
||||
"\tAND s.student_id = ?1\n"+
|
||||
"and c.org_id not in(?2)\n" +
|
||||
"and (c.sys_create_aid !=?3 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql,dto.getOrgAid(),strings,dto.getOrgAid());
|
||||
|
||||
}
|
||||
else {
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\tboe.student s\n" +
|
||||
"\tINNER JOIN boe.grow_task gt ON s.pid = gt.grow_id\n" +
|
||||
"\tINNER JOIN boe_base.boe_course c ON gt.course_id = c.id \n" +
|
||||
"WHERE\n" +
|
||||
"\ts.type = 14 \n" +
|
||||
"\tAND gt.type = 1 \n" +
|
||||
"\tAND s.deleted = 0 \n" +
|
||||
"\tAND gt.deleted = 0 \n" +
|
||||
"\tAND c.deleted = 0\n"+
|
||||
"\tAND s.student_id = ?1\n"+
|
||||
"and c.org_id !=?2\n" +
|
||||
"and (c.sys_create_aid !=?3 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql,dto.getOrgAid(), dto.getOrgIds(),dto.getOrgAid());
|
||||
}
|
||||
}else {
|
||||
String sql = "SELECT DISTINCT\n" +
|
||||
"\tc.id \n" +
|
||||
"FROM\n" +
|
||||
"\tboe.student s\n" +
|
||||
"\tINNER JOIN boe.grow_task gt ON s.pid = gt.grow_id\n" +
|
||||
"\tINNER JOIN boe_base.boe_course c ON gt.course_id = c.id \n" +
|
||||
"WHERE\n" +
|
||||
"\ts.type = 14 \n" +
|
||||
"\tAND gt.type = 1 \n" +
|
||||
"\tAND s.deleted = 0 \n" +
|
||||
"\tAND gt.deleted = 0 \n" +
|
||||
"\tAND c.deleted = 0\n"+
|
||||
"\tAND s.student_id = ?1\n"+
|
||||
"and (c.sys_create_aid !=?2 or c.sys_create_aid is null)";
|
||||
list = courseTeacherDao.sqlFindList(sql,dto.getOrgAid(),dto.getOrgAid());
|
||||
}
|
||||
List<String>list1=new ArrayList<>();
|
||||
for (Object obj : list) {
|
||||
list1.add(obj.toString());
|
||||
}
|
||||
|
||||
return list1;
|
||||
}
|
||||
public static <T> List<T> paginate(List<T> list, int pageNumber, int pageSize) {
|
||||
if (list == null || list.isEmpty() || pageNumber <= 0 || pageSize <= 0) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user