Commit d4f1d91c by huluobin

update

parent aac208ca
...@@ -5,9 +5,14 @@ import feign.codec.Decoder; ...@@ -5,9 +5,14 @@ import feign.codec.Decoder;
import org.springframework.beans.factory.ObjectFactory; import org.springframework.beans.factory.ObjectFactory;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignFormatterRegistrar;
import org.springframework.cloud.openfeign.support.SpringDecoder; import org.springframework.cloud.openfeign.support.SpringDecoder;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
import java.time.format.DateTimeFormatter;
/** /**
* <p> * <p>
...@@ -21,10 +26,38 @@ import org.springframework.context.annotation.Configuration; ...@@ -21,10 +26,38 @@ import org.springframework.context.annotation.Configuration;
@EnableFeignClients(basePackages = {"com.bailuntec.api"}) @EnableFeignClients(basePackages = {"com.bailuntec.api"})
public class Config { public class Config {
private final DateTimeFormatter dateFormatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd");
private final DateTimeFormatter timeFormatter =
DateTimeFormatter.ofPattern("HH:mm:ss");
private final DateTimeFormatter dateTimeFormatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@Bean @Bean
public Decoder feignDecoder() { public Decoder feignDecoder() {
CwApiJackson2HttpMeesageConverter cwApiJackson2HttpMeesageConverter = new CwApiJackson2HttpMeesageConverter(); CwApiJackson2HttpMeesageConverter cwApiJackson2HttpMeesageConverter = new CwApiJackson2HttpMeesageConverter();
ObjectFactory<HttpMessageConverters> objectFactory = () -> new HttpMessageConverters(cwApiJackson2HttpMeesageConverter); ObjectFactory<HttpMessageConverters> objectFactory = () -> new HttpMessageConverters(cwApiJackson2HttpMeesageConverter);
return new SpringDecoder(objectFactory); return new SpringDecoder(objectFactory);
} }
@Bean
public FeignFormatterRegistrar feignFormatterRegistrar() {
return new FeignFormatterRegistrar() {
@Override
public void registerFormatters(
FormatterRegistry formatterRegistry) {
DateTimeFormatterRegistrar registrar =
new DateTimeFormatterRegistrar();
registrar.setUseIsoFormat(false);
registrar.setDateFormatter(dateFormatter);
registrar.setTimeFormatter(timeFormatter);
registrar.setDateTimeFormatter(dateTimeFormatter);
registrar.registerFormatters(formatterRegistry);
}
};
}
} }
package com.bailuntec.api.bailuntec.pps;
import com.bailuntec.api.bailuntec.pps.request.GetListingSkuMapPagesReq;
import com.bailuntec.api.bailuntec.pps.response.GetListingSkuMapPagesItem;
import com.bailuntec.api.bailuntec.pps.response.PpsPage;
import com.bailuntec.api.bailuntec.pps.response.PpsResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:23 下午
*/
@FeignClient(name = "pps", url = "http://pps.bailuntec.com")
public interface PpsApi {
/**
* 获取在线sku映射
*
* @param req req
* @return res
*/
@PostMapping("/Api/Centre/Publish/External/GetListingSkuMapPages")
PpsResult<PpsPage<GetListingSkuMapPagesItem>> getListingSkuMapPages(@RequestBody GetListingSkuMapPagesReq req);
}
package com.bailuntec.api.bailuntec.pps.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.assertj.core.util.Lists;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 分页获取线上sku映射参数
* </p>
*
* @author robbendev
* @since 2020/12/22 4:24 下午
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class GetListingSkuMapPagesReq extends PpsPageReq {
@JsonProperty("Platforms")
private List<Integer> Platforms = Lists.newArrayList(0, 1);
@JsonProperty("BeginTime")
private LocalDateTime BeginTime;
@JsonProperty("EndTime")
private LocalDateTime EndTime;
}
package com.bailuntec.api.bailuntec.pps.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:27 下午
*/
@Data
public class PpsPageReq {
@JsonProperty("PageIndex")
private Integer PageIndex;
/**
* 分页限制最大500
*/
@JsonProperty("PageNumber")
private Integer PageNumber;
}
package com.bailuntec.api.bailuntec.pps.response;
import lombok.Data;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:31 下午
*/
@Data
public class GetListingSkuMapPagesItem {
private Integer id;
private String itemId;
private List<GetListingSkuMapPagesItemDetail> details;
private Boolean isDeleted;
private Integer platform;
private String site;
private Integer accountId;
private String accountName;
}
package com.bailuntec.api.bailuntec.pps.response;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:31 下午
*/
@Data
public class GetListingSkuMapPagesItemDetail {
private Integer id;
private String skuCode;
private String itemSku;
}
package com.bailuntec.api.bailuntec.pps.response;
import lombok.Data;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:29 下午
*/
@Data
public class PpsPage<E> {
private Integer rows;
private Boolean isSuccess;
private List<E> data;
private Integer pageIndex;
private Integer total;
private String costTime;
private Integer totalPage;
}
package com.bailuntec.api.bailuntec.pps.response;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:28 下午
*/
@Data
public class PpsResult<T> {
private T result;
private Integer statusCode;
private String message;
}
package com.bailuntec.api.bailuntec.pps;
import com.bailuntec.api.Application;
import com.bailuntec.api.amazon.api.JsonUtilByFsJson;
import com.bailuntec.api.bailuntec.pps.request.GetListingSkuMapPagesReq;
import com.bailuntec.api.bailuntec.pps.response.GetListingSkuMapPagesItem;
import com.bailuntec.api.bailuntec.pps.response.PpsPage;
import com.bailuntec.api.bailuntec.pps.response.PpsResult;
import lombok.extern.slf4j.Slf4j;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/22 4:36 下午
*/
@ActiveProfiles(value = "test")
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
class PpsApiTest {
@Resource
PpsApi ppsApi;
@Test
void getListingSkuMapPages() {
GetListingSkuMapPagesReq req = new GetListingSkuMapPagesReq();
req.setBeginTime(LocalDateTime.now().minusDays(10));
req.setEndTime(LocalDateTime.now());
req.setPageIndex(1);
req.setPageNumber(100);
req.setPlatforms(Lists.newArrayList(0, 1));
PpsResult<PpsPage<GetListingSkuMapPagesItem>> result = ppsApi.getListingSkuMapPages(req);
log.info(JsonUtilByFsJson.beanToJson(result));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment