Browse Source

1、添加教务老师字段
2、布置作业

Joburgess 5 năm trước cách đây
mục cha
commit
39a049df27

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

@@ -20,7 +20,7 @@ public interface CoursesGroupService extends BaseService<Long, CoursesGroup> {
      * @param courseGroupCreateInfo: 课程组创建信息
      * @return void
      */
-    void createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo);
+    HttpResponseResult createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo);
 
     /**
      * @describe 获取教师课程组列表
@@ -59,7 +59,7 @@ public interface CoursesGroupService extends BaseService<Long, CoursesGroup> {
      */
     HttpResponseResult buyCourseGroup(Integer userId, Long courseGroupId, boolean isUseBalancePayment);
 
-    void orderCallback(StudentPaymentOrder studentPaymentOrder);
+    HttpResponseResult orderCallback(StudentPaymentOrder studentPaymentOrder);
 
     /**
      * @describe 无学生课程组提醒

+ 32 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -26,9 +26,11 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
@@ -95,7 +97,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
-    public void createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo) {
+    public HttpResponseResult createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo) {
         CoursesGroup courseGroup = courseGroupCreateInfo.getCoursesGroup();
         CourseGenerateDto courseCycleInfo = courseGroupCreateInfo.getCourseCycleInfo();
         if(Objects.isNull(courseGroup.getName())|| StringUtils.isBlank(courseGroup.getName())){
@@ -121,6 +123,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
         //总课程时长
         Integer totalCourseTime=courseCycleInfo.getCourseCount()*courseCycleInfo.getSingleClassMinutes();
+
         sysTenantAccountService.update(courseGroup.getTeacherId(), -totalCourseTime, "", SysTenantAccountDetail.TransType.CONSUME, "",BigDecimal.ZERO,"课程组创建");
 
         Teacher teacher = teacherDao.get(courseGroup.getTeacherId());
@@ -140,7 +143,14 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
             newCourse.setStatus(CourseStatusEnum.NOT_START);
             newCourse.setName(courseGroup.getName());
         }
-        courseScheduleService.checkNewCourseSchedules(newCourses,false);
+        try {
+            courseScheduleService.checkNewCourseSchedules(newCourses,false);
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            String errMessage;
+            errMessage="抱歉啦,当前所选时段组合,「" + teacher.getRealName() + "」老师已被预约,请重新选择时段或更换老师后重试。";
+            return BaseController.failed(HttpStatus.FOUND, errMessage);
+        }
 
         CourseSchedule firstCourseSchedule = newCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get();
         if(firstCourseSchedule.getStartClassTime().before(now)){
@@ -221,6 +231,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         }
         courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
         teacherAttendanceDao.batchInsert(teacherAttendances);
+        return BaseController.succeed();
     }
 
     @Override
@@ -465,11 +476,11 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
-    public void orderCallback(StudentPaymentOrder order) {
+    public HttpResponseResult orderCallback(StudentPaymentOrder order) {
         if(order.getExpectAmount().compareTo(BigDecimal.ZERO)>0){
             StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.get(order.getId());
             if(!studentPaymentOrder.getStatus().equals(DealStatusEnum.ING)){
-                return;
+                return BaseController.succeed();
             }
             SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(order.getUserId());
             List<StudentPaymentOrder> userGroupOrders = studentPaymentOrderDao.findUserGroupOrders(order.getUserId(), order.getMusicGroupId(), order.getGroupType(),null);
@@ -484,7 +495,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     order.setMemo("重复支付,进入余额");
                 }
                 studentPaymentOrderDao.update(order);
-                return;
+                return BaseController.succeed();
             }
 
             Long ingOrderNum=statusOrderNumMap.get(DealStatusEnum.ING);
@@ -493,7 +504,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课支付失败,退还余额");
                 }
                 studentPaymentOrderDao.update(order);
-                return;
+                return BaseController.succeed();
             }
 
             if(order.getStatus().equals(DealStatusEnum.SUCCESS)){
@@ -507,7 +518,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                 coursesGroup.setStatus(GroupStatusEnum.CANCEL);
                 coursesGroupDao.update(coursesGroup);
                 groupService.deleteGroupOtherInfo(order.getMusicGroupId(),GroupType.PRACTICE);
-                return;
+                return BaseController.succeed();
             }
             studentPaymentOrderDao.update(order);
 
@@ -552,7 +563,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
                 sysUserCashAccountService.updateBalance(order.getUserId(), order.getExpectAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "支付成功,但课程组不处于正常状态");
 
-                return;
+                return BaseController.succeed();
             }
         }
         CoursesGroup coursesGroup = coursesGroupDao.get(Long.valueOf(order.getMusicGroupId()));
@@ -596,9 +607,18 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 
         try {
-//            contractService.transferPracticeCoursesContract(order.getUserId(),classGroup.getTotalClassTimes(),practiceGroup.getCoursesStartDate(),practiceGroup.getCoursesExpireDate(),order.getExpectAmount());
+            courseScheduleService.checkNewCourseSchedules(groupNotStartCourses,false);
         } catch (Exception e) {
-            LOGGER.error("对外课程组[{}]购买协议错误:{}",order.getMusicGroupId(),e.getMessage(),e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            String errMessage;
+
+            String courseName=e.getMessage().substring(e.getMessage().indexOf(")-")+2);
+            courseName = courseName.substring(0,courseName.indexOf("("));
+            errMessage="抱歉啦,当前所选时段组合,与您现有课程「";
+            errMessage+=courseName;
+            errMessage+="」时段冲突,请选择其他时段重试。";
+
+            return BaseController.failed(HttpStatus.FOUND, errMessage);
         }
 
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
@@ -607,6 +627,8 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
         // 创建群组
         imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+
+        return BaseController.succeed();
     }
 
     @Override

+ 1 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseGroupController.java

@@ -53,8 +53,7 @@ public class CourseGroupController extends BaseController {
         }
         courseGroupCreateInfo.getCoursesGroup().setOrganId(teacher.getOrganId());
         courseGroupCreateInfo.getCoursesGroup().setTeacherId(sysUser.getId());
-        coursesGroupService.createCourseGroup(courseGroupCreateInfo);
-        return succeed();
+        return coursesGroupService.createCourseGroup(courseGroupCreateInfo);
     }
 
     @ApiOperation(value = "获取课程组列表")