Browse Source

Merge branch 'zx_saas_cbsDetail_0317' of http://git.dayaedu.com/yonge/mec into dev

zouxuan 3 tháng trước cách đây
mục cha
commit
ad875e64b2

+ 5 - 2
mec-application/src/main/java/com/ym/mec/student/controller/MusicSheetController.java

@@ -68,7 +68,7 @@ public class MusicSheetController {
     public R<MusicSheetVo.MusicSheetDetail> cbsDetail(@PathVariable("id") Integer id,Boolean simpleFlag) {
         CbsMusicSheetWrapper.MusicSheet musicSheet = musicSheetService.cbsDetail(id, simpleFlag);
         musicSheet.setBizId(Long.valueOf(id));
-
+        Integer userId = sysUserService.getUserId();
         MusicSheetVo.MusicSheetDetail musicSheetDetail = JSON.parseObject(JSON.toJSONString(musicSheet), MusicSheetVo.MusicSheetDetail.class);
         SysMusicScore detail = musicSheetService.get(id);
         if (detail == null) {
@@ -82,6 +82,9 @@ public class MusicSheetController {
             musicSheetDetail.setIsConvertibleScore(detail.getIsConvertibleScore());
         }
 
+        //是否使用原生评测服务
+        musicSheetDetail.setUseNativeEvaluation(musicSheetService.getUseNativeEvaluationService(userId));
+
         // 如果是合奏 并且乐器ID = 2268
         musicSheetDetail.setSpecialPercussionFlag(false);
         if ("2268".equals(musicSheetDetail.getMusicalInstrumentIds()) && musicSheetDetail.getMusicSheetType() == EMusicSheetType.CONCERT) {
@@ -106,7 +109,7 @@ public class MusicSheetController {
         }
         MusicSheetWrapper.ClientMusicSheetInfoQuery query = new MusicSheetWrapper.ClientMusicSheetInfoQuery();
         query.setUserType(ClientEnum.STUDENT);
-        query.setUserId(sysUserService.getUserId());
+        query.setUserId(userId);
         query.setMusicSheetId(id);
         MusicSheetWrapper.ClientMusicSheetInfo clientMusicSheetInfo = musicSheetService.queryMusicScoreDetail(query);
         if (clientMusicSheetInfo != null) {

+ 4 - 1
mec-application/src/main/java/com/ym/mec/teacher/controller/MusicSheetController.java

@@ -82,6 +82,9 @@ public class MusicSheetController {
             musicSheetDetail.setScoreType(detail.getScoreType());
             musicSheetDetail.setIsConvertibleScore(detail.getIsConvertibleScore());
         }
+        Integer userId = sysUserService.getUserId();
+        //是否使用原生评测服务
+        musicSheetDetail.setUseNativeEvaluation(musicSheetService.getUseNativeEvaluationService(userId));
 
         // 如果是合奏 并且乐器ID = 2268
         musicSheetDetail.setSpecialPercussionFlag(false);
@@ -107,7 +110,7 @@ public class MusicSheetController {
         }
         MusicSheetWrapper.ClientMusicSheetInfoQuery query = new MusicSheetWrapper.ClientMusicSheetInfoQuery();
         query.setUserType(ClientEnum.TEACHER);
-        query.setUserId(sysUserService.getUserId());
+        query.setUserId(userId);
         query.setMusicSheetId(id);
         MusicSheetWrapper.ClientMusicSheetInfo clientMusicSheetInfo = musicSheetService.queryMusicScoreDetail(query);
         if (clientMusicSheetInfo != null) {

+ 3 - 0
mec-application/src/main/java/com/ym/mec/vo/MusicSheetVo.java

@@ -404,6 +404,9 @@ public class MusicSheetVo {
         @ApiModelProperty("是否是特殊打击乐")
         private Boolean specialPercussionFlag;
 
+        @ApiModelProperty("是否使用原生评测服务")
+        private Boolean useNativeEvaluation = false;
+
     }
 
     @Data

+ 4 - 2
mec-application/src/main/java/com/ym/mec/web/controller/MusicSheetController.java

@@ -64,7 +64,7 @@ public class MusicSheetController {
     public R<MusicSheetVo.MusicSheetDetail> cbsDetail(@PathVariable("id") Integer id,Boolean simpleFlag) {
         CbsMusicSheetWrapper.MusicSheet musicSheet = musicSheetService.cbsDetail(id, simpleFlag);
         musicSheet.setBizId(Long.valueOf(id));
-
+        Integer userId = sysUserService.getUserId();
         MusicSheetVo.MusicSheetDetail musicSheetDetail = JSON.parseObject(JSON.toJSONString(musicSheet), MusicSheetVo.MusicSheetDetail.class);
         SysMusicScore detail = musicSheetService.get(id);
         if (detail == null) {
@@ -77,6 +77,8 @@ public class MusicSheetController {
             musicSheetDetail.setScoreType(detail.getScoreType());
             musicSheetDetail.setIsConvertibleScore(detail.getIsConvertibleScore());
         }
+        //是否使用原生评测服务
+        musicSheetDetail.setUseNativeEvaluation(musicSheetService.getUseNativeEvaluationService(userId));
 
         // 如果是合奏 并且乐器ID = 2268
         musicSheetDetail.setSpecialPercussionFlag(false);
@@ -102,7 +104,7 @@ public class MusicSheetController {
         }
         MusicSheetWrapper.ClientMusicSheetInfoQuery query = new MusicSheetWrapper.ClientMusicSheetInfoQuery();
         query.setUserType(ClientEnum.SCHOOL);
-        query.setUserId(sysUserService.getUserId());
+        query.setUserId(userId);
         query.setMusicSheetId(id);
         MusicSheetWrapper.ClientMusicSheetInfo clientMusicSheetInfo = musicSheetService.queryMusicScoreDetail(query);
         if (clientMusicSheetInfo != null) {

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreService.java

@@ -77,4 +77,7 @@ public interface SysMusicScoreService extends BaseService<Integer, SysMusicScore
      * @return List<MusicSheetWrapper.InstrumentCode>
      */
     List<MusicSheetWrapper.InstrumentCode> getAllInstrumentCode();
+
+    //判断当前用户是否使用原生评测功能
+    Boolean getUseNativeEvaluationService(Integer userId);
 }

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -391,6 +391,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 	@Override
 	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 	public void createForMusicGroup(String musicGroupId, List<CourseSchedule> courseSchedules, List<Integer> studentIds) {
+
 		Map<Integer, List<CourseSchedule>> memberCourseMap = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getMemberFlag));
 		Map<Long,List<Long>> courseCalenderMap = new HashMap<>(10);
 		for (Integer memberFlag : memberCourseMap.keySet()) {
@@ -424,7 +425,6 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 						}
 						courseTypeCourseDurationMap.put(typeCoursesEntry.getKey(), sdMap);
 					}
-
 					List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
 
 					for (Integer studentId : studentIds) {
@@ -463,7 +463,8 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 								cssp.setUserId(studentId);
 								//扣除可排课时长
 								//处理经营报表
-								this.calcCourseMinutes(musicGroupPaymentStudentCourseDetails,courseDuration,cssp,musicGroupPaymentCalenders,courseCalenderMap);
+								this.calcCourseMinutes(musicGroupPaymentStudentCourseDetails,courseDuration,
+										cssp,musicGroupPaymentCalenders,courseCalenderMap);
 								typeCourseStudentPayments.add(cssp);
 							}
 							courseScheduleStudentPayments.addAll(typeCourseStudentPayments);
@@ -485,8 +486,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 	private Boolean calcCourseMinutes(List<MusicGroupPaymentStudentCourseDetail> courseDetails,
 									  Integer courseDuration,
 									  CourseScheduleStudentPayment studentPayment,
-									  List<MusicGroupPaymentCalender> musicGroupPaymentCalenders,
-									  Map<Long,List<Long>> courseCalenderMap){
+									  List<MusicGroupPaymentCalender> musicGroupPaymentCalenders,Map<Long,List<Long>> courseCalenderMap){
 		Boolean result = true;
 		Integer courseMinutes = courseDuration;
 		Map<Long, List<MusicGroupPaymentCalender>> calenderMap = musicGroupPaymentCalenders.stream().collect(Collectors.groupingBy(MusicGroupPaymentCalender::getId));
@@ -540,6 +540,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 //					operatingReportCloudService.updateSet(calender,courseIds);
 				}
 				if(courseMinutes == 0){
+
 					return result;
 				}
 			}

+ 29 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -14,10 +14,8 @@ import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendCli
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.musicInstrument.CbsMusicalInstrumentWrapper;
 import com.microsvc.toolkit.common.response.template.R;
-import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
-import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
-import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
-import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ReasonDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ClientEnum;
@@ -74,6 +72,11 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
     @Autowired
     private MemberRankCategoryMapperService memberRankCategoryMapperService;
 
+    @Resource
+    private SysConfigDao sysConfigDao;
+    @Resource
+    private TeacherDao teacherDao;
+
     @Value("${openfeign-client.app-id:1745637981387108354}")
     public Long applicationId;
 
@@ -843,4 +846,26 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
         }).collect(Collectors.toList());
 
     }
+
+    @Override
+    public Boolean getUseNativeEvaluationService(Integer userId) {
+        //是否使用原生评测服务
+        String useNativeEvaluationService = sysConfigDao.findConfigValue("use_native_evaluation_service");
+        if (StringUtils.isEmpty(useNativeEvaluationService) || "0".equals(useNativeEvaluationService)) {
+            return false;
+        }else {
+            //获取使用原生评测服务的分部
+            String useNativeEvaluationServiceOrganIds = sysConfigDao.findConfigValue("use_native_evaluation_service_organ");
+            if (StringUtils.isEmpty(useNativeEvaluationServiceOrganIds)) {
+                return true;
+            }else {
+                SysUser user = teacherDao.getUser(userId);
+                if (user == null) {
+                    return false;
+                }
+                List<String> organIds = Arrays.stream(useNativeEvaluationServiceOrganIds.split(",")) .collect(Collectors.toList());
+                return organIds.contains(user.getOrganId().toString());
+            }
+        }
+    }
 }