Skip to content

Commit db48762

Browse files
author
dongfuqiang
committed
Merge branch 'develop'
2 parents 8befed5 + fe800cd commit db48762

File tree

6 files changed

+158
-21
lines changed

6 files changed

+158
-21
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpDeviceService.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,24 @@ public interface WxMpDeviceService {
7676
*/
7777
WxDeviceBindResult compelUnbind(WxDeviceBind wxDeviceBind) throws WxErrorException;
7878

79+
/**
80+
* <pre>
81+
* 通过device type和device id 获取设备主人的openid
82+
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-11
83+
* </pre>
84+
* @param deviceType 设备类型,目前为"公众账号原始ID"
85+
* @param deviceId 设备ID
86+
* @return WxDeviceOpenIdResult
87+
*/
88+
WxDeviceOpenIdResult getOpenId(String deviceType,String deviceId) throws WxErrorException;
7989

90+
/**
91+
* <pre>
92+
* 通过openid获取用户在当前devicetype下绑定的deviceid列表`
93+
* 详情请见:http://iot.weixin.qq.com/wiki/new/index.html?page=3-4-12
94+
* </pre>
95+
* @param openId 要查询的用户的openid
96+
* @return WxDeviceBindDeviceResult
97+
*/
98+
WxDeviceBindDeviceResult getBindDevice(String openId) throws WxErrorException;
8099
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpDeviceServiceImpl.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class WxMpDeviceServiceImpl implements WxMpDeviceService {
2323
@Override
2424
public TransMsgResp transMsg(WxDeviceMsg msg) throws WxErrorException {
2525
String url = API_URL_PREFIX + "/transmsg";
26-
String response = this.wxMpService.post(url,msg.toJson());
26+
String response = this.wxMpService.post(url, msg.toJson());
2727
return TransMsgResp.fromJson(response);
2828
}
2929

@@ -37,21 +37,21 @@ public WxDeviceQrCodeResult getQrCode(String productId) throws WxErrorException
3737
@Override
3838
public WxDeviceAuthorizeResult authorize(WxDeviceAuthorize wxDeviceAuthorize) throws WxErrorException {
3939
String url = API_URL_PREFIX + "/authorize_device";
40-
String response = this.wxMpService.post(url,wxDeviceAuthorize.toJson());
40+
String response = this.wxMpService.post(url, wxDeviceAuthorize.toJson());
4141
return WxDeviceAuthorizeResult.fromJson(response);
4242
}
4343

4444
@Override
4545
public WxDeviceBindResult bind(WxDeviceBind wxDeviceBind) throws WxErrorException {
4646
String url = API_URL_PREFIX + "/bind";
47-
String response = this.wxMpService.post(url,wxDeviceBind.toJson());
47+
String response = this.wxMpService.post(url, wxDeviceBind.toJson());
4848
return WxDeviceBindResult.fromJson(response);
4949
}
5050

5151
@Override
5252
public WxDeviceBindResult compelBind(WxDeviceBind wxDeviceBind) throws WxErrorException {
5353
String url = API_URL_PREFIX + "/compel_bind";
54-
String response = this.wxMpService.post(url,wxDeviceBind.toJson());
54+
String response = this.wxMpService.post(url, wxDeviceBind.toJson());
5555
return WxDeviceBindResult.fromJson(response);
5656
}
5757

@@ -68,5 +68,19 @@ public WxDeviceBindResult compelUnbind(WxDeviceBind wxDeviceBind) throws WxError
6868
String response = this.wxMpService.post(url, wxDeviceBind.toJson());
6969
return WxDeviceBindResult.fromJson(response);
7070
}
71+
72+
@Override
73+
public WxDeviceOpenIdResult getOpenId(String deviceType, String deviceId) throws WxErrorException {
74+
String url = API_URL_PREFIX + "/get_openid";
75+
String response = this.wxMpService.get(url, "device_type=" + deviceType + "&device_id=" + deviceId);
76+
return WxDeviceOpenIdResult.fromJson(response);
77+
}
78+
79+
@Override
80+
public WxDeviceBindDeviceResult getBindDevice(String openId) throws WxErrorException {
81+
String url = API_URL_PREFIX+"/get_bind_device";
82+
String response = this.wxMpService.get(url,"openid="+openId);
83+
return WxDeviceBindDeviceResult.fromJson(response);
84+
}
7185
}
7286

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/device/BaseResp.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,25 @@ public void setErrMsg(String errMsg) {
3838
}
3939

4040
private class BaseInfo {
41-
private String device_type;
42-
private String device_id;
41+
@SerializedName("device_type")
42+
private String deviceType;
43+
@SerializedName("device_id")
44+
private String deviceId;
4345

44-
public String getDevice_type() {
45-
return device_type;
46+
public String getDeviceType() {
47+
return deviceType;
4648
}
4749

48-
public void setDevice_type(String device_type) {
49-
this.device_type = device_type;
50+
public void setDeviceType(String deviceType) {
51+
this.deviceType = deviceType;
5052
}
5153

52-
public String getDevice_id() {
53-
return device_id;
54+
public String getDeviceId() {
55+
return deviceId;
5456
}
5557

56-
public void setDevice_id(String device_id) {
57-
this.device_id = device_id;
58+
public void setDeviceId(String deviceId) {
59+
this.deviceId = deviceId;
5860
}
5961
}
6062
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package me.chanjar.weixin.mp.bean.device;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
5+
6+
import java.util.List;
7+
8+
/**
9+
* Created by keungtung on 16/12/2016.
10+
*/
11+
public class WxDeviceBindDeviceResult extends AbstractDeviceBean {
12+
@SerializedName("resp_msg")
13+
private RespMsg respMsg;
14+
@SerializedName("openid")
15+
private String openId;
16+
@SerializedName("device_list")
17+
private List<Device> devices;
18+
19+
public static WxDeviceBindDeviceResult fromJson(String json) {
20+
return WxMpGsonBuilder.create().fromJson(json, WxDeviceBindDeviceResult.class);
21+
}
22+
23+
private class Device {
24+
@SerializedName("device_type")
25+
private String deviceType;
26+
@SerializedName("device_id")
27+
private String deviceId;
28+
29+
public String getDeviceType() {
30+
return deviceType;
31+
}
32+
33+
public void setDeviceType(String deviceType) {
34+
this.deviceType = deviceType;
35+
}
36+
37+
public String getDeviceId() {
38+
return deviceId;
39+
}
40+
41+
public void setDeviceId(String deviceId) {
42+
this.deviceId = deviceId;
43+
}
44+
}
45+
46+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package me.chanjar.weixin.mp.bean.device;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
5+
6+
import java.util.List;
7+
8+
/**
9+
* Created by keungtung on 16/12/2016.
10+
*/
11+
public class WxDeviceOpenIdResult extends AbstractDeviceBean {
12+
@SerializedName("errcode")
13+
private Integer errCode;
14+
@SerializedName("errmsg")
15+
private String errMsg;
16+
@SerializedName("open_id")
17+
private List<String> openIds;
18+
@SerializedName("resp_msg")
19+
private RespMsg respMsg;
20+
21+
public static WxDeviceOpenIdResult fromJson(String json) {
22+
return WxMpGsonBuilder.create().fromJson(json, WxDeviceOpenIdResult.class);
23+
}
24+
25+
public Integer getErrCode() {
26+
return errCode;
27+
}
28+
29+
public void setErrCode(Integer errCode) {
30+
this.errCode = errCode;
31+
}
32+
33+
public String getErrMsg() {
34+
return errMsg;
35+
}
36+
37+
public void setErrMsg(String errMsg) {
38+
this.errMsg = errMsg;
39+
}
40+
41+
public List<String> getOpenIds() {
42+
return openIds;
43+
}
44+
45+
public void setOpenIds(List<String> openIds) {
46+
this.openIds = openIds;
47+
}
48+
49+
public RespMsg getRespMsg() {
50+
return respMsg;
51+
}
52+
53+
public void setRespMsg(RespMsg respMsg) {
54+
this.respMsg = respMsg;
55+
}
56+
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/device/WxDeviceQrCodeResult.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
/**
77
* Created by keungtung on 10/12/2016.
88
*/
9-
public class WxDeviceQrCodeResult extends AbstractDeviceBean{
9+
public class WxDeviceQrCodeResult extends AbstractDeviceBean {
1010
@SerializedName("deviceid")
1111
private String deviceId;
1212
@SerializedName("qrticket")
1313
private String qrTicket;
1414
@SerializedName("devicelicence")
1515
private String deviceLicence;
16-
@SerializedName("resp_msg")
17-
private RespMsg respMsg;
16+
@SerializedName("base_resp")
17+
private BaseResp baseResp;
1818

1919
public static WxDeviceQrCodeResult fromJson(String json) {
2020
return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxDeviceQrCodeResult.class);
@@ -28,12 +28,12 @@ public void setDeviceLicence(String deviceLicence) {
2828
this.deviceLicence = deviceLicence;
2929
}
3030

31-
public RespMsg getRespMsg() {
32-
return respMsg;
31+
public BaseResp getBaseResp() {
32+
return baseResp;
3333
}
3434

35-
public void setRespMsg(RespMsg respMsg) {
36-
this.respMsg = respMsg;
35+
public void setBaseResp(BaseResp baseResp) {
36+
this.baseResp = baseResp;
3737
}
3838

3939
public String getDeviceId() {

0 commit comments

Comments
 (0)