Commit 2f9c29a1 by huluobin

update

parent 5be4d567
......@@ -5,9 +5,7 @@ import com.bailuntec.api.amazon.request.AmazonBrandVideoReportReq;
import com.bailuntec.api.amazon.request.AmazonDisplayReportReq;
import com.bailuntec.api.amazon.request.AmazonProductsReportReq;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.net.URI;
......@@ -25,7 +23,7 @@ import java.net.URI;
* @author robbendev
* @since 2020/8/20 3:30 下午
*/
@FeignClient(name = "amazonApi", url = "https://advertising-api.amazon.com", fallback = AmazonAdApi.AmazonAdApiFallback.class)
@FeignClient(name = "amazonApi", url = "https://advertising-api.amazon.com")
public interface AmazonAdApi {
......@@ -139,55 +137,10 @@ public interface AmazonAdApi {
* @return resp {@link com.bailuntec.domain.JobAmazonAdLog}
*/
@GetMapping(value = "/v1/reports/{reportId}/download")
ResponseEntity<byte[]> reportDownload(URI uri,
byte[] reportDownload(URI uri,
@PathVariable("reportId") String reportId,
@RequestHeader("Authorization") String authorization,
@RequestHeader("Amazon-Advertising-API-ClientId") String clientId,
@RequestHeader("Amazon-Advertising-API-Scope") String scope);
@Component
class AmazonAdApiFallback implements AmazonAdApi {
@Override
public String report(URI uri,
AmazonProductsReportReq req,
String recordType,
String authorization,
String clientId,
String scope) {
return null;
}
@Override
public String reportDisPlay(URI uri,
AmazonDisplayReportReq req,
String recordType,
String authorization,
String clientId,
String scope) {
return null;
}
@Override
public String reportBrand(URI uri, AmazonBrandReportReq req, String recordType, String authorization, String clientId, String scope) {
return null;
}
@Override
public String reportBrandVideo(URI uri, AmazonBrandVideoReportReq req, String recordType, String authorization, String clientId, String scope) {
return null;
}
@Override
public String reportStatus(URI uri, String reportId, String authorization, String clientId, String scope) {
return null;
}
@Override
public ResponseEntity<byte[]> reportDownload(URI uri, String reportId, String authorization, String clientId, String scope) {
return null;
}
}
}
package com.bailuntec.api.bailuntec.mjzz;
package com.bailuntec.api.bailuntec.mj;
import com.bailuntec.api.bailuntec.mjzz.resp.*;
import com.bailuntec.api.bailuntec.mj.resp.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
......
/**
* <p>
* 半成品系统接口
* </p>
*
* @author robbendev
* @since 2020/11/11 4:48 下午
*/
package com.bailuntec.api.bailuntec.mj;
package com.bailuntec.api.bailuntec.mjzz.resp;
package com.bailuntec.api.bailuntec.mj.resp;
import lombok.Data;
......
package com.bailuntec.api.bailuntec.mjzz.resp;
package com.bailuntec.api.bailuntec.mj.resp;
import lombok.Data;
......
package com.bailuntec.api.bailuntec.mjzz.resp;
import org.springframework.cloud.openfeign.FeignClient;
package com.bailuntec.api.bailuntec.mj.resp;
/**
* <p>
......
package com.bailuntec.api.bailuntec.mjcg;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/11/11 4:50 下午
*/
public interface Mjgys {
}
......@@ -56,7 +56,5 @@ public interface PurchaseApi {
@RequestParam("end") String end,
@RequestParam("pagesize") Integer pagesize,
@RequestParam("page") Integer page);
}
......@@ -14,7 +14,6 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
......@@ -58,7 +57,7 @@ public class AmazonAdApiTest {
@Before
public void setUp() {
dcBaseCompanyAccount = dcBaseCompanyAccountMapper.selectOne(
new LambdaQueryWrapper<DcBaseCompanyAccount>().eq(DcBaseCompanyAccount::getAccountId, 671)
new LambdaQueryWrapper<DcBaseCompanyAccount>().eq(DcBaseCompanyAccount::getAccountId, 638)
);
amazonAdAuth = JsonUtilByFsJson.jsonToBean(dcBaseCompanyAccount.getAmazonAdAuthJson(), AmazonAdAuth.class);
......@@ -187,21 +186,20 @@ public class AmazonAdApiTest {
log.info(amazonAdAuth.getClientId());
log.info(amazonAdAuth.getProfileId());
ResponseEntity<byte[]> response = amazonAdApi.reportDownload(AmazonURI.getAmazonAdSiteUri(dcBaseCompanyAccount.getSiteEn()),
"amzn1.clicksAPI.v1.p1.5F48CB26.29592319-1b39-4a63-8e0c-04598971e266",
byte[] response = amazonAdApi.reportDownload(AmazonURI.getAmazonAdSiteUri("FR"),
"amzn1.clicksAPI.v1.p35691.5FACEED9.b78c781c-3cd5-4b7d-966e-4174c697e951",
amazonAdAuth.getAccessToken(),
amazonAdAuth.getClientId(),
amazonAdAuth.getProfileId());
Assert.assertNotNull(response.getBody());
Assert.assertNotNull(response);
try (GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(response.getBody()))) {
try (GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(response))) {
Type type = new TypeToken<List<DcBaseFinanceAmazonAdProduct>>() {
}.getType();
List<DcBaseFinanceAmazonAdProduct> reportDownloadRespList = JSON.parseObject(gzipInputStream, type);
log.info(JsonUtilByJackson.writeValueAsString(reportDownloadRespList));
......
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