Bladeren bron

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into zx_saas_goods

zouxuan 1 jaar geleden
bovenliggende
commit
a3f7efe8be
17 gewijzigde bestanden met toevoegingen van 146 en 30 verwijderingen
  1. 2 1
      cms/src/main/java/com/ym/mec/cms/service/impl/SysNewsInformationServiceImpl.java
  2. 1 0
      mec-application/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  3. 10 0
      mec-application/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java
  4. 8 0
      mec-application/src/main/java/com/ym/mec/web/controller/ImGroupController.java
  5. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java
  6. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
  7. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseExpectPriceDto.java
  8. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java
  9. 15 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 53 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java
  11. 3 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexErrDataRecordServiceImpl.java
  12. 9 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  13. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  14. 1 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  15. 8 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  16. 7 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  17. 2 1
      mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

+ 2 - 1
cms/src/main/java/com/ym/mec/cms/service/impl/SysNewsInformationServiceImpl.java

@@ -21,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.time.LocalDate;
 import java.util.*;
 
 @Service
@@ -90,6 +89,8 @@ public class SysNewsInformationServiceImpl extends BaseServiceImpl<Long, SysNews
 		if(count == 0){
 			queryInfo.setMemo(null);
 		}
+		// App按钮查询时重置默认查询条件rows=100
+		queryInfo.setRows(100);
 		PageInfo<SysNewsInformation> app = queryHomePage(queryInfo);
 		if(!CollectionUtils.isEmpty(app.getRows()) && user != null && user.getId() != null){
 			

+ 1 - 0
mec-application/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -20,6 +20,7 @@ import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
 import com.ym.mec.util.upload.UploadUtil;
 import io.swagger.annotations.*;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 10 - 0
mec-application/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java

@@ -13,6 +13,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -50,6 +51,15 @@ public class SysMusicScoreCategoriesController extends BaseController {
         return succeed(sysMusicScoreCategoriesService.queryCategoriesTreeList(tenantConfig.getTeachingMaterialId(), queryInfo.getEnable()));
     }
 
+
+
+    @ApiOperation(value = "树状列表")
+    @GetMapping("/queryTree1")
+    public Object queryTree1(MusicScoreQueryInfo queryInfo) {
+        queryInfo.setEnable(true);
+        return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
+    }
+
     @ApiOperation(value = "获取分类详情")
     @GetMapping("/get")
     public Object get(Integer id) {

+ 8 - 0
mec-application/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -368,4 +368,12 @@ public class ImGroupController extends BaseController {
 		return succeed();
 	}
 
+
+    @GetMapping("/deleteGroup")
+    public Object deleteGroup() {
+        ExecutorService executor = Executors.newSingleThreadExecutor();
+        executor.execute(() -> imGroupService.deleteGroup());
+        return succeed();
+    }
+
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -514,7 +514,7 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      * @param courseIds
      * @return
      */
-    List<CourseSchedule> getCourseScheduleStudentNum(@Param("courseIds") List<Long> courseIds);
+    List<CourseExpectPriceDto> getCourseScheduleStudentNum(@Param("courseIds") List<Long> courseIds);
 
     List<CourseScheduleStudentPayment> getWithClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds,
                                                             @Param("studentId") Integer studentId);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -542,4 +542,6 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
     List<ExportMusicGroupEchelonDataDto> queryCoopEchelonData(@Param("organIds") List<Integer> organIds);
 
     List<ExportMusicGroupEchelonDataDto> queryMusicGroupEchelonData(@Param("musicGroupIds") List<String> musicGroupIds);
+
+    List<String> getDelImGroupId();
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseExpectPriceDto.java

@@ -0,0 +1,18 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CourseExpectPriceDto {
+    @ApiModelProperty(value = "课程id")
+    private Long courseId;
+
+    @ApiModelProperty(value = "学生数量")
+    private Integer studentNum;
+
+    @ApiModelProperty(value = "课耗收入")
+    private BigDecimal expectPrice;
+}

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -222,4 +222,9 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
     com.yonge.mongodb.PageInfo<HistoryMessageTencentWrapper.HistoryMessageTencent> historyMessage(HistoryMessageTencentWrapper.HistoryMessageTencentQuery query);
 
     Map<String,ImGroup> getMapByIds(List<String> groupIdList);
+
+    void deleteGroup();
+
+    @Transactional(rollbackFor = Exception.class)
+    void delGroup(String imGroupId);
 }

+ 15 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -72,6 +72,7 @@ import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType.MUSIC_NETWORK;
@@ -4342,8 +4343,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseMergeCourseNumMap = MapUtil.convertIntegerMap(courseMergeCourseNum);
 			}
 			//获取课程的预计人数
-			List<CourseSchedule> courseScheduleStudentNum = courseScheduleStudentPaymentDao.getCourseScheduleStudentNum(courseScheduleIds);
-			Map<Long, Integer> courseScheduleStudentNumMap = courseScheduleStudentNum.stream().collect(Collectors.toMap(CourseSchedule::getId, CourseSchedule::getStudentNum));
+			List<CourseExpectPriceDto> courseScheduleStudentNum = courseScheduleStudentPaymentDao.getCourseScheduleStudentNum(courseScheduleIds);
+			Map<Long, CourseExpectPriceDto> courseScheduleStudentNumMap = courseScheduleStudentNum.stream().collect(Collectors.toMap(CourseExpectPriceDto::getCourseId, Function.identity()));
 			//获取班级声部名称
             List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
             Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
@@ -4409,8 +4410,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 if (courseMergeCourseNumMap.containsKey(result.getId())) {
                     result.setBeMerged(courseMergeCourseNumMap.get(result.getId()) > 0 ? true : false);
                 }
-                result.setStudentNum(courseScheduleStudentNumMap.getOrDefault(result.getId(), 0));
-
+				CourseExpectPriceDto priceDto = courseScheduleStudentNumMap.get(result.getId());
+				if(Objects.nonNull(priceDto)){
+					result.setStudentNum(priceDto.getStudentNum());
+					result.setExpectPrice(priceDto.getExpectPrice());
+				}
                 MusicGroupBasicDto musicGroupBasicDto = cooperationMap.get(result.getId().toString());
                 if(null != musicGroupBasicDto){
                     result.setCooperationOrgan(musicGroupBasicDto.getCooperationOrganName());
@@ -4471,8 +4475,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			courseMergeCourseNumMap = MapUtil.convertIntegerMap(courseMergeCourseNum);
 		}
 		//获取课程的预计人数
-		List<CourseSchedule> courseScheduleStudentNum = courseScheduleStudentPaymentDao.getCourseScheduleStudentNum(courseScheduleIds);
-		Map<Long, Integer> courseScheduleStudentNumMap = courseScheduleStudentNum.stream().collect(Collectors.toMap(CourseSchedule::getId, CourseSchedule::getStudentNum));
+		List<CourseExpectPriceDto> courseScheduleStudentNum = courseScheduleStudentPaymentDao.getCourseScheduleStudentNum(courseScheduleIds);
+		Map<Long, CourseExpectPriceDto> courseScheduleStudentNumMap = courseScheduleStudentNum.stream().collect(Collectors.toMap(CourseExpectPriceDto::getCourseId, Function.identity()));
 		//获取班级声部名称
 		List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
 		Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
@@ -4535,7 +4539,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			if (courseMergeCourseNumMap.containsKey(result.getId())) {
 				result.setBeMerged(courseMergeCourseNumMap.get(result.getId()) > 0 ? true : false);
 			}
-			result.setStudentNum(courseScheduleStudentNumMap.getOrDefault(result.getId(), 0));
+			CourseExpectPriceDto priceDto = courseScheduleStudentNumMap.get(result.getId());
+			if(Objects.nonNull(priceDto)){
+				result.setStudentNum(priceDto.getStudentNum());
+				result.setExpectPrice(priceDto.getExpectPrice());
+			}
 
 			MusicGroupBasicDto musicGroupBasicDto = cooperationMap.get(result.getId().toString());
 			if(null != musicGroupBasicDto){

+ 53 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -13,7 +13,6 @@ import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.microsvc.toolkit.middleware.im.message.MessageWrapper;
 import com.microsvc.toolkit.middleware.im.message.TencentRequest;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
@@ -142,6 +141,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
     @Autowired
     private HistoryMessageTenantService historyMessageTencentService;
 
+    @Autowired
+    private ImGroupService imGroupService;
+
     @Override
     public BaseDAO<String, ImGroup> getDAO() {
         return imGroupDao;
@@ -1855,6 +1857,56 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         return imGroups.stream().collect(Collectors.toMap(ImGroup::getId, item -> item));
     }
 
+    @Override
+    public void deleteGroup() {
+
+        // 100个线程的无界线程池
+        ThreadPoolExecutor executorService =  new ThreadPoolExecutor(100, 100,
+            0L, TimeUnit.MILLISECONDS,
+            new LinkedBlockingQueue<Runnable>());
+
+        log.info("-------------------------------deleteGroup start---------------------------");
+
+
+        List<String> imGroupIds =
+            musicGroupDao.getDelImGroupId();
+        for (String imGroupId : imGroupIds) {
+            executorService.execute(() -> {
+                imGroupService.delGroup(imGroupId);
+                try {
+                    Thread.sleep(1000);
+                } catch (InterruptedException e) {
+                    log.error("线程等待异常", e);
+                }
+            });
+        }
+
+        while (executorService.getQueue().size() > 0) {
+            try {
+                log.info("线程池中正在执行的任务数量:{},等待数量:{}", executorService.getActiveCount(),executorService.getQueue().size());
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+                log.error("线程等待异常", e);
+            }
+        }
+        executorService.shutdown();
+        log.info("------------------------------- deleteGroup end---------------------------");
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delGroup(String imGroupId) {
+        if (StringUtils.isEmpty(imGroupId)) {
+            return;
+        }
+        try {
+            imGroupCoreService.groupDismiss(imGroupId);
+        } catch (Exception e) {
+            log.error("删除群组失败:{}",imGroupId, e);
+            throw new BizException("删除群组失败");
+        }
+    }
+
     private TencentRequest.MessageBody getTimGifElem(String remoteUr,int size,int width,int height) {
         if (StringUtils.isEmpty(remoteUr) && size == 0 && width == 0 && height == 0) {
             return null;

+ 3 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexErrDataRecordServiceImpl.java

@@ -4,10 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.CourseScheduleEndDto;
-import com.ym.mec.biz.dal.dto.IndexErrorDataExportDto;
-import com.ym.mec.biz.dal.dto.SimpleUserDto;
-import com.ym.mec.biz.dal.dto.TeacherVisitDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.IndexErrorType;
 import com.ym.mec.biz.dal.enums.InspectionItemEnum;
@@ -427,8 +424,8 @@ public class IndexErrDataRecordServiceImpl extends BaseServiceImpl<Long, IndexEr
 				courseMergeCourseNumMap = MapUtil.convertIntegerMap(courseMergeCourseNum);
 			}
 			//获取课程的预计人数
-			List<CourseSchedule> courseScheduleStudentNum = courseScheduleStudentPaymentDao.getCourseScheduleStudentNum(courseScheduleIds);
-			Map<Long, Integer> courseScheduleStudentNumMap = courseScheduleStudentNum.stream().collect(Collectors.toMap(CourseSchedule::getId, CourseSchedule::getStudentNum));
+			List<CourseExpectPriceDto> courseScheduleStudentNum = courseScheduleStudentPaymentDao.getCourseScheduleStudentNum(courseScheduleIds);
+			Map<Long, Integer> courseScheduleStudentNumMap = courseScheduleStudentNum.stream().collect(Collectors.toMap(CourseExpectPriceDto::getCourseId, CourseExpectPriceDto::getStudentNum));
 			//获取班级声部名称
 			List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
 			Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);

+ 9 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2100,11 +2100,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("乐团当前状态是{},不能恢复", musicGroup.getStatus().getMsg());
         }
 
-        musicGroup.setStatus(MusicGroupStatusEnum.PROGRESS);
-        musicGroup.setUpdateTime(new Date());
-        musicGroupDao.update(musicGroup);
+		//恢复课表
+		if (musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
+			courseScheduleDao.resumeCourseScheduleByMusicGroupId(musicGroup.getId());
+		}
+		musicGroup.setStatus(MusicGroupStatusEnum.PROGRESS);
+		musicGroup.setUpdateTime(new Date());
+		musicGroupDao.update(musicGroup);
 
-        // 重新设置下次缴费时间
+		// 重新设置下次缴费时间
         /*List<MusicGroupStudentFee> fees = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupId);
         Date date = new Date();
         fees.forEach(e -> {
@@ -2113,12 +2117,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         });
         musicGroupStudentFeeDao.batchUpdate(fees);*/
 //        musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId, musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, null));
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "恢复乐团", sysUser.getId(), ""));
+		musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "恢复乐团", sysUser.getId(), ""));
 
-        //恢复课表
-        if (musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
-        	courseScheduleDao.resumeCourseScheduleByMusicGroupId(musicGroup.getId());
-        }
 
         //统计变更学员数
         groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, null);

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -542,6 +542,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     routeOrder.setUpdateTime(date);
                     studentPaymentRouteOrderDao.update(routeOrder);
                 } catch (Exception e) {
+                	LOGGER.error("分账失败 orderId:{}", order.getId(), e);
                     continue;
                 }
             }

+ 1 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2493,12 +2493,11 @@
         CASE WHEN COUNT(CASE WHEN sa.id_ IS NULL OR (sa.status_ = 'LEAVE' AND sa.remark_ IS NOT NULL) THEN NULL ELSE 1 END) > 0 THEN 1 ELSE 0 END isCallNames,
         CASE WHEN COUNT(CASE WHEN ta.is_complaints_ = 1 THEN 1 ELSE NULL END) > 0 THEN '1' ELSE '0' END is_complaints_,
         GROUP_CONCAT(distinct CASE WHEN csts.teacher_role_ = 'TEACHING' THEN csts.user_id_ END) teachingTeacherIds,
-        csts.expect_salary_,SUM(cssp.expect_price_) expect_price_
+        csts.expect_salary_
         FROM
         course_schedule cs
         LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
         left join teacher_attendance ta on ta.course_schedule_id_ = cs.id_
-        LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
         LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
         WHERE cs.del_flag_ = '0' AND cs.pre_course_flag_ = 0
         <if test="startTime != null and startTime != ''">

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -747,8 +747,14 @@
 		  AND cs.type_ = #{courseType}
 	  </if>
 	</select>
-    <select id="getCourseScheduleStudentNum" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
-		SELECT course_schedule_id_ id_,COUNT(*) student_num_ FROM course_schedule_student_payment WHERE course_schedule_id_ IN
+	<resultMap id="CourseExpectPriceDto" type="com.ym.mec.biz.dal.dto.CourseExpectPriceDto">
+		<result property="courseId" column="course_schedule_id_"/>
+		<result property="expectPrice" column="expect_price_"/>
+		<result property="studentNum" column="student_num_"/>
+	</resultMap>
+    <select id="getCourseScheduleStudentNum" resultMap="CourseExpectPriceDto">
+		SELECT course_schedule_id_,COUNT(*) student_num_,SUM(expect_price_) expect_price_
+		FROM course_schedule_student_payment WHERE course_schedule_id_ IN
 		<foreach collection="courseIds" item="courseId" open="(" close=")" separator=",">
 			#{courseId}
 		</foreach>

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -1316,4 +1316,11 @@
         </foreach>
         group by sr.music_group_id_,st.current_grade_num_ order by sr.music_group_id_,st.current_grade_num_
     </select>
+
+    <select id="getDelImGroupId" resultType="java.lang.String">
+        select distinct ig.id_ from music_group mg
+                             left join class_group cg ON cg.music_group_id_ = mg.id_
+                             left join im_group ig ON ig.id_ = cg.id_
+        where mg.status_ IN ('CANCELED','CLOSE') and cg.group_type_ = 'MUSIC';
+    </select>
 </mapper>

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

@@ -39,6 +39,7 @@
 		<result column="track_" property="track" />
 		<result column="ext_config_json_" property="extConfigJson" />
 		<result column="ext_style_config_json_" property="extStyleConfigJson" />
+		<result column="rank_ids_" property="rankIds" />
 	</resultMap>
 
 	<delete id="deleteBySongId">
@@ -182,7 +183,7 @@
 	</select>
 	<select id="queryAccPage" resultMap="SysMusicScoreAccompaniment">
 		SELECT sesa.*,ses.name_,ses.type_,ses.url_,s.name_ subject_name_,sesc.name_ categories_name_,sesc.id_ categories_id_,sesc.parent_id_ parent_categories_id_,ses.client_type_,
-		ses.enable_evaluation_,ses.metronome_url_,ses.midi_url_,ses.play_mode_,ses.render_from_,ses.ext_config_json_,ses.ext_style_config_json_
+		ses.enable_evaluation_,ses.metronome_url_,ses.midi_url_,ses.play_mode_,ses.render_from_,ses.ext_config_json_,ses.ext_style_config_json_,ses.rank_ids_
 		FROM sys_music_score ses
 		LEFT JOIN sys_music_score_accompaniment sesa ON ses.id_ = sesa.exam_song_id_
 		LEFT JOIN sys_music_score_categories sesc ON sesc.id_ = ses.music_score_categories_id_