diff --git a/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java b/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java index ce49c42..66fbf29 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java +++ b/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java @@ -19,6 +19,10 @@ public class UrlConstants { */ public final static String PROJECTS_INFO_URL = BASE_URL + "/performance/app/project/get_project_info"; + /** + * 查询演出具体票务信息 + */ + public final static String PERFORMS_URL = BASE_URL + "/performance/app/project/get_performs"; /** * 创建订单URL */ diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/Delivery.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/Delivery.java new file mode 100644 index 0000000..8aaa49e --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/Delivery.java @@ -0,0 +1,14 @@ +package com.xiang.xservice.fwd.entity.resp.perform; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Delivery { + private Integer deliveryType; + private String beforeDays; + private String address; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/Perform.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/Perform.java new file mode 100644 index 0000000..969a92f --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/Perform.java @@ -0,0 +1,19 @@ +package com.xiang.xservice.fwd.entity.resp.perform; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Perform { + private Long projectId; + private Integer purchaseLimitationOnce; + private String limitationPrompt; + private Integer showDate; + private List dates; + private List performInfos; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/PerformDetail.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/PerformDetail.java new file mode 100644 index 0000000..a6419b2 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/PerformDetail.java @@ -0,0 +1,37 @@ +package com.xiang.xservice.fwd.entity.resp.perform; + +import java.util.List; + +public class PerformDetail { + private Long id; + private String name; + private Integer status; + private String beginTime; + private String endTime; + private String beginDate; + private String endDate; + private String validityPeriod; + private Integer includeSpecial; + private String specialDate; + private Integer isOneOrderOneCard; + private Integer isOneTicketOneCard; + private String cardType; + private Integer performType; + private List delivery; + private String isChoiceSeat; + private Integer ashShow; + private String ashShowDesc; + private Integer selectable; + private List tags; + private List tagsCustom; + private String subStatus; + private List seatPlans; + private String expressFeeStr; + private String saleTime; + private Integer allowAppointment; + private Integer enableNoTicketLabel; + private String standbyChannel; + private Integer sort; + private String openLabel; + private String label; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/PerformInfo.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/PerformInfo.java new file mode 100644 index 0000000..25e212e --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/PerformInfo.java @@ -0,0 +1,15 @@ +package com.xiang.xservice.fwd.entity.resp.perform; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PerformInfo { + private String dateStr; + private List performInfo; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/SeatPlan.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/SeatPlan.java new file mode 100644 index 0000000..7889b90 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/SeatPlan.java @@ -0,0 +1,41 @@ +package com.xiang.xservice.fwd.entity.resp.perform; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SeatPlan { + private Long seatPlanId; + private String seatPlanName; + private Long performId; + private String performName; + private Integer stopSale; + private Integer type; + private Integer ableSell; + private Integer shelfStatus; + private BigDecimal price; + private BigDecimal discountPrice; + private Integer subStatus; + private Integer quantity; + private Integer status; + private Integer maxSellStock; + private Integer soldStock; + private Integer leftStock; + private Integer ableSaleQuantity; + private Integer ashShow; + private String ashShowDesc; + private Integer selectable; + private Integer display; + private List tags; + private List tagsCustom; + private Integer availableTicketQuantity; + private Integer availableAllTicketQuantity; + private BigDecimal standbyServiceFeeRate; + private String saleTime; +} 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 3a33fed..9b05e02 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,6 +1,7 @@ package com.xiang.xservice.fwd.service; import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq; +import com.xiang.xservice.fwd.entity.resp.perform.Perform; import com.xiang.xservice.fwd.entity.resp.perform.ProjectInfoResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectOrderCreateResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp; @@ -27,5 +28,11 @@ public interface IPerformServiceHttp { */ ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req); + /** + * http请求查询演出票务信息 + * @param projectId + * @return + */ + Perform getPerformsByProjectIdFromHttp(Long 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 0c3c84e..16d8bb4 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 @@ -7,6 +7,7 @@ import com.xiang.xservice.basic.utils.HttpUtils; import com.xiang.xservice.fwd.constants.CodeConstants; import com.xiang.xservice.fwd.constants.UrlConstants; import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq; +import com.xiang.xservice.fwd.entity.resp.perform.Perform; import com.xiang.xservice.fwd.entity.resp.perform.ProjectInfoResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectOrderCreateResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp; @@ -37,6 +38,7 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp { if (StringUtils.isBlank(respStr)) { return new ProjectsResp(); } + log.info("【Http请求】 http请求查询演出列表结果:{}", respStr); JSONObject resp = JSON.parseObject(respStr); Integer code = (Integer) resp.get("code"); if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { @@ -57,6 +59,7 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp { if (StringUtils.isBlank(respStr)) { return new ProjectInfoResp(); } + log.info("【Http请求】 根据projectId:{},http请求查询演出信息结果:{}", projectId, respStr); JSONObject resp = JSON.parseObject(respStr); Integer code = (Integer) resp.get("code"); if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { @@ -75,6 +78,7 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp { if (StringUtils.isBlank(respStr)) { return new ProjectOrderCreateResp(); } + log.info("【Http请求】 http请求创建订单结果:{}", respStr); JSONObject resp = JSON.parseObject(respStr); Integer code = (Integer) resp.get("code"); if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { @@ -87,6 +91,27 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp { return new ProjectOrderCreateResp(); } + @Override + public Perform getPerformsByProjectIdFromHttp(Long projectId) { + Map params = Maps.newHashMap(); + params.put("project_id", String.valueOf(projectId)); + String respStr = HttpUtils.doGet(UrlConstants.PERFORMS_URL, buildFWDHeaders(UrlConstants.token), params); + if (StringUtils.isBlank(respStr)) { + return new Perform(); + } + log.info("【Http请求】 根据projectId:{}http请求查询演出票务信息结果:{}", projectId, respStr); + JSONObject resp = JSON.parseObject(respStr); + Integer code = (Integer) resp.get("code"); + if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { + Perform projectInfoResp = JSON.parseObject(resp.get("data").toString(), Perform.class); + if (Objects.isNull(projectInfoResp)) { + return new Perform(); + } + return projectInfoResp; + } + return new Perform(); + } + private Map buildFWDHeaders(String token) { Map headers = Maps.newHashMap();