namespace Admin.NET.Core.Service; /// /// 系统代码生成配置服务 /// [ApiDescriptionSettings(Order = 149)] public class SysCodeGenConfigService : IDynamicApiController, ITransient { private readonly ISqlSugarClient _db; public SysCodeGenConfigService(ISqlSugarClient db) { _db = db; } /// /// 代码生成详细配置列表 /// /// /// [HttpGet("/sysCodeGenerateConfig/list")] public async Task> List([FromQuery] CodeGenConfig input) { return await _db.Queryable() .Where(u => u.CodeGenId == input.CodeGenId && u.WhetherCommon != YesNoEnum.Y.ToString()) .Select().ToListAsync(); } /// /// 增加 /// /// /// [NonAction] public async Task Add(CodeGenConfig input) { var codeGenConfig = input.Adapt(); await _db.Insertable(codeGenConfig).ExecuteCommandAsync(); } /// /// 删除 /// /// /// [NonAction] public async Task Delete(long codeGenId) { await _db.Deleteable().Where(u => u.CodeGenId == codeGenId).ExecuteCommandAsync(); } /// /// 更新 /// /// /// [HttpPost("/sysCodeGenerateConfig/edit")] public async Task Update(List inputList) { if (inputList == null || inputList.Count < 1) return; await _db.Updateable(inputList.Adapt>()).ExecuteCommandAsync(); } /// /// 详情 /// /// /// [HttpGet("/sysCodeGenerateConfig/detail")] public async Task Detail([FromQuery] CodeGenConfig input) { return await _db.Queryable().FirstAsync(u => u.Id == input.Id); } /// /// 批量增加 /// /// /// [NonAction] public void AddList(List tableColumnOuputList, SysCodeGen codeGenerate) { if (tableColumnOuputList == null) return; var codeGenConfigs = new List(); foreach (var tableColumn in tableColumnOuputList) { var codeGenConfig = new SysCodeGenConfig(); var YesOrNo = YesNoEnum.Y.ToString(); if (Convert.ToBoolean(tableColumn.ColumnKey)) { YesOrNo = YesNoEnum.N.ToString(); } if (CodeGenUtil.IsCommonColumn(tableColumn.ColumnName)) { codeGenConfig.WhetherCommon = YesNoEnum.Y.ToString(); YesOrNo = YesNoEnum.N.ToString(); } else { codeGenConfig.WhetherCommon = YesNoEnum.N.ToString(); } codeGenConfig.CodeGenId = codeGenerate.Id; codeGenConfig.ColumnName = tableColumn.ColumnName; codeGenConfig.ColumnComment = tableColumn.ColumnComment; codeGenConfig.NetType = CodeGenUtil.ConvertDataType(tableColumn.DataType); codeGenConfig.WhetherRetract = YesNoEnum.N.ToString(); codeGenConfig.WhetherRequired = YesNoEnum.N.ToString(); codeGenConfig.QueryWhether = YesOrNo; codeGenConfig.WhetherAddUpdate = YesOrNo; codeGenConfig.WhetherTable = YesOrNo; codeGenConfig.ColumnKey = tableColumn.ColumnKey; codeGenConfig.DataType = tableColumn.DataType; codeGenConfig.EffectType = CodeGenUtil.DataTypeToEff(codeGenConfig.NetType); codeGenConfig.QueryType = "=="; // QueryTypeEnum.eq.ToString(); codeGenConfigs.Add(codeGenConfig); } // 多库代码生成---这里要切回主库 var provider = _db.AsTenant().GetConnectionScope(SqlSugarConst.ConfigId); provider.Insertable(codeGenConfigs).ExecuteCommand(); } }