Browse Source

学员活动购买

zouxuan 3 years ago
parent
commit
04cd723b16

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

@@ -41,7 +41,7 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
     */
     void activationMember(Date now, CloudTeacherOrder cloudTeacherOrder);
 
-    Date calcCloudTeacherOrderTime(CloudTeacherOrder cloudTeacherOrder, Date startTime, Date endTime);
+    Date calcCloudTeacherOrderTime(CloudTeacherOrder cloudTeacherOrder, Date startTime);
 
     /**
      * 获取乐团云教练订单

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

@@ -298,8 +298,12 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void activationMember(Date now,CloudTeacherOrder cloudTeacherOrder){
+        Student student = studentService.get(cloudTeacherOrder.getStudentId());
+        if(student.getMembershipEndTime() != null && student.getMembershipEndTime().compareTo(now) > 0){
+            now = student.getMembershipEndTime();
+        }
         Date startTime = DateUtil.trunc(now);
-        Date endTime = this.calcCloudTeacherOrderTime(cloudTeacherOrder, startTime, now);
+        Date endTime = this.calcCloudTeacherOrderTime(cloudTeacherOrder, startTime);
         cloudTeacherOrder.setStartTime(startTime);
         cloudTeacherOrder.setEndTime(DateUtil.addDays(endTime,1));
         cloudTeacherOrder.setStatus(2);
@@ -311,7 +315,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         studentService.updateMemberRank(cloudTeacherOrder.getStudentId(), cloudTeacherOrder.getType(), cloudTeacherOrder.getTime(), 1);
     }
 
-    public Date calcCloudTeacherOrderTime(CloudTeacherOrder cloudTeacherOrder, Date startTime, Date endTime) {
+    public Date calcCloudTeacherOrderTime(CloudTeacherOrder cloudTeacherOrder, Date startTime) {
+        Date endTime = startTime;
         if (cloudTeacherOrder.getType() == DAY) { // 日
             endTime = DateUtil.addDays(startTime, cloudTeacherOrder.getTime());
         } else if (cloudTeacherOrder.getType() == MONTH) { // 月