|
@@ -8,17 +8,22 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.szwl.model.bo.R;
|
|
|
import com.szwl.model.bo.ResponseModel;
|
|
|
import com.szwl.model.dto.MqttMsgVo;
|
|
|
+import com.szwl.model.dto.MqttReturnVo;
|
|
|
import com.szwl.model.entity.MqttMsg;
|
|
|
import com.szwl.model.entity.MqttTopics;
|
|
|
import com.szwl.model.param.MqttMsgParam;
|
|
|
import com.szwl.service.MqttMsgService;
|
|
|
import com.szwl.service.MqttTopicsService;
|
|
|
import com.szwl.service.base.MqttService;
|
|
|
+import com.szwl.util.MqttUtils;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
+import org.json.JSONArray;
|
|
|
+import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
|
|
|
/**
|
|
@@ -96,5 +101,39 @@ public class MqttController {
|
|
|
return R.ok(recordPage);
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation("获取客户端列表")
|
|
|
+ @GetMapping("/getClientList")
|
|
|
+ public ResponseModel<IPage<?>> getClientList(String page, String limit, String clientId){
|
|
|
+ String clients = MqttUtils.clients(page, limit, clientId);
|
|
|
+ JSONObject jsonObject = new JSONObject(clients);
|
|
|
+ JSONArray data = jsonObject.getJSONArray("data");
|
|
|
+ JSONObject meta = jsonObject.getJSONObject("meta");
|
|
|
+ ArrayList<MqttReturnVo> list = new ArrayList<>();
|
|
|
+ // 获取设备编号和连接状态
|
|
|
+ for (int i = 0; i < data.length(); i++) {
|
|
|
+ JSONObject jsonObject1 = data.getJSONObject(i);
|
|
|
+ MqttReturnVo mqttReturnVo = new MqttReturnVo();
|
|
|
+ String clientid = jsonObject1.getString("clientid");
|
|
|
+ boolean connected = (boolean)jsonObject1.get("connected");
|
|
|
+ mqttReturnVo.setClientId(clientid);
|
|
|
+ mqttReturnVo.setConnected(connected);
|
|
|
+ list.add(mqttReturnVo);
|
|
|
+ }
|
|
|
+ Page<MqttReturnVo> returnVoPage = new Page<>();
|
|
|
+ if (StringUtils.isEmpty(clientId)) {
|
|
|
+ // 获取总数
|
|
|
+ int count = (int)meta.get("count");
|
|
|
+ returnVoPage.setTotal(count);
|
|
|
+ } else {
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ returnVoPage.setTotal(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ returnVoPage.setCurrent(Integer.parseInt(page));
|
|
|
+ returnVoPage.setSize(Integer.parseInt(limit));
|
|
|
+ returnVoPage.setRecords(list);
|
|
|
+ return R.ok(returnVoPage);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|