From dbb886f05af928ec4bd8b632fe7204f2551ef866 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 04 5月 2025 22:09:04 +0800
Subject: [PATCH] 2222

---
 Weben_CMS专用代码生成器/Code/Templete/Controller模板.txt |  372 ++++++++++++++++++++--------------------------------
 1 files changed, 143 insertions(+), 229 deletions(-)

diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Controller\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Controller\346\250\241\346\235\277.txt"
index 7a25ce1..20a3e30 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Controller\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Controller\346\250\241\346\235\277.txt"
@@ -1,274 +1,188 @@
-using $ProjectNamePrefix$.Core.Common.HttpContextUser;
-using $ProjectNamePrefix$.Core.Extensions.Others;
-using $ProjectNamePrefix$.Core.IServices;
-using $ProjectNamePrefix$.Core.Model;
-using $ProjectNamePrefix$.Core.Model.CommonModel;
-using $ProjectNamePrefix$.Core.Model.Models;
-using $ProjectNamePrefix$.Core.Model.ParamModels;
-using $ProjectNamePrefix$.Core.Utility;
+using Ao.Lang;
+using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
+using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
+using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services;
 using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Logging;
-using Newtonsoft.Json;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using System;
+using MiniExcelLibs;
+using System.Reflection;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
 
-namespace $ProjectNamePrefix$.Core.Api.Controllers
+namespace CMS.Plugin.$NameSpacePath$.Controller
 {
     /// <summary>
-    /// $ChinaComment$
+    /// $ChinaComment$服务
     /// </summary>
-    [Route("api/[controller]/[action]")]
     [ApiController]
-    [Authorize(Permissions.Name)]
+    [TypeFilter(typeof(CMSLanguageFilter))]
+    [TypeFilter(typeof(CMSUowActionFilter))]
+    [TypeFilter(typeof(CMSAuditActionFilter))]
+    [TypeFilter(typeof(CMSExceptionFilter))]
+    [Route("api/v{version:apiVersion}/$NameSpacePath$/[controller]")]
     public class $EntityName$Controller : ControllerBase
     {
-        private readonly I$EntityName$Services _$EntityName$Services;
-        private readonly IUser _user;
-		private readonly ILogger<$EntityName$Controller> _logger;
+        private readonly I$EntityName$AppService _$EntityInstanceName$AppService;
 
-        public $EntityName$Controller(I$EntityName$Services $EntityName$Services, IUser user, ILogger<$EntityName$Controller> logger)
+        /// <summary>
+        /// Initializes a new instance of the <see cref="$EntityName$Controller"/> class.
+        /// </summary>
+        /// <param name="$EntityInstanceName$AppService">The $EntityInstanceName$ application service.</param>
+        public $EntityName$Controller(I$EntityName$AppService $EntityInstanceName$AppService)
         {
-            _$EntityName$Services = $EntityName$Services;
-            _user = user;
-			_logger = logger;
+            _$EntityInstanceName$AppService = $EntityInstanceName$AppService;
         }
 
         /// <summary>
-        /// 分页获取$ChinaComment$列表
+        /// 获取$ChinaComment$
         /// </summary>
-        /// <param name="param">筛选条件</param>
-        /// <returns>获取结果</returns>
-        [HttpPost]
-        public async Task<MessageModel<PageModel<$EntityName$>>> Get([FromBody] $EntityName$Param param)
-        {
-            if (string.IsNullOrEmpty(param.searchVal) || string.IsNullOrWhiteSpace(param.searchVal))
-            {
-                param.searchVal = string.Empty;
-            }
-            
-            var whereConditions = WhereConditionsExtensions.GetWhereConditions<$EntityName$, $EntityName$Param>(param);
-            if (!whereConditions.IsSuccess) {
-                return new MessageModel<PageModel<$EntityName$>>()
-                {
-                    msg = whereConditions.ErrMsg,
-                    success = false,
-                    response = null
-                };
-            }
-			var data = await _$EntityName$Services.QueryPage(whereConditions.data, param.page, param.pageSize, " $OrderByName$ desc ");
-            return new MessageModel<PageModel<$EntityName$>>()
-            {
-                msg = "获取成功",
-                success = true,
-                response = data
-            };
-
-        }
-
-        /// <summary>
-        /// 获取单个$ChinaComment$
-        /// </summary>
-        /// <param name="id">主键</param>
-        /// <returns>获取结果</returns>
-        [HttpGet]
-        public async Task<MessageModel<$EntityName$>> Get(int id = 0)
-        {
-            return new MessageModel<$EntityName$>()
-            {
-                msg = "获取成功",
-                success = true,
-                response = await _$EntityName$Services.QueryById(id)
-            };
-        }
-
-        /// <summary>
-        /// 新增$ChinaComment$
-        /// </summary>
-        /// <param name="request">要新增的$ChinaComment$对象</param>
+        /// <param name="id">标识符.</param>
         /// <returns></returns>
-        [HttpPost]
-        public async Task<MessageModel<string>> Post([FromBody] $EntityName$ request)
+        [HttpGet]
+        [Route("{id}")]
+        public virtual Task<$EntityName$Dto> GetAsync(Guid id)
         {
-			try
-            {
-                #region 验证
-                MessageModel<string> retBody = null;
-                retBody = ValidateDataHelper.CommonValidateIsNULL<$EntityName$, string>(request);
-                if (retBody != null)
-                {
-                    return retBody;
-                }
+            return _$EntityInstanceName$AppService.GetAsync(id);
+        }
 
-                List<ValidateModel> columnsList = null;
-                columnsList = new List<ValidateModel>() {
-                   $ValidateEmptyForInsert$
-                };
-                retBody = ValidateDataHelper.CommonValidate<$EntityName$, string>(request, columnsList);
-                if (retBody != null)
-                {
-                    return retBody;
-                }
-                #endregion
+        /// <summary>
+        /// 分页获取$ChinaComment$的列表.
+        /// </summary>
+        /// <param name="input">输入.</param>
+        /// <returns></returns>
+        [HttpGet]
+        [Route("Page")]
+        public virtual Task<PagedResultDto<$EntityName$Dto>> GetListAsync([FromQuery] Get$EntityName$Input input)
+        {
+            return _$EntityInstanceName$AppService.GetListAsync(input);
+        }
 
-                request.CreateTime = request.ModifyTime = DateTime.Now;
-                request.CreateBy = request.ModifyBy = _user.Name;
-                request.CreateId = request.ModifyId = _user.ID;
-                request.OperationRemark = "添加";
-                var id = await _$EntityName$Services.Add(request);
-                var success = id > 0;
-
-                if (success)
-                {
-                    return MessageModel<string>.Success("添加成功", id.ObjToString());
-                }
-                return MessageModel<string>.Fail("添加失败");
-            }
-            catch (Exception ex)
-            {
-                _logger.LogError(ex,"新增$ChinaComment$出现异常:" + ex.Message);
-                return MessageModel<string>.Fail("新增$ChinaComment$出现异常:" + ex.Message);
-            }
+        /// <summary>
+        /// 创建$ChinaComment$
+        /// </summary>
+        /// <param name="input">输入.</param>
+        /// <returns></returns>
+        //[Authorize]
+        [HttpPost]
+        public virtual Task<$EntityName$Dto> CreateAsync($EntityName$CreateDto input)
+        {
+            return _$EntityInstanceName$AppService.CreateAsync(input);
         }
 
         /// <summary>
         /// 更新$ChinaComment$
         /// </summary>
-        /// <param name="request">要更新的$ChinaComment$对象</param>
-        /// <returns>更新结果</returns>
+        /// <param name="id">标识符.</param>
+        /// <param name="input">输入.</param>
+        /// <returns></returns>
+        //[Authorize]
         [HttpPut]
-        public async Task<MessageModel<string>> Put([FromBody] $EntityName$ request)
+        [Route("{id}")]
+        public virtual Task<$EntityName$Dto> UpdateAsync(Guid id, $EntityName$UpdateDto input)
         {
-            try
-            {
-                #region 验证
-                MessageModel<string> retBody = null;
-                retBody = ValidateDataHelper.CommonValidateIsNULL<$EntityName$, string>(request);
-                if (retBody != null)
-                {
-                    return retBody;
-                }
+            return _$EntityInstanceName$AppService.UpdateAsync(id, input);
+        }
 
-                List<ValidateModel> columnsList = null;
-                columnsList = new List<ValidateModel>()
-                {
-                    $ValidateEmptyForUpdate$
-                };
-                retBody = ValidateDataHelper.CommonValidate<$EntityName$, string>(request, columnsList);
-                if (retBody != null)
-                {
-                    return retBody;
-                }
-                #endregion
-
-                var dbObj = await _$EntityName$Services.QueryById(request.Id);
-                if (dbObj == null)
-                {
-                    return MessageModel<string>.Fail("数据不存在!");
-                }
-
-                request.ModifyTime = DateTime.Now;
-                request.ModifyBy = _user.Name;
-                request.ModifyId = _user.ID;
-                request.OperationRemark = "更新";
-                var success = await _$EntityName$Services.Update(request);
-
-                if (success)
-                {
-                    return MessageModel<string>.Success("更新成功", request.Id.ObjToString());
-                }
-                return MessageModel<string>.Fail("更新失败");
-            }
-            catch (Exception ex)
-            {
-				_logger.LogError(ex,"更新$ChinaComment$出现异常:" + ex.Message);
-                return MessageModel<string>.Fail("更新$ChinaComment$出现异常:" + ex.Message);
-            }
+        /// <summary>
+        /// 克隆$ChinaComment$
+        /// </summary>
+        /// <param name="ids">Id集合.</param>
+        /// <returns></returns>
+        //[Authorize]
+        [HttpPost]
+        [Route("Clone")]
+        public virtual Task<List<$EntityName$Dto>> CloneAsync([FromBody] IEnumerable<Guid> ids)
+        {
+            return _$EntityInstanceName$AppService.CloneAsync(ids);
         }
 
         /// <summary>
         /// 删除$ChinaComment$
         /// </summary>
-        /// <param name="id">主键</param>
-        /// <returns>删除结果</returns>
+        /// <param name="id">标识符.</param>
+        /// <returns></returns>
+        //[Authorize]
         [HttpDelete]
-        public async Task<MessageModel<string>> Delete(int id = 0)
+        [Route("{id}")]
+        public virtual Task DeleteAsync(Guid id)
         {
-			try
-            {
-                var data = new MessageModel<string>();
-                if (id > 0)
-                {
-                    var detail = await _$EntityName$Services.QueryById(id);
-                    if (detail != null)
-                    {
-                        data.success = await _$EntityName$Services.DeleteById(detail.Id);
-                        if (data.success)
-                        {
-                            data.msg = "删除成功";
-                            data.response = detail?.Id.ObjToString();
-                        }
-                    }
-					else {
-                        return MessageModel<string>.Fail("数据不存在!");
-                    }
-                }
-                else
-                {
-                    data.success = false;
-                    data.msg = "删除失败,$ChinaComment$不存在";
-                }
-                return data;
-            }
-            catch (Exception ex)
-            {
-			    _logger.LogError(ex,"删除$ChinaComment$出现异常:" + ex.Message);
-                return MessageModel<string>.Fail("删除$ChinaComment$出现异常:" + ex.Message);
-            }
+            return _$EntityInstanceName$AppService.DeleteAsync(id);
         }
 
-		/// <summary>
-        /// 逻辑删除$ChinaComment$
+        /// <summary>
+        /// 批量删除$ChinaComment$
         /// </summary>
-        /// <param name="id">主键</param>
-        /// <returns>删除结果</returns>
+        /// <param name="ids">The ids.</param>
+        /// <returns></returns>
+        //[Authorize]
         [HttpDelete]
-        public async Task<MessageModel<string>> LogicDelete(int id = 0)
+        public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids)
         {
-            try
+            return _$EntityInstanceName$AppService.DeleteManyAsync(ids);
+        }
+
+        /// <summary>
+        /// 调整排序$ChinaComment$
+        /// </summary>
+        /// <param name="id">标识符.</param>
+        /// <returns></returns>
+        [HttpPut]
+        [Route("{id}/AdjustSort/{sort}")]
+        public virtual Task AdjustSortAsync(Guid id, int sort)
+        {
+            return _$EntityInstanceName$AppService.AdjustSortAsync(id, sort);
+        }
+
+        /// <summary>
+        /// 导入$ChinaComment$
+        /// </summary>
+        /// <returns></returns>
+        [Authorize]
+        [HttpPost]
+        [Route("Import")]
+        public virtual async Task<IActionResult> ImportAsync(IFormFile file)
+        {
+            using var stream = new MemoryStream();
+            await file.CopyToAsync(stream);
+            stream.Seek(0L, SeekOrigin.Begin);
+
+            var sheetNames = stream.GetSheetNames();
+            var $EntityInstanceName$Rows = sheetNames.Contains("配置") ? MiniExcel.Query<$EntityName$sImportModel.$EntityName$ImportModel>(stream, sheetName: "配置").ToList() : new();
+
+            if (!$EntityInstanceName$Rows.Any())
             {
-                var data = new MessageModel<string>();
-                if (id > 0)
-                {
-                    var detail = await _$EntityName$Services.QueryById(id);
-                    if (detail != null)
-                    {
-                        detail.ModifyTime = DateTime.Now;
-                        detail.ModifyBy = _user.Name;
-                        detail.ModifyId = _user.ID;
-                        detail.IsDeleted = true;
-                        detail.OperationRemark = "删除";
-                        data.success = await _$EntityName$Services.Update(detail);
-                        if (data.success)
-                        {
-                            data.msg = "删除成功";
-                            data.response = detail?.Id.ObjToString();
-                        }
-                    }
-                }
-                else
-                {
-                    data.success = false;
-                    data.msg = "删除失败,数据不存在";
-                }
-                return data;
+                throw new UserFriendlyException("请检查导入的表格");
             }
-            catch (Exception ex)
+
+            await _$EntityInstanceName$AppService.ImportAsync(new $EntityName$sImportModel
             {
-			    _logger.LogError(ex,"逻辑删除$ChinaComment$出现异常:" + ex.Message);
-                return MessageModel<string>.Fail("逻辑删除$ChinaComment$出现异常:" + ex.Message);
+                $EntityName$s = $EntityInstanceName$Rows,
+            });
+
+            return Ok();
+        }
+
+        /// <summary>
+        /// 导出$ChinaComment$
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [Route("Export")]
+        public virtual async Task<IActionResult> ExportAsync([FromQuery] Get$EntityName$Input input)
+        {
+            input.MaxResultCount = int.MaxValue;
+            var exportData = await _$EntityInstanceName$AppService.ExportAsync(input);
+            var templatePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Resources/Templates/$EntityName$导出模板.xlsx");
+            if (!System.IO.File.Exists(templatePath))
+            {
+                templatePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, $"Resources/Templates/$EntityName$导出模板.xlsx");
             }
+
+            var memoryStream = new MemoryStream();
+            await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets);
+            memoryStream.Seek(0L, SeekOrigin.Begin);
+            return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" };
         }
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3