// Package api2sql ... // // Description : api2sql ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2024-08-21 20:45 package api2sql import ( "context" "errors" "git.zhangdeman.cn/zhangdeman/consts" "git.zhangdeman.cn/zhangdeman/database/abstract" "git.zhangdeman.cn/zhangdeman/database/define" ) var ( Exec = &execute{} ) type execute struct { databaseClientManager abstract.IWrapperClient // 全部数据库管理的实例 } // SetDatabaseClientManager 设置数据库连接管理实例 // // Author : go_developer@163.com<白茶清欢> // // Date : 21:06 2024/8/21 func (e *execute) SetDatabaseClientManager(databaseClientManager abstract.IWrapperClient) { e.databaseClientManager = databaseClientManager } // Run 执行 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:48 2024/8/21 func (e *execute) Run(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { if len(inputParam.InputSql) > 0 { // 基于表达式执行 return e.Express(ctx, inputParam) } switch inputParam.SqlType { case consts.SqlTypeCount: return e.Count(ctx, inputParam) case consts.SqlTypeDetail: return e.Detail(ctx, inputParam) case consts.SqlTypeList: return e.List(ctx, inputParam) case consts.SqlTypeInsert: return e.Insert(ctx, inputParam) case consts.SqlTypeUpdate: return e.Update(ctx, inputParam) case consts.SqlTypeDelete: return e.Delete(ctx, inputParam) default: return nil, errors.New(inputParam.SqlType + " : sql type is not support") } } // List 列表 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:52 2024/8/21 func (e *execute) List(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil } // Detail 详情 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:52 2024/8/21 func (e *execute) Detail(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil } // Insert 插入 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:52 2024/8/21 func (e *execute) Insert(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil } // Update 更新 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:52 2024/8/21 func (e *execute) Update(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil } // Count 数量 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:52 2024/8/21 func (e *execute) Count(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil } // Delete 删除 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:51 2024/8/21 func (e *execute) Delete(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil } // Express 基于表达式执行 // // Author : go_developer@163.com<白茶清欢> // // Date : 20:51 2024/8/21 func (e *execute) Express(ctx context.Context, inputParam *define.Api2SqlParam) (any, error) { return nil, nil }