TRX 1 год назад
Родитель
Сommit
aed4bfa78b

+ 8 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/controller/iot/IotSendController.java

@@ -3,6 +3,7 @@ package com.zhongshu.iot.server.core.controller.iot;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.auth.security.type.AuthType;
+import com.github.microservice.models.iot.IotSendByIdParam;
 import com.github.microservice.models.iot.IotSendParam;
 import com.github.microservice.models.iot.IotSendParam;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.iot.server.core.service.iot.IotSendMessageService;
 import com.zhongshu.iot.server.core.service.iot.IotSendMessageService;
@@ -35,6 +36,13 @@ public class IotSendController {
     @Autowired
     @Autowired
     AuthHelper authHelper;
     AuthHelper authHelper;
 
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "下发消息")
+    @RequestMapping(value = "sendIotMsgById", method = {RequestMethod.POST})
+    public ResultContent sendIotMsgById(@RequestBody @Valid IotSendByIdParam param) {
+        return iotSendMessageService.sendIotMsgById(param);
+    }
+
     @ResourceAuth(value = "user", type = AuthType.User)
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "下发消息")
     @Operation(summary = "下发消息")
     @RequestMapping(value = "sendIotMessage", method = {RequestMethod.POST})
     @RequestMapping(value = "sendIotMessage", method = {RequestMethod.POST})

+ 4 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/dao/iot/impl/IotMainDaoImpl.java

@@ -39,6 +39,10 @@ public class IotMainDaoImpl extends BaseImpl implements IotMainDaoExtend {
     public Page<IotMain> page(Pageable pageable, IotMainSearch param) {
     public Page<IotMain> page(Pageable pageable, IotMainSearch param) {
         Criteria criteria = new Criteria();
         Criteria criteria = new Criteria();
 
 
+        if (StringUtils.isNotEmpty(param.getId())) {
+            criteria.and("_id").is(param.getId());
+        }
+
         if (StringUtils.isNotEmpty(param.getIotTemplateId())) {
         if (StringUtils.isNotEmpty(param.getIotTemplateId())) {
             criteria.and("iotTemplate").is(IotTemplate.build(param.getIotTemplateId()));
             criteria.and("iotTemplate").is(IotTemplate.build(param.getIotTemplateId()));
         }
         }

+ 20 - 0
OneCardIotServer/src/main/java/com/zhongshu/iot/server/core/service/iot/IotSendMessageService.java

@@ -2,9 +2,11 @@ package com.zhongshu.iot.server.core.service.iot;
 
 
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
+import com.github.microservice.models.iot.IotSendByIdParam;
 import com.github.microservice.models.iot.IotSendGateWayParam;
 import com.github.microservice.models.iot.IotSendGateWayParam;
 import com.github.microservice.models.iot.IotSendParam;
 import com.github.microservice.models.iot.IotSendParam;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultContent;
+import com.github.microservice.net.ResultMessage;
 import com.zhongshu.iot.client.model.iot.IotMainSearch;
 import com.zhongshu.iot.client.model.iot.IotMainSearch;
 import com.zhongshu.iot.client.type.IotDataType;
 import com.zhongshu.iot.client.type.IotDataType;
 import com.zhongshu.iot.client.type.OperationType;
 import com.zhongshu.iot.client.type.OperationType;
@@ -67,6 +69,24 @@ public class IotSendMessageService extends SuperService {
     @Autowired
     @Autowired
     private GateWayInfoDao gateWayInfoDao;
     private GateWayInfoDao gateWayInfoDao;
 
 
+    public ResultContent sendIotMsgById(IotSendByIdParam param) {
+        if (StringUtils.isEmpty(param.getId())) {
+            return ResultContent.buildFail("id不能为空");
+        }
+        if (param.getData() == null) {
+            return ResultContent.buildFail("data不能为空");
+        }
+        IotMain iotMain = iotMainDao.findTopById(param.getId());
+        if (ObjectUtils.isEmpty(iotMain)) {
+            return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
+        }
+        IotSendParam iotSendParam = new IotSendParam();
+        iotSendParam.setData(param.getData());
+        iotSendParam.setId(param.getId());
+        iotSendParam.setIsImitate(Boolean.TRUE);
+        return sendIotMessage(iotSendParam);
+    }
+
     /**
     /**
      * 发送信息
      * 发送信息
      *
      *