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

Merge branch 'feature/0721-tenant' into develop

haonan 1 год назад
Родитель
Сommit
5047958c5b

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

@@ -939,7 +939,12 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         if(CollectionUtils.isNotEmpty(teacherSalaryList)){
             courseScheduleTeacherSalaryService.getDao().insertBatch(teacherSalaryList);
             //写老师账户
-            addTeacherAccount(orderParam, teacherSalaryList, totalExpectPrice);
+
+            // 判断是否结算给老师,不结算,不写入老师入账记录
+            Teacher teacher = teacherService.getById(courseGroup.getTeacherId());
+            if (teacher != null && teacher.getIsSettlement() != null && teacher.getIsSettlement()) {
+                addTeacherAccount(orderParam, teacherSalaryList, totalExpectPrice);
+            }
         }
         log.info("buyLiveCourseSuccess ok");
         //课程购买成功后进行消息推送

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

@@ -1276,8 +1276,13 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         if (CollectionUtils.isNotEmpty(teacherSalaryList)) {
             courseScheduleTeacherSalaryService.getDao().insertBatch(teacherSalaryList);
             log.info("buyPracticeCourseSuccess ok");
-            //写老师账户
-            addTeacherAccount(orderParam, teacherSalaryList);
+
+            // 判断是否结算给老师,不结算,不写入老师入账记录
+            Teacher teacher = teacherService.getById(teacherId);
+            if (teacher != null && teacher.getIsSettlement() != null && teacher.getIsSettlement()) {
+                //写老师账户
+                addTeacherAccount(orderParam, teacherSalaryList);
+            }
         }
 
         Set<Long> studentIds = new HashSet();

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

@@ -486,6 +486,12 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
             tenantAlbumId = Long.parseLong(albumId);
         }
 
+        //获取对应机构专辑状态
+        TenantAlbum one = tenantAlbumService.lambdaQuery().eq(TenantAlbum::getId, tenantAlbumId).last("limit 1").one();
+        if (!ObjectUtil.isEmpty(one)){
+            album.setStatus(one.getStatus());
+        }
+
 
         //查询对应专辑的详情
         List<TenantAlbum> list = tenantAlbumService.lambdaQuery().eq(TenantAlbum::getStatus, true).eq(TenantAlbum::getId, tenantAlbumId).list();

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

@@ -236,6 +236,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         //musicSheet.setState(YesOrNoEnum.NO);
         this.saveOrUpdate(musicSheet);
 
+        if (StringUtil.isEmpty(musicSheet.getMusicSubject())
+                && musicSheet.getMusicSheetType().equals(MusicSheetTypeEnum.CONCERT)) {
+            this.lambdaUpdate()
+                    .eq(MusicSheet::getId, musicSheet.getId())
+                    .set(MusicSheet::getMusicSubject,"")
+                    .update();
+        }
+
         if (musicSheet.getAuditStatus() == null || AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
             musicSheetAuthRecordService.setAuditDoing(musicSheet.getId(), originalMusicSheetId, lastMusicSheetId);
         }
@@ -266,6 +274,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
         Map<Long, TenantInfo> tenantInfoMap = tenantInfoService.getMapByIds(tenantIds);
         for (MusicSheetVo record : records) {
+            if (record.getSourceType() == null) {
+                break;
+            }
             switch (record.getSourceType()) {
                 case TENANT:
                     TenantInfo tenantInfo = tenantInfoMap.get(record.getUserId());
@@ -953,6 +964,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             musicSheet.setUpdateBy(userId);
             //musicSheet.setState(YesOrNoEnum.NO);
             this.saveOrUpdate(musicSheet);
+
+            if (StringUtil.isEmpty(musicSheet.getMusicSubject())
+                    && musicSheet.getMusicSheetType().equals(MusicSheetTypeEnum.CONCERT)) {
+                this.lambdaUpdate()
+                        .eq(MusicSheet::getId, musicSheet.getId())
+                        .set(MusicSheet::getMusicSubject,"")
+                        .update();
+            }
             if (musicSheet.getAuditStatus() == null || AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
                 musicSheetAuthRecordService.setAuditDoing(musicSheet.getId(),originalMusicSheetId,lastMusicSheetId);
             }
@@ -1094,8 +1113,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
                 // 老师收入
                 BigDecimal teacherAmount = BigDecimal.ONE.subtract(serviceFee).multiply(expectPrice);
 
-                // 加入账户
-                addTeacherAccount(userOrderDetailVo, teacherAmount, userOrderDetailVo.getBizId());
+                // 判断是否结算给老师,不结算,不写入老师入账记录
+                Teacher teacher = teacherService.getById(musicSheet.getUserId());
+                if (teacher != null && teacher.getIsSettlement() != null && teacher.getIsSettlement()) {
+                    // 加入账户
+                    addTeacherAccount(userOrderDetailVo, teacherAmount, userOrderDetailVo.getBizId());
+                }
             }
         }
 

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

@@ -146,6 +146,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     private MusicAlbumService musicAlbumService;
 
     @Autowired
+    private TeacherService teacherService;
+
+    @Autowired
     private UserOrderService userOrderService;
 
     @Autowired
@@ -1261,23 +1264,31 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         if (null != orderDetailVo.getRecomUserId() && orderDetailVo.getRecomUserId() != 0
                 && !orderDetailVo.getRecomUserId().equals(orderDetailVo.getMerchId())
                 && !orderDetailVo.getUserId().equals(orderDetailVo.getRecomUserId())) {
-            //获取分润收益费率
-            BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
-                    , orderDetailVo.getBizId());
-            //入老师账户
-            BigDecimal shareFee = platformFee.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
-            if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
-                AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
-                if (null != bizTypeEnum) {
-                    //插入分润老师账户变更记录-分润老师预收
-                    HttpResponseResult<UserAccountRecord> recomRecordRes = userAccountService.accountRecord(
-                            new UserAccountRecordDto(orderDetailVo.getRecomUserId(), PostStatusEnum.WAIT, shareFee, InOrOutEnum.IN,
-                                    bizTypeEnum, orderDetailVo.getBizId(), bizTypeEnum.getMsg(), orderDetailVo.getOrderNo(), orderDetailVo.getUserId(), accountPeriodTime));
-                    if (recomRecordRes.getStatus()) {
-                        //插入平台预支
-                        platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getRecomUserId(), shareFee,
-                                InOrOutEnum.OUT, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(), orderDetailVo.getOrderNo(), accountPeriodTime);
-                        platformCashAccountRecordService.save(platformCashAccountRecord);
+
+            // 判断是否结算给分享人
+
+            // 判断是否结算给老师,不结算,不写入老师入账记录
+            Teacher teacher = teacherService.getById(orderDetailVo.getRecomUserId());
+            if (teacher != null && teacher.getIsSettlement() != null && teacher.getIsSettlement()) {
+
+                //获取分润收益费率
+                BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
+                        , orderDetailVo.getBizId());
+                //入老师账户
+                BigDecimal shareFee = platformFee.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
+                if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
+                    AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
+                    if (null != bizTypeEnum) {
+                        //插入分润老师账户变更记录-分润老师预收
+                        HttpResponseResult<UserAccountRecord> recomRecordRes = userAccountService.accountRecord(
+                                new UserAccountRecordDto(orderDetailVo.getRecomUserId(), PostStatusEnum.WAIT, shareFee, InOrOutEnum.IN,
+                                        bizTypeEnum, orderDetailVo.getBizId(), bizTypeEnum.getMsg(), orderDetailVo.getOrderNo(), orderDetailVo.getUserId(), accountPeriodTime));
+                        if (recomRecordRes.getStatus()) {
+                            //插入平台预支
+                            platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getRecomUserId(), shareFee,
+                                    InOrOutEnum.OUT, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(), orderDetailVo.getOrderNo(), accountPeriodTime);
+                            platformCashAccountRecordService.save(platformCashAccountRecord);
+                        }
                     }
                 }
             }

+ 4 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java

@@ -22,6 +22,7 @@ import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
+import com.yonge.toolset.utils.obj.ObjectUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.checkerframework.checker.units.qual.A;
@@ -280,7 +281,9 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         }
         //获取对应机构专辑状态
         TenantAlbum one = tenantAlbumService.lambdaQuery().eq(TenantAlbum::getId, tenantAlbumId).last("limit 1").one();
-        album.setStatus(one.getStatus());
+        if (!ObjectUtil.isEmpty(one)){
+            album.setStatus(one.getStatus());
+        }
 
         StudentVo detail = detailStudent(sysUser.getId());
         // 判断是否是机构学生 机构学生 检测机构专辑购买记录

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

@@ -169,7 +169,12 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         //查询组信息
         VideoLessonGroup lessonGroup = videoLessonGroupDao.selectById(purchaseRecord.getVideoLessonGroupId());
         //记录流水
-        addTeacherAccount(orderParam, lessonGroup);
+
+        // 判断是否结算给老师,不结算,不写入老师入账记录
+        Teacher teacher = teacherService.getById(lessonGroup.getTeacherId());
+        if (teacher != null && teacher.getIsSettlement() != null && teacher.getIsSettlement()) {
+            addTeacherAccount(orderParam, lessonGroup);
+        }
         videoSend(lessonGroup.getTeacherId(), purchaseRecord.getStudentId(), lessonGroup);
 
         // 赠品曲目、专辑插入用户曲目购买记录表