Răsfoiți Sursa

fix 抵扣车票展示

zoujiajian 1 an în urmă
părinte
comite
b31ce0431f

+ 5 - 1
netflix-dao/src/main/java/com/cyksj/model/manage/views/GroupsRelationView.java

@@ -18,7 +18,8 @@ import java.util.Date;
 @Setter
 @SearchBean(tables = "groups_relation gr left join groups_trips gt on gr.groups_id = gt.id " +
         "left join account a on a.id = gt.account_id left join user u on gr.user_id = u.id " +
-        "left join goods_don g on a.goods_id = g.id ")
+        "left join goods_don g on a.goods_id = g.id " +
+        "left join goods_don_sku sku on sku.id = gt.sku_id")
 public class GroupsRelationView {
 
     @DbField("gr.id")
@@ -31,6 +32,9 @@ public class GroupsRelationView {
     @DbField("gt.sku_id")
     private Long skuId;
 
+    @DbField("sku.is_mirror")
+    private Boolean isMirror;
+
     @DbField("a.account")
     @JsonIgnore
     private String tripsAccount;

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

@@ -2125,7 +2125,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 	 * 标记是否可抵扣会员车票
 	 */
 	private void markVipDeductTicket(List<Long> userIds, RenewalView ticket, Set<Long> vipGoodsIds, Boolean isVip) {
-		if (CollUtil.isNotEmpty(vipGoodsIds) && !isVip) {
+		if (CollUtil.isNotEmpty(vipGoodsIds) && ticket.getIsMirror() != null && ticket.getIsMirror() && !isVip) {
 			Long goodsId = ticket.getGoodsId();
 			//只购买
 			if (ticket.getAqType() != 1) {

+ 2 - 1
netflix-service/src/main/java/com/cyksj/service/vip/impl/VipFrontServiceImpl.java

@@ -76,7 +76,7 @@ public class VipFrontServiceImpl implements VipFrontService {
 		//会员规格
 		Set<Long> goodsIds = goodsDonSkuMapper.selectList(Wrappers.lambdaQuery(GoodsDonSku.class)
 				.in(GoodsDonSku::getId, vipSkuIds)).stream().map(GoodsDonSku::getGoodsId).collect(Collectors.toSet());
-		Number count = beanSearcher.searchCount(GroupsRelationView.class, MapUtils.builder().field(GroupsRelationView::getUserId, userIdList).op(Operator.InList).field(GroupsRelationView::getGoodsId, goodsIds).op(Operator.InList).field(GroupsRelationView::getExpiryTime, now).op(Operator.GreaterThan).build());
+		Number count = beanSearcher.searchCount(GroupsRelationView.class, MapUtils.builder().field(GroupsRelationView::getUserId, userIdList).op(Operator.InList).field(GroupsRelationView::getGoodsId, goodsIds).op(Operator.InList).field(GroupsRelationView::getIsMirror, Boolean.TRUE).field(GroupsRelationView::getExpiryTime, now).op(Operator.GreaterThan).build());
 		//可抵扣车票
 		if (count.intValue() > 0) {
 			Integer months = vipUserPageResp.getMonths();
@@ -137,6 +137,7 @@ public class VipFrontServiceImpl implements VipFrontService {
 		BigDecimal vipMoney = getVipMoney(months);
 		List<GroupsRelationView> relations = beanSearcher.searchAll(GroupsRelationView.class, MapUtils.builder()
 				.field(GroupsRelationView::getGoodsId, goodsIds).op(Operator.InList)
+				.field(GroupsRelationView::getIsMirror, Boolean.TRUE)
 				.field(GroupsRelationView::getUserId, userIdList).op(Operator.InList)
 				.field(GroupsRelationView::getIsVip, false)
 				.field(GroupsRelationView::getExpiryTime, DateTime.now()).op(Operator.GreaterThan)