Ver Fonte

Merge remote-tracking branch 'origin/master'

Joburgess há 5 anos atrás
pai
commit
df05f10b22

+ 17 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -1,13 +1,16 @@
 package com.ym.mec.biz.dal.entity;
 
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.Date;
 
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import com.ym.mec.biz.dal.entity.CooperationOrgan.OwnershipType;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+
 /**
  * 对应数据库表(music_group):
  */
@@ -138,6 +141,8 @@ public class MusicGroup {
 
 	@ApiModelProperty(value = "成团人数",required = true)
 	private Integer groupMemberNum;
+	
+	private OwnershipType ownershipType;
 
 	public Date getExpectStartGroupDate() {
 		return expectStartGroupDate;
@@ -435,6 +440,14 @@ public class MusicGroup {
 		this.memo = memo;
 	}
 
+	public OwnershipType getOwnershipType() {
+		return ownershipType;
+	}
+
+	public void setOwnershipType(OwnershipType ownershipType) {
+		this.ownershipType = ownershipType;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

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

@@ -188,11 +188,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         // 保存乐团声部规划
-        if (musicGroupSubjectPlans != null) {
+        if (musicGroupSubjectPlans != null && musicGroupSubjectPlans.size() > 0) {
             musicGroupSubjectPlanDao.batchAdd(musicGroupSubjectPlans,musicGroupId);
         }
         // 保存乐团声部商品规划
-        if (musicGroupSubjectGoodsGroups != null) {
+        if (musicGroupSubjectGoodsGroups != null && musicGroupSubjectGoodsGroups.size() > 0) {
             musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups,musicGroupId);
         }
         return musicGroupId;

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -12,10 +12,12 @@ import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -52,6 +54,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Autowired
 	private SubjectDao subjectDao;
 
+	@Autowired
+	private RedisCache<String,Object> redisCache;
+
 	@Override
 	public BaseDAO<Long, TeacherAttendance> getDAO() {
 		return teacherAttendanceDao;
@@ -321,8 +326,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			Map<Integer, String> receivers = new HashMap<Integer, String>();
 			Integer userId = (Integer) mapper.getKey();
 			receivers.put(userId, userId + "");
+			
+			String key = "SignOut_" + userId + "_" + mapper.getCourseScheduleId();
 
-			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_OUT_MESSAGE, receivers, null, 0,"5?courseScheduleId=" + mapper.getCourseScheduleId(), mapper.getValue());
+			if (!redisCache.exists(key)) {
+				sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_OUT_MESSAGE, receivers, null, 0,
+						"5?courseScheduleId=" + mapper.getCourseScheduleId(), mapper.getValue());
+				redisCache.put(key, 1, (int) DateUtil.getTomorrowZeroSeconds());
+			}
 		}
 		return true;
 	}

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

@@ -164,7 +164,7 @@
     <select id="findAllMixClassGroup" resultMap="ClassGroup">
         SELECT * FROM
         class_group cg
-        WHERE cg.type_="MIX" AND cg.music_group_id_=#{musicGroupId} AND del_flag_='0'
+        WHERE cg.type_='MIX' AND cg.music_group_id_=#{musicGroupId} AND group_type_='MUSIC' AND del_flag_='0'
     </select>
     <select id="findMixClassChildClassGroup" resultMap="ClassGroup">
         SELECT * FROM class_group WHERE id_ IN
@@ -179,7 +179,7 @@
         subject_name_
         FROM
         class_group cg
-        WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_='NORMAL' AND cg.del_flag_='0'
+        WHERE cg.music_group_id_=#{musicGroupId} AND group_type_='MUSIC' AND cg.type_='NORMAL' AND cg.del_flag_='0'
     </select>
 
     <!-- 查询合奏班包含子班名字信息 -->
@@ -351,7 +351,7 @@
     </select>
     <select id="findNoClassSubjects" resultMap="ClassGroup">
         SELECT cg.* FROM class_group cg LEFT JOIN class_group_relation cgr ON cgr.sub_class_group_id_=cg.id_
-        WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_ = 'NORMAL' AND cg.del_flag_ = '0' AND cgr.id_ IS NULL
+        WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_ = 'NORMAL' AND cg.group_type_='MUSIC' AND cg.del_flag_ = '0' AND cgr.id_ IS NULL
     </select>
 
     <select id="countTeacherNum" resultType="java.lang.Integer">

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

@@ -58,7 +58,7 @@
 		DELETE FROM class_group_student_mapper WHERE id_ = #{id} 
 	</delete>
     <delete id="deleteByClassId">
-        UPDATE class_group_student_mapper SET status_='QUIT' WHERE class_group_id_ = #{classGroupId} AND status_='NORMAL'
+        UPDATE class_group_student_mapper SET status_='QUIT' WHERE class_group_id_ = #{classGroupId} AND status_='NORMAL' AND group_type_='MUSIC'
     </delete>
 
     <!-- 分页查询 -->

+ 7 - 9
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -321,7 +321,7 @@
         LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
         LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
         LEFT JOIN `subject` s ON cg.subject_id_=s.id_
-        WHERE cgsm.class_group_id_=#{classID} AND cgsm.status_ != 'QUIT'
+        WHERE cgsm.class_group_id_=#{classID} AND cgsm.status_ != 'QUIT' AND cg.group_type_ = 'MUSIC'
     </select>
 
     <select id="countStudentInClass" resultType="java.lang.Integer">
@@ -399,9 +399,8 @@
             LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
             LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
             LEFT JOIN teacher_attendance ta ON cs.id_=ta.class_group_id_ AND ta.teacher_id_=cs.teacher_id_
-        WHERE
-            mg.organ_id_ = #{organId}
-        AND cs.id_ IS NOT NULL
+        WHERE mg.organ_id_ = #{organId}
+        AND cs.id_ IS NOT NULL AND cg.group_type_ = 'MUSIC'
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
         <include refid="global.limit"/>
     </select>
@@ -413,9 +412,8 @@
         music_group mg
         LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
         LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
-        WHERE
-        mg.organ_id_ = #{organId}
-        AND cs.id_ IS NOT NULL
+        WHERE mg.organ_id_ = #{organId}
+        AND cs.id_ IS NOT NULL AND cg.group_type_ = 'MUSIC'
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
     </select>
 
@@ -493,7 +491,7 @@
         course_schedule cs
         LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         WHERE DATE_FORMAT(cs.class_date_,'%Y%m')=DATE_FORMAT(#{month},'%Y%m')
-        AND cg.music_group_id_=#{musicGroupID}
+        AND cg.music_group_id_=#{musicGroupID} AND cg.group_type_ = 'MUSIC'
         GROUP BY cs.class_date_
     </select>
 
@@ -1162,7 +1160,7 @@
     </select>
     
     <select id="queryStudentNotStartCourseScheduleIn90Mins" resultMap="Mapper">
-    	select cssp.user_id_ key_,cs.name_ value_ from course_schedule cs right join course_schedule_student_payment cssp on cs.id_ = cssp.course_schedule_id_ where CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &lt; DATE_ADD(now(),INTERVAL 90 MINUTE) and cs.status_ = 'NOT_START'
+    	select cssp.user_id_ key_,cs.name_ value_ from course_schedule cs right join course_schedule_student_payment cssp on cs.id_ = cssp.course_schedule_id_ where CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &lt; DATE_ADD(now(),INTERVAL 6 HOUR) and cs.status_ = 'NOT_START'
     </select>
     
     <select id="queryTeacherCoursesTimesOfTomorrow" resultMap="Mapper">

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

@@ -30,6 +30,7 @@
 		<result column="expect_start_group_date_" property="expectStartGroupDate" />
 		<result column="group_member_num_" property="groupMemberNum" />
 		<result column="memo_" property="memo" />
+        <result column="ownership_type_" property="ownershipType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -54,17 +55,20 @@
 		INSERT INTO music_group
 		(id_,name_,organ_id_,school_id_,apply_expire_date_,team_teacher_id_,educational_teacher_id_,charge_type_id_,course_form_,create_time_,update_time_,status_,
 		bill_start_date_,improvent_classes_num_,enroll_classes_,payment_expire_date_,is_extra_class_,settlement_type_,cooperation_organ_id_,enlightenment_course_time_,
-		parent_meeting_time_,img_,director_user_id_,is_classroom_lessons_,memo_,expect_start_group_date_)
+		parent_meeting_time_,img_,director_user_id_,is_classroom_lessons_,memo_,expect_start_group_date_,ownership_type_)
 		VALUES(#{id},#{name},#{organId},#{schoolId},#{applyExpireDate},#{teamTeacherId},#{educationalTeacherId},#{chargeTypeId},#{courseForm},now(),now(),
 		#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{billStartDate},#{improventClassesNum},#{enrollClasses},#{paymentExpireDate},
 		#{isExtraClass, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{settlementType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-		#{cooperationOrganId},#{enlightenmentCourseTime},#{parentMeetingTime},#{img},#{directorUserId},#{isClassroomLessons},#{memo},#{expectStartGroupDate})
+		#{cooperationOrganId},#{enlightenmentCourseTime},#{parentMeetingTime},#{img},#{directorUserId},#{isClassroomLessons},#{memo},#{expectStartGroupDate},#{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroup">
 		UPDATE music_group
 		<set>
+			<if test="ownershipType != null">
+				ownership_type_ = #{ownershipType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
 			<if test="status != null">
 				status_ = #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>

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

@@ -531,7 +531,9 @@
         SELECT sr.user_id_,sr.parents_name_,sr.parents_phone_,sr.current_grade_,
         sr.current_class_,su.username_ name_,su.birthdate_,su.gender_
         FROM student_registration sr
-        LEFT JOIN sys_user su ON sr.user_id_ = su.id_ LIMIT 1
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        WHERE sr.parents_phone_ = #{mobile}
+        LIMIT 1
     </select>
 
     <update id="updateUser">

+ 50 - 36
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -14,7 +14,6 @@ import java.util.*;
  */
 public class DateUtil {
 
-
 	private static final String CHINESE_DATA_FORMAT = "yyyy年MM月dd日 HH:mm:ss";
 
 	public static final String DEFAULT_PATTERN = "yyyy-MM-dd";
@@ -885,14 +884,14 @@ public class DateUtil {
 	 * @param weekNum 周几
 	 * @return java.util.List<java.util.Date>
 	 */
-	public static List<Date> getWeekDays(Date startTime, Date endTime, int weekNum){
+	public static List<Date> getWeekDays(Date startTime, Date endTime, int weekNum) {
 		Calendar calendar = Calendar.getInstance();
-		List<Date> dates=new ArrayList<>();
-		for(Date x = startTime; x.compareTo(endTime) <= 0;){
+		List<Date> dates = new ArrayList<>();
+		for (Date x = startTime; x.compareTo(endTime) <= 0;) {
 			calendar.setTime(x);
 			calendar.add(Calendar.DATE, 1);
 			x = calendar.getTime();
-			if(calendar.get(Calendar.DAY_OF_WEEK) == weekNum){
+			if (calendar.get(Calendar.DAY_OF_WEEK) == weekNum) {
 				dates.add(x);
 			}
 		}
@@ -909,7 +908,7 @@ public class DateUtil {
 	public static Date getWeekMondayWithDate(Date date) {
 		Calendar cal = Calendar.getInstance();
 		try {
-			date=new SimpleDateFormat(DEFAULT_PATTERN).parse(new SimpleDateFormat(DEFAULT_PATTERN).format(date));
+			date = new SimpleDateFormat(DEFAULT_PATTERN).parse(new SimpleDateFormat(DEFAULT_PATTERN).format(date));
 		} catch (ParseException e) {
 			e.printStackTrace();
 		}
@@ -960,14 +959,12 @@ public class DateUtil {
 	 * @param days: 天数
 	 * @return java.util.Date
 	 */
-	public static Date addDays1(Date date,int days) {
+	public static Date addDays1(Date date, int days) {
 		Calendar cal = Calendar.getInstance();
 		cal.setTime(date);
 		cal.add(Calendar.DATE, days);
 		try {
-			return new SimpleDateFormat(DateUtil.DEFAULT_PATTERN)
-					.parse(new SimpleDateFormat(DateUtil.DEFAULT_PATTERN)
-							.format(cal.getTime()));
+			return new SimpleDateFormat(DateUtil.DEFAULT_PATTERN).parse(new SimpleDateFormat(DateUtil.DEFAULT_PATTERN).format(cal.getTime()));
 		} catch (ParseException e) {
 			return cal.getTime();
 		}
@@ -978,7 +975,7 @@ public class DateUtil {
 	 * @param date
 	 * @return
 	 */
-	public static String date2ChineseDate(Date date){
+	public static String date2ChineseDate(Date date) {
 		return new SimpleDateFormat(CHINESE_DATA_FORMAT).format(date);
 	}
 
@@ -989,13 +986,13 @@ public class DateUtil {
 	 * @param dateZones:
 	 * @return boolean
 	 */
-	public static boolean checkDateZoneOverlap(List<DateZone> dateZones){
+	public static boolean checkDateZoneOverlap(List<DateZone> dateZones) {
 		dateZones.sort(Comparator.comparing(DateZone::getStartTime));
-		if(dateZones.size()<=1){
+		if (dateZones.size() <= 1) {
 			return false;
-		}else{
-			for (int i=0;i<dateZones.size()-1;i++){
-				if(dateZones.get(i+1).getStartTime().before(dateZones.get(i).getEndTime())){
+		} else {
+			for (int i = 0; i < dateZones.size() - 1; i++) {
+				if (dateZones.get(i + 1).getStartTime().before(dateZones.get(i).getEndTime())) {
 					return true;
 				}
 			}
@@ -1009,7 +1006,7 @@ public class DateUtil {
 	 * @date 2019/10/27
 	 * @return
 	 */
-	public static class DateZone{
+	public static class DateZone {
 		private Date startTime;
 		private Date endTime;
 
@@ -1050,32 +1047,49 @@ public class DateUtil {
 		calendar.setTime(date);
 		int i = calendar.get(Calendar.DAY_OF_WEEK);
 		switch (i) {
-			case 1:
-				return "星期日";
-			case 2:
-				return "星期一";
-			case 3:
-				return "星期二";
-			case 4:
-				return "星期三";
-			case 5:
-				return "星期四";
-			case 6:
-				return "星期五";
-			case 7:
-				return "星期六";
-			default:
-				return "";
+		case 1:
+			return "星期日";
+		case 2:
+			return "星期一";
+		case 3:
+			return "星期二";
+		case 4:
+			return "星期三";
+		case 5:
+			return "星期四";
+		case 6:
+			return "星期五";
+		case 7:
+			return "星期六";
+		default:
+			return "";
 		}
 	}
 
+	/**
+	 * 获取当前时间到0点的毫秒数
+	 * @return
+	 */
+	public static long getTomorrowZeroSeconds() {
+		long current = System.currentTimeMillis();// 当前时间毫秒数
+		Calendar calendar = Calendar.getInstance();
+		calendar.add(Calendar.DAY_OF_MONTH, 1);
+		calendar.set(Calendar.HOUR_OF_DAY, 0);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		calendar.set(Calendar.MILLISECOND, 0);
+		long tomorrowzero = calendar.getTimeInMillis();
+		long tomorrowzeroSeconds = (tomorrowzero - current) / 1000;
+		return tomorrowzeroSeconds;
+	}
+
 	public static void main(String[] args) throws ParseException {
-//		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+		// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 		// DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//		System.out.println(daysBetween(df.parse("2017-07-20 10:07:42"), df.parse(df.format(new Date()))));
+		// System.out.println(daysBetween(df.parse("2017-07-20 10:07:42"), df.parse(df.format(new Date()))));
 		System.out.println(getWeekMondayWithDate(new Date()));
 		System.out.println(getNextWeekMonday(new Date()));
 		System.out.println(getNextWeekSunday(new Date()));
-        System.out.println(dayEnd(new Date()));
+		System.out.println(dayEnd(new Date()));
 	}
 }

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

@@ -69,7 +69,7 @@ public class TaskController extends BaseController {
 	@GetMapping("/studentCoursesScheduleRemind")
 	// 学生有课提醒
 	public void studentCoursesScheduleRemind() {
-		courseScheduleService.studentCoursesScheduleRemind();
+		//courseScheduleService.studentCoursesScheduleRemind();
 	}
 
 	@GetMapping("/studentSignInRemind")
@@ -93,7 +93,7 @@ public class TaskController extends BaseController {
 	@GetMapping("/teacherSignInRemind")
 	// 老师上课提醒
 	public void teacherSignInRemind() {
-		courseScheduleService.teacherSignInRemind();
+		//courseScheduleService.teacherSignInRemind();
 	}
 
 	@GetMapping("/homeworkNoReplyRemind")