fix:集合非空校验,数据库update脚本修改
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<FPerformSeatInfo> 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<FPerformSeatInfo> 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);
|
||||
}
|
||||
|
||||
@@ -101,7 +101,10 @@
|
||||
project_end_date,
|
||||
</if>
|
||||
<if test="null != subClassifyName and '' != subClassifyName">
|
||||
sub_classify_name
|
||||
sub_classify_name,
|
||||
</if>
|
||||
<if test="null != preSaleTime">
|
||||
pre_sale_time
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
@@ -157,7 +160,10 @@
|
||||
#{projectEndDate},
|
||||
</if>
|
||||
<if test="null != subClassifyName and '' != subClassifyName">
|
||||
#{subClassifyName}
|
||||
#{subClassifyName},
|
||||
</if>
|
||||
<if test="null != preSaleTime">
|
||||
#{preSaleTime}
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
@@ -182,7 +188,8 @@
|
||||
<if test="null != projectPrice ">project_price = #{projectPrice},</if>
|
||||
<if test="null != projectStartDate ">project_start_date = #{projectStartDate},</if>
|
||||
<if test="null != projectEndDate ">project_end_date = #{projectEndDate},</if>
|
||||
<if test="null != subClassifyName and '' != subClassifyName">sub_classify_name = #{subClassifyName}</if>
|
||||
<if test="null != subClassifyName and '' != subClassifyName">sub_classify_name = #{subClassifyName},</if>
|
||||
<if test="null != preSaleTime">pre_sale_time = #{preSaleTime}</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
Reference in New Issue
Block a user