From f5e5d411b38f5819551f9acedef62dcf0832bc2c Mon Sep 17 00:00:00 2001
From: master <master@163.com>
Date: 星期三, 16 三月 2022 19:51:15 +0800
Subject: [PATCH] after merge wang
---
src/app/modules/base/controller/admin/open.ts | 106 +++++++++++++++--------------------------------------
1 files changed, 30 insertions(+), 76 deletions(-)
diff --git a/src/app/modules/base/controller/admin/open.ts b/src/app/modules/base/controller/admin/open.ts
index 53816af..6c05a10 100644
--- a/src/app/modules/base/controller/admin/open.ts
+++ b/src/app/modules/base/controller/admin/open.ts
@@ -15,13 +15,16 @@
import { BaseSysParamService } from '../../service/sys/param';
import { DataService } from '../../service/dataapi/dataapi';
import { CommEntity } from '../../entity/app/commentity';
+import { CreateEntityUtil } from '../../utils/createEntity';
/**
* 涓嶉渶瑕佺櫥褰曠殑鍚庡彴鎺ュ彛
*/
@Provide()
-@CoolController({api: ['add', 'delete', 'update', 'info', 'list', 'page'],
-entity: CommEntity})
+@CoolController({
+ api: ['add', 'delete', 'update', 'info', 'list', 'page'],
+ entity: CommEntity
+})
export class BaseOpenController extends BaseController {
@Inject()
baseSysLoginService: BaseSysLoginService;
@@ -31,6 +34,9 @@
@Inject()
dataService: DataService;
+
+ @Inject()
+ createEntityUtil: CreateEntityUtil;
@Inject()
ctx: Context;
@@ -90,8 +96,6 @@
*/
@Get('/getdata', { summary: '鏁版嵁鎺ュ彛' })
async getData(@Query(ALL) params: any) {
- ``
- console.log('-------------------------------------------------------');
console.log(params);
return this.ok(await this.dataService.getData(params));
}
@@ -107,79 +111,29 @@
@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`);
+ let tables = await this.dataService.getDataByNative({ "bid": "getTableNeedCreate", "pageindex": "1", "pagesize": "300" })
+ let columns = await this.dataService.getDataByNative({ "bid": "getColumns", "pageindex": "1", "pagesize": "300" }) //bid_obj_[0], query?.pageindex || null , query?.pagesize || null, query
+ console.log(`${tables.length} and columnlength ${columns.length}`)
+ let tabs = {};
+ tables.forEach(element => {
+ tabs[element.name] = element;
+ });
+ columns.forEach(element => {
+ let tbname = element.table_name;
+ if (!tabs[tbname]) {
+ tabs[tbname] = {}
+ }
+ if (!tabs[tbname].tbcolumn) {
+ tabs[tbname].tbcolumn = [];
+ }
+ tabs[tbname].tbcolumn.push(element)
+ });
+ Object.keys(tabs).forEach(key => {
+ this.createEntityUtil.createEntity(tabs[key])
+ this.createEntityUtil.createService(tabs[key])
+ this.createEntityUtil.createController(tabs[key])
+ })
}
}
--
Gitblit v1.9.1