|
@@ -160,9 +160,13 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
|
|
|
// 单曲购买 判断购买记录,有记录课播放
|
|
|
if (ChargeTypeEnum.CHARGE.getCode().equals(detail.getChargeType().getCode())) {
|
|
|
// 学生须判断是否能播放曲目
|
|
|
- boolean b = musicSheetPurchaseRecordService.checkPurchase(sysUser.getId(),detail.getId());
|
|
|
- if (b) {
|
|
|
- detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService.checkPurchase(
|
|
|
+ sysUser.getId(), detail.getId());
|
|
|
+ if (musicSheetPurchaseRecord != null) {
|
|
|
+ detail.setOrderStatus(musicSheetPurchaseRecord.getOrderStatus());
|
|
|
+ if (OrderStatusEnum.PAID.getCode().equals(musicSheetPurchaseRecord.getOrderStatus().getCode())) {
|
|
|
+ detail.setPlay(YesOrNoEnum.YES);
|
|
|
+ }
|
|
|
}
|
|
|
} else if (ChargeTypeEnum.VIP.getCode().equals(detail.getChargeType().getCode())) {
|
|
|
// 会员 判断是否为会员, 会员可播放
|
|
@@ -376,7 +380,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
|
|
|
BigDecimal serviceFeeAmount = actualPrice.multiply(serviceFee).setScale(2, RoundingMode.HALF_UP);
|
|
|
|
|
|
// 保存购买记录
|
|
|
- MusicSheetPurchaseRecord musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
|
|
|
+ MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
|
|
|
+ .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId());
|
|
|
+ if (musicSheetPurchaseRecord == null) {
|
|
|
+ musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
|
|
|
+ }
|
|
|
musicSheetPurchaseRecord.setMusicSheetId(userOrderDetailVo.getBizId());
|
|
|
musicSheetPurchaseRecord.setOrderNo(userOrderDetailVo.getOrderNo());
|
|
|
musicSheetPurchaseRecord.setPurchasePrice(actualPrice);
|
|
@@ -384,7 +392,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
|
|
|
musicSheetPurchaseRecord.setTeacherId(userOrderDetailVo.getMerchId());
|
|
|
musicSheetPurchaseRecord.setOriginalPrice(userOrderDetailVo.getOriginalPrice());
|
|
|
musicSheetPurchaseRecord.setMusicSheetServiceFee(serviceFeeAmount);
|
|
|
- musicSheetPurchaseRecord.setOrderStatus(YesOrNoEnum.YES);
|
|
|
+ musicSheetPurchaseRecord.setOrderStatus(OrderStatusEnum.PAID);
|
|
|
musicSheetPurchaseRecord.setStudentId(userOrderDetailVo.getUserId());
|
|
|
musicSheetPurchaseRecordService.save(musicSheetPurchaseRecord);
|
|
|
|
|
@@ -393,7 +401,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
|
|
|
userAccountRecordDto.setUserId(userOrderDetailVo.getMerchId());
|
|
|
userAccountRecordDto.setFrozenType(FrozenTypeEnum.NONE);
|
|
|
|
|
|
- //
|
|
|
userAccountRecordDto.setTransAmount(actualPrice.subtract(serviceFeeAmount).setScale(2, RoundingMode.HALF_UP));
|
|
|
userAccountRecordDto.setInOrOut(InOrOutEnum.IN);
|
|
|
userAccountRecordDto.setBizType(AccountBizTypeEnum.MUSIC);
|
|
@@ -403,6 +410,31 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
|
|
|
userAccountService.accountChange(userAccountRecordDto);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void orderAfterSheet(UserOrderDetailVo userOrderDetailVo) {
|
|
|
+ // 保存购买记录
|
|
|
+ MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
|
|
|
+ .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId());
|
|
|
+ if (musicSheetPurchaseRecord == null) {
|
|
|
+ musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
|
|
|
+ }
|
|
|
+ musicSheetPurchaseRecord.setMusicSheetId(userOrderDetailVo.getBizId());
|
|
|
+ musicSheetPurchaseRecord.setOrderNo(userOrderDetailVo.getOrderNo());
|
|
|
+ musicSheetPurchaseRecord.setTeacherId(userOrderDetailVo.getMerchId());
|
|
|
+ musicSheetPurchaseRecord.setOriginalPrice(userOrderDetailVo.getOriginalPrice());
|
|
|
+ musicSheetPurchaseRecord.setOrderStatus(OrderStatusEnum.WAIT_PAY);
|
|
|
+ musicSheetPurchaseRecord.setStudentId(userOrderDetailVo.getUserId());
|
|
|
+ musicSheetPurchaseRecordService.save(musicSheetPurchaseRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void buyMusicSheetCancel(UserOrderDetailVo userOrderDetailVo) {
|
|
|
+ MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
|
|
|
+ .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId());
|
|
|
+ if (musicSheetPurchaseRecord == null) return;
|
|
|
+ musicSheetPurchaseRecordService.removeById(musicSheetPurchaseRecord.getId());
|
|
|
+ }
|
|
|
+
|
|
|
private SysUser getSysUser(Long userId) {
|
|
|
return Optional.ofNullable(userId)
|
|
|
.map(sysUserFeignService::queryUserById)
|