ソースを参照

Merge branch 'zx_saas_2022-_0505' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 3 年 前
コミット
278262fdcd

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentStatisticsQueryInfo.java

@@ -42,6 +42,15 @@ public class StudentStatisticsQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否查询课耗异常",required = false)
     private Boolean courseConsumerError;
 
+    @ApiModelProperty(value = "是否预警(未开始课时数+未排课课时数≤3为【是】)",required = false)
+    private Boolean wornFlag;
+
+    @ApiModelProperty(value = "剩余课时数(未开始课时数+未排课课时数 小于指定数量)",required = false)
+    private Integer subCourseMinNum;
+
+    @ApiModelProperty(value = "剩余课时数(未开始课时数+未排课课时数 大于指定数量)",required = false)
+    private Integer subCourseMaxNum;
+
     @ApiModelProperty(value = "第一次课开始时间(年月日)",required = false)
     private String firstCourseStartTime;
 
@@ -51,6 +60,30 @@ public class StudentStatisticsQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "分部编号列表",required = false)
     private String organId;
 
+    public Boolean getWornFlag() {
+        return wornFlag;
+    }
+
+    public void setWornFlag(Boolean wornFlag) {
+        this.wornFlag = wornFlag;
+    }
+
+    public Integer getSubCourseMinNum() {
+        return subCourseMinNum;
+    }
+
+    public void setSubCourseMinNum(Integer subCourseMinNum) {
+        this.subCourseMinNum = subCourseMinNum;
+    }
+
+    public Integer getSubCourseMaxNum() {
+        return subCourseMaxNum;
+    }
+
+    public void setSubCourseMaxNum(Integer subCourseMaxNum) {
+        this.subCourseMaxNum = subCourseMaxNum;
+    }
+
     public String getOrganId() {
         return organId;
     }

+ 4 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -607,12 +607,14 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 	@Transactional(rollbackFor = Exception.class)
 	public void deleteByMonday(String monday,List<Integer> studentIds) {
 		this.delSituations(studentExtracurricularExercisesSituationDao.selectByMonday(monday, studentIds));
+		studentExtracurricularExercisesSituationDao.deleteByMonday(monday,studentIds);
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void deleteByStudent(Integer studentId, String monday) {
 		this.delSituations(studentExtracurricularExercisesSituationDao.selectByStudent(studentId, monday));
+		studentExtracurricularExercisesSituationDao.deleteByStudent(studentId,monday);
 	}
 
 	@Transactional(rollbackFor = Exception.class)
@@ -620,8 +622,8 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 		if (CollectionUtils.isEmpty(situations)){
 			return;
 		}
-		List<Long> collect1 = situations.stream().map(e -> e.getId()).collect(Collectors.toList());
-		studentExtracurricularExercisesSituationDao.batchDelete(collect1);
+//		List<Long> collect1 = situations.stream().map(e -> e.getId()).collect(Collectors.toList());
+//		studentExtracurricularExercisesSituationDao.batchDelete(collect1);
 		String collect = situations.stream().map(e -> e.getCourseIds()).filter(e -> StringUtils.isNotEmpty(e)).collect(Collectors.joining(","));
 		if(StringUtils.isNotEmpty(collect)){
 			//更新课程服务指标

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -423,6 +423,7 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
                                     break;
                                 }
                             }
+                            continue;
                         }
                     }
                     if (columnValue.equals("transNo")) {

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

@@ -127,7 +127,7 @@
 		DELETE FROM course_schedule_statistics WHERE course_schedule_id_ = #{courseScheduleId}
 	</delete>
 	<delete id="delWaitByCourseId">
-		SELECT * FROM course_schedule_statistics_wait WHERE course_schedule_id_ IN
+		DELETE FROM course_schedule_statistics_wait WHERE course_schedule_id_ IN
 		<foreach collection="courseIdList" item="courseId" separator="," open="(" close=")">
 			#{courseId}
 		</foreach>

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/StudentStatisticsMapper.xml

@@ -284,12 +284,24 @@
 			<if test="courseConsumerError != null and courseConsumerError == false">
 				AND ss.lately_course_consumer_ >= 4
 			</if>
+			<if test="wornFlag != null and wornFlag == true">
+				AND (ss.no_schedule_num_ + ss.sub_course_num_) &lt; 4
+			</if>
+			<if test="wornFlag != null and wornFlag == false">
+				AND (ss.no_schedule_num_ + ss.sub_course_num_) > 3
+			</if>
 			<if test="firstCourseStartTime != null">
 				AND ss.first_course_time_ >= #{firstCourseStartTime}
 			</if>
 			<if test="firstCourseEndTime != null">
 				AND ss.first_course_time_ &lt;= #{firstCourseEndTime}
 			</if>
+			<if test="subCourseMinNum != null">
+				AND (ss.no_schedule_num_ + ss.sub_course_num_) >= #{subCourseMinNum}
+			</if>
+			<if test="subCourseMaxNum != null">
+				AND (ss.no_schedule_num_ + ss.sub_course_num_) &lt;= #{subCourseMaxNum}
+			</if>
 			<if test="groupType != null and groupType != ''">
 				AND ss.group_type_ = #{groupType}
 			</if>

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

@@ -187,11 +187,10 @@
 	<select id="getUserTrainOverView" resultType="com.ym.mec.biz.dal.dto.StudentTrainOverviewDto">
 		SELECT
 			COUNT(DISTINCT smcr.behavior_id_) trainNum,
-			COUNT(DISTINCT DAY(smcr.create_time_)) trainDays,
+			COUNT(DISTINCT DATE(smcr.create_time_)) trainDays,
 			SUM(smcr.play_time_) trainTime
 		FROM sys_music_compare_record smcr
 		WHERE smcr.user_id_=#{userId}
-		      AND EXISTS (SELECT user_id_ FROM student WHERE user_id_=smcr.user_id_)
 	</select>
 
 	<select id="getUserTrainChartData" resultType="com.ym.mec.biz.dal.dto.StudentTrainChartDto">

+ 9 - 12
mec-student/src/main/java/com/ym/mec/student/interceptor/MDCInterceptor.java

@@ -1,22 +1,19 @@
 package com.ym.mec.student.interceptor;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.filters.TenantIdThreadLocal;
-
-import org.apache.commons.lang3.StringUtils;
+import com.ym.mec.util.web.WebUtil;
 import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
-import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
-import com.ym.mec.util.web.WebUtil;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.UUID;
 
 @Component
 public class MDCInterceptor extends HandlerInterceptorAdapter {
@@ -24,6 +21,8 @@ public class MDCInterceptor extends HandlerInterceptorAdapter {
 	private static final String IP = "ip";
 
 	private static final String USERNAME = "username";
+
+	private static final String REQ_ID = "reqId";
 	@Autowired
 	@Lazy
 	private SysUserFeignService sysUserFeignService;
@@ -39,13 +38,11 @@ public class MDCInterceptor extends HandlerInterceptorAdapter {
 			}else {
 				TenantIdThreadLocal.set(1);
 			}
+			// 存储userId以及IP
+			MDC.put(USERNAME, sysUser.getUsername() + "@" + sysUser.getId());
 		}
-		String username = "";
-		String userId = "";
-		// 存储userId以及IP
-		MDC.put(USERNAME, username + "@" + userId);
 		MDC.put(IP, WebUtil.getRemoteIp(request));
-
+		MDC.put(REQ_ID, UUID.randomUUID().toString());
 		return true;
 	}
 

+ 1 - 1
mec-student/src/main/resources/logback-spring.xml

@@ -3,7 +3,7 @@
 
 	<property name="LOG_HOME" value="/mdata/logs/student-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
-			  value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
+			  value="[%X{username} %X{reqId} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
 		<encoder charset="UTF-8">

+ 10 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/interceptor/MDCInterceptor.java

@@ -6,6 +6,8 @@ import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.filters.TenantIdThreadLocal;
 
+import com.ym.mec.util.web.WebUtil;
+import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
@@ -14,9 +16,13 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.UUID;
 
 @Component
 public class MDCInterceptor extends HandlerInterceptorAdapter {
+	private static final String IP = "ip";
+	private static final String USERNAME = "username";
+	private static final String REQ_ID = "reqId";
 	@Autowired
 	@Lazy
 	private SysUserFeignService sysUserFeignService;
@@ -37,7 +43,11 @@ public class MDCInterceptor extends HandlerInterceptorAdapter {
 					TenantIdThreadLocal.set(1);
 				}
 			}
+			// 存储userId以及IP
+			MDC.put(USERNAME, sysUser.getRealName() + "@" + sysUser.getId());
 		}
+		MDC.put(IP, WebUtil.getRemoteIp(request));
+		MDC.put(REQ_ID, UUID.randomUUID().toString());
 		return true;
 	}
 

+ 1 - 1
mec-teacher/src/main/resources/logback-spring.xml

@@ -3,7 +3,7 @@
 
 	<property name="LOG_HOME" value="/mdata/logs/teacher-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
-			  value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
+			  value="[%X{username} %X{reqId} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 
 	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
 		<encoder charset="UTF-8">