瀏覽代碼

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父節點
當前提交
6b21e6a8f8

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -39,7 +39,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param musicGroupId
      * @return
      */
-    List<Map<Integer, Long>> countPayNum(@Param("musicGroupId") String musicGroupId);
+    List<Map<Integer, Integer>> countPayNum(@Param("musicGroupId") String musicGroupId);
 
     /**
      * 学生报名缴费金额详情
@@ -206,7 +206,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param musicGroupId
      * @return
      */
-    List<Map<Long, Long>> countApplyNum(String musicGroupId);
+    List<Map<Integer, Integer>> countApplyNum(String musicGroupId);
 
     /**
      * 根据家长手机号获取用户编号

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupStudentQueryInfo.java

@@ -12,10 +12,10 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
   private String musicGroupId;
 
   @ApiModelProperty(value = "学员状态 NORMAL(NORMAL, 在读), LEAVE(LEAVE, 请假), QUIT(QUIT, 退班)",required = false)
-  private Integer studentStatus;
+  private String studentStatus;
 
   @ApiModelProperty(value = "缴费状态  PAID_COMPLETED(完成缴费), NON_PAYMENT(未缴费), PROCESSING(缴费中)",required = false)
-  private Integer paymentStatus;
+  private String paymentStatus;
 
   public String getMusicGroupId() {
     return musicGroupId;
@@ -33,19 +33,19 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
     this.subjectId = subjectId;
   }
 
-  public Integer getStudentStatus() {
+  public String getStudentStatus() {
     return studentStatus;
   }
 
-  public void setStudentStatus(Integer studentStatus) {
+  public void setStudentStatus(String studentStatus) {
     this.studentStatus = studentStatus;
   }
 
-  public Integer getPaymentStatus() {
+  public String getPaymentStatus() {
     return paymentStatus;
   }
 
-  public void setPaymentStatus(Integer paymentStatus) {
+  public void setPaymentStatus(String paymentStatus) {
     this.paymentStatus = paymentStatus;
   }
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -164,6 +164,15 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
     void updateVipGroupStudentNumAndStatus(Long vipGroupId,Integer num,boolean updateVipStatus);
 
     /**
+     * @describe 课程购买成功后,创建课程相关信息
+     * @author Joburgess
+     * @date 2019/11/12
+     * @param vipGroupId: vip课编号
+     * @return void
+     */
+    void createVipGroupCourseScheInfo(Long vipGroupId);
+
+    /**
      * @Author: Joburgess
      * @Date: 2019/10/3
      * @params [vipGroupBuyParams]

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

@@ -1554,16 +1554,17 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     e.setMasterTeacherId(currentBishopTeacher.getUserId());
                     e.setMasterTeacherName(currentBishopTeacher.getUserName());
                 }
-
                 List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
                 if (CollectionUtils.isEmpty(currentCourseTeachingTeachers)) {
-                    e.setTeacherNum(0);
-                    e.setTeachingTeachers(new ArrayList<>());
+                    currentCourseTeachingTeachers = new ArrayList<>();
+                    currentCourseTeachingTeachers.add(currentBishopTeacher);
+                    e.setTeacherNum(currentCourseTeachingTeachers.size());
+                    e.setTeachingTeachers(currentCourseTeachingTeachers);
                 } else {
+                    currentCourseTeachingTeachers.add(currentBishopTeacher);
                     e.setTeachingTeachers(currentCourseTeachingTeachers);
                     e.setTeacherNum(currentCourseTeachingTeachers.size());
                 }
-
             });
         }
         if (count == 0) {

+ 3 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
@@ -19,7 +18,6 @@ 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.collections.ListUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -573,9 +571,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
 
-            if(oldCourseSchedule.getStartClassTime().before(tomorrow)){
-                throw new BizException("不能调整今天及以前的课程");
-            }
+//            if(oldCourseSchedule.getStartClassTime().before(now)){
+//                throw new BizException("不能调整今天及以前的课程");
+//            }
 
 			oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
 			oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());

+ 9 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.SubjectGoodsMapperDao;
@@ -60,14 +61,14 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     public List<SubjectApplyDetailDto> findSubApplyDetail(String musicGroupId) {
         List<SubjectApplyDetailDto> subApplyDetail = subjectDao.findSubApplyDetail(musicGroupId);
 //        //统计当前乐团不同声部的报名人数
-//        Map<Long,Long> applyNum = MapUtil.convertMybatisMap(studentRegistrationDao.countApplyNum(musicGroupId));
-//        Map<Integer, Long> payNumMap = MapUtil.convertMybatisMap(studentRegistrationDao.countPayNum(musicGroupId));
-//        subApplyDetail.forEach(detail ->{
-//            Long num = payNumMap.get(detail.getSubjectId());
-//            detail.setPayNum(num == null?0:num.intValue());
-//            num = applyNum.get(detail.getSubjectId().longValue());
-//            detail.setApplyStudentNum(num == null?0:num.intValue());
-//        });
+        Map<Integer,Integer> applyNum = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countApplyNum(musicGroupId))),HashMap.class);
+        Map<Integer, Integer> payNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(studentRegistrationDao.countPayNum(musicGroupId))),HashMap.class);
+        subApplyDetail.forEach(detail ->{
+            Integer num = payNumMap.get(detail.getSubjectId());
+            detail.setPayNum(num == null?0:num);
+            num = applyNum.get(detail.getSubjectId());
+            detail.setApplyStudentNum(num == null?0:num);
+        });
         return subApplyDetail;
     }
 

+ 37 - 22
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -199,7 +199,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		vipGroupApplyBaseInfoDto.setCourseStartDate(firstCourseSchedule.getStartClassTime());
 		//课程结束时间为排课的最后一节课的结束时间
 		vipGroupApplyBaseInfoDto.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
-		vipGroupDao.insert(vipGroupApplyBaseInfoDto);
 
 		//获取vip课类型信息
 		VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId().intValue());
@@ -253,27 +252,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		    courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
 			courseSchedule.setClassGroupId(classGroup.getId());
 		});
-		courseScheduleService.batchAddCourseSchedule(vipGroup.getCourseSchedules());
-
-		//创建老师单节课课酬信息
-		courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroupApplyBaseInfoDto,
-				vipGroup.getCourseSchedules(),
-				vipGroupApplyBaseInfoDto.getOnlineTeacherSalary(),
-				vipGroupApplyBaseInfoDto.getOfflineTeacherSalary());
-
-		//不需要审核
-		if(vipGroupApplyBaseInfoDto.getAuditStatus() == AuditStatusEnum.PASS){
-			//创建融云班级群
-			ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroup.getVipGroupApplyBaseInfo().getUserId().toString())};
-			// 创建群组
-			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+		vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
+		vipGroupDao.insert(vipGroupApplyBaseInfoDto);
 
-			//发送推送短信
-//			Map<Integer,String> map = new HashMap<>(1);
-//			map.put(sysUser.getId(),sysUser.getPhone());
-//			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
-//					map,null,0,"",vipGroupApplyBaseInfoDto.getName());
-		}
 	}
 
 	@Override
@@ -744,10 +725,44 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(classGroup.getStudentNum().equals(classGroup.getExpectStudentNum())&&updateVipStatus){
 			vipGroup.setStatus(VipGroupStatusEnum.FINISH);
 			vipGroupDao.update(vipGroup);
+			createVipGroupCourseScheInfo(vipGroupId);
 		}
 		classGroupDao.update(classGroup);
 	}
 
+	@Override
+	public void createVipGroupCourseScheInfo(Long vipGroupId){
+		VipGroup vipGroupApplyBaseInfoDto = vipGroupDao.get(vipGroupId);
+		List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroupApplyBaseInfoDto.getCourseSchedulesJson(),CourseSchedule.class);
+		courseScheduleService.batchAddCourseSchedule(courseSchedules);
+
+		SysUser sysUser = sysUserFeignService.queryUserById(vipGroupApplyBaseInfoDto.getUserId());
+
+		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId);
+
+		ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroupId.intValue(), vipGroupApplyBaseInfoDto.getUserId());
+
+		//创建老师单节课课酬信息
+		courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroupApplyBaseInfoDto,
+				courseSchedules,
+				classGroupTeacherSalary.getOnlineClassesSalary(),
+				classGroupTeacherSalary.getSalary());
+
+		//不需要审核
+		if(vipGroupApplyBaseInfoDto.getAuditStatus() == AuditStatusEnum.PASS){
+			//创建融云班级群
+			ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString())};
+			// 创建群组
+			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+
+			//发送推送短信
+			Map<Integer,String> map = new HashMap<>(1);
+			map.put(vipGroupApplyBaseInfoDto.getUserId(),sysUser.getPhone());
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
+					map,null,0,"",vipGroupApplyBaseInfoDto.getName());
+		}
+	}
+
 	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public Map buyVipGroup(VipGroupBuyParamsDto vipGroupBuyParams) throws Exception {
@@ -973,7 +988,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				ClassGroupStudentMapper classStudentMapperByUserIdAndClassGroupId = classGroupStudentMapperDao.query(studentPaymentOrder.getClassGroupId(),
 						studentPaymentOrder.getUserId());
 
-				classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.LEAVE);
+				classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
 				classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);
 
 				//学员退出班级群