mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-15 10:45:15 +08:00
@@ -0,0 +1,80 @@
|
||||
package me.chanjar.weixin.mp.api;
|
||||
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.mp.bean.device.*;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public interface WxMpDeviceService {
|
||||
/**
|
||||
* <pre>
|
||||
* 主动发送消息给设备
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-3
|
||||
* </pre>
|
||||
*/
|
||||
TransMsgResp transMsg(WxDeviceMsg msg) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 获取一组新的deviceid和设备二维码
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6
|
||||
* </pre>
|
||||
* @param productId 产品id
|
||||
* @return 返回WxDeviceQrCodeResult
|
||||
*/
|
||||
WxDeviceQrCodeResult getQrCode(String productId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 将device id及其属性信息提交公众平台进行授权
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-6
|
||||
* </pre>
|
||||
* @param wxDeviceAuthorize 授权请求对象
|
||||
* @return WxDeviceAuthorizeResult
|
||||
*/
|
||||
WxDeviceAuthorizeResult authorize(WxDeviceAuthorize wxDeviceAuthorize) throws WxErrorException;
|
||||
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 第三方后台绑定成功后,通知公众平台
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html/page=3-4-7
|
||||
* </pre>
|
||||
* @param wxDeviceBind 绑定请求对象
|
||||
* @return WxDeviceBindResult
|
||||
*/
|
||||
WxDeviceBindResult bind(WxDeviceBind wxDeviceBind) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 强制绑定用户和设备
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-7
|
||||
* </pre>
|
||||
* @param wxDeviceBind 强制绑定请求对象
|
||||
* @return WxDeviceBindResult
|
||||
*/
|
||||
WxDeviceBindResult compelBind(WxDeviceBind wxDeviceBind) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 第三方确认用户和设备的解绑操作
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html/page=3-4-7
|
||||
* </pre>
|
||||
* @param wxDeviceBind 绑定请求对象
|
||||
* @return WxDeviceBidResult
|
||||
*/
|
||||
WxDeviceBindResult unbind(WxDeviceBind wxDeviceBind) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 强制解绑用户和设备
|
||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-7
|
||||
* </pre>
|
||||
* @param wxDeviceBind 强制解绑请求对象
|
||||
* @return WxDeviceBindResult
|
||||
*/
|
||||
WxDeviceBindResult compelUnbind(WxDeviceBind wxDeviceBind) throws WxErrorException;
|
||||
|
||||
|
||||
}
|
@@ -345,4 +345,11 @@ public interface WxMpService {
|
||||
* @return WxMpTemplateMsgService
|
||||
*/
|
||||
WxMpTemplateMsgService getTemplateMsgService();
|
||||
|
||||
/**
|
||||
* 返回硬件平台相关接口方法的实现类对象,以方便调用其各个接口
|
||||
*
|
||||
* @return WxMpDeviceService
|
||||
*/
|
||||
WxMpDeviceService getDeviceService();
|
||||
}
|
||||
|
@@ -0,0 +1,72 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpDeviceService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.device.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxMpDeviceServiceImpl implements WxMpDeviceService {
|
||||
private static final String API_URL_PREFIX = "https://api.weixin.qq.com/device";
|
||||
private static Logger log = LoggerFactory.getLogger(WxMpMenuServiceImpl.class);
|
||||
|
||||
private WxMpService wxMpService;
|
||||
|
||||
WxMpDeviceServiceImpl(WxMpService wxMpService) {
|
||||
this.wxMpService = wxMpService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TransMsgResp transMsg(WxDeviceMsg msg) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/transmsg";
|
||||
String response = this.wxMpService.post(url,msg.toJson());
|
||||
return TransMsgResp.fromJson(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxDeviceQrCodeResult getQrCode(String productId) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/getqrcode";
|
||||
String response = this.wxMpService.get(url, "product_id=" + productId);
|
||||
return WxDeviceQrCodeResult.fromJson(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxDeviceAuthorizeResult authorize(WxDeviceAuthorize wxDeviceAuthorize) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/authorize_device";
|
||||
String response = this.wxMpService.post(url,wxDeviceAuthorize.toJson());
|
||||
return WxDeviceAuthorizeResult.fromJson(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxDeviceBindResult bind(WxDeviceBind wxDeviceBind) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/bind";
|
||||
String response = this.wxMpService.post(url,wxDeviceBind.toJson());
|
||||
return WxDeviceBindResult.fromJson(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxDeviceBindResult compelBind(WxDeviceBind wxDeviceBind) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/compel_bind";
|
||||
String response = this.wxMpService.post(url,wxDeviceBind.toJson());
|
||||
return WxDeviceBindResult.fromJson(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxDeviceBindResult unbind(WxDeviceBind wxDeviceBind) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/unbind?";
|
||||
String response = this.wxMpService.post(url, wxDeviceBind.toJson());
|
||||
return WxDeviceBindResult.fromJson(response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxDeviceBindResult compelUnbind(WxDeviceBind wxDeviceBind) throws WxErrorException {
|
||||
String url = API_URL_PREFIX + "/compel_unbind?";
|
||||
String response = this.wxMpService.post(url, wxDeviceBind.toJson());
|
||||
return WxDeviceBindResult.fromJson(response);
|
||||
}
|
||||
}
|
||||
|
@@ -62,6 +62,8 @@ public class WxMpServiceImpl implements WxMpService {
|
||||
|
||||
private WxMpTemplateMsgService templateMsgService = new WxMpTemplateMsgServiceImpl(this);
|
||||
|
||||
private WxMpDeviceService deviceService = new WxMpDeviceServiceImpl(this);
|
||||
|
||||
private CloseableHttpClient httpClient;
|
||||
|
||||
private HttpHost httpProxy;
|
||||
@@ -540,4 +542,8 @@ public class WxMpServiceImpl implements WxMpService {
|
||||
return this.templateMsgService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMpDeviceService getDeviceService() {
|
||||
return this.deviceService;
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,12 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 14/12/2016.
|
||||
*/
|
||||
public abstract class AbstractDeviceBean {
|
||||
public String toJson() {
|
||||
return WxGsonBuilder.create().toJson(this);
|
||||
}
|
||||
}
|
@@ -0,0 +1,55 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class BaseResp extends AbstractDeviceBean{
|
||||
private BaseInfo base_info;
|
||||
private Integer errcode;
|
||||
private String errmsg;
|
||||
|
||||
public Integer getErrcode() {
|
||||
return errcode;
|
||||
}
|
||||
|
||||
public void setErrcode(Integer errcode) {
|
||||
this.errcode = errcode;
|
||||
}
|
||||
|
||||
public BaseInfo getBase_info() {
|
||||
return base_info;
|
||||
}
|
||||
|
||||
public void setBase_info(BaseInfo base_info) {
|
||||
this.base_info = base_info;
|
||||
}
|
||||
|
||||
public String getErrmsg() {
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
public void setErrmsg(String errmsg) {
|
||||
this.errmsg = errmsg;
|
||||
}
|
||||
|
||||
private class BaseInfo {
|
||||
private String device_type;
|
||||
private String device_id;
|
||||
|
||||
public String getDevice_type() {
|
||||
return device_type;
|
||||
}
|
||||
|
||||
public void setDevice_type(String device_type) {
|
||||
this.device_type = device_type;
|
||||
}
|
||||
|
||||
public String getDevice_id() {
|
||||
return device_id;
|
||||
}
|
||||
|
||||
public void setDevice_id(String device_id) {
|
||||
this.device_id = device_id;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
|
||||
public class RespMsg extends AbstractDeviceBean{
|
||||
private Integer retCode;
|
||||
private String errorInfo;
|
||||
|
||||
public Integer getRetCode() {
|
||||
return retCode;
|
||||
}
|
||||
|
||||
public void setRetCode(Integer retCode) {
|
||||
this.retCode = retCode;
|
||||
}
|
||||
|
||||
public String getErrorInfo() {
|
||||
return errorInfo;
|
||||
}
|
||||
|
||||
public void setErrorInfo(String errorInfo) {
|
||||
this.errorInfo = errorInfo;
|
||||
}
|
||||
}
|
@@ -0,0 +1,49 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 14/12/2016.
|
||||
*/
|
||||
public class TransMsgResp extends AbstractDeviceBean{
|
||||
private Integer ret;
|
||||
private String ret_info;
|
||||
private Integer errcode;
|
||||
private String errmsg;
|
||||
|
||||
public static TransMsgResp fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, TransMsgResp.class);
|
||||
}
|
||||
|
||||
public Integer getRet() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void setRet(Integer ret) {
|
||||
this.ret = ret;
|
||||
}
|
||||
|
||||
public String getRet_info() {
|
||||
return ret_info;
|
||||
}
|
||||
|
||||
public void setRet_info(String ret_info) {
|
||||
this.ret_info = ret_info;
|
||||
}
|
||||
|
||||
public Integer getErrcode() {
|
||||
return errcode;
|
||||
}
|
||||
|
||||
public void setErrcode(Integer errcode) {
|
||||
this.errcode = errcode;
|
||||
}
|
||||
|
||||
public String getErrmsg() {
|
||||
return errmsg;
|
||||
}
|
||||
|
||||
public void setErrmsg(String errmsg) {
|
||||
this.errmsg = errmsg;
|
||||
}
|
||||
}
|
@@ -0,0 +1,106 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDevice {
|
||||
private String id;
|
||||
private String mac;
|
||||
private String connect_protocol;
|
||||
private String auth_key;
|
||||
private String close_strategy;
|
||||
private String conn_strategy;
|
||||
private String crypt_method;
|
||||
private String auth_ver;
|
||||
private String manu_mac_pos;
|
||||
private String ser_mac_pos;
|
||||
private String ble_simple_protocol;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getMac() {
|
||||
return mac;
|
||||
}
|
||||
|
||||
public void setMac(String mac) {
|
||||
this.mac = mac;
|
||||
}
|
||||
|
||||
public String getConnect_protocol() {
|
||||
return connect_protocol;
|
||||
}
|
||||
|
||||
public void setConnect_protocol(String connect_protocol) {
|
||||
this.connect_protocol = connect_protocol;
|
||||
}
|
||||
|
||||
public String getAuth_key() {
|
||||
return auth_key;
|
||||
}
|
||||
|
||||
public void setAuth_key(String auth_key) {
|
||||
this.auth_key = auth_key;
|
||||
}
|
||||
|
||||
public String getClose_strategy() {
|
||||
return close_strategy;
|
||||
}
|
||||
|
||||
public void setClose_strategy(String close_strategy) {
|
||||
this.close_strategy = close_strategy;
|
||||
}
|
||||
|
||||
public String getConn_strategy() {
|
||||
return conn_strategy;
|
||||
}
|
||||
|
||||
public void setConn_strategy(String conn_strategy) {
|
||||
this.conn_strategy = conn_strategy;
|
||||
}
|
||||
|
||||
public String getCrypt_method() {
|
||||
return crypt_method;
|
||||
}
|
||||
|
||||
public void setCrypt_method(String crypt_method) {
|
||||
this.crypt_method = crypt_method;
|
||||
}
|
||||
|
||||
public String getAuth_ver() {
|
||||
return auth_ver;
|
||||
}
|
||||
|
||||
public void setAuth_ver(String auth_ver) {
|
||||
this.auth_ver = auth_ver;
|
||||
}
|
||||
|
||||
public String getManu_mac_pos() {
|
||||
return manu_mac_pos;
|
||||
}
|
||||
|
||||
public void setManu_mac_pos(String manu_mac_pos) {
|
||||
this.manu_mac_pos = manu_mac_pos;
|
||||
}
|
||||
|
||||
public String getSer_mac_pos() {
|
||||
return ser_mac_pos;
|
||||
}
|
||||
|
||||
public void setSer_mac_pos(String ser_mac_pos) {
|
||||
this.ser_mac_pos = ser_mac_pos;
|
||||
}
|
||||
|
||||
public String getBle_simple_protocol() {
|
||||
return ble_simple_protocol;
|
||||
}
|
||||
|
||||
public void setBle_simple_protocol(String ble_simple_protocol) {
|
||||
this.ble_simple_protocol = ble_simple_protocol;
|
||||
}
|
||||
}
|
@@ -0,0 +1,42 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDeviceAuthorize extends AbstractDeviceBean {
|
||||
private String deivce_num;
|
||||
private String op_type;
|
||||
private List<WxDevice> device_list = new LinkedList<>();
|
||||
|
||||
public String getDeivce_num() {
|
||||
return deivce_num;
|
||||
}
|
||||
|
||||
public void setDeivce_num(String deivce_num) {
|
||||
this.deivce_num = deivce_num;
|
||||
}
|
||||
|
||||
public String getOp_type() {
|
||||
return op_type;
|
||||
}
|
||||
|
||||
public void setOp_type(String op_type) {
|
||||
this.op_type = op_type;
|
||||
}
|
||||
|
||||
public List<WxDevice> getDevice_list() {
|
||||
return device_list;
|
||||
}
|
||||
|
||||
public void setDevice_list(List<WxDevice> device_list) {
|
||||
this.device_list = device_list;
|
||||
}
|
||||
|
||||
public void addDevice(WxDevice... devices) {
|
||||
this.device_list.addAll(Arrays.asList(devices));
|
||||
}
|
||||
}
|
@@ -0,0 +1,24 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDeviceAuthorizeResult extends AbstractDeviceBean{
|
||||
private List<BaseResp> resp;
|
||||
|
||||
public static WxDeviceAuthorizeResult fromJson(String response) {
|
||||
return WxGsonBuilder.create().fromJson(response, WxDeviceAuthorizeResult.class);
|
||||
}
|
||||
|
||||
public List<BaseResp> getResp() {
|
||||
return resp;
|
||||
}
|
||||
|
||||
public void setResp(List<BaseResp> resp) {
|
||||
this.resp = resp;
|
||||
}
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDeviceBind extends AbstractDeviceBean{
|
||||
private String ticket;
|
||||
private String device_id;
|
||||
private String openid;
|
||||
|
||||
public String getTicket() {
|
||||
return ticket;
|
||||
}
|
||||
|
||||
public void setTicket(String ticket) {
|
||||
this.ticket = ticket;
|
||||
}
|
||||
|
||||
public String getDevice_id() {
|
||||
return device_id;
|
||||
}
|
||||
|
||||
public void setDevice_id(String device_id) {
|
||||
this.device_id = device_id;
|
||||
}
|
||||
|
||||
public String getOpenid() {
|
||||
return openid;
|
||||
}
|
||||
|
||||
public void setOpenid(String openid) {
|
||||
this.openid = openid;
|
||||
}
|
||||
}
|
@@ -0,0 +1,22 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDeviceBindResult extends AbstractDeviceBean{
|
||||
private BaseResp base_resp;
|
||||
|
||||
public static WxDeviceBindResult fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, WxDeviceBindResult.class);
|
||||
}
|
||||
|
||||
public BaseResp getBase_resp() {
|
||||
return base_resp;
|
||||
}
|
||||
|
||||
public void setBase_resp(BaseResp base_resp) {
|
||||
this.base_resp = base_resp;
|
||||
}
|
||||
}
|
@@ -0,0 +1,50 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import me.chanjar.weixin.common.util.ToStringUtils;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDeviceMsg extends AbstractDeviceBean{
|
||||
private String deviceType;
|
||||
private String deviceId;
|
||||
private String openId;
|
||||
private String content;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return ToStringUtils.toSimpleString(this);
|
||||
}
|
||||
|
||||
public String getDeviceType() {
|
||||
return deviceType;
|
||||
}
|
||||
|
||||
public void setDeviceType(String deviceType) {
|
||||
this.deviceType = deviceType;
|
||||
}
|
||||
|
||||
public String getDeviceId() {
|
||||
return deviceId;
|
||||
}
|
||||
|
||||
public void setDeviceId(String deviceId) {
|
||||
this.deviceId = deviceId;
|
||||
}
|
||||
|
||||
public String getOpenId() {
|
||||
return openId;
|
||||
}
|
||||
|
||||
public void setOpenId(String openId) {
|
||||
this.openId = openId;
|
||||
}
|
||||
|
||||
public String getContent() {
|
||||
return content;
|
||||
}
|
||||
|
||||
public void setContent(String content) {
|
||||
this.content = content;
|
||||
}
|
||||
}
|
@@ -0,0 +1,49 @@
|
||||
package me.chanjar.weixin.mp.bean.device;
|
||||
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 10/12/2016.
|
||||
*/
|
||||
public class WxDeviceQrCodeResult extends AbstractDeviceBean{
|
||||
private String deviceid;
|
||||
private String qrticket;
|
||||
private String devcielicence;
|
||||
private RespMsg resp_msg;
|
||||
|
||||
public static WxDeviceQrCodeResult fromJson(String json) {
|
||||
return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxDeviceQrCodeResult.class);
|
||||
}
|
||||
|
||||
public String getDevcielicence() {
|
||||
return devcielicence;
|
||||
}
|
||||
|
||||
public void setDevcielicence(String devcielicence) {
|
||||
this.devcielicence = devcielicence;
|
||||
}
|
||||
|
||||
public RespMsg getResp_msg() {
|
||||
return resp_msg;
|
||||
}
|
||||
|
||||
public void setResp_msg(RespMsg resp_msg) {
|
||||
this.resp_msg = resp_msg;
|
||||
}
|
||||
|
||||
public String getDeviceid() {
|
||||
return deviceid;
|
||||
}
|
||||
|
||||
public void setDeviceid(String deviceid) {
|
||||
this.deviceid = deviceid;
|
||||
}
|
||||
|
||||
public String getQrticket() {
|
||||
return qrticket;
|
||||
}
|
||||
|
||||
public void setQrticket(String qrticket) {
|
||||
this.qrticket = qrticket;
|
||||
}
|
||||
}
|
@@ -0,0 +1,40 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.ApiTestModule;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.device.WxDeviceQrCodeResult;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Created by keungtung on 14/12/2016.
|
||||
*/
|
||||
@Test(groups = "deviceApi")
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class WxMpDeviceServiceImplTest {
|
||||
@Inject
|
||||
protected WxMpService wxService;
|
||||
|
||||
@Test(dataProvider = "productId")
|
||||
public void testGetQrcode(String productId) {
|
||||
try {
|
||||
WxDeviceQrCodeResult result = wxService.getDeviceService().getQrCode(productId);
|
||||
println(result.toJson());
|
||||
} catch (WxErrorException e) {
|
||||
println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void println(String content) {
|
||||
System.out.println(content);
|
||||
}
|
||||
|
||||
@DataProvider(name = "productId")
|
||||
public Object[][] getProductId() {
|
||||
return new Object[][]{new Object[]{"25639"}};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user