Skip to content

Commit a349262

Browse files
author
bulezeng(曾卫进)
committed
1 增加对TimeInterval 的序列化
1 parent e097186 commit a349262

File tree

2 files changed

+40
-4
lines changed

2 files changed

+40
-4
lines changed

src/main/java/com/tencent/xinge/bean/TimeInterval.java

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
package com.tencent.xinge.bean;
22

3+
import com.fasterxml.jackson.core.JsonGenerator;
4+
import com.fasterxml.jackson.databind.JsonSerializer;
5+
import com.fasterxml.jackson.databind.SerializerProvider;
6+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
37
import org.json.JSONObject;
48

9+
import java.io.IOException;
10+
11+
@JsonSerialize(using = TimeIntervalSerializer.class)
512
public class TimeInterval {
613

714
public TimeInterval(int startHour, int startMin, int endHour, int endMin) {
@@ -33,9 +40,35 @@ public JSONObject toJsonObject() {
3340
return json;
3441
}
3542

36-
private int m_startHour;
37-
private int m_startMin;
38-
private int m_endHour;
39-
private int m_endMin;
43+
protected int m_startHour;
44+
protected int m_startMin;
45+
protected int m_endHour;
46+
protected int m_endMin;
47+
48+
49+
4050
}
4151

52+
53+
class TimeIntervalSerializer extends JsonSerializer<TimeInterval>{
54+
55+
@Override
56+
public void serialize(TimeInterval timeInterval, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
57+
jsonGenerator.writeStartObject();
58+
jsonGenerator.writeFieldName("start");
59+
jsonGenerator.writeStartObject();
60+
jsonGenerator.writeFieldName("hour");
61+
jsonGenerator.writeString(String.valueOf(timeInterval.m_startHour));
62+
jsonGenerator.writeFieldName("min");
63+
jsonGenerator.writeString(String.valueOf(timeInterval.m_startMin));
64+
jsonGenerator.writeEndObject();
65+
66+
jsonGenerator.writeFieldName("end");
67+
jsonGenerator.writeStartObject();
68+
jsonGenerator.writeFieldName("hour");
69+
jsonGenerator.writeString(String.valueOf(timeInterval.m_endHour));
70+
jsonGenerator.writeFieldName("min");
71+
jsonGenerator.writeString(String.valueOf(timeInterval.m_endMin));
72+
jsonGenerator.writeEndObject();
73+
}
74+
}

src/test/java/com/tencent/xinge/push/app/PushAccountListIOSTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ public void testPushAccountListIOS() {
3535
accountList.add("xg_account");
3636
accountList.add("xg_account1");
3737

38+
TimeInterval accepTime = new TimeInterval(0,0,23,59);
39+
message.setAccept_time(accepTime);
40+
3841
PushAppRequest pushAppRequest = new PushAppRequest();
3942
pushAppRequest.setPlatform(Platform.ios);
4043
pushAppRequest.setEnvironment(Environment.dev);

0 commit comments

Comments
 (0)