From 0b31be01af4247244e1b6285d6c537c2894acea9 Mon Sep 17 00:00:00 2001
From: wangrong <wangrong@shsening.com>
Date: 星期二, 28 六月 2022 14:32:46 +0800
Subject: [PATCH] 添加socket.io taskshchedule等

---
 src/app/modules/business/controller/admin/taskimmediately.ts |   76 +++++++++++++++++++++++++++++++++++--
 1 files changed, 71 insertions(+), 5 deletions(-)

diff --git a/src/app/modules/business/controller/admin/taskimmediately.ts b/src/app/modules/business/controller/admin/taskimmediately.ts
index 1e9f008..7a50129 100644
--- a/src/app/modules/business/controller/admin/taskimmediately.ts
+++ b/src/app/modules/business/controller/admin/taskimmediately.ts
@@ -1,20 +1,61 @@
 import { ALL, Body, Get, Inject, Post, Provide, Query } from '@midwayjs/decorator';
 import { CoolController, BaseController } from '@cool-midway/core';
 import { Taskimmediately } from '../../entity/taskimmediately';
-// import { TaskimmediatelyService } from '../../service/taskimmediately';
+import { TaskimmediatelyService } from '../../../business/service/taskimmediately';
 import { DataController } from '../../../base/controller/dataController';
+import { SocketHandler } from '../../../../../socket/socketHandle';
+import { RpcService } from '../../../base/service/dataapi/rpcservice';
+import { randomUUID } from 'crypto';
+
+const ProtoBufJs = require("protobufjs");
+const root = ProtoBufJs.loadSync("D:/21-dljc/road-env-server/server/models/aerial.proto");
+const CommandMessage = root.lookupType("CommandMessage");
+const command_req = CommandMessage.create();
+// const SYScommand = root.lookupType("SysCommand");
+// const SUBcommand = root.lookupType("SubCommand");
+
 /**
         * 鍗虫椂浠诲姟璁板綍
         */
 @Provide()
 @CoolController({
-  api: ['add', 'delete', 'update', 'list', 'page', 'info'],
+  api: ['delete', 'update', 'list', 'page', 'info'],
   entity: Taskimmediately,
-  //  聽service: TaskimmediatelyService,
+  // service: TaskimmediatelyService,
 })
 export class TaskimmediatelyController extends DataController {
-  //  聽@Inject()
-  //  聽taskimmediatelyService: TaskimmediatelyService;
+
+  @Inject()
+  taskimmediatelyService: TaskimmediatelyService;
+
+  @Inject()
+  socketHandler: SocketHandler
+
+  @Inject()
+  rpcService: RpcService
+
+  private colletServiceUrl = "http://192.168.1.4:5000/api";
+
+  /**
+  * 涓嬪彂璁惧鎸囦护娑堟伅
+  */
+  @Post('/sendMsgToDevice', { summary: '涓嬪彂璁惧鎸囦护娑堟伅' })
+  async sendMsgToDevice(@Query(ALL) params: any) {
+
+    console.log(params);
+    return this.ok(await this.rpcService.remoteCall(this.colletServiceUrl, this.createCommand(params)))
+  }
+
+  /**
+  * 涓嬪彂璁惧鎸囦护娑堟伅
+  */
+   @Get('/sendMsgToDevice', { summary: '涓嬪彂璁惧鎸囦护娑堟伅' })
+   async sendMsg2Device(@Query(ALL) params: any) {
+     // this.socketHandler.connection
+     console.log(params);
+     return this.ok(await this.rpcService.remoteCall(this.colletServiceUrl, this.createCommand(params)))
+     // this.rpcService.remoteCall("http://192.168.1.4:5000/api", params);
+   }
 
   /**
   * 鑾峰緱鏁版嵁
@@ -30,4 +71,29 @@
   async postData(@Query(ALL) params: any) {
     return this.ok(await this.dataService.getData(params));
   }
+
+  createCommand(params: any) {
+
+    command_req.source = "testcommand"
+    command_req.generatetime = "2"
+    command_req.syscommand = root.SysCommand.CAMERA_COMMAND
+    command_req.subcommand = root.SubCommand.ONE_TIME_CAPTURE
+    command_req.targetclient = "bunker0.block0.device0"
+    command_req.returnserver = "server0"
+    command_req.taskuuid = randomUUID()
+    console.log(JSON.stringify(command_req))
+
+    // Verify the payload if necessary (i.e. when possibly incomplete or invalid)
+    let errMsg = CommandMessage.verify(command_req);
+    if (errMsg)
+      throw Error(errMsg);
+
+    // let buffer = Buffer.from(command_req)
+    let buffer_ = CommandMessage.encode(command_req).finish();
+    // let msg_ = CommandMessage.decode(buffer_);
+    return buffer_;
+
+  }
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.1