Преглед на файлове

Merge remote-tracking branch 'origin/master'

周箭河 преди 5 години
родител
ревизия
9a48553555

+ 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

+ 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>

+ 1 - 1
mec-im/src/main/java/com/ym/config/ResourceServerConfig.java

@@ -10,6 +10,6 @@ import org.springframework.security.oauth2.config.annotation.web.configuration.R
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
     @Override
     public void configure(HttpSecurity http) throws Exception {
-        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register","/group/join").permitAll().anyRequest().authenticated().and().csrf().disable();
+        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register","/group/join","/group/create").permitAll().anyRequest().authenticated().and().csrf().disable();
     }
 }