课程权限学习路径图保持一致

This commit is contained in:
xiaozhequ
2024-06-24 14:58:13 +08:00
parent a26ceb86d1
commit f950788e08

View File

@@ -262,7 +262,10 @@ public class CourseServiceImpl implements ICourseService {
public PageList<Course> findPage(int pageIndex, int pageSize, CourseQueryDto dto) {
List<IFieldFilter> filters = createFilters(dto);
List<IFieldFilter> filters2 = createFilters(dto);
List<String> list = getStrings(dto);
List<String> list1 = getProject(dto);
List<String> list2 = getRouter(dto);
Set<String> list = new HashSet<>(list1);
list.addAll(list2);
//有权限的查询,也同时查询出创建人的数据,在权限上
if(TempFilterConfig.Manager_CourseFile_ByOrgIds) {
if(dto.getIsSystemAdmin()==null || !dto.getIsSystemAdmin()) {
@@ -347,7 +350,72 @@ public class CourseServiceImpl implements ICourseService {
return rs;
}
private List<String> getStrings(CourseQueryDto dto) {
private List<String> getRouter(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" +
"rt.course_id\n" +
"FROM\n" +
"boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_base.boe_course c on c.id=rt.course_id\n" +
"\n" +
"WHERE\n" +
"\n" +
"s.deleted = 0 \n" +
"and rt.deleted=0\n" +
"and rt.type=1\n" +
"and c.deleted=0\n" +
"AND s.type =2 \n" +
"AND s.student_id = ?1\n" +
"and c.org_id not in(?2)\n" +
"and c.sys_create_aid !=?3";
list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(),strings,dto.getOrgAid());
}
else {
String sql = "SELECT DISTINCT\n" +
"rt.course_id\n" +
"FROM\n" +
"boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_base.boe_course c on c.id=rt.course_id\n" +
"\n" +
"WHERE\n" +
"\n" +
"s.deleted = 0 \n" +
"and rt.deleted=0\n" +
"and rt.type=1\n" +
"and c.deleted=0\n" +
"AND s.type =2 \n" +
"AND s.student_id = ?1\n" +
"and c.org_id !=?2\n" +
"and c.sys_create_aid !=?3";
list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(), dto.getOrgIds(),dto.getOrgAid());
}
}else {
String sql = "SELECT DISTINCT\n" +
"rt.course_id\n" +
"FROM\n" +
"boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_base.boe_course c on c.id=rt.course_id\n" +
"\n" +
"WHERE\n" +
"\n" +
"s.deleted = 0 \n" +
"and rt.deleted=0\n" +
"and rt.type=1\n" +
"and c.deleted=0\n" +
"AND s.type =2 \n" +
"AND s.student_id = ?1\n" +
"and c.sys_create_aid !=?2";
list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(),dto.getOrgAid());
}
List<String>list1=new ArrayList<>();
for (Object obj : list) {
list1.add(obj.toString());
}
return list1;
}
private List<String> getProject(CourseQueryDto dto) {
List<Long> list=new ArrayList<>();
if(StringUtil.isNotBlank(dto.getOrgIds())){
if(dto.getOrgIds().contains(",")){
@@ -362,8 +430,9 @@ public class CourseServiceImpl implements ICourseService {
"\n" +
"s.deleted = 0 \n" +
"and pt.deleted=0\n" +
"and pt.type=1\n" +
"and c.deleted=0\n" +
"AND s.type in (1,2) \n" +
"AND s.type =1 \n" +
"AND s.student_id = ?1\n" +
"and c.org_id not in(?2)\n" +
"and c.sys_create_aid !=?3";
@@ -379,8 +448,9 @@ public class CourseServiceImpl implements ICourseService {
"\n" +
"s.deleted = 0 \n" +
"and pt.deleted=0\n" +
"and pt.type=1\n" +
"and c.deleted=0\n" +
"AND s.type in (1,2) \n" +
"AND s.type =1 \n" +
"AND s.student_id = ?1\n" +
"and c.org_id !=?2\n" +
"and c.sys_create_aid !=?3";
@@ -396,20 +466,20 @@ public class CourseServiceImpl implements ICourseService {
"\n" +
"s.deleted = 0 \n" +
"and pt.deleted=0\n" +
"and pt.type=1\n" +
"and c.deleted=0\n" +
"AND s.type in (1,2) \n" +
"AND s.type =1 \n" +
"AND s.student_id = ?1\n" +
"and c.sys_create_aid !=?2";
list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(),dto.getOrgAid());
}
List<String>list1=new ArrayList<>();
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;