瀏覽代碼

1.老师分页接口添加上传曲谱数量返回

yuanliang 1 年之前
父節點
當前提交
09479a399f

+ 13 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -34,7 +34,8 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * @param query 查询条件
      * @param query 查询条件
      * @return
      * @return
      */
      */
-    List<MusicSheetVo> selectAlbumDetailPage(@Param("page") IPage<MusicSheetVo> page, @Param("param") MusicAlbumDetailSearch query);
+    List<MusicSheetVo> selectAlbumDetailPage(@Param("page") IPage<MusicSheetVo> page,
+                                             @Param("param") MusicAlbumDetailSearch query);
 
 
     /**
     /**
      * 获取曲目详情
      * 获取曲目详情
@@ -47,7 +48,9 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
     /**
     /**
      * 分页查询
      * 分页查询
      */
      */
-    List<MusicSheetVo> selectStudentMusicPage(@Param("page") IPage<MusicSheetVo> page, @Param("param") StudentMusicSheetSearch query, @Param("clientType") ClientEnum clientType);
+    List<MusicSheetVo> selectStudentMusicPage(@Param("page") IPage<MusicSheetVo> page,
+                                              @Param("param") StudentMusicSheetSearch query,
+                                              @Param("clientType") ClientEnum clientType);
 
 
     /**
     /**
      * 我的单曲
      * 我的单曲
@@ -62,12 +65,14 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
     /**
     /**
      * 收藏单曲
      * 收藏单曲
      *
      *
-     * @param page  分页信息
-     * @param query 查询条件
+     * @param page       分页信息
+     * @param query      查询条件
      * @param clientType ClientEnum
      * @param clientType ClientEnum
      * @return list
      * @return list
      */
      */
-    List<MusicSheetVo> selectFavoriteMusicPage(@Param("page") IPage<MusicSheetVo> page, @Param("param") StudentMusicSheetSearch query, @Param("clientType") ClientEnum clientType);
+    List<MusicSheetVo> selectFavoriteMusicPage(@Param("page") IPage<MusicSheetVo> page,
+                                               @Param("param") StudentMusicSheetSearch query,
+                                               @Param("clientType") ClientEnum clientType);
 
 
     /**
     /**
      * 最近练习曲目
      * 最近练习曲目
@@ -167,6 +172,7 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
 
 
     /**
     /**
      * 单曲数量统计
      * 单曲数量统计
+     *
      * @param musicIds 单曲ID
      * @param musicIds 单曲ID
      * @return List<StatGroupWrapper>
      * @return List<StatGroupWrapper>
      */
      */
@@ -176,4 +182,6 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * 修改收藏数
      * 修改收藏数
      */
      */
     void updateFavoriteCount(@Param("musicSheetId") Long musicSheetId, @Param("state") YesOrNoEnum state);
     void updateFavoriteCount(@Param("musicSheetId") Long musicSheetId, @Param("state") YesOrNoEnum state);
+
+    List<MusicSheetUploadCountVo> countByUser(@Param("userIds") List<Long> userIds);
 }
 }

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

@@ -72,6 +72,9 @@ public class TeacherSearch extends QueryInfo{
 	@ApiModelProperty("结算方式")
 	@ApiModelProperty("结算方式")
 	private ESettlementFrom settlementFrom;
 	private ESettlementFrom settlementFrom;
 
 
+	@ApiModelProperty("老师ID")
+	private Long userId;
+
 	@ApiModelProperty(value = "排序方式, 默认 create_time_ desc", hidden = true)
 	@ApiModelProperty(value = "排序方式, 默认 create_time_ desc", hidden = true)
 	private String orderBy;
 	private String orderBy;
 	public YesOrNoEnum getTrainFlag() {
 	public YesOrNoEnum getTrainFlag() {

+ 3 - 14
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -16,26 +16,13 @@ import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
-import com.yonge.cooleshow.biz.dal.entity.UserOrderDetail;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
-import com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetWebsiteDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentTotalVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherAuditMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
-import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.utils.easyexcel.ExcelDataReaderProperty;
 import com.yonge.toolset.utils.easyexcel.ExcelDataReaderProperty;
-import org.springframework.transaction.annotation.Transactional;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
@@ -390,4 +377,6 @@ public interface MusicSheetService extends IService<MusicSheet> {
      *
      *
      */
      */
     void orderAfterSheet(UserPaymentOrderWrapper.OrderGoodsInfo orderGoodsInfo);
     void orderAfterSheet(UserPaymentOrderWrapper.OrderGoodsInfo orderGoodsInfo);
+
+    List<MusicSheetUploadCountVo> countByUser(List<Long> userIds);
 }
 }

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

@@ -38,23 +38,7 @@ import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
-import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
-import com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetWebsiteDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
-import com.yonge.cooleshow.biz.dal.vo.ShareProfitVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentTotalVo;
-import com.yonge.cooleshow.biz.dal.vo.StudentVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherAuditMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetListVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
-import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
@@ -1652,6 +1636,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
     }
 
 
     @Override
     @Override
+    public List<MusicSheetUploadCountVo> countByUser(List<Long> userIds) {
+        return this.getDao().countByUser(userIds);
+    }
+
+    @Override
     public Boolean updateMusicImg(MusicImgDto musicImgDto, Long musicSheetId) {
     public Boolean updateMusicImg(MusicImgDto musicImgDto, Long musicSheetId) {
         MusicSheet musicSheet = new MusicSheet();
         MusicSheet musicSheet = new MusicSheet();
         musicSheet.setMusicImg(musicImgDto.getMusicImg());
         musicSheet.setMusicImg(musicImgDto.getMusicImg());

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

@@ -12,6 +12,7 @@ import com.google.common.collect.Lists;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
 import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.service.*;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetUploadCountVo;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
 import com.yonge.cooleshow.common.enums.ESettlementFrom;
 import com.yonge.cooleshow.common.enums.ESettlementFrom;
@@ -115,6 +116,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     @Autowired
     @Autowired
     private ImUserFriendService imUserFriendService;
     private ImUserFriendService imUserFriendService;
 
 
+    @Autowired
+    private MusicSheetService musicSheetService;
+
     @Override
     @Override
     public TeacherVo detail(Long userId) {
     public TeacherVo detail(Long userId) {
         TeacherVo detail = baseMapper.detail(userId);
         TeacherVo detail = baseMapper.detail(userId);
@@ -156,7 +160,12 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
 
         Map<Long, String> subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getId, Subject::getName));
         Map<Long, String> subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getId, Subject::getName));
 
 
+        List<Long> userIds = teacherVos.stream().map(Teacher::getUserId).distinct().collect(Collectors.toList());
+        List<MusicSheetUploadCountVo> musicSheetUploadCountVos = musicSheetService.countByUser(userIds);
+        Map<Long, Integer> countByUser = musicSheetUploadCountVos.stream()
+                .collect(Collectors.toMap(MusicSheetUploadCountVo::getUserId, MusicSheetUploadCountVo::getCount));
         for (TeacherVo teacherVo : teacherVos) {
         for (TeacherVo teacherVo : teacherVos) {
+            teacherVo.setMusicSheetCount(countByUser.getOrDefault(teacherVo.getUserId(), 0));
             if (null == teacherVo.getSubjectId()) {
             if (null == teacherVo.getSubjectId()) {
                 continue;
                 continue;
             }
             }

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetUploadCountVo.java

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 曲谱上传数量统计
+ */
+@ApiModel("曲谱上传数量统计")
+@Data
+public class MusicSheetUploadCountVo {
+
+
+   @ApiModelProperty("上传人")
+   private Long userId;
+
+    @ApiModelProperty("上传数量")
+    private Integer count;
+}

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherVo.java

@@ -93,6 +93,9 @@ public class TeacherVo extends Teacher {
     @ApiModelProperty("结算方式,TEACHER:结算给老师,TENANT:结算给机构")
     @ApiModelProperty("结算方式,TEACHER:结算给老师,TENANT:结算给机构")
     private ESettlementFrom settlementFrom;
     private ESettlementFrom settlementFrom;
 
 
+    @ApiModelProperty("曲谱数量")
+    private Integer musicSheetCount;
+
 
 
     public YesOrNoEnum getDelFlag() {
     public YesOrNoEnum getDelFlag() {
         return delFlag;
         return delFlag;

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

@@ -790,5 +790,15 @@
         </choose>
         </choose>
         where id_ = #{musicSheetId}
         where id_ = #{musicSheetId}
     </update>
     </update>
+
+    <select id="countByUser" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetUploadCountVo">
+        select user_id_ userId, count(id_) count
+        from music_sheet
+        where del_flag_ = false and user_id_ in
+        <foreach collection="userIds" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+        group by user_id_
+    </select>
     <!--单曲专辑数量统计-->
     <!--单曲专辑数量统计-->
 </mapper>
 </mapper>