Browse Source

add:首页统计

liujunchi 3 years ago
parent
commit
e897f8b852

+ 8 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -117,4 +114,11 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * @return
      */
     Integer selectTeacherMusicSheetCount(@Param("userId") Long userId);
+
+    /**
+     * 点播数量统计
+     *
+     * @return
+     */
+    HomeMusicSheetVo selectMusicNum();
 }

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -215,4 +215,12 @@ public interface MusicSheetService extends IService<MusicSheet> {
      * @return 老师过审的曲目数量
      */
     Integer getTeacherMusicSheetCount(Long userId);
+
+    /**
+     * 获取首页统计数据
+     *
+     * @return
+     */
+    HomeMusicSheetVo getMusicSheetHome();
+
 }

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

@@ -543,6 +543,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
 
     }
 
+    @Override
+    public HomeMusicSheetVo getMusicSheetHome() {
+
+        HomeMusicSheetVo homeMusicSheetVo = baseMapper.selectMusicNum();
+        homeMusicSheetVo.
+
+    }
+
     private SysUser getSysUser(Long userId) {
         return Optional.ofNullable(userId)
                        .map(sysUserFeignService::queryUserById)

+ 97 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HomeMusicSheetVo.java

@@ -0,0 +1,97 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-05-07
+ */
+@ApiModel("首页点播数据统计")
+public class HomeMusicSheetVo {
+
+    @ApiModelProperty("乐谱总数")
+    private Integer musicSheetCount;
+
+    @ApiModelProperty("平台乐谱")
+    private Integer musicSheetTeacherCount;
+
+    @ApiModelProperty("老师上传")
+    private Integer musicSheetPlatformCount;
+
+    @ApiModelProperty("集合")
+    private List<MusicSheetSmall> musicSheetSmallList;
+
+    static class MusicSheetSmall{
+
+        @ApiModelProperty("曲目编号")
+        private Long  musicSheetId;
+
+        @ApiModelProperty("曲目名称")
+        private String musicSheetName;
+
+        @ApiModelProperty("付费人数")
+        private Integer num;
+
+
+        public Long getMusicSheetId() {
+            return musicSheetId;
+        }
+
+        public void setMusicSheetId(Long musicSheetId) {
+            this.musicSheetId = musicSheetId;
+        }
+
+        public String getMusicSheetName() {
+            return musicSheetName;
+        }
+
+        public void setMusicSheetName(String musicSheetName) {
+            this.musicSheetName = musicSheetName;
+        }
+
+        public Integer getNum() {
+            return num;
+        }
+
+        public void setNum(Integer num) {
+            this.num = num;
+        }
+    }
+
+    public Integer getMusicSheetCount() {
+        return musicSheetCount;
+    }
+
+    public void setMusicSheetCount(Integer musicSheetCount) {
+        this.musicSheetCount = musicSheetCount;
+    }
+
+    public Integer getMusicSheetTeacherCount() {
+        return musicSheetTeacherCount;
+    }
+
+    public void setMusicSheetTeacherCount(Integer musicSheetTeacherCount) {
+        this.musicSheetTeacherCount = musicSheetTeacherCount;
+    }
+
+    public Integer getMusicSheetPlatformCount() {
+        return musicSheetPlatformCount;
+    }
+
+    public void setMusicSheetPlatformCount(Integer musicSheetPlatformCount) {
+        this.musicSheetPlatformCount = musicSheetPlatformCount;
+    }
+
+    public List<MusicSheetSmall> getMusicSheetSmallList() {
+        return musicSheetSmallList;
+    }
+
+    public void setMusicSheetSmallList(List<MusicSheetSmall> musicSheetSmallList) {
+        this.musicSheetSmallList = musicSheetSmallList;
+    }
+}

+ 12 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -458,4 +458,16 @@
         where user_id_ = #{userId}
         and state_ = 1 and audit_status_ = 'PASS' and del_flag_ = 0
     </select>
+
+    <select id="selectMusicNum" resultType="com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo">
+
+        select
+            sum(if(ms.source_type_ = 'PLATFORM',1,0)) as musicSheetPlatformCount,
+            sum(if(ms.source_type_ = 'TEACHER',1,0)) as musicSheetTeacherCount,
+            count(1) as musicSheetCount
+        from music_sheet ms
+        where ms.state_ = 1 and ms.del_flag_ = 0 and ms.audit_status_ = 'PASS'
+
+
+    </select>
 </mapper>