From 26d7c4cb292025dad56635dc02bf32a348ee62ef Mon Sep 17 00:00:00 2001
From: master <master@163.com>
Date: 星期三, 16 三月 2022 19:38:24 +0800
Subject: [PATCH] befor merge
---
src/app/modules/base/controller/admin/open.ts | 106 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 94 insertions(+), 12 deletions(-)
diff --git a/src/app/modules/base/controller/admin/open.ts b/src/app/modules/base/controller/admin/open.ts
index 6e4b8ec..53816af 100644
--- a/src/app/modules/base/controller/admin/open.ts
+++ b/src/app/modules/base/controller/admin/open.ts
@@ -10,15 +10,18 @@
import { Context } from 'egg';
import { CoolController, BaseController } from '@cool-midway/core';
import { LoginDTO } from '../../dto/login';
+import * as fs from 'fs';
import { BaseSysLoginService } from '../../service/sys/login';
import { BaseSysParamService } from '../../service/sys/param';
import { DataService } from '../../service/dataapi/dataapi';
+import { CommEntity } from '../../entity/app/commentity';
/**
* 涓嶉渶瑕佺櫥褰曠殑鍚庡彴鎺ュ彛
*/
@Provide()
-@CoolController()
+@CoolController({api: ['add', 'delete', 'update', 'info', 'list', 'page'],
+entity: CommEntity})
export class BaseOpenController extends BaseController {
@Inject()
baseSysLoginService: BaseSysLoginService;
@@ -27,7 +30,7 @@
baseSysParamService: BaseSysParamService;
@Inject()
- dataService: DataService;
+ dataService: DataService;
@Inject()
ctx: Context;
@@ -85,19 +88,98 @@
/**
* 鑾峰緱鏁版嵁
*/
- @Get('/getdata', { summary: '鏁版嵁鎺ュ彛' })
- async getData(@Query(ALL) params: any) {
- console.log('-------------------------------------------------------');
- console.log(params);
- return this.ok(await this.dataService.getData(params));
- }
+ @Get('/getdata', { summary: '鏁版嵁鎺ュ彛' })
+ async getData(@Query(ALL) params: any) {
+ ``
+ console.log('-------------------------------------------------------');
+ console.log(params);
+ return this.ok(await this.dataService.getData(params));
+ }
/**
* 鑾峰緱鏁版嵁
*/
- @Post('/postdata', { summary: '鏁版嵁鎺ュ彛' })
- async postData(@Query(ALL) params: any) {
- return this.ok(await this.dataService.getData(params));
- }
+ @Post('/postdata', { summary: '鏁版嵁鎺ュ彛' })
+ async postData(@Query(ALL) params: any) {
+ return this.ok(await this.dataService.getData(params));
+ }
+
+ @Get('/createEntity', {})
+ async createEntity() {
+ console.log('鐢熸垚缁煎悎瀹炰綋绫讳换鍔″紑濮嬫墽琛�');
+ const startTime = Date.now();
+ const columns = await this.dataService.getDataByNative({ "bid": "getColumns", "pageindex": "1", "pagesize": "300" }) //bid_obj_[0], query?.pageindex || null , query?.pagesize || null, query
+ // console.log(columns)
+ const columnstr = [];
+ columnstr.push(`import { EntityModel } from '@midwayjs/orm';
+ import { BaseEntity } from '@cool-midway/core';
+ import { Column, Double } from 'typeorm';
+
+ /**
+ * 缁煎悎瀹炰綋绫�
+ */
+ @EntityModel('t_sys_comm_column')
+ export class CommEntity extends BaseEntity { \n`)
+ columns.forEach(element => { //{ column_name: 'avg_task_time', data_type: 'int' },
+ //select table_name,column_name,data_type,column_type,is_nullable,column_default,ordinal_position,column_key,column_comment from view_columninfo order by table_name,column_name;
+ columnstr.push(`@Column({ comment:'${element.column_comment}', type:'${element.data_type}', default:'${element.column_default}'})\n`)
+ //varchar int text double datetime bigint enum mediumtext longtext tinyint decimal
+ let fieldType = 'string';
+ switch (element.data_type) {
+ case 'varchar':
+ fieldType = 'string'
+ break;
+ case 'text':
+ fieldType = 'string'
+ break;
+ case 'int':
+ fieldType = 'number'
+ break;
+ case 'bigint':
+ fieldType = 'number'
+ break;
+ case 'tinyint':
+ fieldType = 'number'
+ break;
+ case 'datetime':
+ fieldType = 'Date'
+ break;
+ case 'double':
+ fieldType = 'Double'
+ break;
+ case 'decimal':
+ fieldType = 'Double'
+ break;
+ default:
+ break;
+ }
+ // let fieldType = element.data_type=='varchar' ? 'string' : element.data_type=='int' ? 'number' : element.data_type=='bigint' ? 'number' : element.data_type=='tinyint' ? 'number'
+ columnstr.push(`${element.tbname}_${element.column_name}: ${fieldType};\n`)
+ columnstr.push(`\n`)
+ });
+ columnstr.push(`}`)
+ if (fs.existsSync('../entity/app/commentity.ts')) {
+ console.log(' file is exists')
+ } else {
+ console.log(' file is not exists')
+ // API
+ fs.writeFile('./src/app/modules/base/entity/app/commentity.ts',
+ columnstr.join(''), (error) => {
+ // 鍒涘缓澶辫触
+ if (error) {
+ console.log(`鍒涘缓澶辫触锛�${error}`)
+ }
+ // 鍒涘缓鎴愬姛
+ console.log(`鍒涘缓鎴愬姛锛乣)
+
+ })
+ }
+ //璇诲彇鏂囦欢鍐呭锛屽苟杞寲涓篔son瀵硅薄
+ // let userBugsJson = JSON.parse(fs.readFileSync("app/public/static/Data.json", "utf8"));
+ // //鑾峰彇Json閲宬ey涓篸ata鐨勬暟鎹�
+ // const data = userBugsJson['data'];
+ // return data;
+ console.log(`鐢熸垚缁煎悎瀹炰綋绫讳换鍔$粨鏉燂紝鑰楁椂:${Date.now() - startTime}ms`);
+ }
}
--
Gitblit v1.9.1