From 5a871e40ec70a3e01a895dfc7f694adee5367a7d Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 18 5月 2025 15:05:18 +0800
Subject: [PATCH] 222
---
Weben_CMS专用代码生成器/Code/Templete/Controller模板.txt | 422 ++++++++++++++++++++++++----------------------------
1 files changed, 194 insertions(+), 228 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..ec1e4eb 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,240 @@
-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.Framework.AspNetCore.Users;
+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;
+using CmsQueryExtensions.Entitys;
-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;
+ private readonly ICurrentUser _currentUser;
- 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, ICurrentUser currentUser)
{
- _$EntityName$Services = $EntityName$Services;
- _user = user;
- _logger = logger;
+ _$EntityInstanceName$AppService = $EntityInstanceName$AppService;
+ _currentUser = currentUser;
}
/// <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">主键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;
+ /// <summary>
+ /// 根据条件获取$ChinaComment$
+ /// </summary>
+ /// <param name="input">查询参数</param>
+ /// <returns></returns>
+ [HttpPost]
+ [Route("FindListByFilter")]
+ public virtual async Task<List<$EntityName$Dto>> FindListByFilterAsync(Get$EntityName$Input input)
+ {
+ return await _$EntityInstanceName$AppService.FindListByFilterAsync(input);
+ }
+ /// <summary>
+ /// 根据条件获取单个$ChinaComment$
+ /// </summary>
+ /// <param name="input">查询参数</param>
+ /// <returns></returns>
+ [HttpPost]
+ [Route("FindSingleByFilter")]
+ public virtual async Task<$EntityName$Dto> FindSingleByFilterAsync(Get$EntityName$Input input)
+ {
- 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);
- }
+ return await _$EntityInstanceName$AppService.FindSingleByFilterAsync(input);
+ }
+
+ /// <summary>
+ /// 创建$ChinaComment$
+ /// </summary>
+ /// <param name="input">创建参数</param>
+ /// <returns></returns>
+ [Authorize]
+ [HttpPost]
+ public virtual Task<$EntityName$Dto> CreateAsync($EntityName$CreateDto input)
+ {
+ input.CreatorName = _currentUser.UserAccount;//创建人
+ return _$EntityInstanceName$AppService.CreateAsync(input);
}
/// <summary>
/// 更新$ChinaComment$
/// </summary>
- /// <param name="request">要更新的$ChinaComment$对象</param>
- /// <returns>更新结果</returns>
+ /// <param name="id">主键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
+ input.LastModifierName = _currentUser.UserAccount;//修改人
+ return _$EntityInstanceName$AppService.UpdateAsync(id, input);
+ }
+
+ /// <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)
+ {
+ MyCurrentUser myCurrentUser = new MyCurrentUser()
{
- #region 验证
- MessageModel<string> retBody = null;
- retBody = ValidateDataHelper.CommonValidateIsNULL<$EntityName$, string>(request);
- if (retBody != null)
- {
- return retBody;
- }
-
- 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);
- }
+ UserAccount = _currentUser.UserAccount,
+ UserId = _currentUser.UserId
+ };
+ return _$EntityInstanceName$AppService.CloneAsync(ids, myCurrentUser);
}
/// <summary>
/// 删除$ChinaComment$
/// </summary>
- /// <param name="id">主键</param>
- /// <returns>删除结果</returns>
+ /// <param name="id">主键ID</param>
+ /// <returns></returns>
+ [Authorize]
[HttpDelete]
- public async Task<MessageModel<string>> Delete(int id = 0)
+ [Route("{id}")]
+ public virtual Task DeleteAsync(Guid id)
{
- try
+ MyCurrentUser myCurrentUser = new MyCurrentUser()
{
- 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);
- }
+ UserAccount = _currentUser.UserAccount,
+ UserId = _currentUser.UserId
+ };
+ //return _wmsMaterialAppService.DeleteAsync(id,myCurrentUser);//逻辑删除
+ return _$EntityInstanceName$AppService.DeletePermanentlyAsync(id, myCurrentUser);//物理删除
}
- /// <summary>
- /// 逻辑删除$ChinaComment$
+ /// <summary>
+ /// 批量删除$ChinaComment$
/// </summary>
- /// <param name="id">主键</param>
- /// <returns>删除结果</returns>
+ /// <param name="ids">主键ID集合</param>
+ /// <returns></returns>
+ [Authorize]
[HttpDelete]
- public async Task<MessageModel<string>> LogicDelete(int id = 0)
+ public virtual Task DeleteAsync([FromBody] IEnumerable<Guid> ids)
{
- try
+ MyCurrentUser myCurrentUser = new MyCurrentUser()
{
- 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;
- }
- catch (Exception ex)
+ UserAccount = _currentUser.UserAccount,
+ UserId = _currentUser.UserId
+ };
+ // return _wmsMaterialAppService.DeleteManyAsync(ids,myCurrentUser);//逻辑删除
+ return _$EntityInstanceName$AppService.BatchDeletePermanentlyAsync(ids, myCurrentUser);//物理删除
+ }
+
+ /// <summary>
+ /// 调整排序$ChinaComment$
+ /// </summary>
+ /// <param name="id">主键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())
{
- _logger.LogError(ex,"逻辑删除$ChinaComment$出现异常:" + ex.Message);
- return MessageModel<string>.Fail("逻辑删除$ChinaComment$出现异常:" + ex.Message);
+ throw new UserFriendlyException("请检查导入的表格");
}
+
+ MyCurrentUser myCurrentUser = new MyCurrentUser()
+ {
+ UserAccount = _currentUser.UserAccount,
+ UserId = _currentUser.UserId
+ };
+ await _$EntityInstanceName$AppService.ImportAsync(new $EntityName$sImportModel
+ {
+ $EntityName$s = $EntityInstanceName$Rows,
+ },myCurrentUser);
+
+ 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