|
|
@@ -271,88 +271,9 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
}
|
|
|
ticket.setPayTime(payTime);
|
|
|
}
|
|
|
- if (ticket.getGoodsId() == 26 && ticket.getIsMirror()) {
|
|
|
- List<UpgradePackage> upgradePackages = upgradePackageMapper.selectList(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')").eq(UpgradePackage::getStatus, Boolean.TRUE).eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
- if (CollectionUtil.isNotEmpty(upgradePackages)) {
|
|
|
- upgradePackages.stream().map(e -> e.getPrice().divide(BigDecimal.valueOf(e.getNum()), 2, RoundingMode.HALF_UP)).min(BigDecimal::compareTo).ifPresent(ticket::setMjPackagePrice);
|
|
|
- }
|
|
|
- try {
|
|
|
- MidjourneyUserView search = beanSearcher.searchFirst(MidjourneyUserView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
- .field(MidjourneyUserView::getUserId, ticket.getUserId()).field(MidjourneyUserView::getRelationId, ticket.getRelationId())
|
|
|
- .onlySelect(MidjourneyUserView::getMjUserRelaxNum, MidjourneyUserView::getMjUserFastNum, MidjourneyUserView::getIsCar)
|
|
|
- .build());
|
|
|
- if (search == null) {
|
|
|
- MidjourneyUser midjourneyUser = midjourneyAccountService.getMidjourneyUserToken(ticket.getUserId(), ticket.getRelationId());
|
|
|
- ticket.setMjUserFastNum(midjourneyUser.getMjFastNum());
|
|
|
- ticket.setMjUserRelaxNum(midjourneyUser.getMjRelaxNum());
|
|
|
- ticket.setIsCar(false);
|
|
|
- } else {
|
|
|
- ticket.setIsCar(search.getIsCar());
|
|
|
- ticket.setMjUserFastNum(search.getMjUserFastNum());
|
|
|
- ticket.setMjUserRelaxNum(search.getMjUserRelaxNum());
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- }
|
|
|
- }
|
|
|
- if (ticket.getGoodsId() == 18 && ticket.getIsCar() && ticket.getExpiryTime() != null) {
|
|
|
- try {
|
|
|
- //gpt用户镜像
|
|
|
- ChatGptUserView userInfo = chatGptAccountService.getUserInfo(userId, ticket.getRelationId());
|
|
|
- ticket.setGptUserLimitNum(userInfo.getLimitNum());
|
|
|
- ticket.setGptUserLimitTime(userInfo.getLimitTime());
|
|
|
- ticket.setUse(userInfo.getUse());
|
|
|
- Integer count = upgradePackageMapper.selectCount(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')")
|
|
|
- .gt(UpgradePackage::getNum, userInfo.getLimitNum())
|
|
|
- .eq(UpgradePackage::getStatus, Boolean.TRUE)
|
|
|
- .eq(UpgradePackage::getGptType, 0)
|
|
|
- .eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
- ticket.setUpgrade(count > 0 ? true : false);
|
|
|
- ticket.setPackageId(userInfo.getPackageId());
|
|
|
- if (userInfo.getPackageId() != 0) {
|
|
|
- UpgradePackage upgradePackage = upgradePackageMapper.selectById(userInfo.getPackageId());
|
|
|
- ticket.setPackagePrice(upgradePackage.getPrice());
|
|
|
- Long upgradeOrderDonSkuId = upgradePackage.getUpgradeSkuId();
|
|
|
- GoodsDonSkuRenewView renewSku = beanSearcher.searchFirst(GoodsDonSkuRenewView.class, MapUtils.builder().field(GoodsDonSkuRenewView::getSkuId, upgradeOrderDonSkuId).build());
|
|
|
- renewSku.setPackageId(userInfo.getPackageId());
|
|
|
- ticket.setRenewSku(renewSku);
|
|
|
- }
|
|
|
- ticket.setIsRenewPackage(userInfo.getIsRenewPackage());
|
|
|
- Long renewSkuId = userInfo.getRenewSkuId();
|
|
|
- if (renewSkuId != null) {
|
|
|
- GoodsDonSkuRenewView upgradeSkuRenewView = ticket.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()));
|
|
|
- ticket.setRenewSku(renewSku);
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- }
|
|
|
- }
|
|
|
+ //设置镜像车票信息
|
|
|
+ setMirrorTicketInfo(ticket);
|
|
|
|
|
|
- if (ticket.getGoodsId() == 75l && ticket.getExpiryTime() != null) {
|
|
|
- try {
|
|
|
- ClaudeUserView userInfo = claudeService.getUserInfo(userId, ticket.getRelationId());
|
|
|
- ticket.setGptUserLimitNum(userInfo.getLimitNum());
|
|
|
- ticket.setGptUserLimitTime(userInfo.getLimitTime());
|
|
|
- ticket.setUse(userInfo.getUse());
|
|
|
- } catch (Exception e) {
|
|
|
- }
|
|
|
- }
|
|
|
- if (ticket.getGoodsId() == Constant.LUMA_GOODS_ID && ticket.getExpiryTime() != null) {
|
|
|
- try {
|
|
|
- List<UpgradePackage> upgradePackages = upgradePackageMapper.selectList(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')").eq(UpgradePackage::getStatus, Boolean.TRUE).eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
- if (CollectionUtil.isNotEmpty(upgradePackages)){
|
|
|
- upgradePackages.stream().map(e -> e.getPrice().divide(BigDecimal.valueOf(e.getNum()), 2, RoundingMode.HALF_UP)).min(BigDecimal::compareTo).ifPresent(ticket::setLumaPackagePrice);
|
|
|
- }
|
|
|
- LumaUser lumaUser = lumaService.getLumaUser(userId, ticket.getRelationId());
|
|
|
- ticket.setLumaUserNum(lumaUser.getNum());
|
|
|
- } catch (Exception e) {
|
|
|
- }
|
|
|
- }
|
|
|
List<GroupsRelationUserView> relationUserViews = groupsRelationMapper.getUserRelationUserViews(ticket.getGroupId(), ticket.getRelationId(), ticket.getUserId(), List.of(GroupsRelation.Status.validity, GroupsRelation.Status.outside));
|
|
|
ticket.setRelationViews(relationUserViews);
|
|
|
if (ticket.getExpiryTime() != null) {
|
|
|
@@ -779,7 +700,6 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
.field(RenewalView::getStatus, List.of("validity", "overdue", "outside")).op(Operator.InList)
|
|
|
.field(RenewalView::getAqType, 1)
|
|
|
.orderBy(RenewalView::getExpiryTime).asc()
|
|
|
- .onlySelect(RenewalView::getMonths, RenewalView::getExpiryTime, RenewalView::getRelationId, RenewalView::getAccount, RenewalView::getGoodsId, RenewalView::getTitle, RenewalView::getLogo, RenewalView::getImg, RenewalView::getGroupId, RenewalView::getSkuId, RenewalView::getSpecVal, RenewalView::getGoodsStatus, RenewalView::getSkuStatus)
|
|
|
.build());
|
|
|
if (list.size() > 5) {
|
|
|
redisService.setNx(RedisService.key.TICKET_EXPIRY_NOTIFY_DAY.getNameFormat(thisDate, userId), userId, RedisService.key.TICKET_EXPIRY_NOTIFY_DAY.getTimeout());
|
|
|
@@ -805,6 +725,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
}
|
|
|
if (DateUtil.beginOfDay(expiryTime).compareTo(DateUtil.offsetDay(thisZero, day.get())) <= 0) {
|
|
|
ticket.setExpiryTimeStr(DateUtil.format(ticket.getExpiryTime(), "yyyy-MM-dd"));
|
|
|
+ //GPT镜像信息
|
|
|
+ setGptMirrorInfo(ticket);
|
|
|
ticket.setExpiryTime(null);
|
|
|
return true;
|
|
|
}
|
|
|
@@ -996,4 +918,109 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void setMirrorTicketInfo(RenewalView ticket) {
|
|
|
+ //设置MJ镜像信息
|
|
|
+ setMjMirrorInfo(ticket);
|
|
|
+ //设置GPT镜像信息
|
|
|
+ setGptMirrorInfo(ticket);
|
|
|
+ //clause pro
|
|
|
+ setClaudeProInfo(ticket);
|
|
|
+ //luma
|
|
|
+ setLumaInfo(ticket);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setMjMirrorInfo(RenewalView ticket) {
|
|
|
+ if (ticket.getGoodsId() == 26 && ticket.getIsMirror()) {
|
|
|
+ List<UpgradePackage> upgradePackages = upgradePackageMapper.selectList(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')").eq(UpgradePackage::getStatus, Boolean.TRUE).eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
+ if (CollectionUtil.isNotEmpty(upgradePackages)) {
|
|
|
+ upgradePackages.stream().map(e -> e.getPrice().divide(BigDecimal.valueOf(e.getNum()), 2, RoundingMode.HALF_UP)).min(BigDecimal::compareTo).ifPresent(ticket::setMjPackagePrice);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ MidjourneyUserView search = beanSearcher.searchFirst(MidjourneyUserView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
+ .field(MidjourneyUserView::getUserId, ticket.getUserId()).field(MidjourneyUserView::getRelationId, ticket.getRelationId())
|
|
|
+ .onlySelect(MidjourneyUserView::getMjUserRelaxNum, MidjourneyUserView::getMjUserFastNum, MidjourneyUserView::getIsCar)
|
|
|
+ .build());
|
|
|
+ if (search == null) {
|
|
|
+ MidjourneyUser midjourneyUser = midjourneyAccountService.getMidjourneyUserToken(ticket.getUserId(), ticket.getRelationId());
|
|
|
+ ticket.setMjUserFastNum(midjourneyUser.getMjFastNum());
|
|
|
+ ticket.setMjUserRelaxNum(midjourneyUser.getMjRelaxNum());
|
|
|
+ ticket.setIsCar(false);
|
|
|
+ } else {
|
|
|
+ ticket.setIsCar(search.getIsCar());
|
|
|
+ ticket.setMjUserFastNum(search.getMjUserFastNum());
|
|
|
+ ticket.setMjUserRelaxNum(search.getMjUserRelaxNum());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setGptMirrorInfo(RenewalView ticket) {
|
|
|
+ if (ticket.getGoodsId() == 18 && ticket.getIsCar() && ticket.getExpiryTime() != null) {
|
|
|
+ try {
|
|
|
+ //gpt用户镜像
|
|
|
+ ChatGptUserView userInfo = chatGptAccountService.getUserInfo(ticket.getUserId(), ticket.getRelationId());
|
|
|
+ ticket.setGptUserLimitNum(userInfo.getLimitNum());
|
|
|
+ ticket.setGptUserLimitTime(userInfo.getLimitTime());
|
|
|
+ ticket.setUse(userInfo.getUse());
|
|
|
+ Integer count = upgradePackageMapper.selectCount(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')")
|
|
|
+ .gt(UpgradePackage::getNum, userInfo.getLimitNum())
|
|
|
+ .eq(UpgradePackage::getStatus, Boolean.TRUE)
|
|
|
+ .eq(UpgradePackage::getGptType, 0)
|
|
|
+ .eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
+ ticket.setUpgrade(count > 0 ? true : false);
|
|
|
+ ticket.setPackageId(userInfo.getPackageId());
|
|
|
+ if (userInfo.getPackageId() != 0) {
|
|
|
+ UpgradePackage upgradePackage = upgradePackageMapper.selectById(userInfo.getPackageId());
|
|
|
+ ticket.setPackagePrice(upgradePackage.getPrice());
|
|
|
+ Long upgradeOrderDonSkuId = upgradePackage.getUpgradeSkuId();
|
|
|
+ GoodsDonSkuRenewView renewSku = beanSearcher.searchFirst(GoodsDonSkuRenewView.class, MapUtils.builder().field(GoodsDonSkuRenewView::getSkuId, upgradeOrderDonSkuId).build());
|
|
|
+ renewSku.setPackageId(userInfo.getPackageId());
|
|
|
+ ticket.setRenewSku(renewSku);
|
|
|
+ }
|
|
|
+ ticket.setIsRenewPackage(userInfo.getIsRenewPackage());
|
|
|
+ Long renewSkuId = userInfo.getRenewSkuId();
|
|
|
+ if (renewSkuId != null) {
|
|
|
+ GoodsDonSkuRenewView upgradeSkuRenewView = ticket.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()));
|
|
|
+ ticket.setRenewSku(renewSku);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setClaudeProInfo(RenewalView ticket) {
|
|
|
+ //clause pro
|
|
|
+ if (ticket.getGoodsId() == 75l && ticket.getExpiryTime() != null) {
|
|
|
+ try {
|
|
|
+ ClaudeUserView userInfo = claudeService.getUserInfo(ticket.getUserId(), ticket.getRelationId());
|
|
|
+ ticket.setGptUserLimitNum(userInfo.getLimitNum());
|
|
|
+ ticket.setGptUserLimitTime(userInfo.getLimitTime());
|
|
|
+ ticket.setUse(userInfo.getUse());
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setLumaInfo(RenewalView ticket) {
|
|
|
+ if (ticket.getGoodsId() == Constant.LUMA_GOODS_ID && ticket.getExpiryTime() != null) {
|
|
|
+ try {
|
|
|
+ List<UpgradePackage> upgradePackages = upgradePackageMapper.selectList(Wrappers.lambdaQuery(UpgradePackage.class).apply("JSON_CONTAINS(sku_ids,'\"" + ticket.getSkuId() + "\"')").eq(UpgradePackage::getStatus, Boolean.TRUE).eq(UpgradePackage::getDeleted, Boolean.TRUE));
|
|
|
+ if (CollectionUtil.isNotEmpty(upgradePackages)){
|
|
|
+ upgradePackages.stream().map(e -> e.getPrice().divide(BigDecimal.valueOf(e.getNum()), 2, RoundingMode.HALF_UP)).min(BigDecimal::compareTo).ifPresent(ticket::setLumaPackagePrice);
|
|
|
+ }
|
|
|
+ LumaUser lumaUser = lumaService.getLumaUser(ticket.getUserId(), ticket.getRelationId());
|
|
|
+ ticket.setLumaUserNum(lumaUser.getNum());
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|