主要去掉了实体类中的字段上@JSONFiled上的deserialize=false属性和不合理的format方法

This commit is contained in:
jinyu
2015-08-07 15:21:02 +08:00
parent 418f63d501
commit 4d5a6b228b
61 changed files with 946 additions and 760 deletions
@@ -76,7 +76,12 @@ public class ArticleDatacubeShare implements Serializable {
this.shareCount = shareCount;
}
public ShareSourceType getShareScene() {
public int getShareScene() {
return shareScene;
}
@JSONField(serialize = false)
public ShareSourceType getFormatShareScene() {
if (shareScene == 1) {
return ShareSourceType.FRIENDFORWARD;
} else if (shareScene == 2) {
@@ -30,7 +30,8 @@ public class ArticleSummary extends ArticleDatacube1 {
* 例如12003_3 其中12003是msgid,即一次群发的消息的id;
* 3为index,假设该次群发的图文消息共5个文章(因为可能为多图文),3表示5个中的第3个
*/
private String msgid;
@JSONField(name = "msgid")
private String msgId;
/**
* 图文消息的标题
*/
@@ -52,12 +53,12 @@ public class ArticleSummary extends ArticleDatacube1 {
this.refHour = refHour;
}
public String getMsgid() {
return msgid;
public String getMsgId() {
return msgId;
}
public void setMsgid(String msgid) {
this.msgid = msgid;
public void setMsgId(String msgId) {
this.msgId = msgId;
}
public String getTitle() {
@@ -71,7 +72,7 @@ public class ArticleSummary extends ArticleDatacube1 {
@Override
public String toString() {
return "ArticleSummary [refDate=" + refDate + ", refHour=" + refHour
+ ", msgid=" + msgid + ", title=" + title + ", "
+ ", msgId=" + msgId + ", title=" + title + ", "
+ super.toString() + "]";
}
}
@@ -27,7 +27,8 @@ public class ArticleTotal implements Serializable {
* 这里的msgid实际上是由msgid(图文消息id)和index(消息次序索引)组成, 例如12003_3,
* 其中12003是msgid,即一次群发的id消息的; 3为index,假设该次群发的图文消息共5个文章(因为可能为多图文), 3表示5个中的第3个
*/
private String msgid;
@JSONField(name = "msgid")
private String msgId;
/**
* 图文消息的标题
*/
@@ -45,12 +46,12 @@ public class ArticleTotal implements Serializable {
this.refDate = refDate;
}
public String getMsgid() {
return msgid;
public String getMsgId() {
return msgId;
}
public void setMsgid(String msgid) {
this.msgid = msgid;
public void setMsgId(String msgId) {
this.msgId = msgId;
}
public String getTitle() {
@@ -71,7 +72,7 @@ public class ArticleTotal implements Serializable {
@Override
public String toString() {
return "ArticleTotal [refDate=" + refDate + ", msgid=" + msgid
return "ArticleTotal [refDate=" + refDate + ", msgId=" + msgId
+ ", title=" + title + ", details=" + details + "]";
}
}
@@ -60,12 +60,17 @@ public class UpstreamMsg implements Serializable {
this.refHour = refHour;
}
public int getMsgType() {
return msgType;
}
/**
* 1代表文字 2代表图片 3代表语音 4代表视频 6代表第三方应用消息(链接消息)
*
* @return
*/
public String getMsgType() {
@JSONField(serialize = false)
public String getFormatMsgType() {
switch (msgType) {
case 1:
return "text";
@@ -50,7 +50,12 @@ public class UpstreamMsgDist implements Serializable {
this.msgUser = msgUser;
}
public DatacuteCountIntervalType getCountInterval() {
public int getCountInterval() {
return countInterval;
}
@JSONField(serialize = false)
public DatacuteCountIntervalType getFormatCountInterval() {
return DatacuteCountIntervalType.values()[countInterval];
}
@@ -52,7 +52,12 @@ public class UserSummary implements Serializable {
this.refDate = refDate;
}
public UserSourceType getUserSource() {
public int getUserSource() {
return userSource;
}
@JSONField(serialize = false)
public UserSourceType getFormatUserSource() {
if (userSource == 30) {
return UserSourceType.QRCODE;
} else if (userSource == 17) {
@@ -98,8 +103,8 @@ public class UserSummary implements Serializable {
@Override
public String toString() {
return "UserSummary [refDate=" + refDate + ", userSource="
+ getUserSource() + ", newUser=" + newUser + ", cancelUser="
+ cancelUser + ", cumulateUser=" + cumulateUser + "]";
return "UserSummary [refDate=" + refDate + ", userSource=" + userSource
+ ", newUser=" + newUser + ", cancelUser=" + cancelUser
+ ", cumulateUser=" + cumulateUser + "]";
}
}
@@ -4,6 +4,9 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.annotation.JSONCreator;
import com.alibaba.fastjson.annotation.JSONField;
/**
* 模板消息
*
@@ -21,11 +24,13 @@ public class TemplateMessage implements Serializable {
/**
* 用户的openid
*/
private String touser;
@JSONField(name = "touser")
private String toUser;
/**
* 模板ID
*/
private String template_id;
@JSONField(name = "template_id")
private String templateId;
/**
* 点击消息跳转的url
*/
@@ -33,21 +38,22 @@ public class TemplateMessage implements Serializable {
/**
* 顶部的颜色值
*/
private String topcolor = "#FF0000";
@JSONField(name = "topcolor")
private String topColor = "#FF0000";
/**
* 数据项
*/
private Map<String, Item> data;
public void pushData(String key, String value) {
this.data.put(key, new Item(value));
}
public TemplateMessage(String touser, String template_id, String title,
String url) {
this.touser = touser;
this.template_id = template_id;
@JSONCreator
public TemplateMessage(@JSONField(name = "toUser") String toUser,
@JSONField(name = "templateId") String templateId,
@JSONField(name = "title") String title,
@JSONField(name = "url") String url) {
this.toUser = toUser;
this.templateId = templateId;
this.url = url;
this.topColor = "#FF0000";
this.data = new HashMap<String, Item>();
pushData("first", title);
}
@@ -95,36 +101,24 @@ public class TemplateMessage implements Serializable {
}
}
public String getTouser() {
return touser;
public String getToUser() {
return toUser;
}
public void setTouser(String touser) {
this.touser = touser;
}
public String getTemplate_id() {
return template_id;
}
public void setTemplate_id(String template_id) {
this.template_id = template_id;
public String getTemplateId() {
return templateId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
public String getTopColor() {
return topColor;
}
public String getTopcolor() {
return topcolor;
}
public void setTopcolor(String topcolor) {
this.topcolor = topcolor;
public void setTopColor(String topColor) {
this.topColor = topColor;
}
public Map<String, Item> getData() {
@@ -135,10 +129,14 @@ public class TemplateMessage implements Serializable {
this.data = data;
}
public void pushData(String key, String value) {
this.data.put(key, new Item(value));
}
@Override
public String toString() {
return "TemplateMessage [touser=" + touser + ", template_id="
+ template_id + ", url=" + url + ", topcolor=" + topcolor
return "TemplateMessage [toUser=" + toUser + ", templateId="
+ templateId + ", url=" + url + ", topColor=" + topColor
+ ", data=" + data + "]";
}
}
@@ -3,6 +3,7 @@ package com.foxinmy.weixin4j.mp.model;
import java.io.Serializable;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.mp.type.CustomRecordOperCode;
/**
@@ -24,15 +25,17 @@ public class CustomRecord implements Serializable {
/**
* 用户的标识
*/
private String openid;
@JSONField(name = "openid")
private String openId;
/**
* 操作ID(会话状态)
*/
private CustomRecordOperCode opercode;
@JSONField(name = "opercode")
private int operCode;
/**
* 操作时间
*/
private Date time;
private long time;
/**
* 聊天记录
*/
@@ -46,28 +49,38 @@ public class CustomRecord implements Serializable {
this.worker = worker;
}
public String getOpenid() {
return openid;
public String getOpenId() {
return openId;
}
public void setOpenid(String openid) {
this.openid = openid;
public void setOpenId(String openId) {
this.openId = openId;
}
public CustomRecordOperCode getOpercode() {
return opercode;
public int getOperCode() {
return operCode;
}
public void setOpercode(int opercode) {
this.opercode = CustomRecordOperCode.getOper(opercode);
@JSONField(serialize = false)
public CustomRecordOperCode getFormatOperCode() {
return CustomRecordOperCode.getOper(operCode);
}
public Date getTime() {
return (Date) time.clone();
public void setOperCode(int operCode) {
this.operCode = operCode;
}
public long getTime() {
return time;
}
@JSONField(serialize = false)
public Date getFormatTime() {
return new Date(time * 1000l);
}
public void setTime(long time) {
this.time = new Date(time * 1000l);
this.time = time;
}
public String getText() {
@@ -82,8 +95,8 @@ public class CustomRecord implements Serializable {
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[CustomRecord worker=").append(worker);
sb.append(" ,openid=").append(openid);
sb.append(" ,opercode=").append(opercode);
sb.append(" ,openId=").append(openId);
sb.append(" ,operCode=").append(operCode);
sb.append(" ,time=").append(time);
sb.append(" ,text=").append(text);
sb.append("]");
@@ -43,7 +43,7 @@ public class KfAccount implements Serializable {
/**
* 客服在线状态 1:pc在线,2:手机在线 若pc和手机同时在线则为 1+2=3
*/
private KfOnlineStatus status;
private int status;
/**
* 客服设置的最大自动接入数
*/
@@ -87,20 +87,25 @@ public class KfAccount implements Serializable {
this.headImg = headImg;
}
public KfOnlineStatus getStatus() {
public int getStatus() {
return status;
}
public void setStatus(int status) {
@JSONField(serialize = false)
public KfOnlineStatus getFormatStatus() {
if (status == 1) {
this.status = KfOnlineStatus.PC;
return KfOnlineStatus.PC;
} else if (status == 2) {
this.status = KfOnlineStatus.MOBILE;
return KfOnlineStatus.MOBILE;
} else {
this.status = KfOnlineStatus.BOTH;
return KfOnlineStatus.BOTH;
}
}
public void setStatus(int status) {
this.status = status;
}
public int getAutoAccept() {
return autoAccept;
}
@@ -93,8 +93,7 @@ public class SemResult extends JsonResult {
@Override
public String toString() {
return "SemResult [query=" + query + ", type=" + type + ", semantic="
+ semantic + ", result=" + result + ", answer=" + answer
+ ", text=" + text + ", getCode()=" + getCode()
+ ", getDesc()=" + getDesc() + "]";
+ semantic + ", result=" + result + ", answer=" + answer + ", "
+ super.toString() + "]";
}
}
@@ -26,16 +26,18 @@ public class User implements Serializable {
/**
* 用户的唯一标识
*/
private String openid;
@JSONField(name = "openid")
private String openId;
/**
* 用户昵称
*/
private String nickname;
@JSONField(name = "nickname")
private String nickName;
/**
* 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
*/
@JSONField(name = "sex")
private Gender gender;
private int gender;
/**
* 用户个人资料填写的省份
*/
@@ -65,46 +67,52 @@ public class User implements Serializable {
* 关注时间
*/
@JSONField(name = "subscribe_time")
private Date subscribeTime;
private long subscribeTime;
/**
* 使用语言
*/
private Lang language;
private String language;
/**
* 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段
*/
private String unionid;
@JSONField(name = "unionid")
private String unionId;
public String getOpenid() {
return openid;
public String getOpenId() {
return openId;
}
public void setOpenid(String openid) {
this.openid = openid;
public void setOpenid(String openId) {
this.openId = openId;
}
public String getNickname() {
return nickname;
public String getNickName() {
return nickName;
}
public void setNickname(String nickname) {
this.nickname = nickname;
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Gender getGender() {
public int getGender() {
return gender;
}
public void setGender(int sex) {
if (sex == 1) {
this.gender = Gender.male;
} else if (sex == 2) {
this.gender = Gender.female;
@JSONField(serialize = false)
public Gender getFormatGender() {
if (gender == 1) {
return Gender.male;
} else if (gender == 2) {
return Gender.female;
} else {
this.gender = Gender.unknown;
return Gender.unknown;
}
}
public void setGender(int gender) {
this.gender = gender;
}
public String getProvince() {
return province;
}
@@ -154,11 +162,16 @@ public class User implements Serializable {
this.privilege = privilege;
}
public Lang getLanguage() {
public String getLanguage() {
return language;
}
public void setLanguage(Lang language) {
@JSONField(serialize = false)
public Lang getFormatLanguage() {
return language != null ? Lang.valueOf(language) : null;
}
public void setLanguage(String language) {
this.language = language;
}
@@ -170,20 +183,25 @@ public class User implements Serializable {
this.isSubscribe = isSubscribe;
}
public Date getSubscribeTime() {
return (Date) subscribeTime.clone();
public long getSubscribeTime() {
return subscribeTime;
}
@JSONField(serialize = false)
public Date getFormatSubscribeTime() {
return new Date(subscribeTime * 1000l);
}
public void setSubscribeTime(long subscribeTime) {
this.subscribeTime = new Date(subscribeTime * 1000l);
this.subscribeTime = subscribeTime;
}
public String getUnionid() {
return unionid;
public String getUnionId() {
return unionId;
}
public void setUnionid(String unionid) {
this.unionid = unionid;
public void setUnionId(String unionId) {
this.unionId = unionId;
}
@Override
@@ -194,26 +212,18 @@ public class User implements Serializable {
@Override
public boolean equals(Object obj) {
if (obj instanceof User) {
return openid.equals(((User) obj).getOpenid());
return openId.equals(((User) obj).getOpenId());
}
return false;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[User openid=").append(openid);
sb.append(", nickname=").append(nickname);
sb.append(", gender=").append(gender);
sb.append(", province=").append(province);
sb.append(", city=").append(city);
sb.append(", country=").append(country);
sb.append(", headimgurl=").append(headimgurl);
sb.append(", privilege=").append(privilege);
sb.append(", language=").append(language);
sb.append(", subscribeTime=").append(subscribeTime);
sb.append(", unionid=").append(unionid);
sb.append(", isSubscribe=").append(isSubscribe).append("]");
return sb.toString();
return "User [openId=" + openId + ", nickName=" + nickName
+ ", gender=" + gender + ", province=" + province + ", city="
+ city + ", country=" + country + ", headimgurl=" + headimgurl
+ ", privilege=" + privilege + ", isSubscribe=" + isSubscribe
+ ", subscribeTime=" + subscribeTime + ", language=" + language
+ ", unionId=" + unionId + "]";
}
}
@@ -61,7 +61,7 @@ public class ApiResultV2 implements Serializable {
*/
@JSONField(name = "sign_type")
@XmlElement(name = "sign_type")
private SignType signType;
private String signType;
protected ApiResultV2() {
// jaxb required
@@ -107,11 +107,16 @@ public class ApiResultV2 implements Serializable {
this.sign = sign;
}
public SignType getSignType() {
public String getSignType() {
return signType;
}
public void setSignType(SignType signType) {
@JSONField(serialize = false)
public SignType getFormatSignType() {
return signType != null ? SignType.valueOf(signType) : null;
}
public void setSignType(String signType) {
this.signType = signType;
}
@@ -5,6 +5,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.payment.JsPayNotify;
/**
@@ -21,17 +22,18 @@ import com.foxinmy.weixin4j.payment.JsPayNotify;
public class NativePayNotifyV2 extends JsPayNotify {
private static final long serialVersionUID = 1868431159301749988L;
/**
* 产品ID 可视为订单ID
*/
@JSONField(name = "ProductId")
@XmlElement(name = "ProductId")
private String productId;
private NativePayNotifyV2(){
private NativePayNotifyV2() {
// jaxb required
}
public String getProductId() {
return productId;
}
@@ -5,6 +5,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.model.WeixinPayAccount;
/**
@@ -24,18 +25,20 @@ public class NativePayResponseV2 extends JsPayRequestV2 {
/**
* 返回码
*/
@JSONField(name = "RetCode")
@XmlElement(name = "RetCode")
private String retCode;
/**
* 返回消息
*/
@JSONField(name = "RetErrMsg")
@XmlElement(name = "RetErrMsg")
private String retMsg;
protected NativePayResponseV2(){
protected NativePayResponseV2() {
// jaxb required
}
public NativePayResponseV2(WeixinPayAccount weixinAccount,
PayPackageV2 payPackage) {
super(weixinAccount, payPackage);
@@ -103,12 +103,9 @@ public class OrderV2 extends ApiResultV2 {
return tradeState;
}
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public TradeState getFormatTradeState() {
if (tradeState == 0) {
return TradeState.SUCCESS;
}
return null;
return tradeState == 0 ? TradeState.SUCCESS : null;
}
public void setTradeState(int tradeState) {
@@ -148,7 +145,7 @@ public class OrderV2 extends ApiResultV2 {
*
* @return 元单位
*/
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public double getFormatTotalFee() {
return totalFee / 100d;
}
@@ -161,12 +158,9 @@ public class OrderV2 extends ApiResultV2 {
return feeType;
}
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public CurrencyType getFormatFeeType() {
if (feeType == 1) {
return CurrencyType.CNY;
}
return null;
return feeType == 1 ? CurrencyType.CNY : null;
}
public void setFeeType(int feeType) {
@@ -217,9 +211,9 @@ public class OrderV2 extends ApiResultV2 {
return timeEnd;
}
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public Date getFormatTimeEnd() {
return DateUtil.parse2yyyyMMddHHmmss(timeEnd);
return timeEnd != null ? DateUtil.parse2yyyyMMddHHmmss(timeEnd) : null;
}
public void setTimeEnd(String timeEnd) {
@@ -235,7 +229,7 @@ public class OrderV2 extends ApiResultV2 {
*
* @return 元单位
*/
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public double getFormatTransportFee() {
return transportFee / 100d;
}
@@ -253,7 +247,7 @@ public class OrderV2 extends ApiResultV2 {
*
* @return 元单位
*/
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public double getFormatProductFee() {
return productFee / 100d;
}
@@ -271,7 +265,7 @@ public class OrderV2 extends ApiResultV2 {
*
* @return 元单位
*/
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public double getFormatDiscount() {
return discount / 100d;
}
@@ -289,9 +283,9 @@ public class OrderV2 extends ApiResultV2 {
*
* @return 元单位
*/
@JSONField(serialize = false, deserialize = false)
@JSONField(serialize = false)
public double getFormatRmbTotalFee() {
return rmbTotalFee != null ? rmbTotalFee / 100d : 0d;
return rmbTotalFee != null ? rmbTotalFee.doubleValue() / 100d : 0d;
}
public void setRmbTotalFee(int rmbTotalFee) {
@@ -5,6 +5,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.payment.PayBaseInfo;
/**
@@ -25,41 +26,49 @@ public class PayFeedback extends PayBaseInfo {
/**
* 投诉单号
*/
@JSONField(name = "FeedBackId")
@XmlElement(name = "FeedBackId")
private String feedbackId;
/**
* 用户ID
*/
@JSONField(name = "OpenId")
@XmlElement(name = "OpenId")
private String openId;
/**
* 订单交易单号
*/
@JSONField(name = "TransId")
@XmlElement(name = "TransId")
private String transId;
/**
* 投诉原因
*/
@JSONField(name = "Reason")
@XmlElement(name = "Reason")
private String reason;
/**
* 用户希望解决方案
*/
@JSONField(name = "Solution")
@XmlElement(name = "Solution")
private String solution;
/**
* 备注信息+电话
*/
@JSONField(name = "ExtInfo")
@XmlElement(name = "ExtInfo")
private String extInfo;
/**
* 用户上传的图片凭证,最多五张
*/
@JSONField(name = "PicInfo")
@XmlElement(name = "PicInfo")
private String picInfo;
/**
* 通知类型 request 用户提交投诉 confirm 用户确认消除 投诉 reject 用户拒绝消除投诉
*/
@JSONField(name = "MsgType")
@XmlElement(name = "MsgType")
private String status;
@@ -5,6 +5,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.payment.PayBaseInfo;
/**
@@ -25,16 +26,19 @@ public class PayWarn extends PayBaseInfo {
/**
* 错误代号 1001=发货超时
*/
@JSONField(name = "ErrorType")
@XmlElement(name = "ErrorType")
private String errortype;
/**
* 错误描述
*/
@JSONField(name = "Description")
@XmlElement(name = "Description")
private String description;
/**
* 错误详情
*/
@JSONField(name = "AlarmContent")
@XmlElement(name = "AlarmContent")
private String alarmcontent;
@@ -8,7 +8,6 @@ import javax.xml.bind.annotation.XmlRootElement;
import com.alibaba.fastjson.annotation.JSONField;
import com.foxinmy.weixin4j.type.RefundChannel;
import com.foxinmy.weixin4j.type.RefundStatus;
import com.foxinmy.weixin4j.util.StringUtil;
/**
* V2退款详细
@@ -84,7 +83,7 @@ public class RefundDetailV2 extends ApiResultV2 {
return refundChannel;
}
@JSONField(deserialize = false, serialize = false)
@JSONField(serialize = false)
public RefundChannel getFormatRefundChannel() {
if (refundChannel == 0) {
return RefundChannel.TENPAY;
@@ -104,7 +103,7 @@ public class RefundDetailV2 extends ApiResultV2 {
*
* @return 元单位
*/
@JSONField(deserialize = false, serialize = false)
@JSONField(serialize = false)
public double getFormatRefundFee() {
return refundFee / 100d;
}
@@ -113,7 +112,7 @@ public class RefundDetailV2 extends ApiResultV2 {
return refundStatus;
}
@JSONField(deserialize = false, serialize = false)
@JSONField(serialize = false)
public RefundStatus getFormatRefundStatus() {
String refundStatus_ = String.format(",%d,", refundStatus);
if (",4,10,".contains(refundStatus_)) {
@@ -132,11 +131,11 @@ public class RefundDetailV2 extends ApiResultV2 {
}
public String getRecvUserId() {
return StringUtil.isNotBlank(recvUserId) ? recvUserId : null;
return recvUserId;
}
public String getReccvUserName() {
return StringUtil.isNotBlank(reccvUserName) ? reccvUserName : null;
return reccvUserName;
}
@Override
@@ -1,6 +1,6 @@
# \u6d4b\u8bd5\u4e4b\u7528 \u6b63\u5f0f\u73af\u5883\u4e0bcopy\u4e00\u4efd\u5230classpath
# \u516c\u4f17\u53f7\u4fe1\u606f
account={"id":"wx4ab8f8de58159a57","secret":"1d4eb0f4bf556aaed539f30ed05ca795",\
account={"id":"wxd5d03da81b799b9a","secret":"c787a9fcec16fd712b77679c1fc8084f",\
"mchId":"V3.x\u7248\u672c\u4e0b\u7684\u5fae\u4fe1\u5546\u6237\u53f7 \u670d\u52a1\u53f7\u652f\u4ed8\u65f6\u9700\u8981\u586b\u5165",\
"partnerId":"V2\u7248\u672c\u4e0b\u7684\u8d22\u4ed8\u901a\u7684\u5546\u6237\u53f7 \u670d\u52a1\u53f7\u652f\u4ed8\u65f6\u9700\u8981\u586b\u5165",\
"partnerKey":"V2\u7248\u672c\u4e0b\u7684\u8d22\u4ed8\u901a\u5546\u6237\u6743\u9650\u5bc6\u94a5Key \u670d\u52a1\u53f7\u652f\u4ed8\u65f6\u9700\u8981\u586b\u5165",\