TRX hai 1 ano
pai
achega
a6cd7c4fc9

+ 3 - 0
OneCardIotClient/src/main/java/com/zhongshu/iot/client/model/artemis/OperationMessageResultModel.java

@@ -126,4 +126,7 @@ public class OperationMessageResultModel extends SuperModel {
 
     @Schema(description = "是否响应成功")
     private Boolean reIsSuccess;
+
+    @Schema(description = "如果下发消息有响应信息")
+    private Object responseData;
 }

+ 7 - 0
OneCardIotClient/src/main/java/com/zhongshu/iot/client/model/iot/IotTemplateSearch.java

@@ -2,6 +2,7 @@ package com.zhongshu.iot.client.model.iot;
 
 import com.github.microservice.models.baseParam.SuperSearchParam;
 import com.github.microservice.types.common.DataState;
+import com.github.microservice.types.deviceUse.DeviceCategory;
 import com.zhongshu.iot.client.type.IotDataType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -24,4 +25,10 @@ public class IotTemplateSearch extends SuperSearchParam {
 
     @Schema(description = "区分是模版还是设备关联的物模型", hidden = true)
     private IotDataType iotDataType;
+
+    @Schema(description = "产品code")
+    private String productCode;
+
+    @Schema(description = "类型")
+    private DeviceCategory deviceCategory;
 }

+ 9 - 1
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/dao/iot/impl/IotTemplateDaoImpl.java

@@ -34,7 +34,7 @@ public class IotTemplateDaoImpl extends BaseImpl implements IotTemplateDaoExtend
 
     @Override
     public Page<IotTemplate> page(Pageable pageable, IotTemplateSearch param) {
-        Criteria criteria = new Criteria();
+        Criteria criteria = buildCriteriaAboutTime(param);
 
         if (StringUtils.isNotEmpty(param.getEpId())) {
             criteria.and("epId").is(param.getEpId());
@@ -45,12 +45,20 @@ public class IotTemplateDaoImpl extends BaseImpl implements IotTemplateDaoExtend
             criteria.and("iotDataType").is(param.getIotDataType());
         }
 
+        if (param.getDeviceCategory() != null) {
+            criteria.and("deviceCategory").is(param.getDeviceCategory());
+        }
+
         // 模糊搜索
         List<Criteria> criterias = new ArrayList<>();
         if (StringUtils.isNotEmpty(param.getName())) {
             Pattern pattern = Pattern.compile("^.*" + param.getName() + ".*$");
             criterias.add(Criteria.where("name").is(pattern));
         }
+        if (StringUtils.isNotEmpty(param.getProductCode())) {
+            Pattern pattern = Pattern.compile("^.*" + param.getProductCode() + ".*$");
+            criterias.add(Criteria.where("productCode").is(pattern));
+        }
         if (!CollectionUtils.isEmpty(criterias)) {
             criteria.andOperator(criterias.toArray(new Criteria[]{}));
         }

+ 4 - 2
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/iot/IotSendMessageService.java

@@ -229,8 +229,10 @@ public class IotSendMessageService extends SuperService {
                 // %s/issued 下发数据 Topic
                 String topic = iotMain.getRealIotTopic();
                 String messageId = CommonUtil.UUID();
+                // 响应
+                String responseId = CommonUtil.UUID();
                 jsonObject.set("id", messageId);
-                jsonObject.set("responseId", messageId);
+                jsonObject.set("responseId", responseId);
 
                 OperationMessageResult messageResult = new OperationMessageResult();
                 operationMessageService.buildOperationMessageResultIotInfo(messageResult, iotMain);
@@ -241,7 +243,7 @@ public class IotSendMessageService extends SuperService {
                 messageResult.setDataId(entity.getDataId());
                 messageResult.setRealIotTopic(topic);
                 messageResult.setData(data);
-                messageResult.setResponseId(messageId);
+                messageResult.setResponseId(responseId);
                 Boolean isSendSuccess = Boolean.TRUE;
                 String sendMsg = "下发成功";
                 try {

+ 1 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/iot/IotServiceImpl.java

@@ -622,6 +622,7 @@ public class IotServiceImpl extends SuperService {
         if (StringUtils.isEmpty(param.getIotTemplateId()) && StringUtils.isEmpty(param.getIotThingId()) && StringUtils.isEmpty(param.getDeviceId())) {
             return ResultContent.buildFail("iotTemplateId和iotThingId和deviceId不能同时为空");
         }
+
         param.setOrderSort(Sort.by(Sort.Order.asc("createTime")));
         Page<IotMain> page = iotMainDao.page(pageable, param);
         return ResultContent.buildSuccess(PageEntityUtil.toPageModel(page, this::toAttributeModel));