Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 years ago
parent
commit
447e344040

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -114,4 +114,12 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     List<Map<Integer,String>> findByMusicGroupAndUsers(@Param("musicGroupId") String musicGroupId,
                                                        @Param("userIds") List<Integer> userIds);
 
+    /**
+     * @describe
+     * @author Joburgess
+     * @date 2019/11/13
+     * @param courseScheuleIds:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
+     */
+    List<Map<Integer,String>> findSubjectNameCourseMaps(@Param("courseScheduleIds") List<Long> courseScheuleIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -42,6 +42,16 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "投诉状态")
     private Integer complaintStatus;
 
+    private String subjectName;
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
     public Integer getComplaintStatus() {
         return complaintStatus;
     }

+ 27 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -73,6 +73,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	private TeacherDao teacherDao;
 	@Autowired
 	private MusicGroupDao musicGroupDao;
+	@Autowired
+	private SubjectDao subjectDao;
 
 	@Override
 	public BaseDAO<Long, CourseSchedule> getDAO() {
@@ -223,7 +225,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		result.put("vipAppealDaysRange",sysConfigDao.findConfigValue(SysConfigService.VIP_APPEAL_DAYS_RANGE));
 		result.put("advanceLeaveHours",Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_LEAVE_HOURS)));
 		List<CourseScheduleDto> studentCourseSchedulesWithDate = courseScheduleDao.getStudentCourseSchedulesWithDate(classDate, user.getId().longValue());
-		studentCourseSchedulesWithDate.forEach(courseScheduleDto -> {
+		List<Long> courseScheduleIds = studentCourseSchedulesWithDate.stream()
+				.filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
+				.map(CourseScheduleDto::getId).collect(Collectors.toList());
+
+		Map<Integer, String> subjectNameCourseMap=new HashMap<>();
+		if(!CollectionUtils.isEmpty(courseScheduleIds)){
+			List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+			subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+		}
+
+		for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
 			if(now.before(courseScheduleDto.getStartClassTime())){
 				courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
 			}else if(now.after(courseScheduleDto.getEndClassTime())){
@@ -231,7 +243,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}else{
 				courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
 			}
-		});
+			courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+		}
 		result.put("list",studentCourseSchedulesWithDate);
 		return result;
 	}
@@ -273,7 +286,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 		Date now=new Date();
 		List<CourseScheduleDto> teacherCourseSchedulesWithDate = courseScheduleDao.getTeacherCourseSchedulesWithDate(classDate, userId.longValue(),type);
-		teacherCourseSchedulesWithDate.forEach(courseScheduleDto -> {
+		List<Long> courseScheduleIds = teacherCourseSchedulesWithDate.stream()
+				.filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
+				.map(CourseScheduleDto::getId).collect(Collectors.toList());
+
+		Map<Integer, String> subjectNameCourseMap=new HashMap<>();
+		if(!CollectionUtils.isEmpty(courseScheduleIds)){
+			List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+			subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+		}
+		for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
 			if(now.before(courseScheduleDto.getStartClassTime())){
 				courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
 			}else if(now.after(courseScheduleDto.getEndClassTime())){
@@ -285,7 +307,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
 				courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNums, ","));
 			}
-		});
+			courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+		}
 		return teacherCourseSchedulesWithDate;
 	}
 

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

@@ -56,6 +56,7 @@
             <if test="totalClassTimes!=null">total_class_times_,</if>
             <if test="currentClassTimes!=null">current_class_times_,</if>
             <if test="img!=null">img_,</if>
+            <if test="delFlag!=null">del_flag_,</if>
         </trim>
         VALUES
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -71,6 +72,7 @@
             <if test="totalClassTimes!=null">#{totalClassTimes},</if>
             <if test="currentClassTimes!=null">#{currentClassTimes},</if>
             <if test="img!=null">#{img},</if>
+            <if test="delFlag!=null">#{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},</if>
         </trim>
     </insert>
 
@@ -120,6 +122,9 @@
             <if test="img!=null">
                 img_=#{img},
             </if>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

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

@@ -1233,6 +1233,7 @@
         <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
             #{classGroupId}
         </foreach>
+        ORDER BY start_class_time_
     </select>
     <select id="findStudentMap" resultType="java.util.Map">
         SELECT cs.user_id_ 'key',cs.user_id_ 'value' FROM course_schedule_student_payment cs

+ 21 - 20
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -161,27 +161,27 @@
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="CourseHomeworkDto" parameterType="map">
         SELECT
-        sch.id_,
-        ch.*,
-        mg.name_ music_group_name_,
-        cg.name_ class_group_name_,
-        temp.next_class_date_,
-        sch.remark_,
-        sch.status_,
-        sch.is_replied_
+            sch.id_,
+            ch.*,
+            mg.name_ music_group_name_,
+            cg.name_ class_group_name_,
+            temp.next_class_date_,
+            sch.remark_,
+            sch.status_,
+            sch.is_replied_
         FROM student_course_homework sch
-        LEFT JOIN course_homework ch ON sch.course_homework_id_=ch.id_
-        LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
-        LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
-        LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
-        LEFT JOIN (SELECT
-        class_group_id_,
-        MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
-        FROM
-        course_schedule
-        WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
-        GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
-        <include refid="queryCondition"/>
+            LEFT JOIN course_homework ch ON sch.course_homework_id_=ch.id_
+            LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
+            LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
+            LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
+            LEFT JOIN (SELECT
+                class_group_id_,
+                MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
+                FROM
+                course_schedule
+                WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
+                GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
+            <include refid="queryCondition"/>
         ORDER BY ch.id_
         <include refid="global.limit"/>
     </select>
@@ -230,6 +230,7 @@
 	<select id="constructInitialStudentHomeworkRecordsWithPayment" resultMap="StudentCourseHomework">
 		SELECT
 			#{courseHomeworkID} course_homework_id_,
+			#{courseScheduleID} course_schedule_id_,
 			sa.user_id_,
 			0 status_,
 			0 is_replied_

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

@@ -252,7 +252,7 @@
         <![CDATA[ AND create_time_ <= ]]> #{beforeTime}
     </select>
     <select id="countStudentPaymentNum" resultType="int">
-        select count(1) from student_payment_order where  music_group_id_=#{musicGroupId}
+        select count(1) from student_payment_order where  music_group_id_=#{musicGroupId} AND status_ = 'SUCCESS'
     </select>
 
 </mapper>

+ 16 - 0
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -166,4 +166,20 @@
                 #{userId}
             </foreach>
     </select>
+
+    <select id="findSubjectNameCourseMaps" resultType="java.util.Map">
+        SELECT
+            cs.id_ AS 'key',
+            GROUP_CONCAT(s.name_) AS 'value'
+        FROM
+            course_schedule cs
+            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+            LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,cg.subject_id_list_)
+            WHERE cs.id_ IN
+            <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+                #{courseScheduleId}
+            </foreach>
+            AND cg.subject_id_list_ IS NOT NULL
+        GROUP BY cs.id_
+    </select>
 </mapper>

+ 3 - 5
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -13,9 +13,9 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.thirdparty.adapay.NotifyEvent;
 import com.ym.mec.thirdparty.adapay.Pay;
 import com.ym.mec.thirdparty.yqpay.Msg;
-import com.ym.mec.thirdparty.yqpay.YqPayUtil;
-import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
 import com.ym.mec.thirdparty.yqpay.RsqMsg;
+import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
+import com.ym.mec.thirdparty.yqpay.YqPayUtil;
 import com.ym.mec.util.http.HttpUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -34,8 +34,6 @@ import java.net.URLEncoder;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.netflix.config.DeploymentContext.ContextKey.appId;
-
 @RequestMapping("studentOrder")
 @Api(tags = "订单回调")
 @RestController
@@ -362,7 +360,7 @@ public class StudentOrderController extends BaseController {
 
     }
 
-    //@Scheduled(cron = "0/30 * * * * ?")
+    @Scheduled(cron = "0/30 * * * * ?")
     public void setSuccessStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");