import { Inject, Provide } from '@midwayjs/decorator';
|
import { BaseService, ICoolCache, } from '@cool-midway/core';
|
import * as _ from 'lodash';
|
import { MysqlUtil } from '../../utils/mysqlutil';
|
import { DateUtil } from '../../utils/dateutil';
|
import { AxiosUtil } from '../../utils/axiosutil';
|
|
// 引入读写核心模块
|
|
|
/**
|
* 系统用户
|
*/
|
@Provide()
|
export class RpcService extends BaseService {
|
|
@Inject('cool:cache')
|
coolCache: ICoolCache;
|
|
@Inject()
|
mysqlUtil: MysqlUtil;
|
|
rpc_url: "http://192.168.1.4:5000/api";
|
|
@Inject()
|
dateUtil: DateUtil;
|
|
@Inject()
|
axios: AxiosUtil;
|
|
/**
|
* 远程调用设备,启动任务执行
|
* @param query
|
*/
|
async remoteCall(url, query) {
|
if (url == null) {
|
url = this.rpc_url;
|
}
|
let stattime = this.dateUtil.getCurretTimeStr()
|
console.log('---------------------------------------------send msg to device-----------------------------------------')
|
console.log(query)
|
// let res = await this.axios.httpPostBuffer(url, query)
|
console.log('---------------------------------------receive the reply msg from device-----------------------------------')
|
this.axios.httpPostBuffer(url, query).then(res => {
|
console.log(res)
|
const bidsql = `insert into t_config_interface_record (interface_direct,start_time,end_time,request_type,createTime,remark,status,params,result)
|
values ('${url}','${stattime}','${this.dateUtil.getCurretTimeStr()}','post',now(),'ok',200,'${JSON.stringify(query)}','${res}') `;
|
this.nativeQuery(bidsql);
|
return res
|
}).catch((error) => {
|
console.log(error)
|
return error
|
})
|
|
}
|
|
|
/**
|
* 分页查询
|
* @param query
|
*/
|
async getData(query) {
|
// const { keyWord, status, departmentIds = [] } = query;
|
// const permsDepartmentArr = await this.baseSysPermsService.departmentIds(
|
// this.ctx.admin.userId
|
// ); // 部门权限
|
const bidsql = `select * from t_sys_business_config where id_='${query.bid}' limit 0,1`;
|
const bid_obj_ = await this.nativeQuery(bidsql);
|
console.log(bid_obj_)
|
let sqlObj = this.mysqlUtil.create_sql(bid_obj_[0], query?.pageindex || null, query?.pagesize || null, query);
|
if (sqlObj?.status == 0) {
|
return sqlObj?.msg;
|
}
|
return this.nativeQuery(sqlObj?.sql, query);
|
}
|
|
|
/**
|
* 分页查询
|
* @param query
|
*/
|
async getDataByNative(query) {
|
// const { keyWord, status, departmentIds = [] } = query;
|
// const permsDepartmentArr = await this.baseSysPermsService.departmentIds(
|
// this.ctx.admin.userId
|
// ); // 部门权限
|
const bidsql = `select * from t_sys_business_config where id_='${query.bid}' limit 0,1`;
|
const bid_obj_ = await this.nativeQuery(bidsql);
|
console.log(bid_obj_)
|
let sqlObj = this.mysqlUtil.create_sql(bid_obj_[0], query?.pageindex || null, query?.pagesize || null, query);
|
if (sqlObj?.status == 0) {
|
return sqlObj?.msg;
|
}
|
return this.nativeQuery(sqlObj?.sql)
|
}
|
|
/**
|
* 分页查询
|
* @param query
|
*/
|
async updateData(query) {
|
// const { keyWord, status, departmentIds = [] } = query;
|
// const permsDepartmentArr = await this.baseSysPermsService.departmentIds(
|
// this.ctx.admin.userId
|
// ); // 部门权限
|
const bidsql = `select * from t_sys_business_config where id_='${query.bid}' limit 0,1`;
|
const bid_obj_ = await this.nativeQuery(bidsql);
|
let sqlObj = this.mysqlUtil.create_sql(bid_obj_[0], query?.pageindex || null, query?.pagesize || null, query);
|
if (sqlObj?.status == 0) {
|
return sqlObj?.msg;
|
}
|
return this.sqlRenderPage(sqlObj?.sql, query);
|
}
|
|
}
|