diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProjectInfo.java b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProjectInfo.java index 8a343ad..a8ee3f2 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProjectInfo.java +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProjectInfo.java @@ -7,6 +7,7 @@ import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.LocalDateTime; @Data @AllArgsConstructor @@ -51,4 +52,6 @@ public class FPerformProjectInfo { private LocalDate projectEndDate; private String subClassifyName; + + private LocalDateTime preSaleTime; } 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 cc73f5e..31c2b82 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 @@ -59,9 +59,9 @@ public class PullDataFromFWDJob { new ThreadPoolExecutor.AbortPolicy()); /** - * 定时任务 每日2点爬取芬玩岛数据演出列表数据 + * 定时任务 每日1点爬取芬玩岛数据演出列表数据 */ - @Scheduled(cron = "0 0 2 1/1 * ?") + @Scheduled(cron = "0 0 1 1/1 * ?") @PostMapping("/pullProjectsDataJob") public void pullProjectsDataJob() { ProjectsResp showProjectsFromHttp = performServiceHttp.getShowProjectsFromHttp(); @@ -96,52 +96,58 @@ public class PullDataFromFWDJob { 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(); - for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) { - if (CollectionUtils.isNotEmpty(performInfo.getPerformInfo())) { - for (PerformDetail performDetail : performInfo.getPerformInfo()) { - if (CollectionUtils.isNotEmpty(performDetail.getSeatPlans())) { - for (SeatPlan seatPlan : performDetail.getSeatPlans()) { - 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); + 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())) { + for (SeatPlan seatPlan : performDetail.getSeatPlans()) { + 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); + } } } - } + } } } } + if (CollectionUtils.isNotEmpty(fPerformSeatInfoInsertList)) { performSeatInfoMapper.batchSave(fPerformSeatInfoInsertList); } @@ -167,45 +173,51 @@ public class PullDataFromFWDJob { 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(); - for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) { - if (CollectionUtils.isNotEmpty(performInfo.getPerformInfo())) { - for (PerformDetail performDetail : performInfo.getPerformInfo()) { - if (CollectionUtils.isNotEmpty(performDetail.getSeatPlans())) { - for (SeatPlan seatPlan : performDetail.getSeatPlans()) { - 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())); + 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())) { + for (SeatPlan seatPlan : performDetail.getSeatPlans()) { + 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.setProjectId(project.getProjectId()); } } } } } + if (CollectionUtils.isNotEmpty(fPerformSeatInfos)) { performSeatInfoMapper.batchSave(fPerformSeatInfos); } diff --git a/script/src/main/resources/mapper/fwd/FwdPerformProjectInfoMapper.xml b/script/src/main/resources/mapper/fwd/FwdPerformProjectInfoMapper.xml index 5c330a4..066a6f6 100644 --- a/script/src/main/resources/mapper/fwd/FwdPerformProjectInfoMapper.xml +++ b/script/src/main/resources/mapper/fwd/FwdPerformProjectInfoMapper.xml @@ -101,7 +101,10 @@ project_end_date, - sub_classify_name + sub_classify_name, + + + pre_sale_time @@ -157,7 +160,10 @@ #{projectEndDate}, - #{subClassifyName} + #{subClassifyName}, + + + #{preSaleTime} @@ -182,7 +188,8 @@ project_price = #{projectPrice}, project_start_date = #{projectStartDate}, project_end_date = #{projectEndDate}, - sub_classify_name = #{subClassifyName} + sub_classify_name = #{subClassifyName}, + pre_sale_time = #{preSaleTime} WHERE id = #{id}