* 新增两个接口:获取设备绑定的用户、获取用户绑定的设备 * update * 申请设备二维码接口的返回格式有变动,做出相应更改。master
@@ -76,5 +76,24 @@ public interface WxMpDeviceService { | |||||
*/ | */ | ||||
WxDeviceBindResult compelUnbind(WxDeviceBind wxDeviceBind) throws WxErrorException; | WxDeviceBindResult compelUnbind(WxDeviceBind wxDeviceBind) throws WxErrorException; | ||||
/** | |||||
* <pre> | |||||
* 通过device type和device id 获取设备主人的openid | |||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-11 | |||||
* </pre> | |||||
* @param deviceType 设备类型,目前为"公众账号原始ID" | |||||
* @param deviceId 设备ID | |||||
* @return WxDeviceOpenIdResult | |||||
*/ | |||||
WxDeviceOpenIdResult getOpenId(String deviceType,String deviceId) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 通过openid获取用户在当前devicetype下绑定的deviceid列表` | |||||
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-12 | |||||
* </pre> | |||||
* @param openId 要查询的用户的openid | |||||
* @return WxDeviceBindDeviceResult | |||||
*/ | |||||
WxDeviceBindDeviceResult getBindDevice(String openId) throws WxErrorException; | |||||
} | } |
@@ -23,7 +23,7 @@ public class WxMpDeviceServiceImpl implements WxMpDeviceService { | |||||
@Override | @Override | ||||
public TransMsgResp transMsg(WxDeviceMsg msg) throws WxErrorException { | public TransMsgResp transMsg(WxDeviceMsg msg) throws WxErrorException { | ||||
String url = API_URL_PREFIX + "/transmsg"; | String url = API_URL_PREFIX + "/transmsg"; | ||||
String response = this.wxMpService.post(url,msg.toJson()); | |||||
String response = this.wxMpService.post(url, msg.toJson()); | |||||
return TransMsgResp.fromJson(response); | return TransMsgResp.fromJson(response); | ||||
} | } | ||||
@@ -37,21 +37,21 @@ public class WxMpDeviceServiceImpl implements WxMpDeviceService { | |||||
@Override | @Override | ||||
public WxDeviceAuthorizeResult authorize(WxDeviceAuthorize wxDeviceAuthorize) throws WxErrorException { | public WxDeviceAuthorizeResult authorize(WxDeviceAuthorize wxDeviceAuthorize) throws WxErrorException { | ||||
String url = API_URL_PREFIX + "/authorize_device"; | String url = API_URL_PREFIX + "/authorize_device"; | ||||
String response = this.wxMpService.post(url,wxDeviceAuthorize.toJson()); | |||||
String response = this.wxMpService.post(url, wxDeviceAuthorize.toJson()); | |||||
return WxDeviceAuthorizeResult.fromJson(response); | return WxDeviceAuthorizeResult.fromJson(response); | ||||
} | } | ||||
@Override | @Override | ||||
public WxDeviceBindResult bind(WxDeviceBind wxDeviceBind) throws WxErrorException { | public WxDeviceBindResult bind(WxDeviceBind wxDeviceBind) throws WxErrorException { | ||||
String url = API_URL_PREFIX + "/bind"; | String url = API_URL_PREFIX + "/bind"; | ||||
String response = this.wxMpService.post(url,wxDeviceBind.toJson()); | |||||
String response = this.wxMpService.post(url, wxDeviceBind.toJson()); | |||||
return WxDeviceBindResult.fromJson(response); | return WxDeviceBindResult.fromJson(response); | ||||
} | } | ||||
@Override | @Override | ||||
public WxDeviceBindResult compelBind(WxDeviceBind wxDeviceBind) throws WxErrorException { | public WxDeviceBindResult compelBind(WxDeviceBind wxDeviceBind) throws WxErrorException { | ||||
String url = API_URL_PREFIX + "/compel_bind"; | String url = API_URL_PREFIX + "/compel_bind"; | ||||
String response = this.wxMpService.post(url,wxDeviceBind.toJson()); | |||||
String response = this.wxMpService.post(url, wxDeviceBind.toJson()); | |||||
return WxDeviceBindResult.fromJson(response); | return WxDeviceBindResult.fromJson(response); | ||||
} | } | ||||
@@ -68,5 +68,19 @@ public class WxMpDeviceServiceImpl implements WxMpDeviceService { | |||||
String response = this.wxMpService.post(url, wxDeviceBind.toJson()); | String response = this.wxMpService.post(url, wxDeviceBind.toJson()); | ||||
return WxDeviceBindResult.fromJson(response); | return WxDeviceBindResult.fromJson(response); | ||||
} | } | ||||
@Override | |||||
public WxDeviceOpenIdResult getOpenId(String deviceType, String deviceId) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/get_openid"; | |||||
String response = this.wxMpService.get(url, "device_type=" + deviceType + "&device_id=" + deviceId); | |||||
return WxDeviceOpenIdResult.fromJson(response); | |||||
} | |||||
@Override | |||||
public WxDeviceBindDeviceResult getBindDevice(String openId) throws WxErrorException { | |||||
String url = API_URL_PREFIX+"/get_bind_device"; | |||||
String response = this.wxMpService.get(url,"openid="+openId); | |||||
return WxDeviceBindDeviceResult.fromJson(response); | |||||
} | |||||
} | } | ||||
@@ -38,23 +38,25 @@ public class BaseResp extends AbstractDeviceBean{ | |||||
} | } | ||||
private class BaseInfo { | private class BaseInfo { | ||||
private String device_type; | |||||
private String device_id; | |||||
@SerializedName("device_type") | |||||
private String deviceType; | |||||
@SerializedName("device_id") | |||||
private String deviceId; | |||||
public String getDevice_type() { | |||||
return device_type; | |||||
public String getDeviceType() { | |||||
return deviceType; | |||||
} | } | ||||
public void setDevice_type(String device_type) { | |||||
this.device_type = device_type; | |||||
public void setDeviceType(String deviceType) { | |||||
this.deviceType = deviceType; | |||||
} | } | ||||
public String getDevice_id() { | |||||
return device_id; | |||||
public String getDeviceId() { | |||||
return deviceId; | |||||
} | } | ||||
public void setDevice_id(String device_id) { | |||||
this.device_id = device_id; | |||||
public void setDeviceId(String deviceId) { | |||||
this.deviceId = deviceId; | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -0,0 +1,46 @@ | |||||
package me.chanjar.weixin.mp.bean.device; | |||||
import com.google.gson.annotations.SerializedName; | |||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||||
import java.util.List; | |||||
/** | |||||
* Created by keungtung on 16/12/2016. | |||||
*/ | |||||
public class WxDeviceBindDeviceResult extends AbstractDeviceBean { | |||||
@SerializedName("resp_msg") | |||||
private RespMsg respMsg; | |||||
@SerializedName("openid") | |||||
private String openId; | |||||
@SerializedName("device_list") | |||||
private List<Device> devices; | |||||
public static WxDeviceBindDeviceResult fromJson(String json) { | |||||
return WxMpGsonBuilder.create().fromJson(json, WxDeviceBindDeviceResult.class); | |||||
} | |||||
private class Device { | |||||
@SerializedName("device_type") | |||||
private String deviceType; | |||||
@SerializedName("device_id") | |||||
private String deviceId; | |||||
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; | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,56 @@ | |||||
package me.chanjar.weixin.mp.bean.device; | |||||
import com.google.gson.annotations.SerializedName; | |||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||||
import java.util.List; | |||||
/** | |||||
* Created by keungtung on 16/12/2016. | |||||
*/ | |||||
public class WxDeviceOpenIdResult extends AbstractDeviceBean { | |||||
@SerializedName("errcode") | |||||
private Integer errCode; | |||||
@SerializedName("errmsg") | |||||
private String errMsg; | |||||
@SerializedName("open_id") | |||||
private List<String> openIds; | |||||
@SerializedName("resp_msg") | |||||
private RespMsg respMsg; | |||||
public static WxDeviceOpenIdResult fromJson(String json) { | |||||
return WxMpGsonBuilder.create().fromJson(json, WxDeviceOpenIdResult.class); | |||||
} | |||||
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; | |||||
} | |||||
public List<String> getOpenIds() { | |||||
return openIds; | |||||
} | |||||
public void setOpenIds(List<String> openIds) { | |||||
this.openIds = openIds; | |||||
} | |||||
public RespMsg getRespMsg() { | |||||
return respMsg; | |||||
} | |||||
public void setRespMsg(RespMsg respMsg) { | |||||
this.respMsg = respMsg; | |||||
} | |||||
} |
@@ -6,15 +6,15 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||||
/** | /** | ||||
* Created by keungtung on 10/12/2016. | * Created by keungtung on 10/12/2016. | ||||
*/ | */ | ||||
public class WxDeviceQrCodeResult extends AbstractDeviceBean{ | |||||
public class WxDeviceQrCodeResult extends AbstractDeviceBean { | |||||
@SerializedName("deviceid") | @SerializedName("deviceid") | ||||
private String deviceId; | private String deviceId; | ||||
@SerializedName("qrticket") | @SerializedName("qrticket") | ||||
private String qrTicket; | private String qrTicket; | ||||
@SerializedName("devicelicence") | @SerializedName("devicelicence") | ||||
private String deviceLicence; | private String deviceLicence; | ||||
@SerializedName("resp_msg") | |||||
private RespMsg respMsg; | |||||
@SerializedName("base_resp") | |||||
private BaseResp baseResp; | |||||
public static WxDeviceQrCodeResult fromJson(String json) { | public static WxDeviceQrCodeResult fromJson(String json) { | ||||
return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxDeviceQrCodeResult.class); | return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxDeviceQrCodeResult.class); | ||||
@@ -28,12 +28,12 @@ public class WxDeviceQrCodeResult extends AbstractDeviceBean{ | |||||
this.deviceLicence = deviceLicence; | this.deviceLicence = deviceLicence; | ||||
} | } | ||||
public RespMsg getRespMsg() { | |||||
return respMsg; | |||||
public BaseResp getBaseResp() { | |||||
return baseResp; | |||||
} | } | ||||
public void setRespMsg(RespMsg respMsg) { | |||||
this.respMsg = respMsg; | |||||
public void setBaseResp(BaseResp baseResp) { | |||||
this.baseResp = baseResp; | |||||
} | } | ||||
public String getDeviceId() { | public String getDeviceId() { | ||||