|
@@ -1,5 +1,6 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.MusicCompareRecordStat;
|
|
@@ -7,9 +8,15 @@ import com.yonge.cooleshow.biz.dal.enums.EQueryOp;
|
|
|
import com.yonge.cooleshow.biz.dal.mapper.MusicCompareRecordStatMapper;
|
|
|
import com.yonge.cooleshow.biz.dal.service.MusicCompareRecordStatService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
|
|
|
import com.yonge.cooleshow.biz.dal.wrapper.music.MusicCompareWrapper;
|
|
|
+import com.yonge.toolset.mybatis.support.PageUtil;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 曲目练习统计表 服务实现类
|
|
@@ -45,12 +52,37 @@ public class MusicCompareRecordStatServiceImp extends ServiceImpl<MusicCompareRe
|
|
|
// 指标统计信息
|
|
|
Lists.newArrayList(EQueryOp.values()).parallelStream().forEach(dataType -> {
|
|
|
|
|
|
+
|
|
|
+ MusicCompareWrapper.StatQueryInfo queryInfo = JSON.parseObject(info.jsonString(), MusicCompareWrapper.StatQueryInfo.class);
|
|
|
+
|
|
|
switch (dataType) {
|
|
|
case FUNCTION_1: // 练习曲目
|
|
|
+ {
|
|
|
+ List<StatGroupWrapper> groupWrappers = getBaseMapper().selectMusicCompareRecordStatInfo(queryInfo.trainMusic(true));
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(groupWrappers)) {
|
|
|
|
|
|
+ StatGroupWrapper groupWrapper = groupWrappers.get(0);
|
|
|
+
|
|
|
+ wrapper.trainMusicNums(groupWrapper.getMusicNum())
|
|
|
+ .trainDuration(groupWrapper.getDurationNum() / 60)
|
|
|
+ .trainFrequency(groupWrapper.getFrequencyNum());
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
case FUNCTION_2: // 评测曲目
|
|
|
+ {
|
|
|
+ List<StatGroupWrapper> groupWrappers = getBaseMapper().selectMusicCompareRecordStatInfo(queryInfo.evaluateMusic(true));
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(groupWrappers)) {
|
|
|
|
|
|
+ StatGroupWrapper groupWrapper = groupWrappers.get(0);
|
|
|
+
|
|
|
+ wrapper.evaluateMusicNums(groupWrapper.getMusicNum())
|
|
|
+ .evaluateDuration(groupWrapper.getDurationNum() / 60)
|
|
|
+ .evaluateFrequency(groupWrapper.getFrequencyNum());
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -58,6 +90,11 @@ public class MusicCompareRecordStatServiceImp extends ServiceImpl<MusicCompareRe
|
|
|
});
|
|
|
|
|
|
// 曲目统计信息
|
|
|
+ IPage<MusicCompareWrapper.RecordInfo> page = findMusicCompareRecordPage(PageUtil.getPage(info), info);
|
|
|
+ if (Objects.nonNull(page)) {
|
|
|
+
|
|
|
+ wrapper.setRecordInfos(page.getRecords());
|
|
|
+ }
|
|
|
|
|
|
return wrapper;
|
|
|
}
|
|
@@ -70,10 +107,11 @@ public class MusicCompareRecordStatServiceImp extends ServiceImpl<MusicCompareRe
|
|
|
* @return IPage<MusicCompareWrapper.RecordInfo>
|
|
|
*/
|
|
|
@Override
|
|
|
- public IPage<MusicCompareWrapper.RecordInfo> findMusicCompareRecordPage(IPage<Object> page, MusicCompareWrapper.StatQueryInfo query) {
|
|
|
+ public IPage<MusicCompareWrapper.RecordInfo> findMusicCompareRecordPage(IPage<MusicCompareWrapper.RecordInfo> page, MusicCompareWrapper.StatQueryInfo query) {
|
|
|
|
|
|
// 用户曲目统计信息
|
|
|
+ List<MusicCompareWrapper.RecordInfo> recordInfos = getBaseMapper().selectMusicCompareRecordPage(page, query);
|
|
|
|
|
|
- return null;
|
|
|
+ return page.setRecords(recordInfos);
|
|
|
}
|
|
|
}
|