lichunlei 5 месяцев назад
Родитель
Сommit
5b0dde3973

+ 119 - 0
Controllers/Admin/MakeDataController.cs

@@ -0,0 +1,119 @@
+using Vo;
+using Microsoft.AspNetCore.Mvc;
+using Model;
+using Services;
+using Model.Base;
+using Vo.Admin;
+using Mapster;
+using Infrastructure;
+using Dto.Admin;
+using Common;
+
+
+namespace Controllers.Admin
+{
+    /// <summary>
+    /// MakeData)Controller
+    /// </summary>
+    // [Route("${Router}$")]
+    // [ApiExplorerSettings(GroupName = "MakeData")]
+    public class MakeDataController : BaseController
+    {
+        /// <summary>
+        /// api分组接口
+        /// </summary>
+        private readonly IMakeDataService _MakeDataService;
+
+
+        public MakeDataController(IMakeDataService MakeDataService)
+        {
+            _MakeDataService = MakeDataService;
+
+        }
+
+          /// <param name="page">分页参数</param>
+        /// <summary>
+        /// 列表
+        /// </summary>
+        /// <param name="page">分页对象</param>
+        /// <param name="param">参数请求体</param>
+        /// <returns>列表</returns>
+        [HttpGet]
+        [Route("/v1/omega_make/MakeData/getMakeDataList")]
+        public IActionResult getMakeDataList([FromQuery] PagerInfo page, [FromQuery] MakeData param)
+        {
+            var response = _MakeDataService.getMakeDataList(page, param);
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 详情
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>详情</returns>
+        [HttpGet]
+        [Route("/v1/omega_make/MakeData/getMakeDataQuery")]
+        public IActionResult getMakeDataQuery([FromQuery] MakeData param)
+        {
+            var response = _MakeDataService.GetFirst(m => m.id == param.id).Adapt<GetMakeDataQueryVo>();
+            return SUCCESS(response);
+        }
+        [HttpGet]
+        [Route("/v1/omega_make/StaticFile/apiDocQuery")]
+        public string apiDocQuery([FromQuery] ApiDocQueryDto param)
+        {
+            var response = _MakeDataService.GetFirst(m => m.dataId == param.id && m.makeFileType == "apidoc").Adapt<GetMakeDataQueryVo>();
+            var docContent = Function.ReadInstance(response.makeFilePath + response.makeFileName);
+            return docContent;
+        }
+
+
+        /// <summary>
+        /// 添加
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>添加</returns>
+        [HttpPost]
+        [Route("/v1/omega_make/MakeData/addMakeData")]
+        public IActionResult addMakeData([FromBody] MakeData param)
+        {
+            var modal = param.Adapt<MakeData>().ToCreate(HttpContext);
+            var response = _MakeDataService.InsertReturnIdentity(modal);
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <returns>修改</returns>
+        [HttpPut]
+        [Route("/v1/omega_make/MakeData/updateMakeData")]
+        public IActionResult updateMakeData([FromBody] MakeData param)
+        {
+            var modal = param.Adapt<MakeData>().ToCreate(HttpContext);
+            var response = _MakeDataService.Update(modal, true);
+            return SUCCESS(response);
+        }
+
+
+        /// <summary>
+        /// 删除
+        /// </summary>
+        /// <param name="id">ID</param>
+        /// <returns>删除</returns>
+        [HttpDelete]
+        [Route("/v1/omega_make/MakeData/deleteMakeData/{id}")]
+        public IActionResult deleteMakeData(int id)
+        {
+            var response = _MakeDataService.Delete(id);
+            return SUCCESS(response);
+        }
+
+
+
+
+    }
+}

+ 92 - 0
Model/Database/MakeData.cs

@@ -0,0 +1,92 @@
+using Mapster;
+
+
+namespace Model
+{
+    /// <summary>
+    /// 生成数据存档 make_data
+    /// </summary>
+    [SugarTable("make_data", "生成数据存档")]
+    [Tenant("0")]
+    public class MakeData
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        [SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true, IsIdentity = true, ColumnName = "id")]
+        public int id { get; set; }
+
+
+        /// <summary>
+        /// 版本号
+        /// </summary>
+        [SugarColumn(ColumnDescription = "版本号", ColumnName = "version")]
+        public int version { get; set; }
+
+
+        /// <summary>
+        /// 删除标记
+        /// </summary>
+        [SugarColumn(ColumnDescription = "删除标记", ColumnName = "del_flag")]
+        public int delFlag { get; set; }
+
+
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "创建时间", ColumnName = "create_time")]
+        public DateTime? createTime { get; set; }
+
+
+        /// <summary>
+        /// 更新时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "更新时间", ColumnName = "update_time")]
+        public DateTime? updateTime { get; set; }
+
+
+        /// <summary>
+        /// 创建人
+        /// </summary>
+        [SugarColumn(ColumnDescription = "创建人", Length = 32, ColumnName = "create_by")]
+        public string? createBy { get; set; }
+
+
+        /// <summary>
+        /// 更新人
+        /// </summary>
+        [SugarColumn(ColumnDescription = "更新人", Length = 32, ColumnName = "update_by")]
+        public string? updateBy { get; set; }
+
+
+        /// <summary>
+        /// 生成文件路径
+        /// </summary>
+        [SugarColumn(ColumnDescription = "生成文件路径", Length = 255, ColumnName = "make_file_path")]
+        public string? makeFilePath { get; set; }
+
+
+        /// <summary>
+        /// 生成文件名
+        /// </summary>
+        [SugarColumn(ColumnDescription = "生成文件名", Length = 50, ColumnName = "make_file_name")]
+        public string? makeFileName { get; set; }
+
+
+        /// <summary>
+        /// 生成文件类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "生成文件类型", Length = 20, ColumnName = "make_file_type")]
+        public string? makeFileType { get; set; }
+
+
+        /// <summary>
+        /// 关联数据ID
+        /// </summary>
+        [SugarColumn(ColumnDescription = "关联数据ID", ColumnName = "data_id")]
+        public int dataId { get; set; }
+
+
+
+    }
+}

+ 17 - 0
Model/Dto/Admin/ApiDocQueryDto.cs

@@ -0,0 +1,17 @@
+using Newtonsoft.Json;
+
+namespace Dto.Admin
+{
+    /// <summary>
+    /// 列表
+    /// </summary>
+    public class ApiDocQueryDto
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        public int id { get; set; }
+
+
+    }
+}

+ 36 - 0
Model/Vo/Admin/GetMakeDataListVo.cs

@@ -0,0 +1,36 @@
+using Newtonsoft.Json;
+
+namespace Vo.Admin
+{
+    /// <summary>
+    /// 列表
+    /// </summary>
+    public class GetMakeDataListVo
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        public int id { get; set; }
+
+
+        /// <summary>
+        /// 生成文件路径
+        /// </summary>
+        public string makeFilePath { get; set; }
+
+
+        /// <summary>
+        /// 生成文件名
+        /// </summary>
+        public string makeFileName { get; set; }
+
+
+        /// <summary>
+        /// 生成文件类型
+        /// </summary>
+        public string makeFileType { get; set; }
+
+
+
+    }
+}

+ 36 - 0
Model/Vo/Admin/GetMakeDataQueryVo.cs

@@ -0,0 +1,36 @@
+using Newtonsoft.Json;
+
+namespace Vo.Admin
+{
+    /// <summary>
+    /// 详情
+    /// </summary>
+    public class GetMakeDataQueryVo
+    {
+        /// <summary>
+        /// ID
+        /// </summary>
+        public int id { get; set; }
+
+
+        /// <summary>
+        /// 生成文件路径
+        /// </summary>
+        public string makeFilePath { get; set; }
+
+
+        /// <summary>
+        /// 生成文件名
+        /// </summary>
+        public string makeFileName { get; set; }
+
+
+        /// <summary>
+        /// 生成文件类型
+        /// </summary>
+        public string makeFileType { get; set; }
+
+
+
+    }
+}

+ 22 - 0
Services/IService/IMakeDataService.cs

@@ -0,0 +1,22 @@
+using Model;
+using Model.Base;
+using Microsoft.AspNetCore.Mvc;
+using Vo.Admin;
+
+
+namespace Services
+{
+    public interface IMakeDataService : IBaseService<MakeData>
+    {
+        /// <summary>
+        /// 生成数据存档-列表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <param name="page">分页参数</param>
+        /// <returns>列表</returns>
+        PagedInfo<GetMakeDataListVo> getMakeDataList([FromQuery] PagerInfo page, [FromQuery] MakeData param);
+
+
+
+    }
+}

+ 41 - 0
Services/MakeDataService.cs

@@ -0,0 +1,41 @@
+using Attribute;
+using Model;
+using Model.Base;
+using Repository;
+using Service;
+using Microsoft.AspNetCore.Mvc;
+using Vo.Admin;
+
+
+namespace Services
+{
+    /// <summary>
+    /// 生成数据存档Service业务层处理
+    /// </summary>
+    [AppService(ServiceType = typeof(IMakeDataService), ServiceLifetime = LifeTime.Transient)]
+    public class MakeDataService : BaseService<MakeData>, IMakeDataService
+    {
+        /// <summary>
+        /// 生成数据存档-列表
+        /// </summary>
+        /// <param name="param">参数请求体</param>
+        /// <param name="page">分页参数</param>
+        /// <returns>列表</returns>
+        public PagedInfo<GetMakeDataListVo> getMakeDataList([FromQuery] PagerInfo page, [FromQuery] MakeData param)
+        {
+            //拼装查询条件
+            var predicate = Expressionable.Create<MakeData>();
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.makeFilePath), m => m.makeFilePath.Contains(param.makeFilePath));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.makeFileName), m => m.makeFileName.Contains(param.makeFileName));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(param.makeFileType), m => m.makeFileType.Contains(param.makeFileType));
+            var response = Queryable()
+                .Where(predicate.ToExpression())
+                .OrderByDescending(m => m.id)
+                .ToPage<MakeData, GetMakeDataListVo>(page);
+            return response;
+        }
+
+
+
+    }
+}

+ 27 - 0
Task/MakeHelper.cs

@@ -5,6 +5,7 @@ using Common;
 using Infrastructure;
 using LitJson;
 using Microsoft.CodeAnalysis.CSharp.Scripting;
+using Model;
 using Services;
 
 namespace Tasks
@@ -59,6 +60,32 @@ namespace Tasks
             path = Util.Maker.replaceKeyToValue(jsonObj["data"], path);
             fileName = Util.Maker.replaceKeyToValue(jsonObj["data"], fileName);
             Function.WritePage(path, fileName, resultString);
+            //生成数据入库
+            JsonData data = JsonMapper.ToObject(attach);
+            int dataId = int.Parse(Function.CheckInt(data["dataId"].ToString()));
+            string makeFileType = data["fileType"].ToString();
+            var makeDataService = App.GetRequiredService<IMakeDataService>();
+            var item = makeDataService.GetFirst(m => m.dataId == dataId && m.makeFileType == makeFileType);
+            if(item == null)
+            {
+                makeDataService.Add(new MakeData()
+                {
+                    dataId = dataId,
+                    makeFileName = fileName,
+                    makeFilePath = path,
+                    makeFileType = makeFileType,
+                    createTime = DateTime.Now,
+                    createBy = data["createBy"].ToString()
+                });
+            }
+            else
+            {
+                item.makeFileName = fileName;
+                item.makeFilePath = path;
+                item.updateTime = DateTime.Now;
+                item.updateBy = data["createBy"].ToString();
+                makeDataService.Update(item);
+            }
             //MQ回调解析的结果
             // RabbitMQClient.Instance.Push("MakeSqlCallBackQueue", requestId + "#cut#" + attach + "#cut#" + resultString);
         }

+ 1 - 1
Util/Maker.cs

@@ -192,7 +192,7 @@ namespace Util
         #region 公共标签处理
         public static async Task<string> PublicMakeAsync(string content)
         {
-            MatchCollection mc = Regex.Matches(content, "<<ym-if:.*?>>.*?<</ym-if>>");
+            MatchCollection mc = Regex.Matches(content, "<<ym-if:.*?>>[\\s\\S]*?<</ym-if>>");
             foreach (Match m in mc)
             {
                 string matchValue = m.Value;