feat:gc
This commit is contained in:
@@ -87,196 +87,204 @@ public class PullDataFromFWDJob {
|
||||
i++;
|
||||
BaseRequest request = new BaseRequest();
|
||||
request.setCurrent(i);
|
||||
request.setPageSize(10 * i);
|
||||
ProjectsResp showProjectsFromHttp = performServiceHttp.getShowProjectsFromHttp(request);
|
||||
if (Objects.isNull(showProjectsFromHttp)) {
|
||||
return;
|
||||
}
|
||||
if (CollectionUtils.isEmpty(showProjectsFromHttp.getList())) {
|
||||
break;
|
||||
}
|
||||
List<ProjectList> projectList = showProjectsFromHttp.getList();
|
||||
request.setPageSize(50);
|
||||
try {
|
||||
ProjectsResp showProjectsFromHttp = performServiceHttp.getShowProjectsFromHttp(request);
|
||||
if (Objects.isNull(showProjectsFromHttp)) {
|
||||
return;
|
||||
}
|
||||
if (CollectionUtils.isEmpty(showProjectsFromHttp.getList())) {
|
||||
break;
|
||||
}
|
||||
List<ProjectList> projectList = showProjectsFromHttp.getList();
|
||||
|
||||
List<CompletableFuture> futureList = Lists.newArrayList();
|
||||
for (ProjectList project : projectList) {
|
||||
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
|
||||
ProjectInfoResp projectInfoFromHttp = performServiceHttp.getProjectInfoFromHttp(project.getProjectId());
|
||||
Perform performsByProjectIdFromHttp = performServiceHttp.getPerformsByProjectIdFromHttp(project.getProjectId());
|
||||
if (Objects.nonNull(projectInfoFromHttp) && Objects.nonNull(performsByProjectIdFromHttp)) {
|
||||
FPerformProjectInfo projectInfo = performProjectInfoMapper.getProjectByProjectId(project.getProjectId());
|
||||
if (Objects.nonNull(projectInfo)) {
|
||||
// 更新projectInfo的信息
|
||||
projectInfo.setNameDisplay(projectInfoFromHttp.getNameDisplay());
|
||||
projectInfo.setStatus(projectInfoFromHttp.getStatus());
|
||||
projectInfo.setProjectSource(projectInfoFromHttp.getProjectSource());
|
||||
projectInfo.setIsHasSeat(projectInfoFromHttp.getIsHasSeat());
|
||||
projectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
||||
projectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
||||
projectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
||||
projectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate()));
|
||||
}
|
||||
projectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
||||
projectInfo.setProjectName(project.getName());
|
||||
projectInfo.setBizId(project.getBizId());
|
||||
projectInfo.setTagName(project.getTagName());
|
||||
projectInfo.setTagRemark(project.getTagRemark());
|
||||
projectInfo.setProjectCity(project.getCity());
|
||||
projectInfo.setShortCity(project.getShortCity());
|
||||
projectInfo.setVenueName(project.getVenueName());
|
||||
projectInfo.setLowestPrice(project.getLowestPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
||||
projectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime()));
|
||||
}
|
||||
performProjectInfoMapper.update(projectInfo);
|
||||
List<FPerformSeatInfo> fPerformSeatInfoInsertList = Lists.newArrayList();
|
||||
if (CollectionUtils.isNotEmpty(performsByProjectIdFromHttp.getPerformInfos())) {
|
||||
for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) {
|
||||
if (CollectionUtils.isNotEmpty(performInfo.getPerformInfo())) {
|
||||
for (PerformDetail performDetail : performInfo.getPerformInfo()) {
|
||||
if (CollectionUtils.isNotEmpty(performDetail.getSeatPlans())) {
|
||||
List<CompletableFuture> futureList = Lists.newArrayList();
|
||||
for (ProjectList project : projectList) {
|
||||
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
|
||||
ProjectInfoResp projectInfoFromHttp = performServiceHttp.getProjectInfoFromHttp(project.getProjectId());
|
||||
Perform performsByProjectIdFromHttp = performServiceHttp.getPerformsByProjectIdFromHttp(project.getProjectId());
|
||||
if (Objects.nonNull(projectInfoFromHttp) && Objects.nonNull(performsByProjectIdFromHttp)) {
|
||||
FPerformProjectInfo projectInfo = performProjectInfoMapper.getProjectByProjectId(project.getProjectId());
|
||||
if (Objects.nonNull(projectInfo)) {
|
||||
// 更新projectInfo的信息
|
||||
projectInfo.setNameDisplay(projectInfoFromHttp.getNameDisplay());
|
||||
projectInfo.setStatus(projectInfoFromHttp.getStatus());
|
||||
projectInfo.setProjectSource(projectInfoFromHttp.getProjectSource());
|
||||
projectInfo.setIsHasSeat(projectInfoFromHttp.getIsHasSeat());
|
||||
projectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
||||
projectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
||||
projectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
||||
projectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate()));
|
||||
}
|
||||
projectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
||||
projectInfo.setProjectName(project.getName());
|
||||
projectInfo.setBizId(project.getBizId());
|
||||
projectInfo.setTagName(project.getTagName());
|
||||
projectInfo.setTagRemark(project.getTagRemark());
|
||||
projectInfo.setProjectCity(project.getCity());
|
||||
projectInfo.setShortCity(project.getShortCity());
|
||||
projectInfo.setVenueName(project.getVenueName());
|
||||
projectInfo.setLowestPrice(project.getLowestPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
||||
projectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime()));
|
||||
}
|
||||
performProjectInfoMapper.update(projectInfo);
|
||||
List<FPerformSeatInfo> fPerformSeatInfoInsertList = Lists.newArrayList();
|
||||
if (CollectionUtils.isNotEmpty(performsByProjectIdFromHttp.getPerformInfos())) {
|
||||
for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) {
|
||||
if (CollectionUtils.isNotEmpty(performInfo.getPerformInfo())) {
|
||||
for (PerformDetail performDetail : performInfo.getPerformInfo()) {
|
||||
if (CollectionUtils.isNotEmpty(performDetail.getSeatPlans())) {
|
||||
|
||||
List<Long> seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList();
|
||||
Map<Long, Boolean> seatMap = getSeatMap(seatPlanIds);
|
||||
if (MapUtils.isEmpty(seatMap)) continue;
|
||||
for (SeatPlan seatPlan : performDetail.getSeatPlans()) {
|
||||
if (!seatMap.containsKey(seatPlan.getSeatPlanId())) {
|
||||
continue;
|
||||
}
|
||||
FPerformSeatInfo fPerformSeatInfo = new FPerformSeatInfo();
|
||||
fPerformSeatInfo.setSeatPlanId(seatPlan.getSeatPlanId());
|
||||
fPerformSeatInfo.setSeatPlanName(seatPlan.getSeatPlanName());
|
||||
fPerformSeatInfo.setPerformId(seatPlan.getPerformId());
|
||||
fPerformSeatInfo.setPerformName(seatPlan.getPerformName());
|
||||
fPerformSeatInfo.setStopSale(seatPlan.getStopSale());
|
||||
fPerformSeatInfo.setShelfStatus(seatPlan.getShelfStatus());
|
||||
fPerformSeatInfo.setPrice(seatPlan.getPrice());
|
||||
fPerformSeatInfo.setDiscountPrice(seatPlan.getDiscountPrice());
|
||||
fPerformSeatInfo.setSubStatus(seatPlan.getSubStatus());
|
||||
fPerformSeatInfo.setQuantity(seatPlan.getQuantity());
|
||||
fPerformSeatInfo.setStatus(seatPlan.getStatus());
|
||||
fPerformSeatInfo.setMaxSellStock(seatPlan.getMaxSellStock());
|
||||
fPerformSeatInfo.setSoldStock(seatPlan.getSoldStock());
|
||||
fPerformSeatInfo.setLeftStock(seatPlan.getLeftStock());
|
||||
fPerformSeatInfo.setAbleSaleQuantity(seatPlan.getAbleSaleQuantity());
|
||||
fPerformSeatInfo.setAshShow(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setAshShowDesc(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setSelectable(seatPlan.getSelectable());
|
||||
fPerformSeatInfo.setDisplay(seatPlan.getDisplay());
|
||||
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
||||
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
||||
if (StringUtils.isNotBlank(seatPlan.getSaleTime())) {
|
||||
fPerformSeatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
||||
}
|
||||
fPerformSeatInfo.setProjectId(project.getProjectId());
|
||||
fPerformSeatInfo.setSoldOut(seatMap.get(seatPlan.getSeatPlanId()) ? 1 : 0);
|
||||
FPerformSeatInfo seatInfo = performSeatInfoMapper.getPerformSeatInfoBySeatIdAndPerformIdAndProjectId(fPerformSeatInfo.getSeatPlanId(), fPerformSeatInfo.getPerformId(), project.getProjectId());
|
||||
if (Objects.nonNull(seatInfo)) {
|
||||
fPerformSeatInfo.setId(seatInfo.getId());
|
||||
performSeatInfoMapper.update(fPerformSeatInfo);
|
||||
} else {
|
||||
fPerformSeatInfoInsertList.add(fPerformSeatInfo);
|
||||
List<Long> seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList();
|
||||
Map<Long, Boolean> seatMap = getSeatMap(seatPlanIds);
|
||||
if (MapUtils.isEmpty(seatMap)) continue;
|
||||
for (SeatPlan seatPlan : performDetail.getSeatPlans()) {
|
||||
if (!seatMap.containsKey(seatPlan.getSeatPlanId())) {
|
||||
continue;
|
||||
}
|
||||
FPerformSeatInfo fPerformSeatInfo = new FPerformSeatInfo();
|
||||
fPerformSeatInfo.setSeatPlanId(seatPlan.getSeatPlanId());
|
||||
fPerformSeatInfo.setSeatPlanName(seatPlan.getSeatPlanName());
|
||||
fPerformSeatInfo.setPerformId(seatPlan.getPerformId());
|
||||
fPerformSeatInfo.setPerformName(seatPlan.getPerformName());
|
||||
fPerformSeatInfo.setStopSale(seatPlan.getStopSale());
|
||||
fPerformSeatInfo.setShelfStatus(seatPlan.getShelfStatus());
|
||||
fPerformSeatInfo.setPrice(seatPlan.getPrice());
|
||||
fPerformSeatInfo.setDiscountPrice(seatPlan.getDiscountPrice());
|
||||
fPerformSeatInfo.setSubStatus(seatPlan.getSubStatus());
|
||||
fPerformSeatInfo.setQuantity(seatPlan.getQuantity());
|
||||
fPerformSeatInfo.setStatus(seatPlan.getStatus());
|
||||
fPerformSeatInfo.setMaxSellStock(seatPlan.getMaxSellStock());
|
||||
fPerformSeatInfo.setSoldStock(seatPlan.getSoldStock());
|
||||
fPerformSeatInfo.setLeftStock(seatPlan.getLeftStock());
|
||||
fPerformSeatInfo.setAbleSaleQuantity(seatPlan.getAbleSaleQuantity());
|
||||
fPerformSeatInfo.setAshShow(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setAshShowDesc(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setSelectable(seatPlan.getSelectable());
|
||||
fPerformSeatInfo.setDisplay(seatPlan.getDisplay());
|
||||
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
||||
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
||||
if (StringUtils.isNotBlank(seatPlan.getSaleTime())) {
|
||||
fPerformSeatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
||||
}
|
||||
fPerformSeatInfo.setProjectId(project.getProjectId());
|
||||
fPerformSeatInfo.setSoldOut(seatMap.get(seatPlan.getSeatPlanId()) ? 1 : 0);
|
||||
FPerformSeatInfo seatInfo = performSeatInfoMapper.getPerformSeatInfoBySeatIdAndPerformIdAndProjectId(fPerformSeatInfo.getSeatPlanId(), fPerformSeatInfo.getPerformId(), project.getProjectId());
|
||||
if (Objects.nonNull(seatInfo)) {
|
||||
fPerformSeatInfo.setId(seatInfo.getId());
|
||||
performSeatInfoMapper.update(fPerformSeatInfo);
|
||||
} else {
|
||||
fPerformSeatInfoInsertList.add(fPerformSeatInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(fPerformSeatInfoInsertList)) {
|
||||
performSeatInfoMapper.batchSave(fPerformSeatInfoInsertList);
|
||||
}
|
||||
} else {
|
||||
// 新增projectInfo的信息
|
||||
FPerformProjectInfo fPerformProjectInfo = new FPerformProjectInfo();
|
||||
fPerformProjectInfo.setNameDisplay(projectInfoFromHttp.getNameDisplay());
|
||||
fPerformProjectInfo.setStatus(projectInfoFromHttp.getStatus());
|
||||
fPerformProjectInfo.setProjectSource(projectInfoFromHttp.getProjectSource());
|
||||
fPerformProjectInfo.setIsHasSeat(projectInfoFromHttp.getIsHasSeat());
|
||||
fPerformProjectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
||||
fPerformProjectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
||||
fPerformProjectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
||||
fPerformProjectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate()));
|
||||
}
|
||||
fPerformProjectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
||||
if (CollectionUtils.isNotEmpty(fPerformSeatInfoInsertList)) {
|
||||
performSeatInfoMapper.batchSave(fPerformSeatInfoInsertList);
|
||||
}
|
||||
} else {
|
||||
// 新增projectInfo的信息
|
||||
FPerformProjectInfo fPerformProjectInfo = new FPerformProjectInfo();
|
||||
fPerformProjectInfo.setNameDisplay(projectInfoFromHttp.getNameDisplay());
|
||||
fPerformProjectInfo.setStatus(projectInfoFromHttp.getStatus());
|
||||
fPerformProjectInfo.setProjectSource(projectInfoFromHttp.getProjectSource());
|
||||
fPerformProjectInfo.setIsHasSeat(projectInfoFromHttp.getIsHasSeat());
|
||||
fPerformProjectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
||||
fPerformProjectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
||||
fPerformProjectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
||||
fPerformProjectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate()));
|
||||
}
|
||||
fPerformProjectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
||||
|
||||
fPerformProjectInfo.setProjectName(project.getName());
|
||||
fPerformProjectInfo.setBizId(project.getBizId());
|
||||
fPerformProjectInfo.setProjectId(project.getProjectId());
|
||||
fPerformProjectInfo.setTagName(project.getTagName());
|
||||
fPerformProjectInfo.setTagRemark(project.getTagRemark());
|
||||
fPerformProjectInfo.setProjectCity(project.getCity());
|
||||
fPerformProjectInfo.setShortCity(project.getShortCity());
|
||||
fPerformProjectInfo.setVenueName(project.getVenueName());
|
||||
fPerformProjectInfo.setLowestPrice(project.getLowestPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
||||
fPerformProjectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime()));
|
||||
}
|
||||
performProjectInfoMapper.insert(fPerformProjectInfo);
|
||||
fPerformProjectInfo.setProjectName(project.getName());
|
||||
fPerformProjectInfo.setBizId(project.getBizId());
|
||||
fPerformProjectInfo.setProjectId(project.getProjectId());
|
||||
fPerformProjectInfo.setTagName(project.getTagName());
|
||||
fPerformProjectInfo.setTagRemark(project.getTagRemark());
|
||||
fPerformProjectInfo.setProjectCity(project.getCity());
|
||||
fPerformProjectInfo.setShortCity(project.getShortCity());
|
||||
fPerformProjectInfo.setVenueName(project.getVenueName());
|
||||
fPerformProjectInfo.setLowestPrice(project.getLowestPrice());
|
||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
||||
fPerformProjectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime()));
|
||||
}
|
||||
performProjectInfoMapper.insert(fPerformProjectInfo);
|
||||
|
||||
List<FPerformSeatInfo> fPerformSeatInfos = Lists.newArrayList();
|
||||
if (CollectionUtils.isNotEmpty(performsByProjectIdFromHttp.getPerformInfos())) {
|
||||
for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) {
|
||||
if (CollectionUtils.isNotEmpty(performInfo.getPerformInfo())) {
|
||||
for (PerformDetail performDetail : performInfo.getPerformInfo()) {
|
||||
if (CollectionUtils.isNotEmpty(performDetail.getSeatPlans())) {
|
||||
List<Long> seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList();
|
||||
Map<Long, Boolean> seatMap = getSeatMap(seatPlanIds);
|
||||
if (MapUtils.isEmpty(seatMap)) continue;
|
||||
for (SeatPlan seatPlan : performDetail.getSeatPlans()) {
|
||||
if (!seatMap.containsKey(seatPlan.getSeatPlanId())) {
|
||||
continue;
|
||||
List<FPerformSeatInfo> fPerformSeatInfos = Lists.newArrayList();
|
||||
if (CollectionUtils.isNotEmpty(performsByProjectIdFromHttp.getPerformInfos())) {
|
||||
for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) {
|
||||
if (CollectionUtils.isNotEmpty(performInfo.getPerformInfo())) {
|
||||
for (PerformDetail performDetail : performInfo.getPerformInfo()) {
|
||||
if (CollectionUtils.isNotEmpty(performDetail.getSeatPlans())) {
|
||||
List<Long> seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList();
|
||||
Map<Long, Boolean> seatMap = getSeatMap(seatPlanIds);
|
||||
if (MapUtils.isEmpty(seatMap)) continue;
|
||||
for (SeatPlan seatPlan : performDetail.getSeatPlans()) {
|
||||
if (!seatMap.containsKey(seatPlan.getSeatPlanId())) {
|
||||
continue;
|
||||
}
|
||||
FPerformSeatInfo fPerformSeatInfo = new FPerformSeatInfo();
|
||||
fPerformSeatInfo.setSeatPlanId(seatPlan.getSeatPlanId());
|
||||
fPerformSeatInfo.setSeatPlanName(seatPlan.getSeatPlanName());
|
||||
fPerformSeatInfo.setPerformId(seatPlan.getPerformId());
|
||||
fPerformSeatInfo.setPerformName(seatPlan.getPerformName());
|
||||
fPerformSeatInfo.setStopSale(seatPlan.getStopSale());
|
||||
fPerformSeatInfo.setShelfStatus(seatPlan.getShelfStatus());
|
||||
fPerformSeatInfo.setPrice(seatPlan.getPrice());
|
||||
fPerformSeatInfo.setDiscountPrice(seatPlan.getDiscountPrice());
|
||||
fPerformSeatInfo.setSubStatus(seatPlan.getSubStatus());
|
||||
fPerformSeatInfo.setQuantity(seatPlan.getQuantity());
|
||||
fPerformSeatInfo.setStatus(seatPlan.getStatus());
|
||||
fPerformSeatInfo.setMaxSellStock(seatPlan.getMaxSellStock());
|
||||
fPerformSeatInfo.setSoldStock(seatPlan.getSoldStock());
|
||||
fPerformSeatInfo.setLeftStock(seatPlan.getLeftStock());
|
||||
fPerformSeatInfo.setAbleSaleQuantity(seatPlan.getAbleSaleQuantity());
|
||||
fPerformSeatInfo.setAshShow(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setAshShowDesc(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setSelectable(seatPlan.getSelectable());
|
||||
fPerformSeatInfo.setDisplay(seatPlan.getDisplay());
|
||||
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
||||
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
||||
if (StringUtils.isNotBlank(seatPlan.getSaleTime())) {
|
||||
fPerformSeatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
||||
}
|
||||
fPerformSeatInfo.setProjectId(project.getProjectId());
|
||||
fPerformSeatInfo.setSoldOut(seatMap.get(seatPlan.getSeatPlanId()) ? 1 : 0);
|
||||
}
|
||||
FPerformSeatInfo fPerformSeatInfo = new FPerformSeatInfo();
|
||||
fPerformSeatInfo.setSeatPlanId(seatPlan.getSeatPlanId());
|
||||
fPerformSeatInfo.setSeatPlanName(seatPlan.getSeatPlanName());
|
||||
fPerformSeatInfo.setPerformId(seatPlan.getPerformId());
|
||||
fPerformSeatInfo.setPerformName(seatPlan.getPerformName());
|
||||
fPerformSeatInfo.setStopSale(seatPlan.getStopSale());
|
||||
fPerformSeatInfo.setShelfStatus(seatPlan.getShelfStatus());
|
||||
fPerformSeatInfo.setPrice(seatPlan.getPrice());
|
||||
fPerformSeatInfo.setDiscountPrice(seatPlan.getDiscountPrice());
|
||||
fPerformSeatInfo.setSubStatus(seatPlan.getSubStatus());
|
||||
fPerformSeatInfo.setQuantity(seatPlan.getQuantity());
|
||||
fPerformSeatInfo.setStatus(seatPlan.getStatus());
|
||||
fPerformSeatInfo.setMaxSellStock(seatPlan.getMaxSellStock());
|
||||
fPerformSeatInfo.setSoldStock(seatPlan.getSoldStock());
|
||||
fPerformSeatInfo.setLeftStock(seatPlan.getLeftStock());
|
||||
fPerformSeatInfo.setAbleSaleQuantity(seatPlan.getAbleSaleQuantity());
|
||||
fPerformSeatInfo.setAshShow(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setAshShowDesc(seatPlan.getAshShow());
|
||||
fPerformSeatInfo.setSelectable(seatPlan.getSelectable());
|
||||
fPerformSeatInfo.setDisplay(seatPlan.getDisplay());
|
||||
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
||||
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
||||
if (StringUtils.isNotBlank(seatPlan.getSaleTime())) {
|
||||
fPerformSeatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
||||
}
|
||||
fPerformSeatInfo.setProjectId(project.getProjectId());
|
||||
fPerformSeatInfo.setSoldOut(seatMap.get(seatPlan.getSeatPlanId()) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(fPerformSeatInfos)) {
|
||||
performSeatInfoMapper.batchSave(fPerformSeatInfos);
|
||||
if (CollectionUtils.isNotEmpty(fPerformSeatInfos)) {
|
||||
performSeatInfoMapper.batchSave(fPerformSeatInfos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, es);
|
||||
futureList.add(future);
|
||||
}, es);
|
||||
futureList.add(future);
|
||||
}
|
||||
CompletableFuture[] futureArr = futureList.toArray(futureList.toArray(new CompletableFuture[0]));
|
||||
CompletableFuture.allOf(futureArr).join();
|
||||
Thread.sleep(1000);
|
||||
} catch (Exception e) {
|
||||
log.error("拉取数据失败", e);
|
||||
} finally {
|
||||
System.gc();
|
||||
}
|
||||
CompletableFuture[] futureArr = futureList.toArray(futureList.toArray(new CompletableFuture[0]));
|
||||
CompletableFuture.allOf(futureArr).join();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user