using Mapster;
|
using MediatR;
|
using Newtonsoft.Json;
|
using Swashbuckle.AspNetCore.Annotations;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel.DataAnnotations;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace FlexJobApi.Core
|
{
|
/// <summary>
|
/// 查询地区选择器
|
/// </summary>
|
[Resource([EnumResourceController.Dictionary], AllowAnonymous = true)]
|
public class GetAreaSelectQuery : IRequest<List<GetAreaSelectQueryResultOption>>
|
{
|
/// <summary>
|
/// 最大深度
|
/// </summary>
|
public int? MaxDeep { get; set; }
|
}
|
|
public class GetAreaSelectQueryResultOption
|
{
|
public GetAreaSelectQueryResultOption()
|
{
|
|
}
|
|
/// <summary>
|
/// Id
|
/// </summary>
|
[JsonProperty("areaCode")]
|
public string Value { get; set; }
|
|
/// <summary>
|
/// 地区名称
|
/// </summary>
|
[JsonProperty("areaName")]
|
public string Label { get; set; }
|
|
/// <summary>
|
/// 数据
|
/// </summary>
|
[JsonIgnore, SwaggerIgnore]
|
public GetDictionaryDataSelectQueryResultOption Data { get; set; }
|
|
/// <summary>
|
/// 子级
|
/// </summary>
|
public List<GetAreaSelectQueryResultOption> Children
|
{
|
get
|
{
|
var children = Data.Children.Adapt<List<GetAreaSelectQueryResultOption>>();
|
if (children.IsNull()) return null;
|
else return children;
|
}
|
}
|
|
/// <summary>
|
/// Id
|
/// </summary>
|
public Guid Id => Data.Id;
|
|
/// <summary>
|
/// 上级编号
|
/// </summary>
|
public string ParentCode => Data.ParentCode;
|
|
/// <summary>
|
/// 层级
|
/// </summary>
|
public int Leyer => Data.Deep;
|
|
/// <summary>
|
/// 排序
|
/// </summary>
|
public int Sort => Data.Sort;
|
|
/// <summary>
|
/// 快速查询
|
/// </summary>
|
public string QuickQuery => Data.Field2;
|
|
}
|
|
public class GetAreaSelectQueryResultOptionData
|
{
|
/// <summary>
|
/// 子级
|
/// </summary>
|
public List<GetAreaSelectQueryResultOption> Children { get; set; }
|
|
/// <summary>
|
/// 编号
|
/// </summary>
|
public string AreaCode { get; set; }
|
|
/// <summary>
|
/// 上级编号
|
/// </summary>
|
public string ParentCode { get; set; }
|
|
/// <summary>
|
/// 层级
|
/// </summary>
|
public int Leyer { get; set; }
|
|
/// <summary>
|
/// 排序
|
/// </summary>
|
public int Sort { get; set; }
|
|
/// <summary>
|
/// 快速查询
|
/// </summary>
|
public string QuickQuery { get; set; }
|
}
|
}
|