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

Merge branch 'merge_student_feature' into test

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java
周箭河 преди 4 години
родител
ревизия
7fd5722a49

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java

@@ -124,6 +124,9 @@ public class StudentRegistration {
     
     private Integer chargeTypeId;
 
+    @ApiModelProperty(value = "是否是合并的学员 0-否 1-是",required = true)
+    private Integer isMerge = 0;
+
     public String getCertificateType() {
         return certificateType;
     }
@@ -434,4 +437,12 @@ public class StudentRegistration {
     public void setCurrentGradeNum(Integer currentGradeNum) {
         this.currentGradeNum = currentGradeNum;
     }
+
+    public Integer getIsMerge() {
+        return isMerge;
+    }
+
+    public void setIsMerge(Integer isMerge) {
+        this.isMerge = isMerge;
+    }
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -352,7 +352,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param registerIds 学员注册id
 	 * @return 添加学员记录
 	 */
-	List<StudentRegistration> addMusicGroupRegs(String musicGroupId,List<Long> registerIds);
+	List<StudentRegistration> addMusicGroupRegs(String musicGroupId,List<Long> registerIds) throws Exception;
 
 
 	/**

+ 18 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2698,7 +2698,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public List<StudentRegistration> addMusicGroupRegs(String musicGroupId, List<Long> registerIds) {
+    public List<StudentRegistration> addMusicGroupRegs(String musicGroupId, List<Long> registerIds) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null || sysUser.getId() == null) {
             throw new BizException("获取用户信息失败");
@@ -2747,10 +2747,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (StudentRegistration studentRegistration : regs) {
                 studentRegistration.setId(null);
                 studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.APPLY);
-                studentRegistration.setPaymentStatus(PaymentStatusEnum.NO);
+                studentRegistration.setPaymentStatus(PaymentStatusEnum.OPEN); //开启缴费
                 studentRegistration.setMusicGroupId(musicGroupId);
                 studentRegistration.setSubjectId(subjectId);
                 studentRegistration.setActualSubjectId(subjectId);
+                studentRegistration.setIsMerge(1);
                 studentRegistration.setTemporaryCourseFee(null);
             }
             studentRegistrationList.addAll(regs);
@@ -2760,6 +2761,21 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (studentRegistrationList.size() > 0) {
             studentRegistrationDao.batchInsert(studentRegistrationList);
         }
+        //0元的和学校缴费的默认缴费
+        MusicGroupPaymentCalender regCalender = musicGroupPaymentCalenderService.findByMusicGroupRegCalender(musicGroupId);
+        if (regCalender == null || regCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.SCHOOL) ||
+                regCalender.getPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
+            List<MusicGroupPaymentCalenderCourseSettings> musicGroupRegCalenderCourseSettings = musicGroupPaymentCalenderCourseSettingsDao.getMusicGroupRegCalenderCourseSettings(musicGroupId);
+            List<Integer> courseSettings = musicGroupRegCalenderCourseSettings.stream().filter(e -> !e.getIsStudentOptional()).map(MusicGroupPaymentCalenderCourseSettings::getId).collect(Collectors.toList());
+            RegisterPayDto registerPayDto = new RegisterPayDto();
+            registerPayDto.setAmount(BigDecimal.ZERO);
+            registerPayDto.setNewCourse(courseSettings);
+            for (StudentRegistration studentRegistration : studentRegistrationList) {
+                registerPayDto.setRegisterId(studentRegistration.getId().intValue());
+                Map payMap = this.pay(registerPayDto);
+            }
+
+        }
 
         //修改乐团信息
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1073,6 +1073,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
             addCalenderDetail(studentPaymentOrder, studentRegistration);
 
+            if (studentRegistration.getIsMerge().equals(1) && studentPaymentOrder.getExpectAmount().compareTo(BigDecimal.ZERO) <= 0) {
+                return studentPaymentOrder;
+            }
+
             //三方乐团不发送缴费通知
             if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
                 //发送缴费成功通知(短信 + push)

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

@@ -482,11 +482,11 @@
         AND music_group_status_ != 'QUIT'
     </select>
 
-    <insert id="batchInsert">
+    <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         INSERT INTO student_registration
         (parents_phone_,id_,user_id_,name_,music_group_id_,current_grade_,current_class_,subject_id_,
         is_allow_adjust_,kit_purchase_method_,remark_,create_time_,update_time_,
-        parents_name_,parents_company_,payment_status_,actual_subject_id_,music_group_status_)
+        parents_name_,parents_company_,payment_status_,actual_subject_id_,music_group_status_,is_merge_)
         VALUES
         <foreach collection="studentRegistrationList" item="item" index="index" separator=",">
             (#{item.parentsPhone},#{item.id},#{item.userId},#{item.name},#{item.musicGroupId},#{item.currentGrade},
@@ -494,7 +494,7 @@
             #{item.kitPurchaseMethod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{item.remark},now(),now(),#{item.parentsName},#{item.parentsCompany},
             #{item.paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.subjectId},
-            #{item.musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+            #{item.musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.isMerge})
         </foreach>
     </insert>