zoujiajian 1 年之前
父節點
當前提交
246bbb8a34

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserPayEquipmentAvailableBenefits.java

@@ -29,4 +29,9 @@ public class UserPayEquipmentAvailableBenefits extends BaseEntity {
 	 * 1成功领取,0否
 	 */
 	private Integer statusCode;
+
+	/**
+	 * 默认0正常实物订单,1.实物权益订单类型
+	 */
+	private Integer type;
 }

+ 3 - 4
netflix-service/src/main/java/com/cyksj/service/order/OrderDonService.java

@@ -7,10 +7,7 @@ import com.alipay.api.response.AlipayTradeQueryResponse;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.cyksj.model.dto.AliPayParams;
 import com.cyksj.model.dto.H5JsPayParams;
-import com.cyksj.model.entity.OrderDetailView;
-import com.cyksj.model.entity.OrderDon;
-import com.cyksj.model.entity.RealGoodsInterestUser;
-import com.cyksj.model.entity.UpgradeOrderDon;
+import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.views.UpgradeOrderDetailView;
 import com.cyksj.model.request.AlipayOrderDonReq;
 import com.cyksj.model.request.OrderPayRequest;
@@ -108,4 +105,6 @@ public interface OrderDonService extends IService<OrderDon> {
 	OrderDon submitRenewUpgrade(OrderPayRequest payRequest);
 
 	OrderDon userBenefitsSubmit(OrderPayRequest orderPayRequest) throws Exception;
+
+    UserPayEquipmentAvailableBenefits getComboOptionalTicketRecord(long userId, Long orderId);
 }

+ 14 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -43,6 +43,7 @@ import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.mapper.*;
 import com.cyksj.mapper.channel.ChannelPopularizeMapper;
 import com.cyksj.mapper.channel.ShopConfigMapper;
+import com.cyksj.mapper.channel.UserPayEquipmentAvailableBenefitsMapper;
 import com.cyksj.mapper.corp.CorpInteractiveUserOrderRelationMapper;
 import com.cyksj.mapper.corp.CorpUserMapper;
 import com.cyksj.mapper.corp.CorpUserTagMapper;
@@ -332,6 +333,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final UserRealOrderBenefitsService userRealOrderBenefitsService;
 
+	private final UserPayEquipmentAvailableBenefitsMapper userPayEquipmentAvailableBenefitsMapper;
+
 	private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
 
 	@Transactional(rollbackFor = Throwable.class)
@@ -4052,6 +4055,17 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		return orderDon;
 	}
 
+	@Override
+	public UserPayEquipmentAvailableBenefits getComboOptionalTicketRecord(long userId, Long orderId) {
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+		UserPayEquipmentAvailableBenefits userPayEquipmentAvailableBenefits = userPayEquipmentAvailableBenefitsMapper.selectOne(Wrappers.lambdaQuery(UserPayEquipmentAvailableBenefits.class)
+				.eq(UserPayEquipmentAvailableBenefits::getRealOrderId, orderId)
+				.in(UserPayEquipmentAvailableBenefits::getUserId, userIdList)
+				.eq(UserPayEquipmentAvailableBenefits::getDeleted, 1)
+				.last("limit 1"));
+		return userPayEquipmentAvailableBenefits;
+	}
+
 	private void checkUserBenefitsStatus(UserBenefits userBenefits, List<Long> userIdList) {
 		UserBenefits.Type type = userBenefits.getType();
 		int fhCount = 0;

+ 8 - 1
netflix-service/src/main/java/com/cyksj/service/order/impl/UserRealOrderBenefitsImpl.java

@@ -231,7 +231,7 @@ public class UserRealOrderBenefitsImpl implements UserRealOrderBenefitsService {
 				//领取权益时,没有车票的用户自动上车,获得对应车票
 				GroupsRelation relation = exchangeCodeService.getGroupTripsTicket(yhsId, sku, userId, null, OrderDon.Type.PAY_EQUIPMENT, null);
 				relationIds.add(relation.getId());
-			} else {
+			} else if (relationViewList.size() == 1) {
 				//若有且只有一张增加时长
 				//TODO
 				GroupsRelationView groupsRelationView = relationViewList.get(0);
@@ -248,6 +248,13 @@ public class UserRealOrderBenefitsImpl implements UserRealOrderBenefitsService {
 						.set(GroupsRelation::getExpiryTime, updateExpiryTime));
 				groupsRelationView.setUpdateExpiryTime(updateExpiryTime);
 				relationIds.add(groupsRelationView.getId());
+			} else if (relationViewList.size() > 1) {
+				UserPayEquipmentAvailableBenefits userPayEquipmentAvailableBenefits = new UserPayEquipmentAvailableBenefits()
+						.setUserId(userId)
+						.setSkuId(skuId)
+						.setType(1)
+						.setRealOrderId(orderDon.getId());
+				availableBenefitsMapper.insert(userPayEquipmentAvailableBenefits);
 			}
 		});
 		UserBenefitsComboRelationRecord userBenefitsComboRelationRecord = new UserBenefitsComboRelationRecord();

+ 11 - 0
netflix-web/src/main/java/com/cyksj/web/controller/payment/OrderController.java

@@ -894,4 +894,15 @@ public class OrderController {
         OrderDon orderDon = orderDonService.userBenefitsSubmit(orderPayRequest);
         return GatewayResponse.SUCCESS.newBuilder().toResult(orderDon);
     }
+
+    /**
+     * 是否是实物可选多张车票权益记录
+     */
+    @GetMapping("/get/combo/optional/ticket/record/{orderId}")
+    public Result<UserPayEquipmentAvailableBenefits> getComboOptionalTicketRecord(@PathVariable Long orderId) {
+        long userId = StpUserUtil.getLoginIdAsLong();
+        UserPayEquipmentAvailableBenefits userPayEquipmentAvailableBenefits = orderDonService.getComboOptionalTicketRecord(userId, orderId);
+        return GatewayResponse.SUCCESS.newBuilder().toResult(userPayEquipmentAvailableBenefits);
+    }
+
 }