forked from chanjarster/weixin-java-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request chanjarster#233 from videome/develop
Support sending redpack.
- Loading branch information
Showing
6 changed files
with
262 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
118 changes: 118 additions & 0 deletions
118
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxRedpackResult.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
package me.chanjar.weixin.mp.bean.result; | ||
|
||
import java.io.Serializable; | ||
|
||
import com.thoughtworks.xstream.annotations.XStreamAlias; | ||
|
||
/** | ||
* 向微信用户个人发现金红包返回结果 | ||
* https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_5 | ||
* @author kane | ||
* | ||
*/ | ||
@XStreamAlias("xml") | ||
public class WxRedpackResult implements Serializable { | ||
|
||
/** | ||
* | ||
*/ | ||
private static final long serialVersionUID = -4837415036337132073L; | ||
|
||
@XStreamAlias("return_code") | ||
String returnCode; | ||
@XStreamAlias("return_msg") | ||
String returnMsg; | ||
@XStreamAlias("sign") | ||
String sign; | ||
@XStreamAlias("result_code") | ||
String resultCode; | ||
|
||
@XStreamAlias("err_code") | ||
String errCode; | ||
@XStreamAlias("err_code_des") | ||
String errCodeDes; | ||
@XStreamAlias("mch_billno") | ||
String mchBillno; | ||
@XStreamAlias("mch_id") | ||
String mchId; | ||
@XStreamAlias("wxappid") | ||
String wxappid; | ||
@XStreamAlias("re_openid") | ||
String reOpenid; | ||
@XStreamAlias("total_amount") | ||
int totalAmount; | ||
@XStreamAlias("send_time") | ||
String sendTime; | ||
@XStreamAlias("send_listid") | ||
String sendListid; | ||
|
||
public String getErrCode() { | ||
return errCode; | ||
} | ||
|
||
public String getErrCodeDes() { | ||
return errCodeDes; | ||
} | ||
|
||
public String getReturnCode() { | ||
return returnCode; | ||
} | ||
|
||
public String getReturnMsg() { | ||
return returnMsg; | ||
} | ||
|
||
public String getSign() { | ||
return sign; | ||
} | ||
|
||
public String getResultCode() { | ||
return resultCode; | ||
} | ||
|
||
public String getMchBillno() { | ||
return mchBillno; | ||
} | ||
|
||
public String getMchId() { | ||
return mchId; | ||
} | ||
|
||
public String getWxappid() { | ||
return wxappid; | ||
} | ||
|
||
public String getReOpenid() { | ||
return reOpenid; | ||
} | ||
|
||
public int getTotalAmount() { | ||
return totalAmount; | ||
} | ||
|
||
public String getSendTime() { | ||
return sendTime; | ||
} | ||
|
||
public String getSendListid() { | ||
return sendListid; | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return "WxRedpackResult{" + | ||
"returnCode=" + returnCode + | ||
", returnMsg=" + returnMsg + | ||
", sign=" + sign + | ||
", errCode=" + errCode + | ||
", errCodeDes=" + errCodeDes + | ||
", mchBillno=" + mchBillno + | ||
", mchId=" + mchId + | ||
", wxappid=" + wxappid + | ||
", reOpenid=" + reOpenid + | ||
", totalAmount=" + totalAmount + | ||
", sendTime=" + sendTime + | ||
", sendListid=" + sendListid + | ||
'}'; | ||
} | ||
} |
63 changes: 63 additions & 0 deletions
63
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxRedpackResultTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
package me.chanjar.weixin.mp.bean; | ||
|
||
import static org.junit.Assert.assertEquals; | ||
|
||
import org.junit.Before; | ||
import org.junit.Test; | ||
|
||
import com.thoughtworks.xstream.XStream; | ||
|
||
import me.chanjar.weixin.common.util.xml.XStreamInitializer; | ||
import me.chanjar.weixin.mp.bean.result.WxRedpackResult; | ||
|
||
public class WxRedpackResultTest { | ||
|
||
private XStream xstream; | ||
|
||
@Before | ||
public void setup() { | ||
xstream = XStreamInitializer.getInstance(); | ||
xstream.processAnnotations(WxRedpackResult.class); | ||
} | ||
|
||
@Test public void loadSuccessResult() { | ||
final String successSample = "<xml>\n" + | ||
"<return_code><![CDATA[SUCCESS]]></return_code>\n" + | ||
"<return_msg><![CDATA[发放成功.]]></return_msg>\n" + | ||
"<result_code><![CDATA[SUCCESS]]></result_code>\n" + | ||
"<err_code><![CDATA[0]]></err_code>\n" + | ||
"<err_code_des><![CDATA[发放成功.]]></err_code_des>\n" + | ||
"<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno>\n" + | ||
"<mch_id>10010404</mch_id>\n" + | ||
"<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid>\n" + | ||
"<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid>\n" + | ||
"<total_amount>1</total_amount>\n" + | ||
"<send_listid>100000000020150520314766074200</send_listid>\n" + | ||
"<send_time>20150520102602</send_time>\n" + | ||
"</xml>"; | ||
WxRedpackResult wxMpRedpackResult = (WxRedpackResult) xstream.fromXML(successSample); | ||
assertEquals("SUCCESS", wxMpRedpackResult.getReturnCode()); | ||
assertEquals("SUCCESS", wxMpRedpackResult.getResultCode()); | ||
assertEquals("20150520102602", wxMpRedpackResult.getSendTime()); | ||
} | ||
|
||
@Test public void loadFailureResult() { | ||
final String failureSample = "<xml>\n" + | ||
"<return_code><![CDATA[FAIL]]></return_code>\n" + | ||
"<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>\n" + | ||
"<result_code><![CDATA[FAIL]]></result_code>\n" + | ||
"<err_code><![CDATA[268458547]]></err_code>\n" + | ||
"<err_code_des><![CDATA[系统繁忙,请稍后再试.]]></err_code_des>\n" + | ||
"<mch_billno><![CDATA[0010010404201411170000046542]]></mch_billno>\n" + | ||
"<mch_id>10010404</mch_id>\n" + | ||
"<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid>\n" + | ||
"<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid>\n" + | ||
"<total_amount>1</total_amount>\n" + | ||
"</xml>"; | ||
WxRedpackResult wxMpRedpackResult = (WxRedpackResult) xstream.fromXML(failureSample); | ||
assertEquals("FAIL", wxMpRedpackResult.getReturnCode()); | ||
assertEquals("FAIL", wxMpRedpackResult.getResultCode()); | ||
assertEquals("onqOjjmM1tad-3ROpncN-yUfa6uI", wxMpRedpackResult.getReOpenid()); | ||
assertEquals(1, wxMpRedpackResult.getTotalAmount()); | ||
} | ||
} |