Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
0c1c2311bb

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

@@ -343,7 +343,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param musicGroupIds
      * @return
      */
-    List<CourseListDto> queryStudentVipCourses(@Param("musicGroupIds") String musicGroupIds);
+    List<CourseListDto> queryStudentVipCourses(@Param("musicGroupIds") String musicGroupIds,@Param("userId") Integer userId);
 
     /**
      * 获取学生端,学员乐团课列表详情
@@ -351,7 +351,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param musicGroupIds
      * @return
      */
-    List<CourseListDto> queryStudentMusicGroupCourses(@Param("musicGroupIds") String musicGroupIds);
+    List<CourseListDto> queryStudentMusicGroupCourses(@Param("musicGroupIds") String musicGroupIds,@Param("userId") Integer userId);
 
     /**
      * 查询对应类型所有班级列表

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

@@ -486,12 +486,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<String> musicGroupIds = courseScheduleDao.queryMusicGroupIds(params);
         courseListDtos = new ArrayList<>();
         //获取学员所购买的vip课列表详情
-        List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","));
+        List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","),userId);
         //获取vip课的学生列表
         Set<String> vipIds = vipCourses.stream().map(CourseListDto::getMusicGroupId).collect(Collectors.toSet());
         Map<String, String> vipStuNames = MapUtil.convertMybatisMap(classGroupDao.findVipStuNames(StringUtils.join(vipIds, ",")));
         //获取学员的乐团列表详情
-        courseListDtos.addAll(classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds, ",")));
+        courseListDtos.addAll(classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds, ","),userId));
         courseListDtos.addAll(vipCourses);
         //检测对应乐团是否已申请退费
         List<Map<String, Integer>> isApplyMaps;
@@ -1566,7 +1566,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ClassGroup> classGroupList = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroupId, ClassGroupTypeEnum.HIGH);
         for (ClassGroup classGroup : classGroupList) {
             List<String> subjects = subjectService.findBySubIds(classGroup.getSubjectIdList());
-            String subjectName = StringUtils.join(subjects, "/");
+            String subjectName = StringUtils.join(subjects, ",");
             classGroup.setSubjectName(subjectName);
         }
         return classGroupList;

+ 24 - 28
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -256,21 +256,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false);
 		vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
 		vipGroupDao.update(vipGroupApplyBaseInfoDto);
-
-		try {
-			//创建融云班级群
-			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());
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
 	}
 
 	@Override
@@ -526,7 +511,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("未找到指定课程");
 		}
 		StudentVipGroupDetailDto vipGroupDetail = vipGroupDao.getVipGroupDetail(vipGroupId);
-		if(CollectionUtils.isEmpty(vipGroupDetail.getCourseSchedules())){
+		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
 			vipGroupDetail.setCourseSchedules(JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class));
 		}
 
@@ -771,9 +756,28 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
 
+		ImGroupMember[] imGroupMembers1=new ImGroupMember[classGroupStudents.size()];
 		//生成学生单课缴费信息
-		for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
-			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,classGroupStudent.getUserId());
+		for (int i=0;i<classGroupStudents.size();i++) {
+			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,classGroupStudents.get(i).getUserId());
+			imGroupMembers1[i]=new ImGroupMember(classGroupStudents.get(i).getUserId().toString());
+		}
+
+		try {
+			//创建融云班级群
+			ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString())};
+			// 创建群组
+			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+
+			imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers1, null));
+
+			//发送推送短信
+			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());
+		} catch (Exception e) {
+			e.printStackTrace();
 		}
 	}
 
@@ -844,8 +848,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String,Object> payMap = payService.getPayMap(
 				vipGroup.getTotalPrice(),
 				orderNo,
-				"https://dyme.utools.club/api-student/studentOrder/notify",
-				"http://dyme.utools.club/#/paymentresult?orderNo="+orderNo,
+				"http://mstudev.dayaedu.com/api-student/studentOrder/notify",
+				"http://mstudev.dayaedu.com/#/paymentresult?orderNo=" + orderNo,
 				"vip课购买",
 				vipGroup.getName());
 		studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
@@ -908,14 +912,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		classGroupStudentMapper.setMusicGroupId(vipGroupId.toString());
 		classGroupStudentMapperDao.insert(classGroupStudentMapper);
 
-		try {
-			//将学员加入vip班级群组
-			ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(userId.toString())};
-			imFeignService.groupJoin(new ImGroupModel(vipGroupClassGroupMapper.getClassGroupId().toString(), imGroupMembers, null));
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
 		//更新所属分部列表
 		List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(vipGroupClassGroupMapper.getClassGroupId().longValue());
 		organIds.add(vipGroup.getOrganId());

+ 1 - 1
mec-biz/src/main/resources/config/contracts/courses.ftl

@@ -156,7 +156,7 @@
         6、双方因履行本协议而相互发出或者提供的所有通知、文件、资料,均以本协议中所列明的电话、APP推送消息送达,乙方如果变更电话号码的,应当自变更后1日内通知甲方且获得甲方确认,甲方通过电话、APP方式无法联系乙方或者甲方认为必要时,甲方也可以通过特快专递至乙方住址的方式向乙方发出上述任何通知、文件、资料等,并在甲方寄出特快专递后第5日视为送达成功。
         
         <div class="signature">
-            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司
+            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             <div class="sign">乙方签字:${studentInfo.realName!}

+ 1 - 1
mec-biz/src/main/resources/config/contracts/goods.ftl

@@ -135,7 +135,7 @@
         3、本协议未尽事宜或对本协议的任何修改、补充,由双方另行协商后以签订补充协议的方式解决,补充协议与本协议具有同等法律效力;双方没有约定也没有协商一致的,遵照相关法律法规规定执行。<br/>
         4、双方因履行本协议而相互发出或者提供的所有通知、文件、资料,均以本协议中所列明的电话、APP推送消息送达,乙方如果变更电话号码的,应当自变更后1日内通知甲方且获得甲方确认,甲方通过电话、APP方式无法联系乙方或者甲方认为必要时,甲方也可以通过特快专递至乙方住址的方式向乙方发出上述任何通知、文件、资料等,并在甲方寄出特快专递后第5日视为送达成功。
         <div class="signature">
-            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司
+            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             <div class="sign">乙方签字:${studentInfo.realName!}

+ 4 - 6
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -452,9 +452,7 @@
             LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
             LEFT JOIN school s ON vg.teacher_school_id_ = s.id_
         WHERE
-            cs.actual_teacher_id_ = #{teacherId}
-            AND cs.status_ != 'OVER'
-            AND cs.type_ = 'VIP'
+            vg.user_id_ = #{teacherId}
             AND cg.del_flag_ = 0
         GROUP BY
             vg.id_,cg.id_
@@ -494,14 +492,14 @@
         SELECT cg.name_ class_group_name_,cg.type_ class_group_type_,
         cg.current_class_times_,cg.id_ class_group_id_
         FROM class_group cg
-        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
+        WHERE cg.music_group_id_ = #{search} AND cg.del_flag_ = 0
         <include refid="global.limit"/>
     </select>
 
     <select id="countMusicGroupClassGroup" resultType="java.lang.Integer">
         SELECT COUNT(cg.id_)
         FROM class_group cg
-        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
+        WHERE cg.music_group_id_ = #{search} AND cg.del_flag_ = 0
     </select>
 
     <select id="countStudentNum" resultType="java.util.Map">
@@ -629,7 +627,7 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0 AND mgsf.user_id_ = #{userId}
         GROUP BY mg.id_,mgsf.payment_status_
     </select>