From 84e5810d097922d07d20b72be553f36071797d1b Mon Sep 17 00:00:00 2001
From: lsp <577029454@qq.com>
Date: Mon, 22 Dec 2025 13:51:23 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=B0=8F=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F=E6=96=B0=E5=A2=9E=E8=AE=BE=E5=A4=87=E7=BB=84=E7=9B=B8?=
=?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api/WxMaDeviceSubscribeService.java | 56 ++++++++++++++++++-
.../impl/WxMaDeviceSubscribeServiceImpl.java | 54 +++++++++++++++++-
.../device/WxMaCreateIotGroupIdRequest.java | 38 +++++++++++++
.../device/WxMaGetIotGroupInfoRequest.java | 33 +++++++++++
.../WxMaIotGroupDeviceInfoResponse.java | 55 ++++++++++++++++++
.../device/WxMaIotGroupDeviceRequest.java | 44 +++++++++++++++
.../miniapp/constant/WxMaApiUrlConstants.java | 8 +++
.../WxMaDeviceSubscribeServiceImplTest.java | 55 ++++++++++++++++--
8 files changed, 335 insertions(+), 8 deletions(-)
create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaGetIotGroupInfoRequest.java
create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java
create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceRequest.java
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java
index f44f64e48d..fb10605fdf 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java
@@ -1,9 +1,10 @@
package cn.binarywang.wx.miniapp.api;
-import cn.binarywang.wx.miniapp.bean.device.WxMaDeviceSubscribeMessageRequest;
-import cn.binarywang.wx.miniapp.bean.device.WxMaDeviceTicketRequest;
+import cn.binarywang.wx.miniapp.bean.device.*;
import me.chanjar.weixin.common.error.WxErrorException;
+import java.util.List;
+
/**
* 小程序设备订阅消息相关 API
* 文档:
@@ -21,6 +22,7 @@ public interface WxMaDeviceSubscribeService {
* 注意:
* 设备ticket有效时间为5分钟
*
+ *
* @param deviceTicketRequest
* @return
* @throws WxErrorException
@@ -37,4 +39,54 @@ public interface WxMaDeviceSubscribeService {
*/
void sendDeviceSubscribeMsg(WxMaDeviceSubscribeMessageRequest deviceSubscribeMessageRequest) throws WxErrorException;
+ /**
+ *
+ * 创建设备组
+ * 详情请见:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/hardware-device/createIotGroupId.html
+ *
+ *
+ * @param createIotGroupIdRequest 请求参数
+ * @return 设备组的唯一标识
+ * @throws WxErrorException
+ */
+ String createIotGroupId(WxMaCreateIotGroupIdRequest createIotGroupIdRequest) throws WxErrorException;
+
+ /**
+ *
+ * 查询设备组信息
+ * 详情请见:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/hardware-device/getIotGroupInfo.html
+ *
+ *
+ * @param getIotGroupInfoRequest 请求参数
+ * @return 设备组信息
+ * @throws WxErrorException
+ */
+ WxMaIotGroupDeviceInfoResponse getIotGroupInfo(WxMaGetIotGroupInfoRequest getIotGroupInfoRequest) throws WxErrorException;
+
+ /**
+ *
+ * 设备组添加设备
+ * 一个设备组最多添加 50 个设备。 一个设备同一时间只能被添加到一个设备组中。
+ * 详情请见:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/hardware-device/addIotGroupDevice.html
+ *
+ *
+ * @param request 请求参数
+ * @return 成功添加的设备信息
+ * @throws WxErrorException
+ */
+ List addIotGroupDevice(WxMaIotGroupDeviceRequest request) throws WxErrorException;
+
+ /**
+ *
+ * 设备组删除设备
+ * 一个设备组最多添加 50 个设备。 一个设备同一时间只能被添加到一个设备组中。
+ * 详情请见:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/hardware-device/removeIotGroupDevice.html
+ *
+ *
+ * @param request 请求参数
+ * @return 成功删除的设备信息
+ * @throws WxErrorException
+ */
+ List removeIotGroupDevice(WxMaIotGroupDeviceRequest request) throws WxErrorException;
+
}
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImpl.java
index 7f8dce1df8..632fe7bd94 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImpl.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImpl.java
@@ -2,18 +2,26 @@
import cn.binarywang.wx.miniapp.api.WxMaDeviceSubscribeService;
import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.bean.device.WxMaDeviceSubscribeMessageRequest;
-import cn.binarywang.wx.miniapp.bean.device.WxMaDeviceTicketRequest;
+import cn.binarywang.wx.miniapp.bean.device.*;
+import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.google.gson.JsonObject;
+import com.google.gson.reflect.TypeToken;
import lombok.RequiredArgsConstructor;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.enums.WxType;
import me.chanjar.weixin.common.error.WxError;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.util.json.GsonParser;
+import me.chanjar.weixin.common.util.json.WxGsonBuilder;
+
+import java.util.List;
import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.DeviceSubscribe.GET_SN_TICKET_URL;
import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.DeviceSubscribe.SEND_DEVICE_SUBSCRIBE_MSG_URL;
+import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.DeviceSubscribe.CREATE_IOT_GROUP_ID_URL;
+import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.DeviceSubscribe.GET_IOT_GROUP_INFO_URL;
+import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.DeviceSubscribe.ADD_IOT_GROUP_DEVICE_URL;
+import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.DeviceSubscribe.REMOVE_IOT_GROUP_DEVICE_URL;
/**
* 小程序设备订阅消息相关 API
@@ -47,4 +55,46 @@ public void sendDeviceSubscribeMsg(WxMaDeviceSubscribeMessageRequest deviceSubsc
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
}
}
+
+ @Override
+ public String createIotGroupId(WxMaCreateIotGroupIdRequest createIotGroupIdRequest) throws WxErrorException {
+ String responseContent = this.service.post(CREATE_IOT_GROUP_ID_URL, createIotGroupIdRequest.toJson());
+ JsonObject jsonObject = GsonParser.parse(responseContent);
+ if (jsonObject.get(WxConsts.ERR_CODE).getAsInt() != 0) {
+ throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
+ }
+ return jsonObject.get("group_id").getAsString();
+ }
+
+ @Override
+ public WxMaIotGroupDeviceInfoResponse getIotGroupInfo(WxMaGetIotGroupInfoRequest getIotGroupInfoRequest) throws WxErrorException {
+ String responseContent = this.service.post(GET_IOT_GROUP_INFO_URL, getIotGroupInfoRequest.toJson());
+ JsonObject jsonObject = GsonParser.parse(responseContent);
+ if (jsonObject.get(WxConsts.ERR_CODE).getAsInt() != 0) {
+ throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
+ }
+ return WxGsonBuilder.create().fromJson(responseContent, WxMaIotGroupDeviceInfoResponse.class);
+ }
+
+ @Override
+ public List addIotGroupDevice(WxMaIotGroupDeviceRequest request) throws WxErrorException {
+ String responseContent = this.service.post(ADD_IOT_GROUP_DEVICE_URL, request.toJson());
+ JsonObject jsonObject = GsonParser.parse(responseContent);
+ if (jsonObject.get(WxConsts.ERR_CODE).getAsInt() != 0) {
+ throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
+ }
+ return WxMaGsonBuilder.create().fromJson(jsonObject.getAsJsonArray("device_list"), new TypeToken>() {
+ }.getType());
+ }
+
+ @Override
+ public List removeIotGroupDevice(WxMaIotGroupDeviceRequest request) throws WxErrorException {
+ String responseContent = this.service.post(REMOVE_IOT_GROUP_DEVICE_URL, request.toJson());
+ JsonObject jsonObject = GsonParser.parse(responseContent);
+ if (jsonObject.get(WxConsts.ERR_CODE).getAsInt() != 0) {
+ throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
+ }
+ return WxMaGsonBuilder.create().fromJson(jsonObject.getAsJsonArray("device_list"), new TypeToken>() {
+ }.getType());
+ }
}
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
new file mode 100644
index 0000000000..e5c6f11589
--- /dev/null
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
@@ -0,0 +1,38 @@
+package cn.binarywang.wx.miniapp.bean.device;
+
+import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
+import com.google.gson.annotations.SerializedName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Author: yanglegetuo
+ * @Date: 2025/12/22 8:51
+ * @Description: 创建设备组 请求参数
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WxMaCreateIotGroupIdRequest implements Serializable {
+ private static final long serialVersionUID = 1827809470414413390L;
+ /**
+ * 设备型号id。通过注册设备获得(必填)
+ */
+ @SerializedName("model_id")
+ private String modelId;
+ /**
+ * 设备组的名称(创建时时决定,无法修改)
+ */
+ @SerializedName("group_name")
+ private String groupName;
+
+
+ public String toJson() {
+ return WxMaGsonBuilder.create().toJson(this);
+ }
+}
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaGetIotGroupInfoRequest.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaGetIotGroupInfoRequest.java
new file mode 100644
index 0000000000..47ebc2be44
--- /dev/null
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaGetIotGroupInfoRequest.java
@@ -0,0 +1,33 @@
+package cn.binarywang.wx.miniapp.bean.device;
+
+import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
+import com.google.gson.annotations.SerializedName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Author: yanglegetuo
+ * @Date: 2025/12/22 8:51
+ * @Description: 查询设备组信息 请求参数
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WxMaGetIotGroupInfoRequest implements Serializable {
+
+ private static final long serialVersionUID = 4913375114243384968L;
+ /**
+ * 设备组的唯一标识(必填)
+ */
+ @SerializedName("group_id")
+ private String groupId;
+
+ public String toJson() {
+ return WxMaGsonBuilder.create().toJson(this);
+ }
+}
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java
new file mode 100644
index 0000000000..558d236c98
--- /dev/null
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java
@@ -0,0 +1,55 @@
+package cn.binarywang.wx.miniapp.bean.device;
+
+import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
+import com.google.gson.annotations.SerializedName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author: yanglegetuo
+ * @Date: 2025/12/22 8:51
+ * @Description: 设备组信息 响应参数
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WxMaIotGroupDeviceInfoResponse implements Serializable {
+
+ private static final long serialVersionUID = 6615660801230308048L;
+ /**
+ * 设备组名称
+ */
+ @SerializedName("group_name")
+ private String groupName;
+ /**
+ * 设备列表
+ */
+ @SerializedName("device_list")
+ private List deviceList;
+
+ /**
+ * 设备型号id。通过注册设备获得(必填)
+ */
+ @SerializedName("model_id")
+ private String modelId;
+ /**
+ * 门禁机
+ */
+ @SerializedName("model_type")
+ private String modelType;
+ /**
+ * 组最大设备数量
+ */
+ @SerializedName("max_device_count")
+ private String maxDeviceCount;
+
+ public String toJson() {
+ return WxMaGsonBuilder.create().toJson(this);
+ }
+}
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceRequest.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceRequest.java
new file mode 100644
index 0000000000..02b87d6f02
--- /dev/null
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceRequest.java
@@ -0,0 +1,44 @@
+package cn.binarywang.wx.miniapp.bean.device;
+
+import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
+import com.google.gson.annotations.SerializedName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author: yanglegetuo
+ * @Date: 2025/12/22 8:51
+ * @Description: 设备组 添加/移除 设备 请求参数
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WxMaIotGroupDeviceRequest implements Serializable {
+ private static final long serialVersionUID = -5648997758678588138L;
+
+ /**
+ * 设备组的唯一标识(必填)
+ */
+ @SerializedName("group_id")
+ private String groupId;
+ /**
+ * 设备列表
+ */
+ @SerializedName("device_list")
+ private List deviceList;
+ /**
+ * 是否强制更新设备列表,等于 true 时将已存在其它设备组中的设备移除并添加到当前设备组,慎用。
+ */
+ @SerializedName("force_add")
+ private Boolean forceAdd;
+
+ public String toJson() {
+ return WxMaGsonBuilder.create().toJson(this);
+ }
+}
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java
index 76625334f4..2a7496e06e 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java
@@ -569,6 +569,14 @@ public interface DeviceSubscribe {
/** 发送设备订阅消息 */
String SEND_DEVICE_SUBSCRIBE_MSG_URL =
"https://api.weixin.qq.com/cgi-bin/message/device/subscribe/send";
+ /** 创建设备组 */
+ String CREATE_IOT_GROUP_ID_URL = "https://api.weixin.qq.com/wxa/business/group/createid";
+ /** 设备组添加设备 */
+ String ADD_IOT_GROUP_DEVICE_URL = "https://api.weixin.qq.com/wxa/business/group/adddevice";
+ /** 设备组删除设备 */
+ String REMOVE_IOT_GROUP_DEVICE_URL = "https://api.weixin.qq.com/wxa/business/group/removedevice";
+ /** 查询设备组信息 */
+ String GET_IOT_GROUP_INFO_URL = "https://api.weixin.qq.com/wxa/business/group/getinfo";
}
/**
diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
index e1c4390549..9e88aa74d1 100644
--- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
+++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
@@ -1,8 +1,7 @@
package cn.binarywang.wx.miniapp.api.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.bean.device.WxMaDeviceSubscribeMessageRequest;
-import cn.binarywang.wx.miniapp.bean.device.WxMaDeviceTicketRequest;
+import cn.binarywang.wx.miniapp.bean.device.*;
import cn.binarywang.wx.miniapp.test.ApiTestModule;
import com.google.common.collect.Lists;
import com.google.gson.GsonBuilder;
@@ -13,6 +12,11 @@
import org.testng.annotations.Guice;
import org.testng.annotations.Test;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
/**
* 小程序设备订阅消息相关 测试类
*
@@ -27,7 +31,7 @@ public class WxMaDeviceSubscribeServiceImplTest {
protected WxMaService wxService;
@Test
- public void testGetSnTicket() throws WxErrorException{
+ public void testGetSnTicket() throws WxErrorException {
WxMaDeviceTicketRequest wxMaDeviceTicketRequest = new WxMaDeviceTicketRequest();
wxMaDeviceTicketRequest.setModelId("11111");
wxMaDeviceTicketRequest.setSn("11111");
@@ -36,7 +40,7 @@ public void testGetSnTicket() throws WxErrorException{
}
@Test
- public void sendDeviceSubscribeMsg() throws WxErrorException{
+ public void sendDeviceSubscribeMsg() throws WxErrorException {
WxMaDeviceSubscribeMessageRequest wxMaDeviceSubscribeMessageRequest = new WxMaDeviceSubscribeMessageRequest();
wxMaDeviceSubscribeMessageRequest.setToOpenidList(Lists.newArrayList("1", "2"));
wxMaDeviceSubscribeMessageRequest.setPage("pages/index/index");
@@ -56,4 +60,47 @@ public void sendDeviceSubscribeMsg() throws WxErrorException{
wxMaDeviceSubscribeMessageRequest.setData(data);
this.wxService.getDeviceSubscribeService().sendDeviceSubscribeMsg(wxMaDeviceSubscribeMessageRequest);
}
+
+ @Test
+ public void testCreateIotGroupId() throws WxErrorException {
+ WxMaCreateIotGroupIdRequest request = new WxMaCreateIotGroupIdRequest();
+ request.setModelId("11111");
+ request.setGroupName("测试设备组");
+ String groupId = this.wxService.getDeviceSubscribeService().createIotGroupId(request);
+ System.out.println(groupId);
+ }
+
+ @Test
+ public void testGetIotGroupInfo() throws WxErrorException {
+ WxMaGetIotGroupInfoRequest request = new WxMaGetIotGroupInfoRequest();
+ request.setGroupId("12313123");
+ WxMaIotGroupDeviceInfoResponse response = this.wxService.getDeviceSubscribeService().getIotGroupInfo(request);
+ System.out.println(response.toString());
+ }
+
+ @Test
+ public void testAddIotGroupDevice() throws WxErrorException {
+ WxMaDeviceTicketRequest deviceTicketRequest = new WxMaDeviceTicketRequest();
+ deviceTicketRequest.setSn("2222222");
+ deviceTicketRequest.setModelId("sdfeweee");
+ WxMaIotGroupDeviceRequest request = new WxMaIotGroupDeviceRequest();
+ request.setGroupId("12313123");
+ request.setDeviceList(Collections.singletonList(deviceTicketRequest));
+ request.setForceAdd(true);
+ List response = this.wxService.getDeviceSubscribeService().addIotGroupDevice(request);
+ System.out.println(response.toString());
+ }
+
+ @Test
+ public void testRemoveIotGroupDevice() throws WxErrorException {
+ WxMaDeviceTicketRequest deviceTicketRequest = new WxMaDeviceTicketRequest();
+ deviceTicketRequest.setSn("2222222");
+ deviceTicketRequest.setModelId("sdfeweee");
+ WxMaIotGroupDeviceRequest request = new WxMaIotGroupDeviceRequest();
+ request.setGroupId("12313123");
+ request.setDeviceList(Collections.singletonList(deviceTicketRequest));
+ request.setForceAdd(true);
+ List response = this.wxService.getDeviceSubscribeService().removeIotGroupDevice(request);
+ System.out.println(response.toString());
+ }
}
From 0876ee8ceb2f56de6db982f515100baec0bc99fa Mon Sep 17 00:00:00 2001
From: Binary Wang
Date: Tue, 23 Dec 2025 13:13:03 +0800
Subject: [PATCH 2/4] Update
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
index e5c6f11589..20a0a146ae 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaCreateIotGroupIdRequest.java
@@ -26,7 +26,7 @@ public class WxMaCreateIotGroupIdRequest implements Serializable {
@SerializedName("model_id")
private String modelId;
/**
- * 设备组的名称(创建时时决定,无法修改)
+ * 设备组的名称(创建时决定,无法修改)
*/
@SerializedName("group_name")
private String groupName;
From a0d8420b852d2f51bb6f2f3e4c98340dd936e757 Mon Sep 17 00:00:00 2001
From: Binary Wang
Date: Tue, 23 Dec 2025 13:13:14 +0800
Subject: [PATCH 3/4] Update
weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java | 2 --
1 file changed, 2 deletions(-)
diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
index 9e88aa74d1..e1eee5c860 100644
--- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
+++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
@@ -12,8 +12,6 @@
import org.testng.annotations.Guice;
import org.testng.annotations.Test;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
From c4252dab44251cfe2408d7f1c0ddd0ba303e63b4 Mon Sep 17 00:00:00 2001
From: lsp <577029454@qq.com>
Date: Tue, 23 Dec 2025 13:41:55 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87?=
=?UTF-8?q?=E7=BB=84=E7=A7=BB=E9=99=A4=E8=AE=BE=E5=A4=87=E6=B3=A8=E9=87=8A?=
=?UTF-8?q?,=E4=BB=A5=E5=8F=8A=E6=B5=8B=E8=AF=95=E6=96=B9=E6=B3=95?=
=?UTF-8?q?=E8=A7=84=E8=8C=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wx/miniapp/api/WxMaDeviceSubscribeService.java | 1 -
.../bean/device/WxMaIotGroupDeviceInfoResponse.java | 8 ++------
.../api/impl/WxMaDeviceSubscribeServiceImplTest.java | 12 +++++-------
3 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java
index fb10605fdf..b45bc058a6 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaDeviceSubscribeService.java
@@ -79,7 +79,6 @@ public interface WxMaDeviceSubscribeService {
/**
*
* 设备组删除设备
- * 一个设备组最多添加 50 个设备。 一个设备同一时间只能被添加到一个设备组中。
* 详情请见:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/hardware-device/removeIotGroupDevice.html
*
*
diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java
index 558d236c98..e7bd92edf8 100644
--- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java
+++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/device/WxMaIotGroupDeviceInfoResponse.java
@@ -39,15 +39,11 @@ public class WxMaIotGroupDeviceInfoResponse implements Serializable {
@SerializedName("model_id")
private String modelId;
/**
- * 门禁机
+ * 设备类型
*/
@SerializedName("model_type")
private String modelType;
- /**
- * 组最大设备数量
- */
- @SerializedName("max_device_count")
- private String maxDeviceCount;
+
public String toJson() {
return WxMaGsonBuilder.create().toJson(this);
diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
index 9e88aa74d1..838713868a 100644
--- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
+++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaDeviceSubscribeServiceImplTest.java
@@ -4,16 +4,14 @@
import cn.binarywang.wx.miniapp.bean.device.*;
import cn.binarywang.wx.miniapp.test.ApiTestModule;
import com.google.common.collect.Lists;
-import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.inject.Inject;
+import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.util.json.GsonParser;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -23,6 +21,7 @@
* @author JCLee
* @since 2021-12-16 17:13:35
*/
+@Slf4j
@Test
@Guice(modules = ApiTestModule.class)
public class WxMaDeviceSubscribeServiceImplTest {
@@ -75,7 +74,7 @@ public void testGetIotGroupInfo() throws WxErrorException {
WxMaGetIotGroupInfoRequest request = new WxMaGetIotGroupInfoRequest();
request.setGroupId("12313123");
WxMaIotGroupDeviceInfoResponse response = this.wxService.getDeviceSubscribeService().getIotGroupInfo(request);
- System.out.println(response.toString());
+ log.info("testGetIotGroupInfo = {}", response);
}
@Test
@@ -88,7 +87,7 @@ public void testAddIotGroupDevice() throws WxErrorException {
request.setDeviceList(Collections.singletonList(deviceTicketRequest));
request.setForceAdd(true);
List response = this.wxService.getDeviceSubscribeService().addIotGroupDevice(request);
- System.out.println(response.toString());
+ log.info("testAddIotGroupDevice = {}", response);
}
@Test
@@ -99,8 +98,7 @@ public void testRemoveIotGroupDevice() throws WxErrorException {
WxMaIotGroupDeviceRequest request = new WxMaIotGroupDeviceRequest();
request.setGroupId("12313123");
request.setDeviceList(Collections.singletonList(deviceTicketRequest));
- request.setForceAdd(true);
List response = this.wxService.getDeviceSubscribeService().removeIotGroupDevice(request);
- System.out.println(response.toString());
+ log.info("testRemoveIotGroupDevice = {}", response);
}
}