Browse Source

作业列表和智能陪练过期时间

zouxuan 3 years ago
parent
commit
0233b94ca5

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkStudentDetailDto.java

@@ -45,6 +45,9 @@ public class CourseHomeworkStudentDetailDto {
     @ApiModelProperty(value = "学生作业文件链接",required = false)
     private String attachments;
 
+    @ApiModelProperty(value = "学生作业是否过期",required = false)
+    private boolean expiredFlag;
+
     @ApiModelProperty(value = "学生作业评分",required = false)
     private Long score;
 
@@ -83,6 +86,24 @@ public class CourseHomeworkStudentDetailDto {
     
     private MusicGroupTrainPlan musicGroupTrainPlan;
 
+    private Date submitDate;
+
+    public Date getSubmitDate() {
+        return submitDate;
+    }
+
+    public void setSubmitDate(Date submitDate) {
+        this.submitDate = submitDate;
+    }
+
+    public boolean isExpiredFlag() {
+        return expiredFlag;
+    }
+
+    public void setExpiredFlag(boolean expiredFlag) {
+        this.expiredFlag = expiredFlag;
+    }
+
     public StandardEnum getStandardFlag() {
         return standardFlag;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicCompareRecord.java

@@ -75,6 +75,17 @@ public class SysMusicCompareRecord extends BaseEntity {
 	
 	private String partIndex;
 
+	//文件是否过期
+	private boolean expiredFlag;
+
+	public boolean isExpiredFlag() {
+		return expiredFlag;
+	}
+
+	public void setExpiredFlag(boolean expiredFlag) {
+		this.expiredFlag = expiredFlag;
+	}
+
 	public SysMusicCompareRecord() {
 	}
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesReplyServiceImpl.java

@@ -28,6 +28,7 @@ import java.math.BigDecimal;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -104,6 +105,8 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 		detail.setStudentName(extraExerciseReply.getStudentName());
 		detail.setExpiryDate(extraExerciseReply.getExpireDate());
 		detail.setType("EXTRA");
+		detail.setExpiredFlag(DateUtil.isOverdue(extraExerciseReply.getCreateTime(),
+				sysConfigDao.findConfigValue("file_expiration_time")));
 
 		String configValue = sysConfigDao.findConfigValue(SysConfigService.HOMEWORK_OPEN_FLAG);
 		if(StringUtils.isEmpty(configValue)){

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -226,6 +226,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 		}
 		
         CourseHomeworkStudentDetailDto courseHomeworkStudentDetail = studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID, userId);
+        courseHomeworkStudentDetail.setExpiredFlag(DateUtil.isOverdue(courseHomeworkStudentDetail.getSubmitDate(),
+                sysConfigDao.findConfigValue("file_expiration_time")));
         if(courseHomeworkStudentDetail == null){
         	courseHomeworkStudentDetail = new CourseHomeworkStudentDetailDto();
 			courseHomeworkStudentDetail.setMusicGroupTrainPlan(musicGroupTrainPlan);

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicCompareRecordServiceImpl.java

@@ -34,6 +34,7 @@ import java.math.BigDecimal;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @Service
@@ -167,6 +168,8 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		jsonObject.put("heardLevel", userLastEvaluationData.getHeardLevel());
 		jsonObject.put("videoFilePath", userLastEvaluationData.getVideoFilePath());
 		jsonObject.put("partIndex", userLastEvaluationData.getPartIndex());
+		jsonObject.put("expiredFlag",DateUtil.isOverdue(userLastEvaluationData.getCreateTime(),
+				sysConfigDao.findConfigValue("file_expiration_time")));
 
 		SysMusicScore sysMusicScore = sysMusicScoreDao.get(userLastEvaluationData.getSysMusicScoreId());
 		if(Objects.nonNull(sysMusicScore)){
@@ -323,6 +326,9 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		if (count == 0) {
 			dataList = new ArrayList<>();
 		}
+		Function<Date,Boolean> expirationFun = (submitTime)->DateUtil.isOverdue(submitTime,sysConfigDao.findConfigValue("file_expiration_time"));
+		dataList.forEach(e->e.setExpiredFlag(expirationFun.apply(e.getCreateTime())));
+
 		pageInfo.setRows(dataList);
 		Map<String, Object> result = new HashMap<>();
 		userTrainOverView.setTrainTime(userTrainOverView.getTrainTime()/60);

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -45,6 +45,7 @@
         <result column="score_" property="score"/>
         <result column="music_score_id_" property="musicScoreId"/>
         <result column="music_score_content_" property="musicScoreContent"/>
+        <result column="submit_time_" property="submitTime"/>
         <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="standard_flag_" property="standardFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
@@ -246,7 +247,8 @@
                sch.status_,
                sch.is_replied_,
                sch.course_schedule_id_,
-               sch.standard_flag_
+               sch.standard_flag_,
+               sch.submit_time_
         FROM course_homework ch
                  LEFT JOIN student_course_homework sch ON ch.id_ = sch.course_homework_id_
                  LEFT JOIN music_group mg ON ch.music_group_id_ = mg.id_

+ 4 - 14
mec-student/src/main/java/com/ym/mec/student/controller/CloudStudyController.java

@@ -1,21 +1,18 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.page.SysMusicCompareRecordQueryInfo;
 import com.ym.mec.biz.service.SysMusicCompareRecordService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Map;
-
 /**
  * @Author Joburgess
  * @Date 2021/8/11 0011
@@ -26,17 +23,14 @@ import java.util.Map;
 public class CloudStudyController extends BaseController {
 
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private SysUserService sysUserService;
     @Autowired
     private SysMusicCompareRecordService sysMusicCompareRecordService;
 
     @ApiOperation("云教练排行榜")
     @GetMapping("rankingList")
     public HttpResponseResult rankingList(SysMusicCompareRecordQueryInfo queryInfo){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed("获取用户信息失败");
-        }
+        SysUser sysUser = sysUserService.getUser();
         queryInfo.setUserId(sysUser.getId());
         queryInfo.setOrganId(sysUser.getOrganId());
         return succeed(sysMusicCompareRecordService.rankingList(queryInfo));
@@ -45,11 +39,7 @@ public class CloudStudyController extends BaseController {
     @ApiOperation("学员训练数据统计")
     @GetMapping("studentTrainData")
     public HttpResponseResult studentTrainData(SysMusicCompareRecordQueryInfo queryInfo){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed("获取用户信息失败");
-        }
-        queryInfo.setUserId(sysUser.getId());
+        queryInfo.setUserId(sysUserService.getUserId());
         return succeed(sysMusicCompareRecordService.studentTrainData(queryInfo));
     }
 

+ 6 - 19
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicCompareRecordController.java

@@ -1,17 +1,12 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.MusicalNotesPlayStatDto;
 import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
 import com.ym.mec.biz.service.SysMusicCompareRecordService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -19,7 +14,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
 import java.util.Objects;
 
 /**
@@ -32,27 +26,24 @@ import java.util.Objects;
 public class SysMusicCompareRecordController extends BaseController {
 
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private SysUserService sysUserService;
     @Autowired
     private SysMusicCompareRecordService sysMusicCompareRecordService;
 
     @ApiOperation(value = "添加记录")
     @PostMapping("add")
     public HttpResponseResult add(SysMusicCompareRecord record){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("请登录");
-        }
         if(Objects.isNull(record.getFeature())){
             return failed("请设置功能点");
         }
-        record.setUserId(sysUser.getId());
+        Integer userId = sysUserService.getUserId();
+        record.setUserId(userId);
         record.setClientId("student");
         
         sysMusicCompareRecordService.insert(record);
         
         ModelMap model = new ModelMap();
-        model.put("totalPlayTimeOfCurrentDate", sysMusicCompareRecordService.queryCurrentDatePlayTimeByUserId(sysUser.getId()));
+        model.put("totalPlayTimeOfCurrentDate", sysMusicCompareRecordService.queryCurrentDatePlayTimeByUserId(userId));
         
         return succeed(model);
     }
@@ -60,11 +51,7 @@ public class SysMusicCompareRecordController extends BaseController {
     @ApiOperation(value = "用户最后一次评测数据")
     @GetMapping("getLastEvaluationMusicalNotesPlayStats")
     public HttpResponseResult getLastEvaluationMusicalNotesPlayStats(Long recordId){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("请登录");
-        }
-        return succeed(sysMusicCompareRecordService.getLastEvaluationMusicalNotesPlayStats(sysUser.getId(), recordId));
+        return succeed(sysMusicCompareRecordService.getLastEvaluationMusicalNotesPlayStats(sysUserService.getUserId(), recordId));
     }
 
 }

+ 14 - 0
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -1289,6 +1289,20 @@ public class DateUtil {
         }
     }
 
+	//根据用户提交作业时间判断作业是否过期
+	public static boolean isOverdue(Date submitTime,String expirationTime){
+		if(submitTime == null){
+			return false;
+		}
+		if(StringUtils.isBlank(expirationTime)){
+			expirationTime = "30";
+		}
+		if(DateUtil.daysBetween(submitTime, new Date()) > Integer.parseInt(expirationTime)){
+			return true;
+		}
+		return false;
+	}
+
 	public static void main(String[] args) throws ParseException {
 		// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");