Forráskód Böngészése

Merge remote-tracking branch 'origin/dev_1_2_20220802' into dev_1_2_20220802

liweifan 3 éve
szülő
commit
b379d60522

+ 18 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicAlbumController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 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;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
@@ -162,6 +163,23 @@ public class MusicAlbumController extends BaseController {
     }
 
 
+    /**
+     * 修改曲目的排序值
+     */
+    @PostMapping(value = "/detail/updateMusicSheet" ,consumes="application/json", produces="application/json")
+    @ApiOperation(value = "专辑详情修改曲目排序",  httpMethod="POST", consumes="application/json", produces="application/json")
+    @PreAuthorize("@pcs.hasPermissions('music/album/detail/updateMusicSheet')")
+    public HttpResponseResult<Boolean> updateMusicSheet(@Valid @RequestBody MusicAlbumSheetSortDto query) {
+        if (StringUtil.isEmpty(query.getAlbumId())) {
+            return failed("专辑编号ID不能为空");
+        }
+        if (StringUtil.isEmpty(query.getMusicSheetId())) {
+            return failed("曲目编号不能为空");
+        }
+        return succeed(musicAlbumService.updateMusicSheet(query));
+    }
+
+
 
     /**
      * 专辑详情添加曲目列表

+ 48 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/MusicAlbumSheetSortDto.java

@@ -0,0 +1,48 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-08-08
+ */
+@ApiModel("设置专辑中曲目的排序值")
+public class MusicAlbumSheetSortDto {
+
+    @ApiModelProperty("专辑id")
+    private Long albumId;
+
+    @ApiModelProperty("曲目id")
+    private Long musicSheetId;
+
+    @ApiModelProperty("排序值")
+    private Integer sortNumber;
+
+
+    public Long getAlbumId() {
+        return albumId;
+    }
+
+    public void setAlbumId(Long albumId) {
+        this.albumId = albumId;
+    }
+
+    public Long getMusicSheetId() {
+        return musicSheetId;
+    }
+
+    public void setMusicSheetId(Long musicSheetId) {
+        this.musicSheetId = musicSheetId;
+    }
+
+    public Integer getSortNumber() {
+        return sortNumber;
+    }
+
+    public void setSortNumber(Integer sortNumber) {
+        this.sortNumber = sortNumber;
+    }
+}

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicSheetSearch.java

@@ -60,6 +60,18 @@ public class MusicSheetSearch  extends QueryInfo{
     @ApiModelProperty(value = "查看我自己的曲目",required = true)
     private Boolean myself;
 
+
+    @ApiModelProperty(value = "是否置顶(0:否;1:是)")
+    private YesOrNoEnum topFlag;  //是否置顶(0:否;1:是)
+
+    public YesOrNoEnum getTopFlag() {
+        return topFlag;
+    }
+
+    public void setTopFlag(YesOrNoEnum topFlag) {
+        this.topFlag = topFlag;
+    }
+
     public Boolean getMyself() {
         return myself;
     }

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

@@ -3,6 +3,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.biz.dal.dto.MusicAlbumSheetDto;
+import com.yonge.cooleshow.biz.dal.dto.MusicAlbumSheetSortDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicAlbumSearch;
@@ -124,4 +125,12 @@ public interface MusicAlbumService extends IService<MusicAlbum> {
      * @return
      */
     IPage<MusicAlbumVo> selectStudentPage(IPage<MusicAlbumVo> page, MusicAlbumSearch query);
+
+    /**
+     * 修改专辑中 曲目的排序值
+     *
+     * @param query 排序信息
+     * @return
+     */
+    Boolean updateMusicSheet(MusicAlbumSheetSortDto query);
 }

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

@@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQu
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dao.MusicAlbumDao;
 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;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
+import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
 import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
@@ -220,6 +222,18 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         return iPage;
     }
 
+    @Override
+    public Boolean updateMusicSheet(MusicAlbumSheetSortDto query) {
+
+         return albumMusicRelateService.lambdaUpdate()
+                .eq(AlbumMusicRelate::getAlbumId,query.getAlbumId())
+                .eq(AlbumMusicRelate::getMusicSheetId,query.getMusicSheetId())
+                .set(AlbumMusicRelate::getSortNumber,query.getSortNumber())
+                .update();
+
+
+    }
+
     private boolean checkNameRepeat(String albumName, Long id) {
         LambdaQueryChainWrapper<MusicAlbum> eq = this.lambdaQuery()
                                                      .eq(MusicAlbum::getDelFlag,0)

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

@@ -913,6 +913,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         Integer count = this.lambdaQuery()
                             .eq(MusicSheet::getDelFlag, YesOrNoEnum.NO)
                             .eq(MusicSheet::getTopFlag, YesOrNoEnum.YES)
+                            .eq(MusicSheet::getState, YesOrNoEnum.YES)
                             .count();
         if (count >=10) {
             throw new BizException("首页推荐数量达到上限,请先取消其他曲谱推荐");

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java

@@ -35,6 +35,18 @@ public class MusicSheetVo extends MusicSheet {
     @ApiModelProperty("是否购买/VIP(0:否,1:是) ")
     private YesOrNoEnum play;
 
+    @ApiModelProperty("专辑中曲目的排序号")
+    private Integer albumSortNumber;  //排序号
+
+
+    public Integer getAlbumSortNumber() {
+        return albumSortNumber;
+    }
+
+    public void setAlbumSortNumber(Integer albumSortNumber) {
+        this.albumSortNumber = albumSortNumber;
+    }
+
     public Long getFavoriteCount() {
         return favoriteCount;
     }

+ 15 - 13
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -226,39 +226,41 @@
 
     <select id="selectAdminLiveStudentPage" resultType="com.yonge.cooleshow.biz.dal.vo.LiveCourseGroupStudentVo">
         select
-        cssp.id_ as paymentId,
+        a.id_ as paymentId,
         su.id_ as studentId,
         su.username_ as studentName,
-        sum(cssp.actual_price_) as price,
-        cssp.order_no_ as orderNo,
+        a.actual_price_ as price,
+        a.order_no_ as orderNo,
         su.phone_ as phone,
-        cssp.created_time_ as payTime
-        from course_schedule_student_payment cssp
-        left join sys_user su on cssp.user_id_ = su.id_
+        a.create_time_ as payTime
+        from user_order_detail as a
+        left join user_order as o on a.order_no_ = o.order_no_
+        left join sys_user as su on o.user_id_ = su.id_
         <where>
+            a.good_type_ = 'LIVE' and o.status_ = 'PAID'
             <if test="param.courseGroupId != null">
-                and #{param.courseGroupId} = cssp.course_group_id_
+                and #{param.courseGroupId} = a.biz_id_
             </if>
             <if test="param.search != null and param.search != ''">
                 and (
-                    cssp.course_group_id_ like concat('%',#{param.search},'%')
+                a.biz_id_ like concat('%',#{param.search},'%')
                     or su.id_ like concat('%',#{param.search},'%')
                     or su.username_ like concat('%',#{param.search},'%')
                     or su.phone_ like concat('%',#{param.search},'%')
                 )
             </if>
             <if test="param.orderNo != null and param.orderNo != ''">
-                and cssp.order_no_ like concat('%',#{param.orderNo},'%')
+                and a.order_no_ like concat('%',#{param.orderNo},'%')
             </if>
             <if test="param.startTime != null">
-                and #{param.startTime} &lt;= cssp.created_time_
+                and #{param.startTime} &lt;= a.create_time_
             </if>
             <if test="param.endTime != null">
-                and #{param.endTime} &gt;= cssp.created_time_
+                and #{param.endTime} &gt;= a.create_time_
             </if>
         </where>
-        group by cssp.user_id_
-        order by  cssp.id_ desc
+        group by o.user_id_
+        order by  a.id_ desc
     </select>
 
     <select id="selectAdminLivePlan" resultType="com.yonge.cooleshow.biz.dal.vo.LiveCourseGroupPlanVo">

+ 8 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -124,6 +124,10 @@
         <if test="param.chargeType != null">
             and t.charge_type_ = #{param.chargeType}
         </if>
+        <if test="param.topFlag != null">
+            and t.top_flag_ = #{param.topFlag}
+        </if>
+
     </sql>
 
     <select id="selectAlbumDetailPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -131,7 +135,10 @@
         ,(select group_concat(mt.name_) from music_tag mt
         where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,(select group_concat(s.name_) from subject s
-        where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
+            where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
+        ,(select count(1) from music_favorite f
+            where f.music_sheet_id_ = t.id_) as favoriteCount
+        ,amr.sort_number_ as albumSortNumber
         from music_sheet t
         left join album_music_relate amr on t.id_ = amr.music_sheet_id_
         <where>

+ 19 - 8
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/open/OpenShareController.java

@@ -3,10 +3,8 @@ package com.yonge.cooleshow.teacher.controller.open;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.ShareProfitParam;
-import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
-import com.yonge.cooleshow.biz.dal.service.MemberPriceSettingsService;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
-import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
+import com.yonge.cooleshow.biz.dal.service.*;
+import com.yonge.cooleshow.biz.dal.vo.MusicActivityVo;
 import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -15,10 +13,7 @@ import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
@@ -90,4 +85,20 @@ public class OpenShareController extends BaseController {
         }
         return succeed(memberPriceSettingsService.shareVipProfit(sysUser,param.getBizId()));
     }
+
+
+
+    @Autowired
+    private ActivityPlanService activityPlanService;
+
+
+    @ApiOperation(value = "老师活动分享", notes = "活动id")
+    @PostMapping(value = "/activity/info/{id}")
+    public HttpResponseResult<MusicActivityVo> getDetail(@PathVariable Long id) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+
+        MusicActivityVo activityVo = activityPlanService.getActivityInfo(id, user);
+
+        return succeed(activityVo);
+    }
 }