zoujiajian 1 år sedan
förälder
incheckning
9afe724ca4

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -314,4 +314,10 @@ public class RenewalView {
      */
     @DbIgnore
     private BigDecimal discount;
+
+    /**
+     * 是否是续费减免skuId
+     */
+    @DbIgnore
+    private Boolean isRenewReduce = false;
 }

+ 9 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -154,6 +154,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final UpgradeOrderDonMapper upgradeOrderDonMapper;
 
+	private final UserBenefitsMapper userBenefitsMapper;
+
 	@Override
 	public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account) {
 		User u = userMapper.selectById(userId);
@@ -179,6 +181,9 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		//过滤邀请制、已失效的车位
 		Integer size = list.getTotalCount().intValue();
 
+		List<Long> renewReduceSkuIds = userBenefitsMapper.selectList(Wrappers.lambdaQuery(UserBenefits.class)
+				.eq(UserBenefits::getType, UserBenefits.Type.RENEW).eq(UserBenefits::getStatus, 1).select(UserBenefits::getSkuId)).stream().map(UserBenefits::getSkuId).collect(Collectors.toList());
+
 		list.getDataList().forEach(ticket -> {
 			if (ticket.getSkuId() == null || ticket.getGoodsId() == null) {
 				return;
@@ -293,6 +298,10 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 			//续费升级折扣
 			setRenewDiscount(ticket);
+
+			if (CollUtil.isNotEmpty(renewReduceSkuIds) && renewReduceSkuIds.contains(ticket.getSkuId())) {
+				ticket.setIsRenewReduce(true);
+			}
 		});
 		userLoginRecordService.saveUserLoginDayRecord(userId);
 		return list;

+ 18 - 0
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -135,6 +135,8 @@ public class GroupRelationController {
 
     private final UpgradeOrderDonMapper upgradeOrderDonMapper;
 
+    private final UserBenefitsOrderRecordMapper userBenefitsOrderRecordMapper;
+
     private final static Sequence SEQUENCE = new Sequence(0);
 
     @RequestMapping("/get/renewal")
@@ -970,4 +972,20 @@ public class GroupRelationController {
         });
         return GatewayResponse.SUCCESS.newBuilder().toResult(renewUpgradePackageFrontViews);
     }
+
+    /**
+     * 独立规格续费减免
+     */
+    @GetMapping("/get/renew/reduce")
+    public Result<UserBenefitsFrontView> getRenewReduce(Long skuId) {
+        long userId = StpUserUtil.getLoginIdAsLong();
+        List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+        UserBenefitsFrontView data = beanSearcher.searchFirst(UserBenefitsFrontView.class, MapUtils.builder().field(UserBenefitsFrontView::getSkuId, skuId).field(UserBenefitsFrontView::getType, UserBenefits.Type.RENEW.name()).build());
+        if (data == null) {
+            return GatewayResponse.SUCCESS.newBuilder().toResult();
+        }
+        Integer renewCount = userBenefitsOrderRecordMapper.selectUseComboRecordByUid(userIdList, data.getType(), data.getGoodsId(), data.getSkuId(), Constant.noOrderAllStatus, null);
+        data.setRenewCount(renewCount);
+        return GatewayResponse.SUCCESS.newBuilder().toResult(data);
+    }
 }