Browse Source

fix 云教练接口统一

shangke 6 months ago
parent
commit
33336ea3f2

+ 6 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/CbsQrCodeScanServiceImpl.java

@@ -5,17 +5,16 @@ import com.dayaedu.cbs.openfeign.wrapper.qrcode.CbsQrCodeScanWrapper;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.core.service.CustomTokenServices;
-import com.ym.mec.auth.dal.dao.SysConfigDao;
 import com.ym.mec.auth.service.SysUserService;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.HttpStatus;
 import org.springframework.security.oauth2.provider.OAuth2Authentication;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Map;
+import java.util.Objects;
 import java.util.UUID;
 
 @Service
@@ -34,6 +33,11 @@ public class CbsQrCodeScanServiceImpl{
         CbsQrCodeScanWrapper.UserInfo userInfo = new CbsQrCodeScanWrapper.UserInfo();
         userInfo.setUsername(customTokenServices.loadAuthentication(req.getToken()).getName().split(":")[1]);
         userInfo.setClientTypes("TEACHER");
+        // 根据手机号查询用户信息
+        SysUser sysUser = sysUserService.queryByPhone(userInfo.getUsername());
+        if (Objects.nonNull(sysUser)) {
+            userInfo.setUserId(String.valueOf(sysUser.getId()));
+        }
         return userInfo;
     }
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicSheetWrapper.java

@@ -521,6 +521,9 @@ public class MusicSheetWrapper {
     }
 
     @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
     public static class ClientMusicSheetInfoQuery{
 
         @ApiModelProperty("曲目ID")

+ 60 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CbsMusicSheetServiceImpl.java

@@ -3,13 +3,17 @@ package com.ym.mec.biz.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.dayaedu.cbs.common.enums.music.EMusicSourceType;
+import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
 import com.dayaedu.cbs.openfeign.service.CbsMusicSheetService;
 import com.dayaedu.cbs.openfeign.wrapper.music.*;
+import com.google.common.collect.Lists;
 import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.ym.mec.biz.dal.dao.SysUserTenantDao;
 import com.ym.mec.biz.dal.entity.Instrument;
 import com.ym.mec.biz.dal.entity.SysMusicScore;
+import com.ym.mec.biz.dal.enums.ClientEnum;
+import com.ym.mec.biz.dal.wrapper.MusicSheetWrapper;
 import com.ym.mec.biz.service.InstrumentService;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 import com.ym.mec.biz.service.SysMusicScoreService;
@@ -17,6 +21,7 @@ import com.ym.mec.common.exception.BizException;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -39,6 +44,9 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
     @Resource
     private InstrumentService instrumentService;
 
+    @Autowired
+    private SysMusicScoreService musicSheetService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean saveApplicationExtend(List<CbsMusicSheetApplicationExtendWrapper.MusicSheetApplicationExtend> addMusicSheet) {
@@ -129,4 +137,56 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
         sysMusicScoreService.getDao().updateMusicSheet(musicSheetUpdate);
         return true;
     }
+
+    /**
+     * 获取曲目应用拓展详情
+     * @param query CbsMusicSheetAppWrapper.MusicSheetQuery
+     * @return CbsMusicSheetAppWrapper.MusicSheetDetail
+     */
+    @Override
+    public CbsMusicSheetAppWrapper.MusicSheetDetail getMusicSheetDetail(CbsMusicSheetAppWrapper.MusicSheetQuery query) {
+
+        // 根据总控曲目ID,查询应用端曲目
+        List<SysMusicScore> musicScores = sysMusicScoreService.getDao().findByCbsId(Lists.newArrayList(query.getCbsMusicId()), false);
+        if (org.apache.commons.collections.CollectionUtils.isEmpty(musicScores)) {
+            throw new BizException("曲目不存在");
+        }
+
+        // 返回应用端曲目
+        SysMusicScore musicScore = musicScores.get(0);
+        CbsMusicSheetAppWrapper.MusicSheetDetail music = CbsMusicSheetAppWrapper.MusicSheetDetail
+            .builder()
+            .bizId(musicScore.getId().longValue())
+            .paymentType(StringUtils.isBlank(musicScore.getRankIds()) ? "FREE" : "VIP")
+            .bizMusicCategoryId(musicScore.getCategoriesId() == null ? null : musicScore.getCategoriesId().longValue())
+            .scoreType(musicScore.getScoreType())
+            .isConvertibleScore(musicScore.getIsConvertibleScore())
+            .specialPercussionFlag(false)
+            .build();
+
+        // 如果是合奏 并且乐器ID = 2268
+        if ("2268".equals(query.getMusicalInstrumentIds())
+            && musicScore.getMusicSheetType().equals(EMusicSheetType.CONCERT.getCode())) {
+            // 设置特殊打击乐标识
+            music.setSpecialPercussionFlag(true);
+        }
+
+        // 学生端查询曲目使用状态
+        if (query.getClientType().equals(ClientEnum.STUDENT.getCode())) {
+            MusicSheetWrapper.ClientMusicSheetInfoQuery clientQuery = MusicSheetWrapper.ClientMusicSheetInfoQuery
+                .builder()
+                .userType(ClientEnum.STUDENT)
+                .userId(query.getUserId().intValue())
+                .musicSheetId(musicScore.getId())
+                .build();
+            MusicSheetWrapper.ClientMusicSheetInfo clientMusicSheetInfo = musicSheetService.queryMusicScoreDetail(clientQuery);
+            if (clientMusicSheetInfo != null) {
+                music.setUseStatus(clientMusicSheetInfo.getUseStatus());
+            } else {
+                music.setUseStatus("LOCK");
+            }
+        }
+
+        return music;
+    }
 }

+ 1 - 1
pom.xml

@@ -26,7 +26,7 @@
 		<docker.registry.repository>127.0.0.1:5000</docker.registry.repository>
 		<docker.maven.plugin.version>1.2.2</docker.maven.plugin.version>
 		<com.microsvc.toolkit.version>1.0.8-RC1</com.microsvc.toolkit.version>
-		<cbs.version>1.0.23</cbs.version>
+		<cbs.version>1.1.0</cbs.version>
 	</properties>
 
 	<dependencyManagement>