From 91a40bd516b9fcda6db7897ba49a816bec7458aa Mon Sep 17 00:00:00 2001 From: xiang Date: Tue, 22 Jul 2025 23:01:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=8A=AC=E7=8E=A9=E5=B2=9B=E6=BC=94?= =?UTF-8?q?=E5=87=BA=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xservice/fwd/constants/UrlConstants.java | 14 +++++ .../fwd/entity/pojo/FPerformProject.java | 54 +++++++++++++++++++ .../xservice/fwd/entity/resp/BaseResult.java | 18 +++++++ .../fwd/entity/resp/perform/ProjectList.java | 39 ++++++++++++++ .../fwd/entity/resp/perform/ProjectsResp.java | 45 ++++++++++++++++ .../fwd/service/IPerformServiceHttp.java | 10 ++++ .../impl/PerformServiceHttpServiceImpl.java | 52 ++++++++++++++++++ .../src/main/resources/application-local.yml | 4 +- 8 files changed, 234 insertions(+), 2 deletions(-) create mode 100644 script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java create mode 100644 script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProject.java create mode 100644 script/src/main/java/com/xiang/xservice/fwd/entity/resp/BaseResult.java create mode 100644 script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectList.java create mode 100644 script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectsResp.java create mode 100644 script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java create mode 100644 script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java 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 new file mode 100644 index 0000000..15fb56f --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java @@ -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"; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProject.java b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProject.java new file mode 100644 index 0000000..7a0530a --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformProject.java @@ -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; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/BaseResult.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/BaseResult.java new file mode 100644 index 0000000..04900da --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/BaseResult.java @@ -0,0 +1,18 @@ +package com.xiang.xservice.fwd.entity.resp; + +public class BaseResult { + /** + * 响应码 10000成功 + */ + private Long code; + + /** + * 消息 + */ + private String msg; + + /** + * 数据 + */ + private T data; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectList.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectList.java new file mode 100644 index 0000000..fa6dd8b --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectList.java @@ -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; +} diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectsResp.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectsResp.java new file mode 100644 index 0000000..5b24f20 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/perform/ProjectsResp.java @@ -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 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; +} 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 new file mode 100644 index 0000000..80f37c4 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java @@ -0,0 +1,10 @@ +package com.xiang.xservice.fwd.service; + +import com.xiang.xservice.fwd.entity.resp.perform.ProjectsResp; + +public interface IPerformServiceHttp { + + ProjectsResp getShowProjectsFromHttp(); + + +} 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 new file mode 100644 index 0000000..fca01bd --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java @@ -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 headers = Maps.newHashMap(); + + Map 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 buildFWDHeaders(String token) { + Map 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; + } +} diff --git a/script/src/main/resources/application-local.yml b/script/src/main/resources/application-local.yml index 3324d40..a6f9a37 100644 --- a/script/src/main/resources/application-local.yml +++ b/script/src/main/resources/application-local.yml @@ -1,6 +1,6 @@ spring: 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 - password: 123456 + password: Admin@123 driver-class-name: com.mysql.cj.jdbc.Driver \ No newline at end of file