Browse Source

1、陪练课调整
2、付费陪练课可预约时间调整

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

+ 36 - 34
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java

@@ -210,7 +210,11 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         Date courseStartMondayDate = Date.from(courseStartMonday.atStartOfDay(DateUtil.zoneId).toInstant());
         Date courseExpiredSundayDate = Date.from(courseExpiredSunday.atStartOfDay(DateUtil.zoneId).toInstant());
 
-        List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(practiceGroupBuyParams.getUserId(), courseStartMondayDate, courseExpiredSundayDate);
+        practiceGroupBuyParams.setName(subject.getName() + "•" + sysUser.getUsername());
+        List<CourseSchedule> practiceCourses = createPracticeCourses(practiceGroupBuyParams, practiceCourseMinutes);
+        practiceCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
+
+        List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(practiceGroupBuyParams.getUserId(), practiceCourses.get(0).getClassDate(), courseExpiredSundayDate);
 
         TeacherFreeTime teacherFreeTime = teacherFreeTimeDao.findTeacherFreeTime(practiceGroupBuyParams.getUserId());
         Integer maxTeacherCourses = null;
@@ -246,10 +250,6 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         }
         allTeacherCourses=new ArrayList<>();
 
-        practiceGroupBuyParams.setName(subject.getName() + "•" + sysUser.getUsername());
-
-        List<CourseSchedule> practiceCourses = createPracticeCourses(practiceGroupBuyParams, practiceCourseMinutes);
-
         JSONObject drillTimesObject=new JSONObject();
         for (PracticeDrillTimeDto drillTime : practiceGroupBuyParams.getDrillTimes()) {
             drillTimesObject.put(String.valueOf(drillTime.getWeekNum()),drillTime.getTimeStr());
@@ -432,7 +432,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
                 studentPaymentOrder.setUpdateTime(now);
                 studentPaymentOrder.setOrganId(practiceGroupBuyParams.getOrganId());
 
-                sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), studentPaymentOrder.getExpectAmount().negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"教务学生购买");
+                sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), studentPaymentOrder.getExpectAmount().negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,operatorInfo+"教务代买");
 
                 this.orderCallback(studentPaymentOrder);
 
@@ -493,35 +493,37 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
 
         //插入缴费明细
         //收入
-        SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
-        sysUserIncomeCashAccountDetail.setUserId(order.getUserId());
-        sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
-        sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
-        sysUserIncomeCashAccountDetail.setAmount(order.getActualAmount());
-        sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getActualAmount()));
-        sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
-        sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-        sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
-        sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
-
-        //支出
-        SysUserCashAccountDetail sysUserExpendCashAccountDetail = new SysUserCashAccountDetail();
-        sysUserExpendCashAccountDetail.setUserId(order.getUserId());
-        sysUserExpendCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
-        sysUserExpendCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
-        sysUserExpendCashAccountDetail.setAmount(order.getActualAmount().negate());
-        sysUserExpendCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
-        sysUserExpendCashAccountDetail.setAttribute(order.getTransNo());
-        sysUserExpendCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-        if(studentPaymentOrder.getComAmount() != null){
-            sysUserExpendCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
-        }
-        if(studentPaymentOrder.getPerAmount() != null){
-            sysUserExpendCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
-        }
+        if(order.getActualAmount().compareTo(BigDecimal.ZERO)!=0){
+            SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
+            sysUserIncomeCashAccountDetail.setUserId(order.getUserId());
+            sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
+            sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
+            sysUserIncomeCashAccountDetail.setAmount(order.getActualAmount());
+            sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getActualAmount()));
+            sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
+            sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+            sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
+            sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
+
+            //支出
+            SysUserCashAccountDetail sysUserExpendCashAccountDetail = new SysUserCashAccountDetail();
+            sysUserExpendCashAccountDetail.setUserId(order.getUserId());
+            sysUserExpendCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
+            sysUserExpendCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
+            sysUserExpendCashAccountDetail.setAmount(order.getActualAmount().negate());
+            sysUserExpendCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
+            sysUserExpendCashAccountDetail.setAttribute(order.getTransNo());
+            sysUserExpendCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+            if(studentPaymentOrder.getComAmount() != null){
+                sysUserExpendCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
+            }
+            if(studentPaymentOrder.getPerAmount() != null){
+                sysUserExpendCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
+            }
 
-        sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
-        sysUserCashAccountDetailService.insert(sysUserExpendCashAccountDetail);
+            sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
+            sysUserCashAccountDetailService.insert(sysUserExpendCashAccountDetail);
+        }
 
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
         if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.CANCEL)){

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2702,7 +2702,11 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Date courseStartMondayDate = Date.from(courseStartMonday.atStartOfDay(DateUtil.zoneId).toInstant());
         Date courseExpiredSundayDate = Date.from(courseExpiredSunday.atStartOfDay(DateUtil.zoneId).toInstant());
 
-        List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(practiceGroupBuyParams.getUserId(), courseStartMondayDate, courseExpiredSundayDate);
+        practiceGroupBuyParams.setName(subject.getName() + "•" + sysUser.getUsername());
+        List<CourseSchedule> practiceCourses = createPracticeCourses(practiceGroupBuyParams, practiceCourseMinutes);
+        practiceCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
+
+        List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(practiceGroupBuyParams.getUserId(), practiceCourses.get(0).getClassDate(), courseExpiredSundayDate);
 
         TeacherFreeTime teacherFreeTime = teacherFreeTimeDao.findTeacherFreeTime(practiceGroupBuyParams.getUserId());
         Integer maxTeacherCourses = null;

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduPracticeGroupController.java

@@ -131,7 +131,7 @@ public class EduPracticeGroupController extends BaseController {
         if(Objects.isNull(practiceGroupBuyParams.getStudentId())){
             throw new BizException("请指定学生");
         }
-        return eduPracticeGroupService.buyPracticeGroup(practiceGroupBuyParams, sysUser.getUsername()+"("+sysUser.getId()+")");
+        return eduPracticeGroupService.buyPracticeGroup(practiceGroupBuyParams, sysUser.getRealName()+"("+sysUser.getId()+")");
     }
 
     @ApiOperation("获取用户历史购买的陪练课")