From ee3460bb95b176418007f67ca04baf6010cff5a9 Mon Sep 17 00:00:00 2001 From: czp Date: Wed, 7 Mar 2018 10:14:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=B9=20=E8=8E=B7?= =?UTF-8?q?=E5=A5=96=E8=AE=B0=E5=BD=95=20=E7=9A=84=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PrintResponseBodyInterceptor.java | 26 ++++++ .../hiczp/bilibili/api/live/LiveService.java | 2 + .../api/live/entity/AwardsEntity.java | 84 +++++++++++++++++++ .../bilibili/api/test/GetAwardsTest.java | 21 +++++ .../hiczp/bilibili/api/test/RuleSuite.java | 1 + 5 files changed, 134 insertions(+) create mode 100644 src/main/java/com/hiczp/bilibili/api/interceptor/PrintResponseBodyInterceptor.java create mode 100644 src/main/java/com/hiczp/bilibili/api/live/entity/AwardsEntity.java create mode 100644 src/test/java/com/hiczp/bilibili/api/test/GetAwardsTest.java diff --git a/src/main/java/com/hiczp/bilibili/api/interceptor/PrintResponseBodyInterceptor.java b/src/main/java/com/hiczp/bilibili/api/interceptor/PrintResponseBodyInterceptor.java new file mode 100644 index 0000000..648e2cb --- /dev/null +++ b/src/main/java/com/hiczp/bilibili/api/interceptor/PrintResponseBodyInterceptor.java @@ -0,0 +1,26 @@ +package com.hiczp.bilibili.api.interceptor; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonObject; +import okhttp3.Interceptor; +import okhttp3.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +public class PrintResponseBodyInterceptor implements Interceptor { + private static final Logger LOGGER = LoggerFactory.getLogger(PrintResponseBodyInterceptor.class); + private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); + + @Override + public Response intercept(Chain chain) throws IOException { + Response response = chain.proceed(chain.request()); + + JsonObject jsonObject = InterceptorHelper.getJsonInBody(response); + LOGGER.info(GSON.toJson(jsonObject)); + + return response; + } +} diff --git a/src/main/java/com/hiczp/bilibili/api/live/LiveService.java b/src/main/java/com/hiczp/bilibili/api/live/LiveService.java index 24b4c59..b75b7a0 100644 --- a/src/main/java/com/hiczp/bilibili/api/live/LiveService.java +++ b/src/main/java/com/hiczp/bilibili/api/live/LiveService.java @@ -220,6 +220,8 @@ public interface LiveService { //TODO 取消佩戴 //TODO 获奖记录 + @GET("AppUser/awards") + Call getAwards(); //瓜子商店 //侧拉抽屉 -> 直播中心 -> 瓜子商店 -> 银瓜子兑换 -> 硬币银瓜子互换 -> 兑换硬币 diff --git a/src/main/java/com/hiczp/bilibili/api/live/entity/AwardsEntity.java b/src/main/java/com/hiczp/bilibili/api/live/entity/AwardsEntity.java new file mode 100644 index 0000000..7e81926 --- /dev/null +++ b/src/main/java/com/hiczp/bilibili/api/live/entity/AwardsEntity.java @@ -0,0 +1,84 @@ +package com.hiczp.bilibili.api.live.entity; + +import com.google.gson.JsonObject; +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class AwardsEntity { + /** + * code : 0 + * message : OK + * data : {"list":[],"use_count":0,"count":0} + */ + + @SerializedName("code") + private int code; + @SerializedName("message") + private String message; + @SerializedName("data") + private Data data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Data getData() { + return data; + } + + public void setData(Data data) { + this.data = data; + } + + public static class Data { + /** + * list : [] + * use_count : 0 + * count : 0 + */ + + @SerializedName("use_count") + private int useCount; + @SerializedName("count") + private int count; + @SerializedName("list") + private List list; + + public int getUseCount() { + return useCount; + } + + public void setUseCount(int useCount) { + this.useCount = useCount; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + } +} diff --git a/src/test/java/com/hiczp/bilibili/api/test/GetAwardsTest.java b/src/test/java/com/hiczp/bilibili/api/test/GetAwardsTest.java new file mode 100644 index 0000000..ba09358 --- /dev/null +++ b/src/test/java/com/hiczp/bilibili/api/test/GetAwardsTest.java @@ -0,0 +1,21 @@ +package com.hiczp.bilibili.api.test; + +import com.hiczp.bilibili.api.BilibiliAPI; +import com.hiczp.bilibili.api.interceptor.PrintResponseBodyInterceptor; +import okhttp3.logging.HttpLoggingInterceptor; +import org.junit.Test; + +import java.util.Collections; + +public class GetAwardsTest { + private static final BilibiliAPI BILIBILI_API = Config.getBilibiliAPI(); + + @Test + public void getAwards() throws Exception { + BILIBILI_API + .getLiveService(Collections.singletonList(new PrintResponseBodyInterceptor()), HttpLoggingInterceptor.Level.BODY) + .getAwards() + .execute() + .body(); + } +} diff --git a/src/test/java/com/hiczp/bilibili/api/test/RuleSuite.java b/src/test/java/com/hiczp/bilibili/api/test/RuleSuite.java index 0e63997..d36f1bd 100644 --- a/src/test/java/com/hiczp/bilibili/api/test/RuleSuite.java +++ b/src/test/java/com/hiczp/bilibili/api/test/RuleSuite.java @@ -23,6 +23,7 @@ import java.nio.file.Paths; SecurityHelperTest.class, AuthenticatorTest.class, WebAPITest.class, + GetAwardsTest.class, LogoutTest.class }) public class RuleSuite {