liujunchi 2 éve
szülő
commit
e24a6e09ed

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/ShareProfitParam.java

@@ -13,7 +13,7 @@ public class ShareProfitParam {
     @ApiModelProperty("分享人id")
     private Long userId;
 
-    @ApiModelProperty("曲目/直播课/视频课 id")
+    @ApiModelProperty("曲目/专辑/直播课/视频课 id")
     private Long bizId;
 
     public Long getUserId() {

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicAlbumService.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetSortDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
@@ -12,6 +13,7 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 
 import java.util.List;
@@ -138,4 +140,9 @@ public interface MusicAlbumService extends IService<MusicAlbum> {
      * @return
      */
     Boolean updateMusicSheet(MusicAlbumSheetSortDto query);
+
+    /**
+     * 专辑分享分润
+     */
+    ShareProfitVo albumShareProfit(SysUser sysUser, Long albumId);
 }

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java

@@ -4,7 +4,9 @@ import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -246,6 +248,21 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
 
     }
 
+    @Override
+    public ShareProfitVo albumShareProfit(SysUser sysUser, Long albumId) {
+        MusicAlbumVo musicAlbum = baseMapper.selectMusicAlbumById(albumId);
+        if (musicAlbum == null) {
+            throw new BizException("未找到专辑信息");
+        }
+        ShareProfitVo shareProfitVo = new ShareProfitVo();
+        shareProfitVo.setTeacherId(sysUser.getId());
+        shareProfitVo.setName(sysUser.getUsername());
+        shareProfitVo.setAvatar(sysUser.getAvatar());
+        shareProfitVo.setType("ALBUM");
+        shareProfitVo.setMusicAlbum(musicAlbum);
+        return shareProfitVo;
+    }
+
     private boolean checkNameRepeat(String albumName, Long id) {
         LambdaQueryChainWrapper<MusicAlbum> eq = this.lambdaQuery()
                                                      .eq(MusicAlbum::getDelFlag,0)

+ 12 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/ShareProfitVo.java

@@ -28,7 +28,7 @@ public class ShareProfitVo {
     @ApiModelProperty("二维码链接")
     private String url;
 
-    @ApiModelProperty("曲目: MUSIC,直播课 :LIVE,视频课:VIDEO ,会员 :VIP")
+    @ApiModelProperty("曲目: MUSIC,ALBUM:专辑 直播课 :LIVE,视频课:VIDEO ,会员 :VIP")
     private String type;
 
     @ApiModelProperty("专属优惠 0:否 1:是")
@@ -40,6 +40,9 @@ public class ShareProfitVo {
     @ApiModelProperty("乐谱信息")
     private MusicSheetDetailVo musicSheet;
 
+    @ApiModelProperty("专辑信息")
+    private MusicAlbumVo musicAlbum;
+
     @ApiModelProperty("直播课程组信息")
     private LiveCourseGroupShareVo liveCourseGroup;
 
@@ -49,6 +52,14 @@ public class ShareProfitVo {
     @ApiModelProperty("会员信息")
     private List<MemberPriceSettingsVo> vip;
 
+    public MusicAlbumVo getMusicAlbum() {
+        return musicAlbum;
+    }
+
+    public void setMusicAlbum(MusicAlbumVo musicAlbum) {
+        this.musicAlbum = musicAlbum;
+    }
+
     public Long getActivityId() {
         return activityId;
     }

+ 12 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/open/OpenShareController.java

@@ -47,6 +47,9 @@ public class OpenShareController extends BaseController {
     @Autowired
     private SysConfigService sysConfigService;
 
+    @Autowired
+    private MusicAlbumService musicAlbumService;
+
     /**
      * 服务对象
      */
@@ -63,6 +66,15 @@ public class OpenShareController extends BaseController {
         return succeed(musicSheetService.shareMusicSheetProfit(sysUser,param.getBizId()));
     }
 
+    @ApiOperation(value = "老师专辑分享分润")
+    @PostMapping(value="/albumShareProfit")
+    public HttpResponseResult<ShareProfitVo> albumShareProfit(@RequestBody ShareProfitParam param) {
+        SysUser sysUser = sysUserFeignService.queryUserById(param.getUserId());
+        if (sysUser == null  || sysUser.getId() == null) {
+            return failed("用户信息获取失败");
+        }
+        return succeed(musicAlbumService.albumShareProfit(sysUser,param.getBizId()));
+    }
 
     @ApiOperation(value = "老师直播课分享分润")
     @PostMapping(value= "/liveShareProfit")