|
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.common.enums.PostStatusEnum;
|
|
|
-import com.yonge.cooleshow.common.enums.SysUserType;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.MusicSheetExport;
|
|
@@ -31,7 +30,6 @@ import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.yonge.toolset.utils.easyexcel.ErrMsg;
|
|
|
import com.yonge.toolset.utils.easyexcel.ExcelDataReaderProperty;
|
|
|
import com.yonge.toolset.utils.easyexcel.ExcelException;
|
|
|
-import feign.Client;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -182,7 +180,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public MusicSheetDetailVo detail(Long id, SysUser sysUser,SysUserType userType) {
|
|
|
+ public MusicSheetDetailVo detail(Long id, SysUser sysUser,ClientEnum userType) {
|
|
|
MusicSheetDetailVo detail = baseMapper.detail(id);
|
|
|
if (detail == null) {
|
|
|
throw new BizException("未找到曲目信息");
|
|
@@ -197,10 +195,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
if (ChargeTypeEnum.FREE.getCode().equals(detail.getChargeType().getCode())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
|
|
|
- } else if (SysUserType.STUDENT.getCode().equals(userType.getCode())
|
|
|
- || SysUserType.TEACHER.getCode().equals(userType.getCode())) {
|
|
|
+ } else if (ClientEnum.STUDENT.getCode().equals(userType.getCode())
|
|
|
+ || ClientEnum.TEACHER.getCode().equals(userType.getCode())) {
|
|
|
// 2022 7 20 老师也能购买曲目
|
|
|
- if (SysUserType.TEACHER.getCode().equals(userType.getCode()) && detail.getUserId().equals(sysUser.getId())) {
|
|
|
+ if (ClientEnum.TEACHER.getCode().equals(userType.getCode()) && detail.getUserId().equals(sysUser.getId())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
} else {
|
|
|
setMusicSheetPlay(sysUser.getId(), detail,userType);
|
|
@@ -208,7 +206,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
} else {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
}
|
|
|
- if (SysUserType.STUDENT.getCode().equals(userType.getCode())) {
|
|
|
+ if (ClientEnum.STUDENT.getCode().equals(userType.getCode())) {
|
|
|
// 学生进入小酷Ai练习,添加一条练习记录
|
|
|
musicSheetPracticeRecordService.addRecord(id, sysUser.getId());
|
|
|
}
|
|
@@ -223,13 +221,13 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
* @param detail 曲目详情
|
|
|
* @param userType 用户类型
|
|
|
*/
|
|
|
- private void setMusicSheetPlay(Long studentId, MusicSheetDetailVo detail, SysUserType userType) {
|
|
|
+ private void setMusicSheetPlay(Long studentId, MusicSheetDetailVo detail, ClientEnum userType) {
|
|
|
detail.setPlay(YesOrNoEnum.NO);
|
|
|
// 单曲购买 判断购买记录,有记录课播放
|
|
|
if (ChargeTypeEnum.CHARGE.getCode().equals(detail.getChargeType().getCode())) {
|
|
|
// 学生须判断是否能播放曲目
|
|
|
MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService.checkPurchase(
|
|
|
- studentId, detail.getId());
|
|
|
+ studentId, detail.getId(),userType);
|
|
|
if (musicSheetPurchaseRecord != null) {
|
|
|
detail.setOrderStatus(musicSheetPurchaseRecord.getOrderStatus());
|
|
|
detail.setOrderNo(musicSheetPurchaseRecord.getOrderNo());
|
|
@@ -240,12 +238,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
} else if (ChargeTypeEnum.VIP.getCode().equals(detail.getChargeType().getCode())) {
|
|
|
// 会员 判断是否为会员, 会员可播放
|
|
|
// todo 老师会员判断
|
|
|
- if (userType.equals(SysUserType.STUDENT)) {
|
|
|
+ if (userType.equals(ClientEnum.STUDENT)) {
|
|
|
StudentVo studentVo = studentService.detail(studentId);
|
|
|
if (studentVo != null && YesOrNoEnum.YES.getCode().equals(studentVo.getIsVip().getCode())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
|
}
|
|
|
- } else if (userType.equals(SysUserType.TEACHER)) {
|
|
|
+ } else if (userType.equals(ClientEnum.TEACHER)) {
|
|
|
TeacherVo teacher= teacherService.detail(studentId);
|
|
|
if (teacher != null && YesOrNoEnum.YES.getCode().equals(teacher.getIsVip().getCode())) {
|
|
|
detail.setPlay(YesOrNoEnum.YES);
|
|
@@ -478,7 +476,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
}
|
|
|
|
|
|
// 检查已经购买
|
|
|
- checkoutPay(orderReqInfo.getUserId(), musicSheetPayDto.getMusicSheetId());
|
|
|
+ checkoutPay(orderReqInfo.getUserId(), musicSheetPayDto.getMusicSheetId(),musicSheetPayDto.getClientType());
|
|
|
|
|
|
|
|
|
orderCreateRes.setRes(true);
|
|
@@ -494,15 +492,16 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
|
|
|
/**
|
|
|
* 检查是否已购买当前曲目
|
|
|
- *
|
|
|
- * @param userId 用户id
|
|
|
+ * @param userId 用户id
|
|
|
* @param musicSheetId 曲目id
|
|
|
+ * @param clientType
|
|
|
*/
|
|
|
- private void checkoutPay(Long userId, Long musicSheetId) {
|
|
|
+ private void checkoutPay(Long userId, Long musicSheetId, String clientType) {
|
|
|
List<MusicSheetPurchaseRecord> list = musicSheetPurchaseRecordService
|
|
|
.lambdaQuery()
|
|
|
.eq(MusicSheetPurchaseRecord::getMusicSheetId, musicSheetId)
|
|
|
.eq(MusicSheetPurchaseRecord::getStudentId, userId)
|
|
|
+ .eq(MusicSheetPurchaseRecord::getClientType, clientType)
|
|
|
.eq(MusicSheetPurchaseRecord::getOrderStatus, OrderStatusEnum.PAID)
|
|
|
.list();
|
|
|
if (!CollectionUtils.isEmpty(list)) {
|
|
@@ -594,10 +593,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
*/
|
|
|
private void addMusicSheetPurchaseRecord(UserOrderDetailVo userOrderDetailVo, BigDecimal actualPrice, BigDecimal serviceFeeAmount) {
|
|
|
MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
|
|
|
- .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId());
|
|
|
+ .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(),userOrderDetailVo.getOrderClient());
|
|
|
if (musicSheetPurchaseRecord == null) {
|
|
|
musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
|
|
|
}
|
|
|
+ musicSheetPurchaseRecord.setClientType(userOrderDetailVo.getOrderClient());
|
|
|
musicSheetPurchaseRecord.setMusicSheetId(userOrderDetailVo.getBizId());
|
|
|
musicSheetPurchaseRecord.setOrderNo(userOrderDetailVo.getOrderNo());
|
|
|
musicSheetPurchaseRecord.setPurchasePrice(actualPrice);
|
|
@@ -661,7 +661,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
public void orderAfterSheet(UserOrderDetailVo userOrderDetailVo) {
|
|
|
// 保存购买记录
|
|
|
MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
|
|
|
- .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId());
|
|
|
+ .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId(),userOrderDetailVo.getOrderClient());
|
|
|
if (musicSheetPurchaseRecord == null) {
|
|
|
musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
|
|
|
}
|
|
@@ -678,7 +678,8 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void buyMusicSheetCancel(UserOrderDetailVo userOrderDetailVo) {
|
|
|
MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
|
|
|
- .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId());
|
|
|
+ .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId(),userOrderDetailVo.getOrderClient());
|
|
|
+
|
|
|
if (musicSheetPurchaseRecord == null) return;
|
|
|
musicSheetPurchaseRecordService.removeById(musicSheetPurchaseRecord.getId());
|
|
|
}
|