// Admin.NET 项目的版æƒã€å•†æ ‡ã€ä¸“利和其他相关æƒåˆ©å‡å—ç›¸åº”æ³•å¾‹æ³•è§„çš„ä¿æŠ¤ã€‚ä½¿ç”¨æœ¬é¡¹ç›®åº”éµå®ˆç›¸å…³æ³•律法规和许å¯è¯çš„è¦æ±‚。 // // 本项目主è¦éµå¾ª MIT 许å¯è¯å’Œ Apache 许å¯è¯ï¼ˆç‰ˆæœ¬ 2.0)进行分å‘和使用。许å¯è¯ä½äºŽæºä»£ç æ ‘æ ¹ç›®å½•ä¸çš„ LICENSE-MIT å’Œ LICENSE-APACHE 文件。 // // ä¸å¾—利用本项目从事å±å®³å›½å®¶å®‰å…¨ã€æ‰°ä¹±ç¤¾ä¼šç§©åºã€ä¾µçŠ¯ä»–äººåˆæ³•æƒç›Šç‰æ³•å¾‹æ³•è§„ç¦æ¢çš„æ´»åЍï¼ä»»ä½•基于本项目二次开å‘è€Œäº§ç”Ÿçš„ä¸€åˆ‡æ³•å¾‹çº çº·å’Œè´£ä»»ï¼Œæˆ‘ä»¬ä¸æ‰¿æ‹…ä»»ä½•è´£ä»»ï¼ namespace Admin.NET.Core.Service; /// <summary> /// 系统代ç 生æˆé…ç½®æœåŠ¡ 🧩 /// </summary> [ApiDescriptionSettings(Order = 260)] public class SysCodeGenConfigService : IDynamicApiController, ITransient { private readonly ISqlSugarClient _db; public SysCodeGenConfigService(ISqlSugarClient db) { _db = db; } /// <summary> /// 获å–代ç 生æˆé…置列表 🔖 /// </summary> /// <param name="input"></param> /// <returns></returns> [DisplayName("获å–代ç 生æˆé…置列表")] public async Task<List<CodeGenConfig>> GetList([FromQuery] CodeGenConfig input) { return await _db.Queryable<SysCodeGenConfig>() .Where(u => u.CodeGenId == input.CodeGenId) .Select<CodeGenConfig>() .Mapper(u => { u.NetType = (u.EffectType == "EnumSelector" || u.EffectType == "ConstSelector" ? u.DictTypeCode : u.NetType); }) .OrderBy(u => new { u.OrderNo, u.Id }) .ToListAsync(); } /// <summary> /// 更新代ç 生æˆé…ç½® 🔖 /// </summary> /// <param name="inputList"></param> /// <returns></returns> [ApiDescriptionSettings(Name = "Update"), HttpPost] [DisplayName("更新代ç 生æˆé…ç½®")] public async Task UpdateCodeGenConfig(List<CodeGenConfig> inputList) { if (inputList == null || inputList.Count < 1) return; await _db.Updateable(inputList.Adapt<List<SysCodeGenConfig>>()) .IgnoreColumns(u => new { u.ColumnLength, u.ColumnName, u.PropertyName }) .ExecuteCommandAsync(); } /// <summary> /// åˆ é™¤ä»£ç 生æˆé…ç½® /// </summary> /// <param name="codeGenId"></param> /// <returns></returns> [NonAction] public async Task DeleteCodeGenConfig(long codeGenId) { await _db.Deleteable<SysCodeGenConfig>().Where(u => u.CodeGenId == codeGenId).ExecuteCommandAsync(); } /// <summary> /// 获å–代ç 生æˆé…置详情 🔖 /// </summary> /// <param name="input"></param> /// <returns></returns> [DisplayName("获å–代ç 生æˆé…置详情")] public async Task<SysCodeGenConfig> GetDetail([FromQuery] CodeGenConfig input) { return await _db.Queryable<SysCodeGenConfig>().FirstAsync(u => u.Id == input.Id); } /// <summary> /// 批é‡å¢žåР代ç 生æˆé…ç½® /// </summary> /// <param name="tableColumnOutputList"></param> /// <param name="codeGenerate"></param> [NonAction] public void AddList(List<ColumnOuput> tableColumnOutputList, SysCodeGen codeGenerate) { if (tableColumnOutputList == null) return; var codeGenConfigs = new List<SysCodeGenConfig>(); var orderNo = 100; foreach (var tableColumn in tableColumnOutputList) { var codeGenConfig = new SysCodeGenConfig(); var YesOrNo = YesNoEnum.Y.ToString(); if (Convert.ToBoolean(tableColumn.ColumnKey)) { YesOrNo = YesNoEnum.N.ToString(); } if (CodeGenUtil.IsCommonColumn(tableColumn.PropertyName)) { codeGenConfig.WhetherCommon = YesNoEnum.Y.ToString(); YesOrNo = YesNoEnum.N.ToString(); } else { codeGenConfig.WhetherCommon = YesNoEnum.N.ToString(); } codeGenConfig.CodeGenId = codeGenerate.Id; codeGenConfig.ColumnName = tableColumn.ColumnName; // å—æ®µå codeGenConfig.PropertyName = tableColumn.PropertyName;// 实体属性å codeGenConfig.ColumnLength = tableColumn.ColumnLength;// 长度 codeGenConfig.ColumnComment = tableColumn.ColumnComment; codeGenConfig.NetType = tableColumn.NetType; codeGenConfig.WhetherRetract = YesNoEnum.N.ToString(); // 生æˆä»£ç æ—¶ï¼Œä¸»é”®å¹¶ä¸æ˜¯å¿…è¦è¾“å…¥é¡¹ï¼Œæ•…ä¸€å®šè¦æŽ’é™¤ä¸»é”®å—æ®µ codeGenConfig.WhetherRequired = (tableColumn.IsNullable || tableColumn.IsPrimarykey) ? YesNoEnum.N.ToString() : YesNoEnum.Y.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 = GetDefaultQueryType(codeGenConfig); // QueryTypeEnum.eq.ToString(); codeGenConfig.OrderNo = orderNo; codeGenConfigs.Add(codeGenConfig); orderNo += 10; // æ¯ä¸ªé…置排åºé—´éš”10 } // 多库代ç 生æˆ---这里è¦åˆ‡å›žä¸»åº“ var provider = _db.AsTenant().GetConnectionScope(SqlSugarConst.MainConfigId); provider.Insertable(codeGenConfigs).ExecuteCommand(); } /// <summary> /// 默认查询类型 /// </summary> /// <param name="codeGenConfig"></param> /// <returns></returns> private static string GetDefaultQueryType(SysCodeGenConfig codeGenConfig) { return (codeGenConfig.NetType?.TrimEnd('?')) switch { "string" => "like", "DateTime" => "~", _ => "==", }; } }