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