浏览代码

Merge branch 'merge_student_feature' into maintenance_feature

周箭河 4 年之前
父节点
当前提交
3418c240e5

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

@@ -156,7 +156,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param studentRegistrationList
      * @return
      */
-    int batchInsert(@Param("studentRegistrationList") List<StudentRegistration> studentRegistrationList);
+    int batchInsert(@Param("list") List<StudentRegistration> studentRegistrationList);
 
 
     /**

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

@@ -121,6 +121,9 @@ public class StudentRegistration {
     
     private Integer chargeTypeId;
 
+    @ApiModelProperty(value = "是否是合并的学员 0-否 1-是",required = true)
+    private Integer isMerge = 0;
+
     public String getCertificateType() {
         return certificateType;
     }
@@ -423,4 +426,12 @@ public class StudentRegistration {
     public void setCurrentGradeDate(Date currentGradeDate) {
         this.currentGradeDate = currentGradeDate;
     }
+
+    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

@@ -2693,7 +2693,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("获取用户信息失败");
@@ -2742,10 +2742,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);
@@ -2755,6 +2756,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

@@ -1097,6 +1097,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)

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

@@ -469,19 +469,19 @@
         AND music_group_status_ != 'QUIT'
     </select>
 
-    <insert id="batchInsert">
+    <insert id="batchInsert" parameterType="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=",">
+        <foreach collection="list" item="item" index="index" separator=",">
             (#{item.parentsPhone},#{item.id},#{item.userId},#{item.name},#{item.musicGroupId},#{item.currentGrade},
             #{item.currentClass},#{item.subjectId},#{item.isAllowAdjust,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{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>