Browse Source

Merge branch 'feature/0712_vip' into develop-new

刘俊驰 1 year ago
parent
commit
69f3606b8b

+ 7 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java

@@ -138,7 +138,6 @@ public class TenantAlbumController {
             search.setMusicSheetIdlist(musicSheetIdlist);
             search.setPage(1);
             search.setRows(9999);
-            search.setDelFlag(null);
             IPage<MusicSheetVo> records = musicSheetService.selectStudentPage(PageUtil.getPage(search), search, null);
             idMsMap.putAll(records.getRecords().stream()
                 .collect(Collectors.toMap(MusicSheet::getId, Function.identity())));
@@ -161,13 +160,18 @@ public class TenantAlbumController {
                             tenantAlbumSheet.setTitleImg(entity.getCoverImg());
                             tenantAlbumSheet.setMusicSubject(entity.getCourseTypeCode());
                             tenantAlbumSheet.setMusicSubjectName(ECourseType.valueOf(entity.getCourseTypeCode()).getName());
+                        } else {
+                            return null;
                         }
                         break;
                     case MUSIC:
                     case SUBJECT:
                     case ENSEMBLE:
                     {
-                        MusicSheetVo musicSheet = idMsMap.getOrDefault(musicSheetId, new MusicSheetVo());
+                        MusicSheetVo musicSheet = idMsMap.get(musicSheetId);
+                        if (musicSheet == null) {
+                            return null;
+                        }
                         tenantAlbumSheet.setMusicSheetName(musicSheet.getMusicSheetName());
                         tenantAlbumSheet.setMusicTag(musicSheet.getMusicTag());
                         tenantAlbumSheet.setComposer(musicSheet.getComposer());
@@ -204,7 +208,7 @@ public class TenantAlbumController {
                 }
 
                 return tenantAlbumSheet;
-            }).collect(Collectors.toList());
+            }).filter(Objects::nonNull).collect(Collectors.toList());
 
             sheetData.setTenantAlbumSheetList(tenantAlbumSheets);
             musicSheetData.add(sheetData);

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java

@@ -64,8 +64,10 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
 
 //    VIP_BUY_SUCCESS("会员购买成功"),
     NEW_VIP_BUY_SUCCESS("会员购买成功"),
+    NEW_TEACHER_VIP_BUY_SUCCESS("会员购买成功"),
 //    SMS_VIP_BUY_SUCCESS("会员购买成功(短信)"),
     SMS_NEW_VIP_BUY_SUCCESS("会员购买成功(短信)"),
+    SMS_TEACHER_NEW_VIP_BUY_SUCCESS("会员购买成功(短信)"),
 
     VIP_EXPIRE_THIRTY_DAY("VIP会员到期前30天"),
     SVIP_EXPIRE_THIRTY_DAY("SVIP会员到期前30天"),

+ 20 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MemberPriceSettingsServiceImpl.java

@@ -158,6 +158,7 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
 
         VipCardRecordWrapper.AddVipCardRecord addVipCardRecord = new VipCardRecordWrapper.AddVipCardRecord();
 
+        UserPaymentOrderWrapper.VipDays vipDays = JSON.parseObject(orderDetailVo.getBizJson(), UserPaymentOrderWrapper.VipDays.class);
         addVipCardRecord.setUserId(orderDetailVo.getUserId());
         addVipCardRecord.setClientType(orderDetailVo.getOrderClient());
         addVipCardRecord.setStatus(EVipRecordStatus.ADD);
@@ -170,6 +171,9 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
         addVipCardRecord.setOrderNo(orderDetailVo.getOrderNo());
         addVipCardRecord.setSubOrderNo(orderDetailVo.getSubOrderNo());
         addVipCardRecord.setVipCardId(orderDetailVo.getBizId());
+        if (vipDays != null && vipDays.getVipEndDays() !=null && vipDays.getVipEndDays() >0) {
+            addVipCardRecord.setVipDays(vipDays.getVipEndDays());
+        }
         addVipCardRecord.setReason("会员购买");
         vipCardRecordService.add(addVipCardRecord);
 
@@ -361,9 +365,11 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
         }
 
         // 判断会员剩余天数是否改变
-        VipCardRecordWrapper.UserVip userVip = vipCardRecordService.UserVipInfo(orderGoodsInfo.getUserId(), orderGoodsInfo.getPaymentClient());
-        if (!userVip.getVipEndDays().equals(orderGoodsInfo.getVipEndDays())) {
-            throw new BizException(998,"您当前VIP天数更新,请刷新后尝试");
+        if (detail.getVipType() == EVipType.SVIP) {
+            VipCardRecordWrapper.UserVip userVip = vipCardRecordService.UserVipInfo(orderGoodsInfo.getUserId(), orderGoodsInfo.getPaymentClient());
+            if (!userVip.getVipEndDays().equals(orderGoodsInfo.getVipEndDays())) {
+                throw new BizException(998, "您当前VIP天数更新,请刷新后尝试");
+            }
         }
 
         BigDecimal couponAmount = BigDecimal.ZERO;
@@ -457,14 +463,23 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
         // 判断是否是机构学生 机构学生推送走另一个
 
         try {
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.NEW_VIP_BUY_SUCCESS,
+            MessageTypeEnum messageTypeEnum = MessageTypeEnum.NEW_VIP_BUY_SUCCESS;
+            if (clientEnum == ClientEnum.TEACHER) {
+                messageTypeEnum= MessageTypeEnum.NEW_TEACHER_VIP_BUY_SUCCESS;
+            }
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, messageTypeEnum,
                     receivers, null, 0, null, clientEnum.getCode(), param1);
         } catch (Exception e) {
             log.error("会员购买极光消息推送异常,userId={}", userId);
         }
 
         try {
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_NEW_VIP_BUY_SUCCESS,
+
+            MessageTypeEnum messageTypeEnum = MessageTypeEnum.SMS_NEW_VIP_BUY_SUCCESS;
+            if (clientEnum == ClientEnum.TEACHER) {
+                messageTypeEnum= MessageTypeEnum.SMS_TEACHER_NEW_VIP_BUY_SUCCESS;
+            }
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, messageTypeEnum,
                     receivers, null, 0, null, clientEnum.getCode(), param1);
         } catch (Exception e) {
             log.error("会员购买短信消息推送异常,userId={}", userId);

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

@@ -262,10 +262,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Override
     public IPage<MusicSheetVo> queryRelatedList(IPage<MusicSheetVo> page, MusicSheetRelatedQueryInfo queryInfo) {
 
+
+        MusicSheet musicSheet = baseMapper.selectById(queryInfo.getMusicSheetId());
         if (queryInfo.getAlbumId() == null) {
             // 查询专辑下的所有曲目
 
-            MusicSheet musicSheet = baseMapper.selectById(queryInfo.getMusicSheetId());
 
             if (musicSheet != null) {
                 MusicAlbumDetailSearch query = new MusicAlbumDetailSearch();
@@ -287,6 +288,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             MusicAlbumDetailSearch query = new MusicAlbumDetailSearch();
             query.setId(queryInfo.getAlbumId());
             query.setType(2);
+            if (queryInfo.getSubjectId() !=null) {
+                query.setSubjectIdList(Lists.newArrayList(queryInfo.getSubjectId()));
+            }
+            query.setExcludeMusicIds(Lists.newArrayList(queryInfo.getMusicSheetId()));
+            if (StringUtils.isNotBlank(musicSheet.getMusicSubject())) {
+                List<Long> subjectIds = Arrays.stream(musicSheet.getMusicSubject().split(",")).filter(StringUtils::isNotBlank).map(Long::parseLong).collect(Collectors.toList());
+                query.setMustMatchSubjectIds(subjectIds);
+            }
             query.setExcludeMusicIds(Lists.newArrayList(queryInfo.getMusicSheetId()));
             return page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
         }
@@ -864,7 +873,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             query.setRows(cbsMusicSheetIds.size());
             query.setMusicSheetIds(cbsMusicSheetIds);
             query.setDetailFlag(true);
-            query.setDelFlag(true);
             R<PageInfo<CbsMusicSheetWrapper.MusicSheetApplication>> pageInfoR = cbsMusicScoreService.selectPage(query);
             if(pageInfoR.getCode() != 200){
                 throw new BizException("获取曲目信息失败");

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

@@ -548,6 +548,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
                 orderGoodsCreate.get(item.getGoodType()).accept(item);
                 UserOrderDetail userOrderDetail = item.getUserOrderDetail();
                 orderDetails.add(userOrderDetail);
+                couponAmount = userOrderDetail.getCouponAmount();
                 // 根据优惠券计算实际优惠金额
                 // 计算优惠券金额
                 {

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VipCardRecordServiceImpl.java

@@ -395,7 +395,7 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
                 addRecord.setType(PeriodEnum.DAY);
                 addRecord.setTimes(vipDays);
                 addRecord.setReason("后台转换添加");
-                VipCardRecord convertVip = addVip(dedectRecord);
+                VipCardRecord convertVip = addVip(addRecord);
 
                 convertVip.setDisplayFlag(true);
                 convertVip.setStatus(EVipRecordStatus.UPDATE);
@@ -593,7 +593,7 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
         if (deductedStartDate.before(minStartTime)) {
             double day = (minStartTime.getTime() - deductedStartDate.getTime()) * 1.0D / (24 * 60 * 60 * 1000);
             if (day > 1.0D) {
-                throw new BizException("剩余扣减数量不足");
+//                throw new BizException("剩余扣减数量不足");
             }
         }
 
@@ -604,7 +604,7 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC
         for (VipCardRecord vipCardRecord : vipCardRecordList) {
             Date startTime = vipCardRecord.getStartTime();
             Date endTime = vipCardRecord.getEndTime();
-            if (endTime.before(deductedStartDate)) {
+            if (endTime.before(deductedStartDate) || endTime.equals(deductedStartDate)) {
                 continue;
             }