change 4 anni fa
parent
commit
b156957b81

+ 6 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserPlanQueryBo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 
@@ -39,6 +40,10 @@ public class UserPlanQueryBo extends BaseEntity {
 	/** 计划json格式 */
 	@ApiModelProperty("计划json格式")
 	private String schedule;
+
+	/** 用户Id */
+	@ApiModelProperty("用户Id")
+	private Long userId;
 	/** 考试日期 */
 	@ApiModelProperty("考试日期")
 	private Long examDate;
@@ -69,6 +74,6 @@ public class UserPlanQueryBo extends BaseEntity {
 
 	/** 定制的课程 */
 	@ApiModelProperty("定制的课程")
-	private String[] courseId;
+	private Integer courseId;
 
 }

+ 10 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserPlanServiceImpl.java

@@ -208,6 +208,7 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
 
         //最近考试时间七天前到现在的天数,学习视频时长
         Date date1 = new Date(examArrangementTimeVo.getStartTime()*1000L);
+        System.out.println(date1.getTime());
         //获得相隔天数
         Long[] longs ={1L,2L,3L,4L,5L,6L};
         int dutyDays = getDutyDays(new Date(), date1,longs,7L);
@@ -242,6 +243,9 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
             List<DayStudyVo> dayStudyVos = getDays(firstDayOfMonth, lastDayOfMonth);
             for (DayStudyVo dayStudyVo : dayStudyVos) {
                 if (dayStudyVo.getDate() > Calendar.getInstance().get(Calendar.DAY_OF_MONTH) && month == (cal.get(Calendar.MONTH) + 1) && ifTrue(dayStudyVo.getStudyDay(),longs)) {
+                    if (sectionNum == 0){
+                        break;
+                    }
                     if (Sec > sectionNum) {
                         dayStudyVo.setStudyCourseKnob(Convert.toLong(Sec));
                         sectionNum = sectionNum-Sec;
@@ -384,17 +388,19 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
 
     private static int getDutyDays(Date  startDateStr, Date endDateStr,Long[] longs,Long studyDay) throws ParseException {
         int result = 0;
-        Date startDate = startDateStr;
+        Date endDate = endDateStr;
         Calendar c = Calendar.getInstance();
-        c.setTime(startDate);
+        c.setTime(endDate);
         c.add(Calendar.DATE, - Convert.toInt(studyDay));
-        startDate = c.getTime();
-        Date endDate = endDateStr;
+        endDate = c.getTime();
+
+        Date startDate = startDateStr;
 
         while (startDate.compareTo(endDate) <= 0) {
             for (Long integer : longs) {
                 if (startDate.getDay() != integer) {
                     result++;
+                    break;
                 }
             }
             startDate.setDate(startDate.getDate() + 1);

+ 11 - 18
zhongzheng-system/src/main/resources/mapper/modules/user/UserPlanMapper.xml

@@ -21,19 +21,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="planId" column="plan_id"/>
     </resultMap>
 
-    <resultMap type="com.zhongzheng.modules.course.domain.Course" id="CourseResult">
+    <resultMap type="com.zhongzheng.modules.user.vo.CoursePlanVo" id="CourseResult">
         <result property="courseId" column="course_id"/>
         <result property="categoryId" column="category_id"/>
-        <result property="price" column="price"/>
-        <result property="duration" column="duration"/>
-        <result property="startTime" column="start_time"/>
-        <result property="endTime" column="end_time"/>
-        <result property="coverUrl" column="cover_url"/>
-        <result property="introduction" column="introduction"/>
-        <result property="createTime" column="create_time"/>
-        <result property="updateTime" column="update_time"/>
-        <result property="status" column="status"/>
-        <result property="teacherIds" column="teacher_ids"/>
         <result property="courseName" column="course_name"/>
         <result property="chapterNum" column="chapter_num"/>
         <result property="sectionNum" column="section_num"/>
@@ -41,7 +31,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
 
-    <select id="selectByCourse" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo"  resultMap="CourseResult">
+    <resultMap type="com.zhongzheng.modules.exam.vo.ExamArrangementTimeVo" id="ExamArrangementTimeResult">
+        <result property="arrangementId" column="arrangement_id"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+    </resultMap>
+
+    <select id="selectByCourse" parameterType="com.zhongzheng.modules.user.bo.UserPlanQueryBo"  resultMap="CourseResult">
         SELECT rs.course_name,
         rs.course_id,rs.status,sum(section_num) as section_num,count(chapter_id)
         as chapter_num,mc.category_name,mc.category_id,sum(total_time) as duration from
@@ -50,18 +46,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN course_section cs
         on cc.chapter_id = cs.chapter_id
         WHERE 1=1
-        <if test="course_id != null and course_id !='' ">
-            AND c.course_id in
-            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
+        <if test="courseId != null and courseId !='' ">
+            AND c.course_id in (#{courseId})
         </if>
         GROUP BY cs.chapter_id,c.course_id)rs LEFT JOIN major_category mc on rs.category_id = mc.category_id
         GROUP BY course_id
         limit 1
     </select>
 
-    <select id="selectByExam" parameterType="Long"  resultMap="CourseResult">
+    <select id="selectByExam" parameterType="Long"  resultMap="ExamArrangementTimeResult">
         SELECT
             e.*
         FROM