shangke пре 6 месеци
родитељ
комит
35a42a3276

+ 0 - 14
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetCbsController.java

@@ -7,34 +7,21 @@ import com.dayaedu.cbs.common.enums.school.EMusicSheetType;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dto.AppMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetRelatedQueryInfo;
-import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.UserTenantAlbumRecord;
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.MusicSortType;
 import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.wrapper.InstrumentWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.MusicSheetWrapper;
-import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
-import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.base.page.QueryInfo;
-import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
-import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import io.swagger.annotations.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -42,7 +29,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import javax.validation.Valid;
 import java.util.*;
 import java.util.stream.Collectors;
 

+ 1 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/CbsQrCodeScanServiceImpl.java

@@ -45,6 +45,7 @@ public class CbsQrCodeScanServiceImpl {
         if (sysUser == null) {
             throw new BizException(HttpStatus.UNAUTHORIZED.value(), "用户不存在");
         }
+        userInfo.setUserId(String.valueOf(sysUser.getId()));
         // 查询老师机构ID
         Long tenantId = sysUserService.getTenantByClient(sysUser.getId(), "TEACHER");
         if (Objects.nonNull(tenantId) && tenantId == -1L) {

+ 65 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CbsMusicSheetServiceImpl.java

@@ -3,21 +3,25 @@ package com.yonge.cooleshow.biz.dal.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.properties.OpenFeignClientConfigProperties;
 import com.dayaedu.cbs.openfeign.service.CbsMusicSheetService;
 import com.dayaedu.cbs.openfeign.wrapper.music.*;
 import com.microsvc.toolkit.common.response.paging.PageInfo;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.MusicSheetTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.biz.dal.service.MusicTagService;
 import com.yonge.cooleshow.biz.dal.service.SubjectService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.payment.util.DistributedLock;
 import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
@@ -25,7 +29,6 @@ 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;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -52,6 +55,8 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
 
     @Autowired
     private RedissonClient redissonClient;
+    @Autowired
+    private SysUserService sysUserService;
 
 
     @Override
@@ -194,4 +199,61 @@ public class CbsMusicSheetServiceImpl implements CbsMusicSheetService {
             musicSheetUpdate.setUserId(userId);
         }
     }
+
+    /**
+     * 查询曲目应用拓展信息
+     * @param query CbsMusicSheetAppWrapper.MusicSheetQuery
+     * @return CbsMusicSheetAppWrapper.MusicSheetDetail
+     */
+    @Override
+    public CbsMusicSheetAppWrapper.MusicSheetDetail getMusicSheetDetail(CbsMusicSheetAppWrapper.MusicSheetQuery query) {
+
+        SysUser sysUser = sysUserService.getByUserId(query.getUserId());
+        if (Objects.isNull(sysUser)) {
+            throw new BizException("用户信息获取失败");
+        }
+
+        // 根据总控曲目ID,查询应用端曲目
+        MusicSheet musicScore = musicSheetService.lambdaQuery()
+            .eq(MusicSheet::getCbsMusicSheetId, query.getCbsMusicId())
+            .eq(MusicSheet::getDelFlag, false)
+            .last("limit 1")
+            .one();
+        if (Objects.isNull(musicScore)) {
+            throw new BizException("曲目不存在");
+        }
+
+        // 客户端类型
+        ClientEnum clientEnum = ClientEnum.SYSTEM;
+        if (ClientEnum.TEACHER.getCode().equals(query.getClientType())
+            || ClientEnum.STUDENT.getCode().equals(query.getClientType())) {
+            clientEnum = ClientEnum.valueOf(query.getClientType());
+        }
+        MusicSheetDetailVo detail = musicSheetService.detail(musicScore.getId().toString(), sysUser, clientEnum, query.getTenantAlbumId());
+        if (Objects.isNull(detail)) {
+            throw new BizException("曲目详情不存在");
+        }
+
+        // 返回应用端曲目
+        CbsMusicSheetAppWrapper.MusicSheetDetail music = CbsMusicSheetAppWrapper.MusicSheetDetail
+            .builder()
+            .bizId(musicScore.getId())
+            .paymentType(detail.getPaymentType())
+            .scoreType(detail.getScoreType())
+            .isConvertibleScore(detail.getNotation() == YesOrNoEnum.YES)
+            .play(detail.getPlay().name())
+            .buyed(detail.getBuyed())
+            .musicPrice(detail.getMusicPrice())
+            .specialPercussionFlag(false)
+            .build();
+
+        // 如果是合奏 并且乐器ID = 2268
+        if ("2268".equals(query.getMusicalInstrumentIds())
+            && musicScore.getMusicSheetType() == MusicSheetTypeEnum.CONCERT) {
+            // 设置特殊打击乐标识
+            music.setSpecialPercussionFlag(true);
+        }
+
+        return music;
+    }
 }

+ 1 - 1
pom.xml

@@ -23,7 +23,7 @@
 		<google.zxing.version>3.4.0</google.zxing.version>
 		<redisson.version>3.11.5</redisson.version>
 		<maven.test.skip>true</maven.test.skip>
-		<cbs.version>1.0.22</cbs.version>
+		<cbs.version>1.1.0</cbs.version>
 		<microsvc.version>1.1.4</microsvc.version>
 	</properties>