瀏覽代碼

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

zouxuan 5 年之前
父節點
當前提交
ca2794a7ba

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -33,6 +33,15 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
                                               @Param("status") String status);
 
     /**
+     * @describe 统计报名人数
+     * @author Joburgess
+     * @date 2019/11/13
+     * @param musicGroupId: 乐团编号/vip课编号
+     * @return java.lang.Integer
+     */
+    Integer countStudentPaymentNum(@Param("musicGroupId") String musicGroupId);
+
+    /**
      * 查询乐团报名的订单
      *
      * @param userId

+ 3 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java

@@ -20,7 +20,9 @@ public class StudentPaymentOrder {
 
 	/**  */
 	private Long id;
-	
+
+	@Version
+	private Integer version;
 	/**  */
 	@ApiModelProperty(value = "用户编号",required = true)
 	private Integer userId;
@@ -79,9 +81,6 @@ public class StudentPaymentOrder {
 	@ApiModelProperty(value = "课程组编号",required = true)
 	private Integer classGroupId;
 
-	@Version
-	private Integer version;
-
 	private Date payTime;
 
 	private Integer accountId;

+ 5 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -1,9 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
@@ -18,6 +15,7 @@ import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -49,6 +47,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
     private ClassGroupService classGroupService;
     @Autowired
     private MusicGroupService musicGroupService;
+    @Autowired
+    private TeacherAttendanceDao teacherAttendanceDao;
 
     @Override
     public BaseDAO<Long, ClassGroupTeacherMapper> getDAO() {
@@ -114,6 +114,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
         //删除未开始的课程老师课酬
         List<Long> courseScheduleIds = classGroupNoStartCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
         courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+        teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
 
         for (CourseSchedule classGroupNoStartCourseSchedule : classGroupNoStartCourseSchedules) {
 

+ 15 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -727,7 +727,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			classGroup.setStudentNum(classGroup.getStudentNum()+num);
 		}
 
-		if(classGroup.getStudentNum().equals(classGroup.getExpectStudentNum())&&updateVipStatus){
+		Integer studentPaymentNum=studentPaymentOrderDao.countStudentPaymentNum(vipGroupId.toString());
+
+		if(studentPaymentNum.equals(classGroup.getExpectStudentNum())&&updateVipStatus){
 			vipGroup.setStatus(VipGroupStatusEnum.FINISH);
 			vipGroupDao.update(vipGroup);
 			createVipGroupCourseScheInfo(vipGroupId);
@@ -758,15 +760,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
 
-		ImGroupMember[] imGroupMembers=new ImGroupMember[classGroupStudents.size()+1];
-		imGroupMembers[0]=new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString());
+		List<ImGroupMember> imGroupMemberList = new ArrayList<>();
+		imGroupMemberList.add(new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString()));
 		//生成学生单课缴费信息
-		for (int i=0;i<classGroupStudents.size();i++) {
-			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,classGroupStudents.get(i).getUserId());
-			imGroupMembers[i+1]=new ImGroupMember(classGroupStudents.get(i).getUserId().toString());
+		for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
+			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,classGroupStudent.getUserId());
+			imGroupMemberList.add(new ImGroupMember(classGroupStudent.getUserId().toString()));
 		}
 
 		try {
+			ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
 			// 创建群组
 			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 
@@ -871,6 +874,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Long vipGroupId=Long.parseLong(order.getMusicGroupId());
 		Integer userId = order.getUserId();
 		boolean isOk=order.getStatus().equals(DealStatusEnum.SUCCESS);
+
+		StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.get(order.getId());
+		if(studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)){
+			return;
+		}
+
 		studentPaymentOrderDao.update(order);
 
 		//将学生加入到班级,更新班级报名状态及人数信息

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

@@ -251,5 +251,8 @@
         AND status_=#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         <![CDATA[ AND create_time_ <= ]]> #{beforeTime}
     </select>
+    <select id="countStudentPaymentNum" resultType="int">
+        select count(1) from student_payment_order where  music_group_id_=#{musicGroupId}
+    </select>
 
 </mapper>