Просмотр исходного кода

课程 平台支出按课程数分成多笔

liujunchi 2 лет назад
Родитель
Сommit
0675bed22e

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -106,6 +106,9 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
     @Autowired
     private CouponInfoService couponInfoService;
 
+    @Autowired
+    private PlatformCashAccountRecordService platformCashAccountRecordService;
+
     @Override
     public CourseGroupDao getDao() {
         return this.baseMapper;
@@ -878,13 +881,21 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 
         //老师待入账
         List<UserAccountRecordDto> userAccountRecordDtos = new ArrayList<>();
+        List<PlatformCashAccountRecord> platformCashAccountRecords = new ArrayList<>();
         for (CourseScheduleTeacherSalary salary : teacherSalaryList) {
             UserAccountRecordDto dto = new UserAccountRecordDto(orderParam.getMerchId(), PostStatusEnum.WAIT, salary.getActualSalary(),
                     InOrOutEnum.IN, AccountBizTypeEnum.LIVE, salary.getCourseScheduleId(), orderParam.getGoodName(), orderParam.getOrderNo(), orderParam.getUserId(), accountPeriodTime);
             userAccountRecordDtos.add(dto);
+
+            // 支出给老师金额
+            PlatformCashAccountRecord platformCashAccountRecord = new PlatformCashAccountRecord(orderParam.getUserId(), salary.getActualSalary(),
+                                                                      InOrOutEnum.OUT, PostStatusEnum.WAIT, AccountBizTypeEnum.LIVE, salary.getCourseScheduleId(),
+                                                                        orderParam.getOrderNo(), accountPeriodTime);
+            platformCashAccountRecords.add(platformCashAccountRecord);
         }
         if (CollectionUtils.isNotEmpty(userAccountRecordDtos)) {
             userAccountService.accountRecord(userAccountRecordDtos);
+            platformCashAccountRecordService.saveBatch(platformCashAccountRecords);
         }
     }
 

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -1206,14 +1206,22 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
         //老师待入账
         List<UserAccountRecordDto> userAccountRecordDtos = new ArrayList<>();
+        List<PlatformCashAccountRecord> platformCashAccountRecords = new ArrayList<>();
         for (CourseScheduleTeacherSalary salary : teacherSalaryList) {
             UserAccountRecordDto dto = new UserAccountRecordDto(orderParam.getMerchId(), PostStatusEnum.WAIT, salary.getActualSalary(),
                     InOrOutEnum.IN, AccountBizTypeEnum.PRACTICE, salary.getCourseScheduleId(), orderParam.getGoodName(), orderParam.getOrderNo(), orderParam.getUserId(), accountPeriodTime);
             userAccountRecordDtos.add(dto);
+
+            // 支出给老师金额
+            PlatformCashAccountRecord platformCashAccountRecord = new PlatformCashAccountRecord(orderParam.getUserId(), salary.getActualSalary(),
+                                                        InOrOutEnum.OUT, PostStatusEnum.WAIT, AccountBizTypeEnum.PRACTICE, salary.getCourseScheduleId(),
+                                                                                                orderParam.getOrderNo(), accountPeriodTime);
+            platformCashAccountRecords.add(platformCashAccountRecord);
         }
 
         if (CollectionUtils.isNotEmpty(userAccountRecordDtos)) {
             userAccountService.accountRecord(userAccountRecordDtos);
+            platformCashAccountRecordService.saveBatch(platformCashAccountRecords);
         }
     }
 

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -123,6 +123,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private CourseCoursewareService courseCoursewareService;
 
     @Autowired
+    private PlatformCashAccountRecordService platformCashAccountRecordService;
+
+    @Autowired
     private StudentStarService studentStarService;
     @Autowired
     private UserOrderService userOrderService;
@@ -1070,6 +1073,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         userAccountService.accountRecord(
                 new UserAccountRecordDto(userOrderDetailVo.getMerchId(), PostStatusEnum.WAIT, transAmount, InOrOutEnum.IN,
                         AccountBizTypeEnum.MUSIC, musicSheetId, userOrderDetailVo.getGoodName(), userOrderDetailVo.getOrderNo(), userOrderDetailVo.getUserId(), accountPeriodTime));
+
+        // 插入平台账户 支出
+        PlatformCashAccountRecord platformCashAccountRecord = new PlatformCashAccountRecord(userOrderDetailVo.getUserId(), transAmount,
+                                                                                            InOrOutEnum.OUT, PostStatusEnum.WAIT, AccountBizTypeEnum.MUSIC, musicSheetId,
+                                                                                            userOrderDetailVo.getOrderNo(), accountPeriodTime);
+        platformCashAccountRecordService.save(platformCashAccountRecord);
     }
 
     @Override

+ 0 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -959,7 +959,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             platformFeeRate = BigDecimal.ONE;
         }
         BigDecimal platformFee = expectPrice.multiply(platformFeeRate).setScale(2, RoundingMode.HALF_UP);
-        BigDecimal teacherFee = expectPrice.subtract(platformFee);
         platformFee = platformFee.subtract(orderDetailVo.getCouponAmount());
 
         if (platformFee.compareTo(BigDecimal.ZERO) > 0) {
@@ -969,13 +968,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
                         InOrOutEnum.IN, PostStatusEnum.RECORDED, bizTypeEnum, orderDetailVo.getBizId(),
                         orderDetailVo.getOrderNo(), new Date());
             platformCashAccountRecordService.save(platformCashAccountRecord);
-            // 支出给老师金额
-            if (teacherFee.compareTo(BigDecimal.ZERO) >0) {
-                platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), teacherFee,
-                                              InOrOutEnum.OUT, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(),
-                                              orderDetailVo.getOrderNo(), accountPeriodTime);
-                platformCashAccountRecordService.save(platformCashAccountRecord);
-            }
 
 
             //卖家不能分润自己 买家和分润人相同,不分润

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java

@@ -74,6 +74,8 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
     @Autowired
     private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
 
+    @Autowired
+    private PlatformCashAccountRecordService platformCashAccountRecordService;
     public VideoLessonPurchaseRecordDao getDao() {
         return videoLessonPurchaseRecordDao;
     }
@@ -240,6 +242,12 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         userAccountService.accountRecord(
                 new UserAccountRecordDto(userOrderDetailVo.getMerchId(), PostStatusEnum.WAIT, transAmount, InOrOutEnum.IN,
                         AccountBizTypeEnum.VIDEO, lessonGroup.getId(), lessonGroup.getLessonName(), userOrderDetailVo.getOrderNo(), userOrderDetailVo.getUserId(), accountPeriodTime));
+
+        // 插入平台账户 支出
+        PlatformCashAccountRecord platformCashAccountRecord = new PlatformCashAccountRecord(userOrderDetailVo.getUserId(), transAmount,
+                                                                                            InOrOutEnum.OUT, PostStatusEnum.WAIT, AccountBizTypeEnum.VIDEO, lessonGroup.getId(),
+                                                                                            userOrderDetailVo.getOrderNo(), accountPeriodTime);
+        platformCashAccountRecordService.save(platformCashAccountRecord);
     }
 
     /**