From 2d191dd53ce2f84918eed43fdf9bc4c386f08a76 Mon Sep 17 00:00:00 2001 From: dengwc Date: Sun, 4 Feb 2024 17:08:38 +0800 Subject: [PATCH 1/3] =?UTF-8?q?SupplierLoginController=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../out/SupplierLoginController.java | 11 ++++++++-- .../services/SupplierLoginService.java | 22 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/chint/application/services/SupplierLoginService.java diff --git a/src/main/java/com/chint/application/out/SupplierLoginController.java b/src/main/java/com/chint/application/out/SupplierLoginController.java index 750fbec2..b332a9a8 100644 --- a/src/main/java/com/chint/application/out/SupplierLoginController.java +++ b/src/main/java/com/chint/application/out/SupplierLoginController.java @@ -1,7 +1,10 @@ package com.chint.application.out; +import com.chint.application.services.SupplierLoginService; import com.chint.infrastructure.util.Result; +import com.chint.interfaces.rest.ly.dto.login.LYRedirectUrlResponse; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -12,10 +15,14 @@ import static com.chint.infrastructure.constant.Constant.SUCCESS; @RequestMapping("/supplier") public class SupplierLoginController { + @Autowired + private SupplierLoginService supplierLoginService; @PostMapping("/ly/login") - public Result lyLogin() { - return Result.Success(SUCCESS); + public Result lyLogin() { + //登录 + LYRedirectUrlResponse data = supplierLoginService.lyLogin(); + return Result.Success(SUCCESS,data); } @PostMapping("/CTrip/login") diff --git a/src/main/java/com/chint/application/services/SupplierLoginService.java b/src/main/java/com/chint/application/services/SupplierLoginService.java new file mode 100644 index 00000000..bcdddcb8 --- /dev/null +++ b/src/main/java/com/chint/application/services/SupplierLoginService.java @@ -0,0 +1,22 @@ +package com.chint.application.services; + +import com.chint.interfaces.rest.ly.LYLoginRequest; +import com.chint.interfaces.rest.ly.dto.login.LYRedirectUrlResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import static com.chint.infrastructure.constant.Constant.L_Y_ENTRANCE_HOME; + +@Service +public class SupplierLoginService { + + @Autowired + private LYLoginRequest lyLoginRequest; + + /** + * 登录接口 + */ + public LYRedirectUrlResponse lyLogin() { + return lyLoginRequest.login(L_Y_ENTRANCE_HOME); + } +} From 9a278f09791d61c18e53d47ff75b4f45db188e92 Mon Sep 17 00:00:00 2001 From: dengwc Date: Mon, 5 Feb 2024 15:26:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?SupplierLoginController=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=E6=9B=B4=E6=94=B9,=E5=90=8C?= =?UTF-8?q?=E7=A8=8B=E9=87=91=E9=A2=9D=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/amount_estimate/LYEstimate.java | 82 ++++++++++++++++++- .../infrastructure/constant/Constant.java | 4 +- .../ly/vo/estimateprice/TrainPriceVo.java | 13 +++ src/test/java/com/chint/LYTest.java | 46 ++++++++--- 4 files changed, 129 insertions(+), 16 deletions(-) create mode 100644 src/main/java/com/chint/interfaces/rest/ly/vo/estimateprice/TrainPriceVo.java diff --git a/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java b/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java index 64f0a666..fac69fd3 100644 --- a/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java +++ b/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java @@ -2,19 +2,97 @@ package com.chint.domain.service.amount_estimate; import com.chint.domain.aggregates.order.Leg; import com.chint.domain.aggregates.order.RouteOrder; +import com.chint.infrastructure.constant.Constant; +import com.chint.infrastructure.util.BigDecimalCalculator; +import com.chint.interfaces.rest.ly.LYPostRequest; +import com.chint.interfaces.rest.ly.dto.commonresult.Result; +import com.chint.interfaces.rest.ly.dto.estimateprice.Description; +import com.chint.interfaces.rest.ly.dto.estimateprice.TrainMaxPrice; +import com.chint.interfaces.rest.ly.vo.estimateprice.TrainPriceVo; +import com.google.gson.Gson; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.math.BigDecimal; +import java.time.format.DateTimeFormatter; +import java.util.Map; + +import static com.chint.infrastructure.constant.Constant.*; +import static com.chint.infrastructure.constant.Constant.ORDER_STATUS_NOT_ORDERED_NAME; + @Component public class LYEstimate implements AmountEstimate { + + @Autowired + private LYPostRequest postRequest; + @Override public String amountEstimate(Leg leg) { - return null; + return switch (leg.getLegType()) { + //火车 + case LEG_TYPE_TRAIN -> trainMaxPrice(leg); + //飞机 + case LEG_TYPE_AIRPLANE -> ticketNewPrice(leg); + //酒店 + case LEG_TYPE_HOTEL -> hotelMinPrice(leg); + //出租车 + case LEG_TYPE_TAXI -> taxi(leg); + //其他 + default -> KEEP_TWO_DECIMAL_ZERO; + }; } @Override public String amountEstimate(RouteOrder routeOrder) { - return null; + return routeOrder.getLegItems() + .stream() + .map(Leg::getEstimateAmount) + .reduce(BigDecimalCalculator::add) + .orElse(KEEP_TWO_DECIMAL_ZERO); } + /** + * 火车票最高价格 + */ + public String trainMaxPrice(Leg leg) { + String maxPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_TRAIN_MAX_PRICE; + TrainMaxPrice trainMaxPrice = new TrainMaxPrice(); + trainMaxPrice.setTicketType(0); + trainMaxPrice.setDepartDate(leg.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + trainMaxPrice.setDepartCityName(leg.getOriginLocationId().getLocationName()); + trainMaxPrice.setArriveCityName(leg.getDestinationLocation().getLocationName()); + Description description = new Description<>(); + description.setParam(trainMaxPrice); + Result post = postRequest.post(maxPriceUrl, description, Result.class); + Gson gson = new Gson(); + TrainPriceVo trainPriceVo = gson.fromJson(String.valueOf(post.getData()), TrainPriceVo.class); + Map map = trainPriceVo.getDailySeatHigestPrices(); + BigDecimal maxPrice = map.values().stream() + .max(BigDecimal::compareTo) + .orElse(BigDecimal.ZERO); + return maxPrice.toString(); + } + /** + * 飞机 + */ + public String ticketNewPrice(Leg leg) { + + return ""; + } + + /** + * 酒店 + */ + public String hotelMinPrice(Leg leg) { + + return ""; + } + + /** + * 出租车 + */ + public String taxi(Leg leg) { + return KEEP_TWO_DECIMAL_ZERO; + } } diff --git a/src/main/java/com/chint/infrastructure/constant/Constant.java b/src/main/java/com/chint/infrastructure/constant/Constant.java index aa00b4d3..3333443f 100644 --- a/src/main/java/com/chint/infrastructure/constant/Constant.java +++ b/src/main/java/com/chint/infrastructure/constant/Constant.java @@ -172,9 +172,7 @@ public class Constant { public static final Integer L_Y_TRAVEL_TYPE_PERSON = 1; // (因公) public static final Integer L_Y_TRAVEL_TYPE_NO_PERSON = 2; // (因私) - - - + public static final String L_Y_TRAIN_MAX_PRICE = "/openapi/api/Train/TrainHighPirceSearchByCityName";//火车票价格查询 // status diff --git a/src/main/java/com/chint/interfaces/rest/ly/vo/estimateprice/TrainPriceVo.java b/src/main/java/com/chint/interfaces/rest/ly/vo/estimateprice/TrainPriceVo.java new file mode 100644 index 00000000..5ec01e09 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/vo/estimateprice/TrainPriceVo.java @@ -0,0 +1,13 @@ +package com.chint.interfaces.rest.ly.vo.estimateprice; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Map; + +@Data +public class TrainPriceVo { + + private Map dailySeatHigestPrices; +} diff --git a/src/test/java/com/chint/LYTest.java b/src/test/java/com/chint/LYTest.java index c11a96e3..4767057a 100644 --- a/src/test/java/com/chint/LYTest.java +++ b/src/test/java/com/chint/LYTest.java @@ -1,6 +1,8 @@ package com.chint; +import com.alibaba.fastjson2.JSON; import com.chint.domain.aggregates.user.User; +import com.chint.infrastructure.constant.Constant; import com.chint.infrastructure.util.BaseContext; import com.chint.interfaces.rest.ly.LYLoginRequest; import com.chint.interfaces.rest.ly.LYPostRequest; @@ -12,13 +14,24 @@ import com.chint.interfaces.rest.ly.dto.estimateprice.Description; import com.chint.interfaces.rest.ly.dto.estimateprice.HotleMinPrice; import com.chint.interfaces.rest.ly.dto.estimateprice.TicketNewPrice; import com.chint.interfaces.rest.ly.dto.estimateprice.TrainMaxPrice; +import com.chint.interfaces.rest.ly.vo.estimateprice.TrainPriceVo; +import com.google.gson.Gson; +import com.google.gson.internal.LinkedTreeMap; +import com.google.gson.reflect.TypeToken; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; -import static com.chint.infrastructure.constant.Constant.L_Y_ENTRANCE_HOME; +import static com.chint.infrastructure.constant.Constant.*; @SpringBootTest public class LYTest { @@ -49,7 +62,7 @@ public class LYTest { public static final String L_Y_HOTLE_MIN_PRICE_PATH = "/api/Hotel/GetHotelMinPrice"; public static final String L_Y_HOTLE_LIST_PATH = "/api/Hotel/GetHotelCityList"; private final String travelApplyOrderUrl = L_Y_BASE_URL + L_Y_ORDER_PATH; - // private final String maxPriceUrl = L_Y_BASE_URL + L_Y_MAX_PRICE_PATH; + // private final String maxPriceUrl = L_Y_BASE_URL + L_Y_MAX_PRICE_PATH; private final String maxPriceUrl = "https://api.qa.dttrip.cn/openapi/api/Train/TrainHighPirceSearchByCityName"; private final String flyPriceUrl = L_Y_BASE_URL + L_Y_FLYORDER_PRICE_PATH; private final String minPriceUrl = L_Y_BASE_URL + L_Y_HOTLE_MIN_PRICE_PATH; @@ -69,6 +82,7 @@ public class LYTest { Result post = postRequest.post(flyPriceUrl, description, Result.class); System.out.println(post); } + ///查询酒店最小价格 @Test void hotleMinPrice() { @@ -83,23 +97,33 @@ public class LYTest { Result post = postRequest.post(minPriceUrl, description, Result.class); System.out.println(post); } + //火车票最高价查询 @Test void maxPrice() { + String maxPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_TRAIN_MAX_PRICE; TrainMaxPrice trainMaxPrice = new TrainMaxPrice(); trainMaxPrice.setTicketType(0); + LocalDateTime dateTime = LocalDateTime.of(2024, 2, 6, 0, 0); + dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); trainMaxPrice.setDepartDate("2024-02-06"); trainMaxPrice.setDepartCityName("温州"); trainMaxPrice.setArriveCityName("贵阳"); - Description description = new Description(); description.setParam(trainMaxPrice); Result post = postRequest.post(maxPriceUrl, description, Result.class); - System.out.println(post); + Gson gson = new Gson(); + TrainPriceVo trainPriceVo = gson.fromJson(String.valueOf(post.getData()), TrainPriceVo.class); + Map map = trainPriceVo.getDailySeatHigestPrices(); + BigDecimal max = map.values().stream() + .max(BigDecimal::compareTo) + .orElse(BigDecimal.ZERO); + System.out.println(max); } - @Test //外部差旅单同步 - void ApplyOrderSync(){ + @Test + //外部差旅单同步 + void ApplyOrderSync() { AOSParam aosParam = new AOSParam(); aosParam.setOutTravelApplyNo("No000001"); aosParam.setTravelApplyType(1); // 差旅类型,根据实际情况填写 @@ -125,7 +149,7 @@ public class LYTest { AOSItem aosItem = new AOSItem(); aosItem.setStartDate("2021-04-20"); aosItem.setEndDate("2021-04-25"); - aosItem.setDepartCity( "北京"); + aosItem.setDepartCity("北京"); aosItem.setArriveCity("上海"); aosItems.add(aosItem); aosDetail.setItemList(aosItems); // 差旅内容 @@ -176,14 +200,15 @@ public class LYTest { } + @Test - void loadToken(){ + void loadToken() { System.out.println(lyTokenRequest.loadToken()); } @Test - void saveCurrentUser2Ly(){ - // BaseContext.setCurrentUser(user); + void saveCurrentUser2Ly() { + // BaseContext.setCurrentUser(user); BaseContext.setCurrentUser(hxh); System.out.println(lyUserRequest.saveCurrentUser()); } @@ -195,5 +220,4 @@ public class LYTest { } - } From a6987ca0faaa113f9ae058852589d6ba832bf85c Mon Sep 17 00:00:00 2001 From: dengwc Date: Mon, 5 Feb 2024 16:48:23 +0800 Subject: [PATCH 3/3] =?UTF-8?q?SupplierLoginController=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=E6=9B=B4=E6=94=B9,=E5=90=8C?= =?UTF-8?q?=E7=A8=8B=E9=87=91=E9=A2=9D=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/amount_estimate/LYEstimate.java | 41 +++++++++++++++---- .../infrastructure/constant/Constant.java | 4 ++ .../ly/dto/estimateprice/HotelCityList.java | 10 +++++ src/test/java/com/chint/LYTest.java | 18 +++++--- 4 files changed, 61 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/chint/interfaces/rest/ly/dto/estimateprice/HotelCityList.java diff --git a/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java b/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java index fac69fd3..1ec94f03 100644 --- a/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java +++ b/src/main/java/com/chint/domain/service/amount_estimate/LYEstimate.java @@ -7,6 +7,8 @@ import com.chint.infrastructure.util.BigDecimalCalculator; import com.chint.interfaces.rest.ly.LYPostRequest; import com.chint.interfaces.rest.ly.dto.commonresult.Result; import com.chint.interfaces.rest.ly.dto.estimateprice.Description; +import com.chint.interfaces.rest.ly.dto.estimateprice.HotleMinPrice; +import com.chint.interfaces.rest.ly.dto.estimateprice.TicketNewPrice; import com.chint.interfaces.rest.ly.dto.estimateprice.TrainMaxPrice; import com.chint.interfaces.rest.ly.vo.estimateprice.TrainPriceVo; import com.google.gson.Gson; @@ -15,6 +17,7 @@ import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.Map; import static com.chint.infrastructure.constant.Constant.*; @@ -42,6 +45,9 @@ public class LYEstimate implements AmountEstimate { }; } + /** + * 获取总估算金额 + */ @Override public String amountEstimate(RouteOrder routeOrder) { return routeOrder.getLegItems() @@ -55,18 +61,20 @@ public class LYEstimate implements AmountEstimate { * 火车票最高价格 */ public String trainMaxPrice(Leg leg) { - String maxPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_TRAIN_MAX_PRICE; + String maxPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_TRAIN_MAX_PRICE;//地址 TrainMaxPrice trainMaxPrice = new TrainMaxPrice(); trainMaxPrice.setTicketType(0); - trainMaxPrice.setDepartDate(leg.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); - trainMaxPrice.setDepartCityName(leg.getOriginLocationId().getLocationName()); - trainMaxPrice.setArriveCityName(leg.getDestinationLocation().getLocationName()); + trainMaxPrice.setDepartDate(leg.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));//开始时间 + trainMaxPrice.setDepartCityName(leg.getOriginLocationId().getLocationName());//出发城市 + trainMaxPrice.setArriveCityName(leg.getDestinationLocation().getLocationName());//到达城市 Description description = new Description<>(); description.setParam(trainMaxPrice); Result post = postRequest.post(maxPriceUrl, description, Result.class); Gson gson = new Gson(); + //获取对应返回数据 TrainPriceVo trainPriceVo = gson.fromJson(String.valueOf(post.getData()), TrainPriceVo.class); Map map = trainPriceVo.getDailySeatHigestPrices(); + //取最大金额 BigDecimal maxPrice = map.values().stream() .max(BigDecimal::compareTo) .orElse(BigDecimal.ZERO); @@ -74,23 +82,42 @@ public class LYEstimate implements AmountEstimate { } /** - * 飞机 + * 飞机票价格 */ public String ticketNewPrice(Leg leg) { + //地址 + String flyPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_FLY_PRICE; + TicketNewPrice ticketNewPrice = new TicketNewPrice(); + ticketNewPrice.setOrderSerialNo(""); + Description description = new Description(); + description.setParam(ticketNewPrice); + Result post = postRequest.post(flyPriceUrl, description, Result.class); return ""; } /** - * 酒店 + * 查询酒店价格 */ public String hotelMinPrice(Leg leg) { + //1.查询附近酒店 + ArrayList hotelCodes = new ArrayList<>(); + hotelCodes.add("114");//添加酒店,一次最多50个 + //2.查询酒店价格 + String minPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_HOTEL_MIN_PRICE; + HotleMinPrice hotleMinPrice = new HotleMinPrice(); + hotleMinPrice.setBeginDate(leg.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));//开始时间 + hotleMinPrice.setEndDate(leg.getEndTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));//结束时间 + hotleMinPrice.setHotelIdList(hotelCodes);//添加酒店 + Description description = new Description<>(); + description.setParam(hotleMinPrice); + Result post = postRequest.post(minPriceUrl, description, Result.class); return ""; } /** - * 出租车 + * 出租车默认为"0.00" */ public String taxi(Leg leg) { return KEEP_TWO_DECIMAL_ZERO; diff --git a/src/main/java/com/chint/infrastructure/constant/Constant.java b/src/main/java/com/chint/infrastructure/constant/Constant.java index 3333443f..841191e3 100644 --- a/src/main/java/com/chint/infrastructure/constant/Constant.java +++ b/src/main/java/com/chint/infrastructure/constant/Constant.java @@ -174,6 +174,10 @@ public class Constant { public static final String L_Y_TRAIN_MAX_PRICE = "/openapi/api/Train/TrainHighPirceSearchByCityName";//火车票价格查询 + public static final String L_Y_FLY_PRICE = "/openapi/api/DomesticFlight/CheckFlightOrderBookableStatus";//飞机表估算价格 + + public static final String L_Y_HOTEL_List = "/openapi/api/Hotel/GetHotelCityList"; //酒店城市列表 + public static final String L_Y_HOTEL_MIN_PRICE = "/openapi/api/Hotel/GetHotelMinPrice";//酒店估算价格 // status public static final int STATUS_DISABLED = 0; diff --git a/src/main/java/com/chint/interfaces/rest/ly/dto/estimateprice/HotelCityList.java b/src/main/java/com/chint/interfaces/rest/ly/dto/estimateprice/HotelCityList.java new file mode 100644 index 00000000..3db395bb --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/dto/estimateprice/HotelCityList.java @@ -0,0 +1,10 @@ +package com.chint.interfaces.rest.ly.dto.estimateprice; + +import lombok.Data; + +@Data +public class HotelCityList { + private String keyword;//城市名 + private Integer type;//1.国内, 2.国际, 3.都返回 + +} diff --git a/src/test/java/com/chint/LYTest.java b/src/test/java/com/chint/LYTest.java index 4767057a..3412471b 100644 --- a/src/test/java/com/chint/LYTest.java +++ b/src/test/java/com/chint/LYTest.java @@ -10,10 +10,7 @@ import com.chint.interfaces.rest.ly.LYTokenRequest; import com.chint.interfaces.rest.ly.LYUserRequest; import com.chint.interfaces.rest.ly.dto.applyordersync.*; import com.chint.interfaces.rest.ly.dto.commonresult.Result; -import com.chint.interfaces.rest.ly.dto.estimateprice.Description; -import com.chint.interfaces.rest.ly.dto.estimateprice.HotleMinPrice; -import com.chint.interfaces.rest.ly.dto.estimateprice.TicketNewPrice; -import com.chint.interfaces.rest.ly.dto.estimateprice.TrainMaxPrice; +import com.chint.interfaces.rest.ly.dto.estimateprice.*; import com.chint.interfaces.rest.ly.vo.estimateprice.TrainPriceVo; import com.google.gson.Gson; import com.google.gson.internal.LinkedTreeMap; @@ -75,6 +72,7 @@ public class LYTest { //机票订单最新价格校验 @Test void ticketNewPrice() { + String flyPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_FLY_PRICE; TicketNewPrice ticketNewPrice = new TicketNewPrice(); ticketNewPrice.setOrderSerialNo(""); Description description = new Description(); @@ -86,13 +84,23 @@ public class LYTest { ///查询酒店最小价格 @Test void hotleMinPrice() { + String HotelListUrl = Constant.L_Y_BASE_URL + Constant.L_Y_HOTEL_List; + HotelCityList hotelCityList = new HotelCityList(); + hotelCityList.setKeyword("广州"); + hotelCityList.setType(1); + Description HotelRequest = new Description<>(); + HotelRequest.setParam(hotelCityList); + Result result = postRequest.post(HotelListUrl, HotelRequest, Result.class); + System.out.println("result = " + result); + + String minPriceUrl = Constant.L_Y_BASE_URL + Constant.L_Y_HOTEL_MIN_PRICE; HotleMinPrice hotleMinPrice = new HotleMinPrice(); hotleMinPrice.setBeginDate("2024-02-04"); hotleMinPrice.setEndDate("2024-02-05"); ArrayList strings = new ArrayList<>(); strings.add("114"); hotleMinPrice.setHotelIdList(strings); - Description description = new Description(); + Description description = new Description<>(); description.setParam(hotleMinPrice); Result post = postRequest.post(minPriceUrl, description, Result.class); System.out.println(post);