Joburgess 5 年之前
父節點
當前提交
f438e978f0

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -42,6 +42,14 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
                                                                        @Param("courseHomeworkID") Long courseHomeworkID);
 
     /**
+     * @Author: Joburgess
+     * @Date: 2019/9/18
+     * 构建初始学生作业提交记录
+     */
+    List<StudentCourseHomework> constructInitialStudentHomeworkRecordsWithPayment(@Param("courseScheduleID") Long courseScheduleID,
+                                                                       @Param("courseHomeworkID") Long courseHomeworkID);
+
+    /**
      * @describe 根据作业编号获取需要提交作业的学生
      * @author Joburgess
      * @date 2019/10/20
@@ -67,4 +75,4 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * @return
      */
     List<StudentCourseHomework> queryNotDoneHomeworkList();
-}
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java

@@ -110,6 +110,16 @@ public class VipGroup {
 	@ApiModelProperty(value = "开课时间")
 	private Date courseStartDate;
 
+	private String courseSchedulesJson;
+
+	public String getCourseSchedulesJson() {
+		return courseSchedulesJson;
+	}
+
+	public void setCourseSchedulesJson(String courseSchedulesJson) {
+		this.courseSchedulesJson = courseSchedulesJson;
+	}
+
 	public Date getCourseStartDate() {
 		return courseStartDate;
 	}

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -20,6 +20,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.util.*;
 
@@ -152,6 +153,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			courseHomeworkService.insert(courseHomework);
 			List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao.constructInitialStudentHomeworkRecords(teacherAttendance.getCourseScheduleId(),
 					courseHomework.getId());
+			if(CollectionUtils.isEmpty(studentCourseHomeworks)){
+				throw new BizException("此课程没有学生");
+			}
 			studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 		}
 

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

@@ -415,7 +415,7 @@
             CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
             cs.status_,
             su.username_ teacher_name_,
-            cgsm.status_ attendance_status_,
+            IF(sa.status_ IS NULL,'NORMAL',sa.status_) attendance_status_,
             csc.id_ IS NOT NULL complaint_status_,
             cs.teach_mode_
         FROM
@@ -423,7 +423,7 @@
             LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
             LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
             LEFT JOIN course_schedule_complaints csc ON csc.course_schedule_id_=cssp.course_schedule_id_ AND csc.user_id_=#{studentId}
-            LEFT JOIN class_group_student_mapper cgsm ON cgsm.class_group_id_ = cs.class_group_id_ AND cgsm.user_id_=#{studentId}
+            LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_  AND sa.user_id_=#{studentId}
         WHERE
           cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
         AND cssp.user_id_ = #{studentId}

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -216,6 +216,17 @@
 			sa.course_schedule_id_ = #{courseScheduleID}
 			AND status_ = "NORMAL"
 	</select>
+	<select id="constructInitialStudentHomeworkRecordsWithPayment" resultMap="StudentCourseHomework">
+		SELECT
+			#{courseHomeworkID} course_homework_id_,
+			sa.user_id_,
+			0 status_,
+			0 is_replied_
+		FROM
+			course_schedule_student_payment sa
+		WHERE
+			sa.course_schedule_id_ = #{courseScheduleID}
+	</select>
 	<select id="findByCourseSchedule" resultMap="StudentCourseHomework">
 		SELECT
 			sch.*,

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

@@ -36,6 +36,7 @@
         <result column="organ_id_" property="organId"/>
         <result column="stop_reason_" property="stopReason"/>
         <result column="courses_start_date" property="courseStartDate"/>
+        <result column="course_schedules_json_" property="courseSchedulesJson"/>
     </resultMap>
     
     <resultMap type="com.ym.mec.biz.dal.entity.School" id="School">
@@ -172,8 +173,8 @@
         </selectKey>
         -->
         INSERT INTO vip_group
-        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,name_,organ_id_list_,vip_group_activity_id_,status_,online_classes_unit_price_,offline_classes_unit_price_,total_price_,give_teach_mode_,vip_group_category_id_,organ_id_,stop_reason_,audit_status_,courses_start_date)
-        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{organId},#{stopReason},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseStartDate})
+        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,name_,organ_id_list_,vip_group_activity_id_,status_,online_classes_unit_price_,offline_classes_unit_price_,total_price_,give_teach_mode_,vip_group_category_id_,organ_id_,stop_reason_,audit_status_,courses_start_date,course_schedules_json_)
+        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{organId},#{stopReason},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseStartDate},#{courseSchedulesJson})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -240,9 +241,12 @@
             <if test="stopReason!=null">
                 stop_reason_=#{stopReason},
             </if>
-            <if test="auditStatus">
+            <if test="auditStatus!=null">
                 audit_status_=#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            <if test="courseSchedulesJson!=null">
+                course_schedules_json_=#{courseSchedulesJson},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>