Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

周箭河 vor 5 Jahren
Ursprung
Commit
836c291f2f

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

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;

+ 55 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentAddDto.java

@@ -0,0 +1,55 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public class StudentAddDto{
+
+    @ApiModelProperty(value = "临时课程费用", required = false)
+    private BigDecimal temporaryCourseFee;
+
+    @ApiModelProperty(value = "课程费用", required = false)
+    private BigDecimal courseFee;
+
+    @ApiModelProperty(value = "订单详情", required = false)
+    private List<StudentPaymentOrderDetail> studentPaymentOrderDetails;
+
+    @ApiModelProperty(value = "基本信息", required = false)
+    private StudentRegistration studentRegistration;
+
+    public BigDecimal getTemporaryCourseFee() {
+        return temporaryCourseFee;
+    }
+
+    public void setTemporaryCourseFee(BigDecimal temporaryCourseFee) {
+        this.temporaryCourseFee = temporaryCourseFee;
+    }
+
+    public BigDecimal getCourseFee() {
+        return courseFee;
+    }
+
+    public void setCourseFee(BigDecimal courseFee) {
+        this.courseFee = courseFee;
+    }
+
+    public List<StudentPaymentOrderDetail> getStudentPaymentOrderDetails() {
+        return studentPaymentOrderDetails;
+    }
+
+    public void setStudentPaymentOrderDetails(List<StudentPaymentOrderDetail> studentPaymentOrderDetails) {
+        this.studentPaymentOrderDetails = studentPaymentOrderDetails;
+    }
+
+    public StudentRegistration getStudentRegistration() {
+        return studentRegistration;
+    }
+
+    public void setStudentRegistration(StudentRegistration studentRegistration) {
+        this.studentRegistration = studentRegistration;
+    }
+}

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentFee.java

@@ -73,13 +73,14 @@ public class MusicGroupStudentFee {
 	/**  */
 	private java.util.Date updateTime;
 
-	public MusicGroupStudentFee(String musicGroupId, Integer userId, Integer subjectId, BigDecimal courseFee, Date nextPaymentDate, Integer continuousAbsenteeismTimes, BigDecimal temporaryCourseFee) {
+	public MusicGroupStudentFee(String musicGroupId, Integer userId, Integer subjectId,
+								BigDecimal courseFee, Date nextPaymentDate, BigDecimal temporaryCourseFee) {
 		this.musicGroupId = musicGroupId;
 		this.userId = userId;
 		this.subjectId = subjectId;
 		this.courseFee = courseFee;
 		this.nextPaymentDate = nextPaymentDate;
-		this.continuousAbsenteeismTimes = continuousAbsenteeismTimes;
+		this.continuousAbsenteeismTimes = 0;
 		this.temporaryCourseFee = temporaryCourseFee;
 		this.paymentStatus = PaymentStatus.PAID_COMPLETED;
 	}

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

@@ -91,9 +91,6 @@ public class StudentRegistration {
     @ApiModelProperty(value = "班级名称", required = true)
     private String classGroupName;
 
-    @ApiModelProperty(value = "零时课程费用", required = true)
-    private BigDecimal temporaryCourseFee;
-
     public ClassGroupStudentStatusEnum getMusicGroupStatus() {
         return musicGroupStatus;
     }
@@ -111,14 +108,6 @@ public class StudentRegistration {
         this.musicGroupStatus = musicGroupStatus;
     }
 
-    public BigDecimal getTemporaryCourseFee() {
-        return temporaryCourseFee;
-    }
-
-    public void setTemporaryCourseFee(BigDecimal temporaryCourseFee) {
-        this.temporaryCourseFee = temporaryCourseFee;
-    }
-
     public Integer getActualSubjectId() {
         return actualSubjectId;
     }

+ 3 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -6,10 +6,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
-import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
-import com.ym.mec.biz.dal.dto.StudentFeeDto;
-import com.ym.mec.biz.dal.dto.StudentInfo;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
 import com.ym.mec.common.page.PageInfo;
@@ -127,10 +124,10 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 
 	/**
 	 * 乐团插入新学员
-	 * @param studentRegistration
+	 * @param studentAddDto
 	 * @return
 	 */
-    Integer insertStudent(StudentRegistration studentRegistration) throws Exception;
+    Integer insertStudent(StudentAddDto studentAddDto) throws Exception;
 
 	/**
 	 * 获取班级学生

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

@@ -885,10 +885,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new Exception("用户信息获取失败");
         }
         String musicGroupId = subFeeSettingDto.getMusicGroup().getId();
-        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if(musicGroup == null){
+        if(musicGroupDao.get(musicGroupId) == null){
             throw new Exception("乐团信息不存在");
         }
+        MusicGroup musicGroup = subFeeSettingDto.getMusicGroup();
 
         Date date = new Date();
         List<Integer> months = subFeeSettingDto.getMonths();

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

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.UserLockFlag;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.StudentAddDto;
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
@@ -404,7 +405,11 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Integer insertStudent(StudentRegistration studentRegistration) throws Exception {
+    public Integer insertStudent(StudentAddDto studentAddDto) throws Exception {
+        StudentRegistration studentRegistration = studentAddDto.getStudentRegistration();
+        if(studentRegistration == null){
+            throw new Exception("参数校验失败");
+        }
         StudentRegistration phoneAndMusicGroupId = studentRegistrationDao.getByPhoneAndMusicGroupId(studentRegistration.getMusicGroupId(), studentRegistration.getParentsPhone());
         if (phoneAndMusicGroupId != null) {
             throw new Exception("该学员已存在");
@@ -463,7 +468,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 }
                 //新增班级学生关系
                 classGroupStudentMapperDao.insert(new ClassGroupStudentMapper(studentRegistration.getClassGroupId(), userId));
-                MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+
                 //获取当前月
                 Integer month = Integer.parseInt(DateUtil.getMonth(new Date()));
                 //获取下次缴费月份
@@ -478,9 +483,25 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 calendar.add(Calendar.MONTH, month);
                 DateUtil.getFirstDayOfMonth(calendar.getTime());
                 //保存乐团学生费用表
+                if(studentAddDto.getCourseFee() == null){
+                    MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+                    studentAddDto.setCourseFee(musicOneSubjectClassPlan.getFee());
+                }
                 musicGroupStudentFeeDao.insert(new MusicGroupStudentFee(studentRegistration.getMusicGroupId(),
-                        userId, studentRegistration.getSubjectId(), musicOneSubjectClassPlan.getFee(),
-                        DateUtil.getFirstDayOfMonth(calendar.getTime()), 0, studentRegistration.getTemporaryCourseFee()));
+                        userId, studentRegistration.getSubjectId(), studentAddDto.getCourseFee(),
+                        DateUtil.getFirstDayOfMonth(calendar.getTime()), studentAddDto.getTemporaryCourseFee()));
+                //生成订单
+                StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
+                studentPaymentOrder.setUserId(userId);
+                studentPaymentOrder.setType(OrderTypeEnum.APPLY);
+                studentPaymentOrder.setStatus(DealStatusEnum.ING);
+                studentPaymentOrder.setMusicGroupId(studentRegistration.getMusicGroupId());
+                studentPaymentOrder.setClassGroupId(studentRegistration.getClassGroupId());
+                studentPaymentOrderService.insert(studentPaymentOrder);
+                //生成订单明细
+                List<StudentPaymentOrderDetail> studentPaymentOrderDetails = studentAddDto.getStudentPaymentOrderDetails();
+                studentPaymentOrderDetails.forEach(e->{e.setPaymentOrderId(studentPaymentOrder.getId());});
+                studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetails);
             }
             return userId;
         }

+ 3 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.dto.StudentAddDto;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -31,8 +32,8 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "乐团添加学员")
     @PostMapping("/insertStudent")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/insertStudent')")
-    public Object add(StudentRegistration studentRegistration) throws Exception {
-        return succeed(studentRegistrationService.insertStudent(studentRegistration));
+    public Object add(StudentAddDto studentAddDto) throws Exception {
+        return succeed(studentRegistrationService.insertStudent(studentAddDto));
     }
 
     @ApiOperation(value = "修改学生报名信息")