feat:查询演出具体票务信息

This commit is contained in:
xiang
2025-07-23 00:32:29 +08:00
parent 1ccfa3ba8d
commit a564e38de2
8 changed files with 162 additions and 0 deletions

View File

@@ -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 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 * 创建订单URL
*/ */

View File

@@ -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;
}

View File

@@ -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<String> dates;
private List<PerformInfo> performInfos;
}

View File

@@ -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> delivery;
private String isChoiceSeat;
private Integer ashShow;
private String ashShowDesc;
private Integer selectable;
private List<String> tags;
private List<String> tagsCustom;
private String subStatus;
private List<SeatPlan> 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;
}

View File

@@ -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<PerformDetail> performInfo;
}

View File

@@ -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<String> tags;
private List<String> tagsCustom;
private Integer availableTicketQuantity;
private Integer availableAllTicketQuantity;
private BigDecimal standbyServiceFeeRate;
private String saleTime;
}

View File

@@ -1,6 +1,7 @@
package com.xiang.xservice.fwd.service; package com.xiang.xservice.fwd.service;
import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq; 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.ProjectInfoResp;
import com.xiang.xservice.fwd.entity.resp.perform.ProjectOrderCreateResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectOrderCreateResp;
import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp;
@@ -27,5 +28,11 @@ public interface IPerformServiceHttp {
*/ */
ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req); ProjectOrderCreateResp createProjectOrder(ProjectOrderCreateReq req);
/**
* http请求查询演出票务信息
* @param projectId
* @return
*/
Perform getPerformsByProjectIdFromHttp(Long projectId);
} }

View File

@@ -7,6 +7,7 @@ import com.xiang.xservice.basic.utils.HttpUtils;
import com.xiang.xservice.fwd.constants.CodeConstants; import com.xiang.xservice.fwd.constants.CodeConstants;
import com.xiang.xservice.fwd.constants.UrlConstants; import com.xiang.xservice.fwd.constants.UrlConstants;
import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq; 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.ProjectInfoResp;
import com.xiang.xservice.fwd.entity.resp.perform.ProjectOrderCreateResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectOrderCreateResp;
import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp; import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp;
@@ -37,6 +38,7 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
if (StringUtils.isBlank(respStr)) { if (StringUtils.isBlank(respStr)) {
return new ProjectsResp(); return new ProjectsResp();
} }
log.info("【Http请求】 http请求查询演出列表结果:{}", respStr);
JSONObject resp = JSON.parseObject(respStr); JSONObject resp = JSON.parseObject(respStr);
Integer code = (Integer) resp.get("code"); Integer code = (Integer) resp.get("code");
if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) {
@@ -57,6 +59,7 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
if (StringUtils.isBlank(respStr)) { if (StringUtils.isBlank(respStr)) {
return new ProjectInfoResp(); return new ProjectInfoResp();
} }
log.info("【Http请求】 根据projectId:{},http请求查询演出信息结果:{}", projectId, respStr);
JSONObject resp = JSON.parseObject(respStr); JSONObject resp = JSON.parseObject(respStr);
Integer code = (Integer) resp.get("code"); Integer code = (Integer) resp.get("code");
if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) {
@@ -75,6 +78,7 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
if (StringUtils.isBlank(respStr)) { if (StringUtils.isBlank(respStr)) {
return new ProjectOrderCreateResp(); return new ProjectOrderCreateResp();
} }
log.info("【Http请求】 http请求创建订单结果:{}", respStr);
JSONObject resp = JSON.parseObject(respStr); JSONObject resp = JSON.parseObject(respStr);
Integer code = (Integer) resp.get("code"); Integer code = (Integer) resp.get("code");
if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) { if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) {
@@ -87,6 +91,27 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
return new ProjectOrderCreateResp(); return new ProjectOrderCreateResp();
} }
@Override
public Perform getPerformsByProjectIdFromHttp(Long projectId) {
Map<String, String> 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<String, String> buildFWDHeaders(String token) { private Map<String, String> buildFWDHeaders(String token) {
Map<String, String> headers = Maps.newHashMap(); Map<String, String> headers = Maps.newHashMap();