From 3b19a75e522e8a27bfb215821fae1e0eb2873bd0 Mon Sep 17 00:00:00 2001 From: Zhujx Date: Fri, 25 Jul 2025 17:10:53 +0800 Subject: [PATCH] =?UTF-8?q?perf:=E7=88=AC=E8=99=AB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8B=89=E5=8F=96=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fwd/schedule/PullDataFromFWDJob.java | 345 +++++++++--------- .../fwd/server/FwdOuterController.java | 3 +- .../fwd/service/IPerformServiceHttp.java | 3 +- .../impl/PerformServiceHttpServiceImpl.java | 17 +- .../fwd/service/impl/PerformServiceImpl.java | 3 + 5 files changed, 195 insertions(+), 176 deletions(-) diff --git a/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java b/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java index 3c9ad08..1d1bfcd 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java +++ b/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java @@ -2,6 +2,7 @@ package com.xiang.xservice.fwd.schedule; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import com.xiang.xservice.basic.common.req.BaseRequest; import com.xiang.xservice.basic.config.MyThreadFactory; import com.xiang.xservice.basic.utils.DateUtils; import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo; @@ -69,196 +70,202 @@ public class PullDataFromFWDJob { @Scheduled(cron = "0 0 1 1/1 * ?") @PostMapping("/pullProjectsDataJob") public void pullProjectsDataJob() { - ProjectsResp showProjectsFromHttp = performServiceHttp.getShowProjectsFromHttp(); - if (Objects.isNull(showProjectsFromHttp)) { - return; - } - List projectList = showProjectsFromHttp.getList(); + int i = 0; + while (true) { + 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 = showProjectsFromHttp.getList(); - List futureList = Lists.newArrayList(); - for (ProjectList project : projectList) { - CompletableFuture 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 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 futureList = Lists.newArrayList(); + for (ProjectList project : projectList) { + CompletableFuture 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 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 seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList(); - Map seatMap = getSeatMap(seatPlanIds); - if (MapUtils.isEmpty(seatMap)) continue; - for (SeatPlan seatPlan : performDetail.getSeatPlans()) { - if (!seatMap.containsKey(seatPlan.getSeatPlanId())) { - continue; - } - if (!seatMap.get(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 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 seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList(); + Map 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 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 seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList(); - Map seatMap = getSeatMap(seatPlanIds); - if (MapUtils.isEmpty(seatMap)) continue; - for (SeatPlan seatPlan : performDetail.getSeatPlans()) { - if (!seatMap.containsKey(seatPlan.getSeatPlanId())) { - continue; + List 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 seatPlanIds = performDetail.getSeatPlans().stream().map(SeatPlan::getSeatPlanId).toList(); + Map 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); } - if (!seatMap.get(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()); } } } } } - } - 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(); } - CompletableFuture[] futureArr = futureList.toArray(futureList.toArray(new CompletableFuture[0])); - CompletableFuture.allOf(futureArr).join(); } private Map getSeatMap(List seatPlanIds) { diff --git a/script/src/main/java/com/xiang/xservice/fwd/server/FwdOuterController.java b/script/src/main/java/com/xiang/xservice/fwd/server/FwdOuterController.java index 828e3c0..f812151 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/server/FwdOuterController.java +++ b/script/src/main/java/com/xiang/xservice/fwd/server/FwdOuterController.java @@ -1,5 +1,6 @@ package com.xiang.xservice.fwd.server; +import com.xiang.xservice.basic.common.req.BaseRequest; import com.xiang.xservice.basic.common.resp.Result; import com.xiang.xservice.fwd.entity.resp.http.perform.Perform; import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectsResp; @@ -30,7 +31,7 @@ public class FwdOuterController { @GetMapping("/getShowProjects") public Result getShowProjects() { - ProjectsResp showProjectsFromHttp = performServiceHttp.getShowProjectsFromHttp(); + ProjectsResp showProjectsFromHttp = performServiceHttp.getShowProjectsFromHttp(new BaseRequest()); return Result.success("查询成功!", showProjectsFromHttp); } diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java b/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java index f292f92..fb6e00f 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java +++ b/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java @@ -1,5 +1,6 @@ package com.xiang.xservice.fwd.service; +import com.xiang.xservice.basic.common.req.BaseRequest; import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq; import com.xiang.xservice.fwd.entity.resp.http.perform.Perform; import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectInfoResp; @@ -15,7 +16,7 @@ public interface IPerformServiceHttp { * http请求查询全部演出列表 * @return ProjectsResp */ - ProjectsResp getShowProjectsFromHttp(); + ProjectsResp getShowProjectsFromHttp(BaseRequest request); /** * http请求根据projectId查询演出详情 diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java index 0f3d895..5db16c2 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import com.xiang.xservice.basic.common.req.BaseRequest; import com.xiang.xservice.basic.utils.HttpUtils; import com.xiang.xservice.basic.utils.JsonUtils; import com.xiang.xservice.fwd.constants.CodeConstants; @@ -31,13 +32,19 @@ import java.util.Objects; public class PerformServiceHttpServiceImpl implements IPerformServiceHttp { @Override - public ProjectsResp getShowProjectsFromHttp() { - int pageNum = 1; - int pageSize = 9999; + public ProjectsResp getShowProjectsFromHttp(BaseRequest request) { Map params = Maps.newHashMap(); params.put("projectModuleId", "7"); - params.put("pageNum", String.valueOf(pageNum)); - params.put("pageSize", String.valueOf(pageSize)); + if (Objects.isNull(request.getCurrent())) { + params.put("pageNum", String.valueOf(1)); + } else { + params.put("pageNum", String.valueOf(request.getCurrent())); + } + if (Objects.isNull(request.getPageSize())) { + params.put("pageSize", String.valueOf(10)); + } else { + params.put("pageSize", String.valueOf(request.getPageSize())); + } String respStr = HttpUtils.doGet(UrlConstants.PROJECTS_URL, buildFWDHeaders(null), params); if (StringUtils.isBlank(respStr)) { return new ProjectsResp(); diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java index 0df6fc7..a6ad17c 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java @@ -62,6 +62,9 @@ public class PerformServiceImpl implements IPerformService { return Boolean.FALSE; } for (FPerformSeatInfo fPerformSeatInfo : seatInfoByProjectId) { + if (1 == fPerformSeatInfo.getSoldOut()) { + continue; + } ProjectOrderCreateReq projectOrderCreateReq = new ProjectOrderCreateReq(); projectOrderCreateReq.setDeliveryType(1); projectOrderCreateReq.setContactName("朱吉祥");