|
|
@@ -1814,6 +1814,68 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TicketRenewUpgradeView getRenewUpgradeInfo(long userId, Long relationId) {
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
+ GroupsRelationView groupsRelationView = beanSearcher.searchFirst(GroupsRelationView.class, MapUtils.builder()
|
|
|
+ .field(GroupsRelationView::getUserId, userIdList).op(Operator.InList)
|
|
|
+ .field(GroupsRelationView::getId, relationId)
|
|
|
+ .field(GroupsRelationView::getExpiryTime, DateTime.now())
|
|
|
+ .build());
|
|
|
+ TicketRenewUpgradeView ticketRenewUpgradeView = new TicketRenewUpgradeView();
|
|
|
+ if (groupsRelationView != null) {
|
|
|
+ //clause pro
|
|
|
+ if (groupsRelationView.getGoodsId() == 75l) {
|
|
|
+ try {
|
|
|
+ ClaudeUserView userInfo = claudeService.getUserInfo(groupsRelationView.getUserId(), groupsRelationView.getId());
|
|
|
+ Long renewSkuId = userInfo.getRenewSkuId();
|
|
|
+ if (renewSkuId != null) {
|
|
|
+ GoodsDonSkuRenewView renewSku = beanSearcher.searchFirst(GoodsDonSkuRenewView.class, MapUtils.builder().field(GoodsDonSkuRenewView::getSkuId, renewSkuId).build());
|
|
|
+ ticketRenewUpgradeView.setRenewSku(renewSku);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (groupsRelationView.getGoodsId() == 18) {
|
|
|
+ try {
|
|
|
+ //gpt用户镜像
|
|
|
+ ChatGptUserView userInfo = chatGptAccountService.getUserInfo(groupsRelationView.getUserId(), groupsRelationView.getId());
|
|
|
+ Integer count = upgradePackageMapper.selectCount(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + groupsRelationView.getSkuId() + "\"')")
|
|
|
+ .gt(UpgradePackage::getNum, userInfo.getLimitNum())
|
|
|
+ .eq(UpgradePackage::getStatus, Boolean.TRUE)
|
|
|
+ .eq(UpgradePackage::getGptType, 0)
|
|
|
+ .eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
+ ticketRenewUpgradeView.setUpgrade(count > 0 ? true : false);
|
|
|
+ ticketRenewUpgradeView.setPackageId(userInfo.getPackageId());
|
|
|
+ if (userInfo.getPackageId() != 0) {
|
|
|
+ UpgradePackage upgradePackage = upgradePackageMapper.selectById(userInfo.getPackageId());
|
|
|
+ ticketRenewUpgradeView.setPackagePrice(upgradePackage.getPrice());
|
|
|
+ Long upgradeOrderDonSkuId = upgradePackage.getUpgradeSkuId();
|
|
|
+ GoodsDonSkuRenewView renewSku = beanSearcher.searchFirst(GoodsDonSkuRenewView.class, MapUtils.builder().field(GoodsDonSkuRenewView::getSkuId, upgradeOrderDonSkuId).build());
|
|
|
+ renewSku.setPackageId(userInfo.getPackageId());
|
|
|
+ ticketRenewUpgradeView.setRenewSku(renewSku);
|
|
|
+ }
|
|
|
+ ticketRenewUpgradeView.setIsRenewPackage(userInfo.getIsRenewPackage());
|
|
|
+ Long renewSkuId = userInfo.getRenewSkuId();
|
|
|
+ if (renewSkuId != null) {
|
|
|
+ GoodsDonSkuRenewView upgradeSkuRenewView = ticketRenewUpgradeView.getRenewSku();
|
|
|
+ GoodsDonSkuRenewView renewSku = beanSearcher.searchFirst(GoodsDonSkuRenewView.class, MapUtils.builder().field(GoodsDonSkuRenewView::getSkuId, renewSkuId).build());
|
|
|
+ //续费升级是更高级规格
|
|
|
+ if (upgradeSkuRenewView == null || (renewSku.getGptUserLimitNum() >= upgradeSkuRenewView.getGptUserLimitNum() && renewSku.getMonths() >= userInfo.getMonths())) {
|
|
|
+ Optional.ofNullable(orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
|
|
|
+ .eq(OrderDonRenewRecord::getOrderId, userInfo.getRenewOrderId())
|
|
|
+ .last("limit 1"))).ifPresent(e -> renewSku.setOriginalOrderId(e.getOrderId()));
|
|
|
+ ticketRenewUpgradeView.setRenewSku(renewSku);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ticketRenewUpgradeView;
|
|
|
+ }
|
|
|
+
|
|
|
private DistributePosterGoodsDetailView setGoodsPoster(RenewalView ticket, User user, List<Long> userIds) {
|
|
|
DistributePosterGoodsDetailView distributePosterGoodsDetailView = beanSearcher.searchFirst(DistributePosterGoodsDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
.field(DistributePosterGoodsFrontView::getGoodsId, ticket.getGoodsId()).build());
|