Browse Source

管乐迷需求迭代

zouxuan 2 years ago
parent
commit
8dda4a51ed

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicCompareRecordDao.java

@@ -113,4 +113,8 @@ public interface SysMusicCompareRecordDao extends BaseDAO<Long, SysMusicCompareR
     List<ExportCompareRecordDto> exportCompareRecord(@Param("queryInfo") ExportCompareQueryInfo queryInfo);
 
     int countExportCompareRecord(@Param("queryInfo") ExportCompareQueryInfo queryInfo);
+
+    void deleteDayData(@Param("date") String date);
+
+    void init(String date);
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicCompareRecordService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dao.SysMusicCompareRecordDao;
 import com.ym.mec.biz.dal.dto.CountStudentTrainDataDto;
 import com.ym.mec.biz.dal.dto.MusicCompareRankingDto;
 import com.ym.mec.biz.dal.dto.SoundCompareHelper;
@@ -13,6 +14,8 @@ import java.util.Map;
 
 public interface SysMusicCompareRecordService extends BaseService<Long, SysMusicCompareRecord> {
 
+    SysMusicCompareRecordDao getDao();
+
     /**
      * @describe 保存用户评测记录
      * @author Joburgess
@@ -92,4 +95,6 @@ public interface SysMusicCompareRecordService extends BaseService<Long, SysMusic
     PageInfo<CountStudentTrainDataDto> countStudentTrain(SysMusicCompareRecordQueryInfo queryInfo);
     
     int queryCurrentDatePlayTimeByUserId(Integer userId);
+
+    void initSysMusicCompareDayData();
 }

+ 14 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicCompareRecordServiceImpl.java

@@ -82,7 +82,12 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		return insert;
 	}
 
-	@Override
+    @Override
+    public SysMusicCompareRecordDao getDao() {
+        return sysMusicCompareRecordDao;
+    }
+
+    @Override
 	public void saveMusicCompareData(String phone, SoundCompareHelper soundCompareInfo) {
 		SysUser user = teacherDao.getUserWithPhone(phone);
 		if(Objects.isNull(user)){
@@ -468,4 +473,12 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 	public int queryCurrentDatePlayTimeByUserId(Integer userId) {
 		return sysMusicCompareRecordDao.queryCurrentDatePlayTimeByUserId(userId);
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void initSysMusicCompareDayData() {
+		String now = DateUtil.dateToString(DateUtil.addDays(new Date(),-1),DateUtil.ISO_EXPANDED_DATE_FORMAT);
+		sysMusicCompareRecordDao.deleteDayData(now);
+		sysMusicCompareRecordDao.init(now);
+	}
 }

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1194,7 +1194,7 @@
         left join student s ON mg.user_id_ = s.user_id_
         left join (
         select smcr.user_id_,ROUND(SUM(smcr.train_time_)/60/#{queryInfo.weekBetween}) train_time_ from sys_music_compare_day_data smcr
-        where day_ BETWEEN #{queryInfo.startData} AND #{queryInfo.endData} group by smcr.user_id_) smcr ON s.user_id_ = smcr.user_id_
+        where day_ BETWEEN #{queryInfo.startDate} AND #{queryInfo.endDate} group by smcr.user_id_) smcr ON s.user_id_ = smcr.user_id_
         left JOIN sys_user su ON su.id_ = mg.user_id_
         left join organization o ON o.id_ = su.organ_id_
         where s.membership_end_time_ >= NOW()
@@ -1227,7 +1227,7 @@
         left join student s ON mg.user_id_ = s.user_id_
         left join (
         select smcr.user_id_,ROUND(SUM(smcr.train_time_)/60/#{weekBetween}) train_time_ from sys_music_compare_day_data smcr
-        where day_ BETWEEN #{startData} AND #{endData} group by smcr.user_id_) smcr ON s.user_id_ = smcr.user_id_
+        where day_ BETWEEN #{startDate} AND #{endDate} group by smcr.user_id_) smcr ON s.user_id_ = smcr.user_id_
         left JOIN teacher t ON t.id_ = stm.teacher_id_
         left JOIN sys_user su ON su.id_ = mg.user_id_
         where s.membership_end_time_ >= NOW() AND stm.teacher_type_ = 'NORMAL' AND t.organ_id_ = #{organId}

+ 10 - 1
mec-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -53,6 +53,12 @@
 		       #{recordFilePath},#{videoFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{speed},#{monday},
 		       #{sourceTime},#{feature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, NOW(), NOW(),#{partIndex},#{tenantId})
 	</insert>
+	<insert id="init">
+		insert into sys_music_compare_day_data (user_id_, day_, train_num_, train_time_, tenant_id_)
+		select smcr.user_id_,DATE_FORMAT(smcr.create_time_,'%Y-%m-%d'),COUNT(smcr.id_),SUM(smcr.play_time_),smcr.tenant_id_ from sys_music_compare_record smcr
+		where DATE_FORMAT(smcr.create_time_,'%Y-%m-%d') = #{date}
+		group by DATE_FORMAT(smcr.create_time_,'%Y-%m-%d'),smcr.user_id_;
+	</insert>
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysMusicCompareRecord">
@@ -122,8 +128,11 @@
 	<delete id="delete" >
 		DELETE FROM sys_music_compare_record WHERE id_ = #{id}
 	</delete>
+    <delete id="deleteDayData">
+		delete from sys_music_compare_day_data where day_ = #{date}
+	</delete>
 
-	<sql id="queryCondition">
+    <sql id="queryCondition">
 		<where>
 			smcr.tenant_id_ = #{tenantId}
 			<if test="userId!=null">

+ 3 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -287,4 +287,7 @@ public interface TaskRemoteService {
 
     @GetMapping("task/updateStudentTeacherMapper")
     void updateStudentTeacherMapper();
+
+    @GetMapping("task/initSysMusicCompareDayData")
+    void initSysMusicCompareDayData();
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -334,4 +334,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
     public void updateStudentTeacherMapper() {
         logger.error("更新学员老师关联关系");
     }
+
+    @Override
+    public void initSysMusicCompareDayData() {
+
+    }
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/InitSysMusicCompareDayDataTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class InitSysMusicCompareDayDataTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.initSysMusicCompareDayData();
+	}
+}

+ 7 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.enums.IndexDataType;
 import com.ym.mec.biz.event.source.CourseEventSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.im.ImFeignService;
@@ -17,6 +18,7 @@ import com.yonge.log.service.HistoryMessageService;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.redisson.api.RBucket;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -125,7 +127,11 @@ public class TaskController extends BaseController {
     @Autowired
     private StudentTeacherMapperService studentTeacherMapperService;
 
-	//每月经营报表
+	@GetMapping(value = "/initSysMusicCompareDayData")
+	public void initSysMusicCompareDayData(){
+		sysMusicCompareRecordService.initSysMusicCompareDayData();
+	}
+
 	@GetMapping(value = "/updateStudentTeacherMapper")
 	public void updateStudentTeacherMapper(){
 		studentTeacherMapperService.init();