feat:芬玩岛演出列表接口

This commit is contained in:
xiang
2025-07-22 23:01:32 +08:00
parent cfdf3faa8e
commit 91a40bd516
8 changed files with 234 additions and 2 deletions

View File

@@ -0,0 +1,14 @@
package com.xiang.xservice.fwd.constants;
public class UrlConstants {
/**
* 芬玩岛的基础URL
*/
public final static String BASE_URL = "https://api.livelab.com.cn";
/**
* 全部演出列表URL
*/
public final static String PROJECTS_URL = BASE_URL + "/appShow/app/homepage/projects";
}

View File

@@ -0,0 +1,54 @@
package com.xiang.xservice.fwd.entity.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDate;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FPerformProject {
private Long id;
private String projectName;
private String nameDisplay;
private Integer status;
private String projectSource;
private Integer isHasSeat;
private Integer isChoiceSeat;
private Long bizId;
private Long projectId;
private String tagName;
private String tagRemark;
private String projectCity;
private String shortCity;
private String venueName;
private BigDecimal lowestPrice;
private BigDecimal highestPrice;
private String projectPrice;
private LocalDate projectStartDate;
private LocalDate projectEndDate;
private String subClassifyName;
}

View File

@@ -0,0 +1,18 @@
package com.xiang.xservice.fwd.entity.resp;
public class BaseResult<T> {
/**
* 响应码 10000成功
*/
private Long code;
/**
* 消息
*/
private String msg;
/**
* 数据
*/
private T data;
}

View File

@@ -0,0 +1,39 @@
package com.xiang.xservice.fwd.entity.resp.perform;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 全部演出列表
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProjectList {
private Long id;
private String name;
private Long bizId;
private Long projectId;
private String tagName;
private String tagRemark;
private String city;
private String shortCity;
private String venueName;
private BigDecimal lowestPrice;
private String projectPrice;
private String dateRange;
}

View File

@@ -0,0 +1,45 @@
package com.xiang.xservice.fwd.entity.resp.perform;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data@NoArgsConstructor
@AllArgsConstructor
public class ProjectsResp {
private Integer total;
private List<ProjectList> list;
private Integer pageNum;
private Integer pageSize;
private Integer startRow;
private Integer endRow;
private Integer pages;
private Integer prePage;
private Integer nextPage;
private Boolean isFirstPage;
private Boolean isLastPage;
private Boolean hasPreviousPage;
private Boolean hasNextPage;
private Integer navigatePages;
private Integer navigatepageNums;
private Integer navigateFirstPage;
private Integer navigateLastPage;
}

View File

@@ -0,0 +1,10 @@
package com.xiang.xservice.fwd.service;
import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp;
public interface IPerformServiceHttp {
ProjectsResp getShowProjectsFromHttp();
}

View File

@@ -0,0 +1,52 @@
package com.xiang.xservice.fwd.service.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Maps;
import com.xiang.xservice.basic.utils.HttpUtils;
import com.xiang.xservice.fwd.constants.UrlConstants;
import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp;
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Service
@Slf4j
@RequiredArgsConstructor
public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
@Override
public ProjectsResp getShowProjectsFromHttp() {
int pageNum = 1;
int pageSize = 9999;
Map<String, String> headers = Maps.newHashMap();
Map<String, String> params = Maps.newHashMap();
params.put("projectModuleId", "7");
params.put("pageNum", String.valueOf(pageNum));
params.put("pageSize", String.valueOf(pageSize));
String resp = HttpUtils.doGet(UrlConstants.PROJECTS_URL, buildFWDHeaders(null), params);
if (StringUtils.isBlank(resp)) {
return new ProjectsResp();
}
JSON.parse(resp).var
}
private Map<String, String> buildFWDHeaders(String token) {
Map<String, String> headers = Maps.newHashMap();
headers.put("content-type", "application/json");
headers.put("Host", "api.livelab.com.cn");
headers.put("platform-type", "%E7%BA%B7%E7%8E%A9%E5%B2%9B%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F");
headers.put("x-fwd-anonymousId", "ocXac5C25MY5O3UM_EfL0oTgm7Jw");
headers.put("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.61(0x18003d2e) NetType/WIFI Language/zh_CN");
if (StringUtils.isNotBlank(token)) {
headers.put("Authorization", token);
}
return headers;
}
}

View File

@@ -1,6 +1,6 @@
spring: spring:
datasource: datasource:
url: jdbc:mysql:///xservice-script?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true url: jdbc:mysql://192.168.2.10:3306/xservice-script-local?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root username: root
password: 123456 password: Admin@123
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver