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