0524
parent
4d90594321
commit
d3cb68aec8
|
@ -0,0 +1,29 @@
|
||||||
|
using Admin.NET.Core;
|
||||||
|
namespace Admin.NET.Application.Entity;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("CodeElement","码元素")]
|
||||||
|
public class CodeElement : EntityBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 码长度
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[SugarColumn(ColumnName = "CodeLength", ColumnDescription = "码长度")]
|
||||||
|
public int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码包名称
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "CodeName", ColumnDescription = "码包名称", Length = 32)]
|
||||||
|
public string? CodeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出格式示例
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "ExportFormatExample", ColumnDescription = "导出格式示例", Length = 32)]
|
||||||
|
public string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
using Admin.NET.Core;
|
||||||
|
namespace Admin.NET.Application.Entity;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("CodeElementProp","码元素内容")]
|
||||||
|
public class CodeElementProp : EntityBaseId
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素Id
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[SugarColumn(ColumnName = "CodeElementId", IsIdentity = false, ColumnDescription = "码元素Id", IsPrimaryKey = true)]
|
||||||
|
public long CodeElementId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 长度
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[SugarColumn(ColumnName = "Length", IsIdentity = false, ColumnDescription = "长度", IsPrimaryKey = true)]
|
||||||
|
public int Length { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序号
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "Index", ColumnDescription = "序号")]
|
||||||
|
public int? Index { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素值
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "CodeValue", ColumnDescription = "码元素值", Length = 32)]
|
||||||
|
public string? CodeValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产码规则
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "CodeType", ColumnDescription = "产码规则", Length = 32)]
|
||||||
|
public string? CodeType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "Remark", ColumnDescription = "备注", Length = 32)]
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
|
}
|
|
@ -35,7 +35,7 @@ public class CodePakageConfiguration : EntityTenant
|
||||||
/// 导出格式
|
/// 导出格式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnName = "ExportFormat", ColumnDescription = "导出格式")]
|
[SugarColumn(ColumnName = "ExportFormat", ColumnDescription = "导出格式")]
|
||||||
public int? ExportFormat { get; set; }
|
public string? ExportFormat { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 条码前缀
|
/// 条码前缀
|
||||||
|
@ -55,4 +55,17 @@ public class CodePakageConfiguration : EntityTenant
|
||||||
[SugarColumn(ColumnName = "ExportFormatExample", ColumnDescription = "导出格式示例", Length = 32)]
|
[SugarColumn(ColumnName = "ExportFormatExample", ColumnDescription = "导出格式示例", Length = 32)]
|
||||||
public string? ExportFormatExample { get; set; }
|
public string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 条码长度
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[SugarColumn(ColumnName = "CodeLength", ColumnDescription = "条码长度")]
|
||||||
|
public int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 后缀类型
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "SuffixType", ColumnDescription = "后缀类型", Length = 32)]
|
||||||
|
public string? SuffixType { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class BrandService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<BrandOutput>> List()
|
public async Task<List<BrandOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<BrandOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<BrandOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,122 @@
|
||||||
|
using Admin.NET.Core.Service;
|
||||||
|
using Admin.NET.Application.Const;
|
||||||
|
using Admin.NET.Application.Entity;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素服务
|
||||||
|
/// </summary>
|
||||||
|
[ApiDescriptionSettings(ApplicationConst.GroupName, Order = 100)]
|
||||||
|
public class CodeElementService : IDynamicApiController, ITransient
|
||||||
|
{
|
||||||
|
private readonly SqlSugarRepository<CodeElement> _rep;
|
||||||
|
public CodeElementService(SqlSugarRepository<CodeElement> rep)
|
||||||
|
{
|
||||||
|
_rep = rep;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页查询码元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Page")]
|
||||||
|
public async Task<SqlSugarPagedList<CodeElementOutput>> Page(CodeElementInput input)
|
||||||
|
{
|
||||||
|
var query = _rep.AsQueryable()
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
|
||||||
|
u.CodeName.Contains(input.SearchKey.Trim())
|
||||||
|
|| u.ExportFormatExample.Contains(input.SearchKey.Trim())
|
||||||
|
)
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.CodeName), u => u.CodeName.Contains(input.CodeName.Trim()))
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.ExportFormatExample), u => u.ExportFormatExample.Contains(input.ExportFormatExample.Trim()))
|
||||||
|
.Select<CodeElementOutput>();
|
||||||
|
return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 增加码元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Add")]
|
||||||
|
public async Task<long> Add(AddCodeElementInput input)
|
||||||
|
{
|
||||||
|
var entity = input.Adapt<CodeElement>();
|
||||||
|
await _rep.InsertAsync(entity);
|
||||||
|
return entity.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除码元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Delete")]
|
||||||
|
public async Task Delete(DeleteCodeElementInput input)
|
||||||
|
{
|
||||||
|
var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
|
||||||
|
//var entity = await _rep.GetFirstAsync(u => u.CodeLength == input.CodeLength) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
|
||||||
|
//await _rep.FakeDeleteAsync(entity); //假删除
|
||||||
|
await _rep.DeleteAsync(entity); //真删除
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新码元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Update")]
|
||||||
|
public async Task Update(UpdateCodeElementInput input)
|
||||||
|
{
|
||||||
|
var entity = input.Adapt<CodeElement>();
|
||||||
|
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
[ApiDescriptionSettings(Name = "Detail")]
|
||||||
|
public async Task<CodeElement> Detail([FromQuery] QueryByIdCodeElementInput input)
|
||||||
|
{
|
||||||
|
return await _rep.GetFirstAsync(u => u.Id == input.Id);
|
||||||
|
//return await _rep.GetFirstAsync(u => u.CodeLength == input.CodeLength);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
[ApiDescriptionSettings(Name = "ElementByName")]
|
||||||
|
public async Task<CodeElement> GetElementByName([FromQuery] string input)
|
||||||
|
{
|
||||||
|
return await _rep.GetFirstAsync(u => u.CodeName == input);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码元素列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
|
public async Task<List<CodeElementOutput>> List()
|
||||||
|
{
|
||||||
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<CodeElementOutput>().ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素输出参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主键Id
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码长度
|
||||||
|
/// </summary>
|
||||||
|
public int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码包名称
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出格式示例
|
||||||
|
/// </summary>
|
||||||
|
public string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? UpdateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建者Id
|
||||||
|
/// </summary>
|
||||||
|
public long? CreateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建者姓名
|
||||||
|
/// </summary>
|
||||||
|
public string? CreateUserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改者Id
|
||||||
|
/// </summary>
|
||||||
|
public long? UpdateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改者姓名
|
||||||
|
/// </summary>
|
||||||
|
public string? UpdateUserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 软删除
|
||||||
|
/// </summary>
|
||||||
|
public bool IsDelete { get; set; }
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,136 @@
|
||||||
|
using Admin.NET.Core;
|
||||||
|
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素基础输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementBaseInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 码包名称
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? CodeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码长度
|
||||||
|
/// </summary>
|
||||||
|
public virtual int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出格式示例
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public virtual DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新时间
|
||||||
|
/// </summary>
|
||||||
|
public virtual DateTime? UpdateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建者Id
|
||||||
|
/// </summary>
|
||||||
|
public virtual long? CreateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建者姓名
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? CreateUserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改者Id
|
||||||
|
/// </summary>
|
||||||
|
public virtual long? UpdateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改者姓名
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? UpdateUserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 软删除
|
||||||
|
/// </summary>
|
||||||
|
public virtual bool IsDelete { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素分页查询输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementInput : BasePageInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 关键字查询
|
||||||
|
/// </summary>
|
||||||
|
public string? SearchKey { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码包名称
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码长度
|
||||||
|
/// </summary>
|
||||||
|
public virtual int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出格式示例
|
||||||
|
/// </summary>
|
||||||
|
public string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素增加输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class AddCodeElementInput : CodeElementBaseInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 软删除
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "软删除不能为空")]
|
||||||
|
public override bool IsDelete { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素删除输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class DeleteCodeElementInput : BaseIdInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 码长度
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "码长度不能为空")]
|
||||||
|
public int CodeLength { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素更新输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class UpdateCodeElementInput : CodeElementBaseInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主键Id
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "主键Id不能为空")]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素主键查询输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class QueryByIdCodeElementInput : DeleteCodeElementInput
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素输出参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementOutput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主键Id
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码长度
|
||||||
|
/// </summary>
|
||||||
|
public int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码包名称
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出格式示例
|
||||||
|
/// </summary>
|
||||||
|
public string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? UpdateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建者Id
|
||||||
|
/// </summary>
|
||||||
|
public long? CreateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建者姓名
|
||||||
|
/// </summary>
|
||||||
|
public string? CreateUserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改者Id
|
||||||
|
/// </summary>
|
||||||
|
public long? UpdateUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改者姓名
|
||||||
|
/// </summary>
|
||||||
|
public string? UpdateUserName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 软删除
|
||||||
|
/// </summary>
|
||||||
|
public bool IsDelete { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,149 @@
|
||||||
|
using Admin.NET.Core.Service;
|
||||||
|
using Admin.NET.Application.Const;
|
||||||
|
using Admin.NET.Application.Entity;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Admin.NET.Application.Utils;
|
||||||
|
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容服务
|
||||||
|
/// </summary>
|
||||||
|
[ApiDescriptionSettings(ApplicationConst.GroupName, Order = 100)]
|
||||||
|
public class CodeElementPropService : IDynamicApiController, ITransient
|
||||||
|
{
|
||||||
|
private readonly SqlSugarRepository<CodeElementProp> _rep;
|
||||||
|
public CodeElementPropService(SqlSugarRepository<CodeElementProp> rep)
|
||||||
|
{
|
||||||
|
_rep = rep;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页查询码元素内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Page")]
|
||||||
|
public async Task<SqlSugarPagedList<CodeElementPropOutput>> Page(CodeElementPropInput input)
|
||||||
|
{
|
||||||
|
var query = _rep.AsQueryable()
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
|
||||||
|
u.CodeValue.Contains(input.SearchKey.Trim())
|
||||||
|
|| u.CodeType.Contains(input.SearchKey.Trim())
|
||||||
|
|| u.Remark.Contains(input.SearchKey.Trim())
|
||||||
|
)
|
||||||
|
.WhereIF(input.Index>0, u => u.Index == input.Index)
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.CodeValue), u => u.CodeValue.Contains(input.CodeValue.Trim()))
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.CodeType), u => u.CodeType.Contains(input.CodeType.Trim()))
|
||||||
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Remark), u => u.Remark.Contains(input.Remark.Trim()))
|
||||||
|
.Select<CodeElementPropOutput>();
|
||||||
|
return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 增加码元素内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Add")]
|
||||||
|
public async Task<long> Add(AddCodeElementPropInput input)
|
||||||
|
{
|
||||||
|
var entity = input.Adapt<CodeElementProp>();
|
||||||
|
await _rep.InsertAsync(entity);
|
||||||
|
return entity.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除码元素内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Delete")]
|
||||||
|
public async Task Delete(DeleteCodeElementPropInput input)
|
||||||
|
{
|
||||||
|
var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
|
||||||
|
//var entity = await _rep.GetFirstAsync(u => u.CodeElementId == input.CodeElementId) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
|
||||||
|
//var entity = await _rep.GetFirstAsync(u => u.Length == input.Length) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
|
||||||
|
//await _rep.FakeDeleteAsync(entity); //假删除
|
||||||
|
await _rep.DeleteAsync(entity); //真删除
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新码元素内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "Update")]
|
||||||
|
public async Task Update(UpdateCodeElementPropInput input)
|
||||||
|
{
|
||||||
|
var entity = input.Adapt<CodeElementProp>();
|
||||||
|
if (input.Id > 0)
|
||||||
|
{
|
||||||
|
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await _rep.InsertAsync(entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码元素内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
[ApiDescriptionSettings(Name = "Detail")]
|
||||||
|
public async Task<CodeElementProp> Detail([FromQuery] QueryByIdCodeElementPropInput input)
|
||||||
|
{
|
||||||
|
return await _rep.GetFirstAsync(u => u.Id == input.Id);
|
||||||
|
//return await _rep.GetFirstAsync(u => u.CodeElementId == input.CodeElementId);
|
||||||
|
//return await _rep.GetFirstAsync(u => u.Length == input.Length);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码元素内容列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet]
|
||||||
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
|
public async Task<List<CodeElementPropOutput>> List()
|
||||||
|
{
|
||||||
|
return await _rep.AsQueryable().Select<CodeElementPropOutput>().ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码元素内容列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "CodePropByElement")]
|
||||||
|
public async Task<List<CodeElementPropOutput>> CodePropByElement(CodeElementOutput input)
|
||||||
|
{
|
||||||
|
var list = await _rep.AsQueryable().Where(a => a.CodeElementId == input.Id).Select<CodeElementPropOutput>().ToListAsync();
|
||||||
|
if (list == null || list.Count < 1)
|
||||||
|
{
|
||||||
|
var result = new List<CodeElementPropOutput>();
|
||||||
|
result.Add(new CodeElementPropOutput() { CodeElementId = input.Id, Index = 1, CodeValue = "110", Length = 3, Remark = "110" });
|
||||||
|
if (input.CodeLength > 7)
|
||||||
|
{
|
||||||
|
var len = input.CodeLength - 7;
|
||||||
|
var value = CodeHelper.GetCodeRandom(len);
|
||||||
|
result.Add(new CodeElementPropOutput() { CodeElementId = input.Id, Index = 2, CodeValue = value, Length = len, CodeType = "随机数", Remark = value });
|
||||||
|
}
|
||||||
|
result.Add(new CodeElementPropOutput() { CodeElementId = input.Id, Index = 3, CodeValue = "0000", Length = 4, CodeType = "序号", Remark = "0001" });
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容输出参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementPropDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主键Id
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素Id
|
||||||
|
/// </summary>
|
||||||
|
public long CodeElementId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 长度
|
||||||
|
/// </summary>
|
||||||
|
public int Length { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序号
|
||||||
|
/// </summary>
|
||||||
|
public int? Index { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素值
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产码规则
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,122 @@
|
||||||
|
using Admin.NET.Core;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容基础输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementPropBaseInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 序号
|
||||||
|
/// </summary>
|
||||||
|
public virtual int? Index { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素值
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? CodeValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产码规则
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? CodeType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? Remark { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容分页查询输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementPropInput : BasePageInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 关键字查询
|
||||||
|
/// </summary>
|
||||||
|
public string? SearchKey { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序号
|
||||||
|
/// </summary>
|
||||||
|
public int? Index { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素值
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产码规则
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容增加输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class AddCodeElementPropInput : CodeElementPropBaseInput
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容删除输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class DeleteCodeElementPropInput : BaseIdInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素Id
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "码元素Id不能为空")]
|
||||||
|
public long CodeElementId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 长度
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "长度不能为空")]
|
||||||
|
public int Length { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容更新输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class UpdateCodeElementPropInput : CodeElementPropBaseInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主键Id
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "主键Id不能为空")]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素Id
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "码元素Id不能为空")]
|
||||||
|
public long CodeElementId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 长度
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "长度不能为空")]
|
||||||
|
public int Length { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容主键查询输入参数
|
||||||
|
/// </summary>
|
||||||
|
public class QueryByIdCodeElementPropInput : DeleteCodeElementPropInput
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
namespace Admin.NET.Application;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素内容输出参数
|
||||||
|
/// </summary>
|
||||||
|
public class CodeElementPropOutput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 主键Id
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素Id
|
||||||
|
/// </summary>
|
||||||
|
public long CodeElementId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 长度
|
||||||
|
/// </summary>
|
||||||
|
public int Length { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 序号
|
||||||
|
/// </summary>
|
||||||
|
public int? Index { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 码元素值
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产码规则
|
||||||
|
/// </summary>
|
||||||
|
public string? CodeType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,10 +94,22 @@ public class CodePakageConfigurationService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<CodePakageConfigurationOutput>> List()
|
public async Task<List<CodePakageConfigurationOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<CodePakageConfigurationOutput>().ToListAsync();
|
var list = await _rep.AsQueryable().Where(a => !a.IsDelete).Select<CodePakageConfigurationOutput>().ToListAsync();
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取码包示例
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "GetExample")]
|
||||||
|
public async Task<string> GetExample(CodePakageConfigurationOutput codePakage)
|
||||||
|
{
|
||||||
|
var result = "";
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出格式
|
/// 导出格式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? ExportFormat { get; set; }
|
public string? ExportFormat { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 条码前缀
|
/// 条码前缀
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace Admin.NET.Application;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出格式
|
/// 导出格式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual int? ExportFormat { get; set; }
|
public virtual string? ExportFormat { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 条码前缀
|
/// 条码前缀
|
||||||
|
@ -47,11 +47,21 @@ namespace Admin.NET.Application;
|
||||||
/// 导出格式示例
|
/// 导出格式示例
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual string? ExportFormatExample { get; set; }
|
public virtual string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 租户Id
|
/// 条码长度
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual long? TenantId { get; set; }
|
public virtual int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 后缀类型
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? SuffixType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 租户Id
|
||||||
|
/// </summary>
|
||||||
|
public virtual long? TenantId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建时间
|
/// 创建时间
|
||||||
|
@ -123,7 +133,7 @@ namespace Admin.NET.Application;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出格式
|
/// 导出格式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? ExportFormat { get; set; }
|
public string? ExportFormat { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 条码前缀
|
/// 条码前缀
|
||||||
|
@ -139,8 +149,17 @@ namespace Admin.NET.Application;
|
||||||
/// 导出格式示例
|
/// 导出格式示例
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? ExportFormatExample { get; set; }
|
public string? ExportFormatExample { get; set; }
|
||||||
|
/// <summary>
|
||||||
}
|
/// 条码长度
|
||||||
|
/// </summary>
|
||||||
|
public virtual int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 后缀类型
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? SuffixType { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 码包配置增加输入参数
|
/// 码包配置增加输入参数
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class CodePakageConfigurationOutput
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出格式
|
/// 导出格式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? ExportFormat { get; set; }
|
public string? ExportFormat { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 条码前缀
|
/// 条码前缀
|
||||||
|
@ -49,7 +49,17 @@ public class CodePakageConfigurationOutput
|
||||||
/// 导出格式示例
|
/// 导出格式示例
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? ExportFormatExample { get; set; }
|
public string? ExportFormatExample { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 条码长度
|
||||||
|
/// </summary>
|
||||||
|
public virtual int CodeLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 后缀类型
|
||||||
|
/// </summary>
|
||||||
|
public virtual string? SuffixType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 租户Id
|
/// 租户Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -102,7 +102,7 @@ public class CodeRuleByInfomationService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<CodeRuleByInfomationOutput>> List()
|
public async Task<List<CodeRuleByInfomationOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<CodeRuleByInfomationOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<CodeRuleByInfomationOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ public class CodeRuleByReceiptService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<CodeRuleByReceiptOutput>> List()
|
public async Task<List<CodeRuleByReceiptOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<CodeRuleByReceiptOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<CodeRuleByReceiptOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class CustomService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<CustomOutput>> List()
|
public async Task<List<CustomOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<CustomOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<CustomOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ public class CustonClassifyService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<CustonClassifyOutput>> List()
|
public async Task<List<CustonClassifyOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<CustonClassifyOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<CustonClassifyOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ public class DistributorService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<DistributorOutput>> List()
|
public async Task<List<DistributorOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<DistributorOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<DistributorOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ public class InvoiceService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<InvoiceOutput>> List()
|
public async Task<List<InvoiceOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<InvoiceOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<InvoiceOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ public class MaterialClassifyService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<MaterialClassifyOutput>> List()
|
public async Task<List<MaterialClassifyOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<MaterialClassifyOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<MaterialClassifyOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@ public class MaterialsService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<MaterialsOutput>> List()
|
public async Task<List<MaterialsOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<MaterialsOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<MaterialsOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class OutboundService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<OutboundOutput>> List()
|
public async Task<List<OutboundOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<OutboundOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<OutboundOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ public class PackageInfoService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<PackageInfoOutput>> List(long materialsId)
|
public async Task<List<PackageInfoOutput>> List(long materialsId)
|
||||||
{
|
{
|
||||||
var list = await _rep.AsQueryable().Where(u => u.MaterialsId == materialsId)?.Select<PackageInfoOutput>().ToListAsync();
|
var list = await _rep.AsQueryable().Where(u =>!u.IsDelete && u.MaterialsId == materialsId)?.Select<PackageInfoOutput>().ToListAsync();
|
||||||
if (list != null && list.Count > 5)
|
if (list != null && list.Count > 5)
|
||||||
{
|
{
|
||||||
var units = await _unitService.List();
|
var units = await _unitService.List();
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
using Admin.NET.Application.Const;
|
using Admin.NET.Application.Const;
|
||||||
using Admin.NET.Application.Entity;
|
using Admin.NET.Application.Entity;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Admin.NET.Application.Utils;
|
||||||
|
|
||||||
namespace Admin.NET.Application;
|
namespace Admin.NET.Application;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 打印信息服务
|
/// 打印信息服务
|
||||||
|
@ -10,9 +12,15 @@ namespace Admin.NET.Application;
|
||||||
public class PrintDataService : IDynamicApiController, ITransient
|
public class PrintDataService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly SqlSugarRepository<PrintData> _rep;
|
private readonly SqlSugarRepository<PrintData> _rep;
|
||||||
public PrintDataService(SqlSugarRepository<PrintData> rep)
|
private readonly CodeElementService _codeElementService;
|
||||||
|
private readonly CodeElementPropService _codeElementPropService;
|
||||||
|
public PrintDataService(SqlSugarRepository<PrintData> rep,
|
||||||
|
CodeElementService codeElementService,
|
||||||
|
CodeElementPropService codeElementPropService)
|
||||||
{
|
{
|
||||||
_rep = rep;
|
_rep = rep;
|
||||||
|
_codeElementService = codeElementService;
|
||||||
|
_codeElementPropService = codeElementPropService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -100,28 +108,77 @@ public class PrintDataService : IDynamicApiController, ITransient
|
||||||
public async Task<List<PrintData>> GetPrintDataList(PrintDataMaterialsInput input)
|
public async Task<List<PrintData>> GetPrintDataList(PrintDataMaterialsInput input)
|
||||||
{
|
{
|
||||||
var result = new List<PrintData>();
|
var result = new List<PrintData>();
|
||||||
var headCode = string.IsNullOrEmpty(input.CodeHead) ? "" : input.CodeHead;
|
if (string.IsNullOrEmpty(input.CodeHead))
|
||||||
int countN = input.CodeLength > 3 ? input.CodeLength : 5;
|
|
||||||
var format = "";
|
|
||||||
for (int i = 0; i < countN; i++)
|
|
||||||
{
|
{
|
||||||
format += "0";
|
return result;
|
||||||
}
|
}
|
||||||
for (int i = 1; i < input.Count+1; i++)
|
var elem = await _codeElementService.GetElementByName(input.CodeHead);
|
||||||
|
if (elem == null)
|
||||||
|
{ return result; }
|
||||||
|
var elemProp = await _codeElementPropService.CodePropByElement(new CodeElementOutput() { Id = elem.Id, CodeLength = elem.CodeLength });
|
||||||
|
if (elemProp.Count>0)
|
||||||
{
|
{
|
||||||
var code = $"{headCode}{i.ToString(format)}";
|
elemProp = elemProp.OrderBy(a => a.Index).ToList();
|
||||||
if (input.CodeType == "条形码")
|
for (int i = 0; i < input.Count; i++)
|
||||||
{
|
{
|
||||||
result.Add(new PrintData() { BarCode = code });
|
var code = GetCodeNumByProp(elemProp, i + 1);
|
||||||
}
|
if (input.CodeType == "条形码")
|
||||||
else
|
{
|
||||||
{
|
result.Add(new PrintData() { BarCode = code });
|
||||||
result.Add(new PrintData() { QrCode = code });
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result.Add(new PrintData() { QrCode = code });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string GetCodeNumByProp(List<CodeElementPropOutput> lists,int index)
|
||||||
|
{
|
||||||
|
|
||||||
|
var result = string.Empty;
|
||||||
|
for (int i = 0; i < lists.Count; i++)
|
||||||
|
{
|
||||||
|
var item = lists[i];
|
||||||
|
var format = "";
|
||||||
|
for (int j = 0; j < item.Length; j++)
|
||||||
|
{
|
||||||
|
format += "0";
|
||||||
|
}
|
||||||
|
switch (item.CodeType)
|
||||||
|
{
|
||||||
|
case "序号":
|
||||||
|
result += (Convert.ToInt32(item.CodeValue) + index).ToString(format);
|
||||||
|
break;
|
||||||
|
case "随机数":
|
||||||
|
result += CodeHelper.GetCodeRandom(item.Length);
|
||||||
|
break;
|
||||||
|
case "固定字符串":
|
||||||
|
result += item.CodeValue;
|
||||||
|
break;
|
||||||
|
case "随机字母数字":
|
||||||
|
result += CodeHelper.GetCodeLetterNum(item.Length);
|
||||||
|
break;
|
||||||
|
case "随机大小写字母":
|
||||||
|
result += CodeHelper.GetCodeLetter(item.Length);
|
||||||
|
break;
|
||||||
|
case "随机大写字母":
|
||||||
|
result += CodeHelper.GetCodeUpLetter(item.Length);
|
||||||
|
break;
|
||||||
|
case "随机小写字母":
|
||||||
|
result += CodeHelper.GetCodeDownLetter(item.Length);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
result += (Convert.ToInt32(item.CodeValue) + 1).ToString(format);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取打印信息列表
|
/// 获取打印信息列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -122,7 +122,7 @@ public class PrintLabelService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<PrintLabelOutput>> List()
|
public async Task<List<PrintLabelOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<PrintLabelOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<PrintLabelOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ public class ProductBarCodeService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<ProductBarCodeOutput>> List()
|
public async Task<List<ProductBarCodeOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<ProductBarCodeOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<ProductBarCodeOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class ProductCodeConfigurationService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<ProductCodeConfigurationOutput>> List()
|
public async Task<List<ProductCodeConfigurationOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<ProductCodeConfigurationOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<ProductCodeConfigurationOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,7 @@ public class ProductionService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<ProductionOutput>> List()
|
public async Task<List<ProductionOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<ProductionOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<ProductionOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ public class ProductionTasksService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<ProductionTasksOutput>> List()
|
public async Task<List<ProductionTasksOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<ProductionTasksOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<ProductionTasksOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||||
|
//
|
||||||
|
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||||
|
|
||||||
|
using Admin.NET.Application.Entity;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Admin.NET.Application.Service.ReportTable.Dto;
|
||||||
|
public class AddReportContext
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 单位组Id
|
||||||
|
/// </summary>
|
||||||
|
public long UnitGroupId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 码包名称
|
||||||
|
/// </summary>
|
||||||
|
public string? Name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 打印数据
|
||||||
|
/// </summary>
|
||||||
|
public List<PrintData> PrintDatas { get; set; }
|
||||||
|
}
|
|
@ -2,6 +2,8 @@
|
||||||
using Admin.NET.Application.Const;
|
using Admin.NET.Application.Const;
|
||||||
using Admin.NET.Application.Entity;
|
using Admin.NET.Application.Entity;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Admin.NET.Application.Service.ReportTable.Dto;
|
||||||
|
|
||||||
namespace Admin.NET.Application;
|
namespace Admin.NET.Application;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 汇报单服务
|
/// 汇报单服务
|
||||||
|
@ -10,9 +12,15 @@ namespace Admin.NET.Application;
|
||||||
public class ReportTableService : IDynamicApiController, ITransient
|
public class ReportTableService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly SqlSugarRepository<ReportTable> _rep;
|
private readonly SqlSugarRepository<ReportTable> _rep;
|
||||||
public ReportTableService(SqlSugarRepository<ReportTable> rep)
|
private readonly SysUnitService _repUnit;
|
||||||
|
private readonly SysUnitGroupService _repUnitGroup;
|
||||||
|
public ReportTableService(SqlSugarRepository<ReportTable> rep,
|
||||||
|
SysUnitService repUnit,
|
||||||
|
SysUnitGroupService repUnitGroup)
|
||||||
{
|
{
|
||||||
_rep = rep;
|
_rep = rep;
|
||||||
|
_repUnit = repUnit;
|
||||||
|
_repUnitGroup = repUnitGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -116,11 +124,41 @@ public class ReportTableService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<ReportTableOutput>> List()
|
public async Task<List<ReportTableOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<ReportTableOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<ReportTableOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增汇报单
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[ApiDescriptionSettings(Name = "AddReport")]
|
||||||
|
public async Task AddReport(AddReportContext input)
|
||||||
|
{
|
||||||
|
var unitGroup = await _repUnitGroup.Detail(new QueryByIdSysUnitGroupInput() { Id = input.UnitGroupId });
|
||||||
|
if (unitGroup == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(unitGroup));
|
||||||
|
}
|
||||||
|
var units = await _repUnit.ListByGroupId(unitGroup.Id);
|
||||||
|
if (units == null || units.Count < 1)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(unitGroup));
|
||||||
|
}
|
||||||
|
var unit = units.Find(a => a.Name == input.Name);
|
||||||
|
if (unit == null)
|
||||||
|
throw new ArgumentNullException(nameof(unitGroup));
|
||||||
|
|
||||||
|
var newReport = new AddReportTableInput() { CreateTime = DateTime.Now, IsDelete = false, OddNumber = DateTime.Now.ToString("yyyyMMddhhmmss"), State = 1 };
|
||||||
|
var addReport = await Add(newReport);
|
||||||
|
var others = units.FindAll(a => a.Rate < unit.Rate);
|
||||||
|
|
||||||
|
|
||||||
|
var entity = input.Adapt<ReportTable>();
|
||||||
|
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ public class SuppleInformationService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<SuppleInformationOutput>> List()
|
public async Task<List<SuppleInformationOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<SuppleInformationOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<SuppleInformationOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ public class SuppleTypeService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<SuppleTypeOutput>> List()
|
public async Task<List<SuppleTypeOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<SuppleTypeOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<SuppleTypeOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ public class SupplierService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<SupplierOutput>> List([FromQuery] SupplierInput input)
|
public async Task<List<SupplierOutput>> List([FromQuery] SupplierInput input)
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<SupplierOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<SupplierOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class SysUnitGroupService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<SysUnitGroupOutput>> List()
|
public async Task<List<SysUnitGroupOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<SysUnitGroupOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<SysUnitGroupOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ public class SysUnitService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<SysUnitOutput>> ListByGroupId(long unitGroupId)
|
public async Task<List<SysUnitOutput>> ListByGroupId(long unitGroupId)
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().WhereIF(unitGroupId > 0, u => u.GroupUnitId == unitGroupId).Select<SysUnitOutput>().ToListAsync();
|
return await _rep.AsQueryable().WhereIF(unitGroupId > 0, u => u.GroupUnitId == unitGroupId).Where(a => !a.IsDelete).Select<SysUnitOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,7 @@ public class UrlInfoService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<UrlInfoOutput>> List()
|
public async Task<List<UrlInfoOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<UrlInfoOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<UrlInfoOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,7 @@ public class WarehouseService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<WarehouseOutput>> List()
|
public async Task<List<WarehouseOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<WarehouseOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<WarehouseOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,7 @@ public class WarehousingService : IDynamicApiController, ITransient
|
||||||
[ApiDescriptionSettings(Name = "List")]
|
[ApiDescriptionSettings(Name = "List")]
|
||||||
public async Task<List<WarehousingOutput>> List()
|
public async Task<List<WarehousingOutput>> List()
|
||||||
{
|
{
|
||||||
return await _rep.AsQueryable().Select<WarehousingOutput>().ToListAsync();
|
return await _rep.AsQueryable().Where(a => !a.IsDelete).Select<WarehousingOutput>().ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||||
|
//
|
||||||
|
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||||
|
|
||||||
|
using Admin.NET.Application.Entity;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Admin.NET.Application.Utils;
|
||||||
|
internal class CodeHelper
|
||||||
|
{
|
||||||
|
// '序号',
|
||||||
|
//'随机数',
|
||||||
|
//'固定字符串',
|
||||||
|
//'随机字母数字',
|
||||||
|
//'随机大小写字母',
|
||||||
|
//'随机大写字母',
|
||||||
|
//'随机小写字母',
|
||||||
|
public static string GetCodeRandom(int codeLen)
|
||||||
|
{
|
||||||
|
var result = "";
|
||||||
|
var format = "";
|
||||||
|
var max = "";
|
||||||
|
for (int i = 0; i < codeLen; i++)
|
||||||
|
{
|
||||||
|
format += "0";
|
||||||
|
max += "9";
|
||||||
|
}
|
||||||
|
|
||||||
|
var random = new Random();
|
||||||
|
result = random.Next(Convert.ToInt32(max)).ToString(format);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
public static string GetCodeLetterNum(int codeLen)
|
||||||
|
{
|
||||||
|
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||||
|
Random random = new Random();
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
for (int i = 0; i < codeLen; i++)
|
||||||
|
{
|
||||||
|
stringBuilder.Append(chars[random.Next(chars.Length)]);
|
||||||
|
}
|
||||||
|
return stringBuilder.ToString();
|
||||||
|
}
|
||||||
|
public static string GetCodeLetter(int codeLen)
|
||||||
|
{
|
||||||
|
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
||||||
|
Random random = new Random();
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
for (int i = 0; i < codeLen; i++)
|
||||||
|
{
|
||||||
|
stringBuilder.Append(chars[random.Next(chars.Length)]);
|
||||||
|
}
|
||||||
|
return stringBuilder.ToString();
|
||||||
|
}
|
||||||
|
public static string GetCodeUpLetter(int codeLen)
|
||||||
|
{
|
||||||
|
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
Random random = new Random();
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
for (int i = 0; i < codeLen; i++)
|
||||||
|
{
|
||||||
|
stringBuilder.Append(chars[random.Next(chars.Length)]);
|
||||||
|
}
|
||||||
|
return stringBuilder.ToString();
|
||||||
|
}
|
||||||
|
public static string GetCodeDownLetter(int codeLen)
|
||||||
|
{
|
||||||
|
const string chars = "abcdefghijklmnopqrstuvwxyz";
|
||||||
|
Random random = new Random();
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
for (int i = 0; i < codeLen; i++)
|
||||||
|
{
|
||||||
|
stringBuilder.Append(chars[random.Next(chars.Length)]);
|
||||||
|
}
|
||||||
|
return stringBuilder.ToString();
|
||||||
|
}
|
||||||
|
}
|
|
@ -219,7 +219,7 @@
|
||||||
@:import { SysPrint } from '/@@/api-services/models';
|
@:import { SysPrint } from '/@@/api-services/models';
|
||||||
}
|
}
|
||||||
|
|
||||||
import printDialog from '/@@/views/system/print/component/hiprint/preview.vue'
|
import printDialog from '/@@/views/labelPrinting/print/component/hiprint/preview.vue'
|
||||||
import editDialog from '/@@/views/main/@(@Model.LowerClassName)/component/editDialog.vue'
|
import editDialog from '/@@/views/main/@(@Model.LowerClassName)/component/editDialog.vue'
|
||||||
import { page@(@Model.ClassName), delete@(@Model.ClassName) } from '/@@/api/main/@(@Model.LowerClassName)';
|
import { page@(@Model.ClassName), delete@(@Model.ClassName) } from '/@@/api/main/@(@Model.LowerClassName)';
|
||||||
@foreach (var column in Model.QueryWhetherList){
|
@foreach (var column in Model.QueryWhetherList){
|
||||||
|
|
|
@ -22,6 +22,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.GoView", "
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.Elsa", "Plugins\Admin.NET.Plugin.Elsa\Admin.NET.Plugin.Elsa.csproj", "{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.Elsa", "Plugins\Admin.NET.Plugin.Elsa\Admin.NET.Plugin.Elsa.csproj", "{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{2C4A635E-5826-41FE-BFF9-5D1724594863}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -52,6 +54,10 @@ Global
|
||||||
{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Release|Any CPU.Build.0 = Release|Any CPU
|
{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2C4A635E-5826-41FE-BFF9-5D1724594863}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{2C4A635E-5826-41FE-BFF9-5D1724594863}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{2C4A635E-5826-41FE-BFF9-5D1724594863}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2C4A635E-5826-41FE-BFF9-5D1724594863}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
|
||||||
|
//
|
||||||
|
// 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
|
||||||
|
|
||||||
|
Console.WriteLine(DateTime.Now.ToString("yyyyMMddhhmmss"));
|
||||||
|
|
||||||
|
Console.WriteLine("Hello, World!");
|
||||||
|
Console.ReadKey();
|
|
@ -0,0 +1,10 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
* 所有接口
|
* 所有接口
|
||||||
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
|
* 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。
|
||||||
*
|
*
|
||||||
* OpenAPI spec version: 1.0.0
|
* OpenAPI spec version: 1.0.0
|
||||||
*
|
*
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue