mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-18 07:16:50 +08:00
fix:【FCJDFDXTXS-151】新增多个aid查询
This commit is contained in:
@@ -1221,12 +1221,12 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
* @return 资源学习情况分页集合
|
||||
*/
|
||||
@RequestMapping(value="/contents",method = {RequestMethod.GET,RequestMethod.POST})
|
||||
public JsonResponse<PageList<StudyCourseItem>> findPage(Pagination pager,String courseId,String contentId,String name,Integer status){
|
||||
public JsonResponse<PageList<StudyCourseItem>> findPage(Pagination pager,String courseId,String contentId,String name,Integer status,String aid){
|
||||
if(StringUtils.isBlank(courseId)){
|
||||
return error("无课程信息");
|
||||
}
|
||||
try {
|
||||
PageList<StudyCourseItem> rs = studyService.findItemPage(pager.getPageIndex(), pager.getPageSize(), null, contentId, courseId, name, status);
|
||||
PageList<StudyCourseItem> rs = studyService.findItemPage(pager.getPageIndex(), pager.getPageSize(), null, contentId, courseId, name, status,aid);
|
||||
return success(rs);
|
||||
}catch(Exception e) {
|
||||
log.error("【资源学习情况分页查询】错误:{}", e.getMessage());
|
||||
@@ -1246,7 +1246,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
* @return 资源学习情况分页集合
|
||||
*/
|
||||
@RequestMapping(value = "/contents-exam", method = {RequestMethod.GET, RequestMethod.POST})
|
||||
public JsonResponse<PageList<StudyCourseItem>> findPageExam(Pagination pager, String courseId, String contentId, String name, Integer status) {
|
||||
public JsonResponse<PageList<StudyCourseItem>> findPageExam(Pagination pager, String courseId, String contentId, String name, Integer status,String aid) {
|
||||
if (StringUtils.isBlank(courseId)) {
|
||||
return error("无课程信息");
|
||||
}
|
||||
@@ -1258,7 +1258,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
return success(new PageList<>());
|
||||
}
|
||||
// 分页查询资源学习信息(只查询有考试信息的部分)
|
||||
PageList<StudyCourseItem> rs = studyService.findItemPage(pager.getPageIndex(), pager.getPageSize(), null, contentId, courseId, name, status);
|
||||
PageList<StudyCourseItem> rs = studyService.findItemPage(pager.getPageIndex(), pager.getPageSize(), null, contentId, courseId, name, status,aid);
|
||||
// 拼接考试信息
|
||||
List<StudyCourseItem> studyCourseItems = rs.getList();
|
||||
if (studyCourseItems != null && !studyCourseItems.isEmpty() && !studyExams.isEmpty()) {
|
||||
@@ -1286,7 +1286,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
* @return 资源学习情况分页集合
|
||||
*/
|
||||
@RequestMapping(value = "/contents-assess", method = {RequestMethod.GET, RequestMethod.POST})
|
||||
public JsonResponse<PageList<StudyCourseItem>> findPageAssess(Pagination pager, String courseId, String contentId, String name, Integer status) {
|
||||
public JsonResponse<PageList<StudyCourseItem>> findPageAssess(Pagination pager, String courseId, String contentId, String name, Integer status,String aid) {
|
||||
if (StringUtils.isBlank(courseId)) {
|
||||
return error("无课程信息");
|
||||
}
|
||||
@@ -1301,7 +1301,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
return success(new PageList<>());
|
||||
}
|
||||
// 分页查询资源学习信息(只查询有评估信息的部分)
|
||||
PageList<StudyCourseItem> rs = studyService.findItemPage(pager.getPageIndex(), pager.getPageSize(), null, contentId, courseId, name, status);
|
||||
PageList<StudyCourseItem> rs = studyService.findItemPage(pager.getPageIndex(), pager.getPageSize(), null, contentId, courseId, name, status,aid);
|
||||
// 拼接评估信息
|
||||
List<StudyCourseItem> studyCourseItems = rs.getList();
|
||||
if (studyCourseItems != null && !studyCourseItems.isEmpty() && !studyAssesses.isEmpty()) {
|
||||
|
||||
@@ -100,7 +100,7 @@ public interface IStudyService {
|
||||
* @param status 用户学习状态(1-未开始,2-已完成,3-进行中)
|
||||
* @return 资源学习情况分页集合
|
||||
*/
|
||||
PageList<StudyCourseItem> findItemPage(int pageIndex, int pageSize, List<String> ids, String contentId, String courseId, String name, Integer status);
|
||||
PageList<StudyCourseItem> findItemPage(int pageIndex, int pageSize, List<String> ids, String contentId, String courseId, String name, Integer status,String aid);
|
||||
|
||||
/**
|
||||
* 为courseContents列表设置展示名称(章名+节名 或 课程名+节名)
|
||||
|
||||
@@ -249,7 +249,7 @@ public class StudyServiceImpl implements IStudyService{
|
||||
* @return 资源学习情况分页集合
|
||||
*/
|
||||
@Override
|
||||
public PageList<StudyCourseItem> findItemPage(int pageIndex, int pageSize, List<String> ids, String contentId, String courseId,String name,Integer status) {
|
||||
public PageList<StudyCourseItem> findItemPage(int pageIndex, int pageSize, List<String> ids, String contentId, String courseId,String name,Integer status,String aid) {
|
||||
QueryBuilder query = QueryBuilder.from(StudyCourseItem.class);
|
||||
query.setPageIndex(pageIndex);
|
||||
query.setPageSize(pageSize);
|
||||
@@ -268,6 +268,11 @@ public class StudyServiceImpl implements IStudyService{
|
||||
if(StringUtils.isNotBlank(name)) {
|
||||
query.addFilter(FieldFilters.like("aname", name));
|
||||
}
|
||||
// 25.12.16新增 aid筛选
|
||||
if(StringUtils.isNotBlank(aid)){
|
||||
String aidList=aid;
|
||||
query.addFilter(FieldFilters.in("aid",aidList.split( ",")));
|
||||
}
|
||||
int pageIndex2 = (pageIndex-1)*10;
|
||||
if(status!=null) {
|
||||
if(status==3) {
|
||||
@@ -290,15 +295,25 @@ public class StudyServiceImpl implements IStudyService{
|
||||
return scItemDao.findPage(query.builder());
|
||||
}
|
||||
}
|
||||
// 25.12.16新增:提前处理aid数组,供后续SQL拼接使用
|
||||
String aidSqlFilter = "";
|
||||
// 存储aid的SQL筛选片段
|
||||
if(StringUtils.isNotBlank(aid)){
|
||||
String[] aidArray = aid.split(",");
|
||||
// 拼接aid的in筛选
|
||||
aidSqlFilter = "and item.aid in ('" + String.join("','", aidArray) + "') ";
|
||||
}
|
||||
// 未传输status的情况,查询所有资源学习情况数据
|
||||
String sql = "select a.id, a.course_id, a.course_name, a.aname, " + "IFNULL(b.finish_time, '0') as finish_time, IFNULL(b.progress, 0) as progress, IFNULL(b.status, 1) as status " + ",b.score,b.item_id,b.aid,b.content_id " + "from (select id, course_id, course_name, aname, 0, 1 from boe_study_course where course_id = '" + courseId + "'" + (StringUtils.isBlank(name) ? "" : "and aname like '%" + name + "%'") + ") a " + "inner join " + "(select bsc.id, bsc.course_id, bsc.course_name, bsc.aname, item.id as item_id,item.finish_time, item.progress, item.status,MAX(item.score) score,item.aid,item.content_id " + "from boe_study_course bsc left join boe_study_course_item item on item.course_id = bsc.course_id and item.study_id = bsc.id " + "where bsc.course_id = '" + courseId + "'" +
|
||||
(StringUtils.isBlank(contentId) ? "" : "and item.content_id = '" + contentId + "'") +
|
||||
(StringUtils.isBlank(name) ? "" : "and item.aname like '%" + name +"%'") + " group by bsc.id) b " +
|
||||
//aidSqlFilter拼接aid筛选条件
|
||||
(StringUtils.isBlank(name) ? "" : "and item.aname like '%" + name +"%'") + aidSqlFilter+" group by bsc.id) b " +
|
||||
"on a.course_id = b.course_id and a.id = b.id " +
|
||||
"group by a.id limit "+ pageIndex2+","+ pageSize+";";
|
||||
String sql2 = "select count(*) as total from (select a.id, a.course_id, a.course_name, a.aname, " + "IFNULL(b.finish_time, 0) as finish_time, IFNULL(b.progress, 0) as progress, IFNULL(b.status, 1) as status " + "from (select id, course_id, course_name, aname, 0, 1 from boe_study_course where course_id = '" + courseId + "'" + (StringUtils.isBlank(name) ? "" : "and aname like '%" + name + "%'") + ") a " + "inner join " + "(select bsc.id, bsc.course_id, bsc.course_name, bsc.aname, item.finish_time, item.progress, item.status " + "from boe_study_course bsc left join boe_study_course_item item on item.course_id = bsc.course_id and item.study_id = bsc.id " + "where bsc.course_id = '" + courseId + "'" +
|
||||
(StringUtils.isBlank(contentId) ? "" : "and item.content_id = '" + contentId + "'") +
|
||||
(StringUtils.isBlank(name) ? "" : "and item.aname like '%" + name +"%'") +
|
||||
//aidSqlFilter拼接aid筛选条件
|
||||
(StringUtils.isBlank(name) ? "" : "and item.aname like '%" + name +"%'") +aidSqlFilter+
|
||||
" group by bsc.id) b " +
|
||||
"on a.course_id = b.course_id and a.id = b.id " +
|
||||
"group by a.id) as total";
|
||||
|
||||
Reference in New Issue
Block a user