first commit

This commit is contained in:
yanpeng200212
2026-10-08 10:43:59 +08:00
commit 8430ba0452
288 changed files with 29595 additions and 0 deletions
@@ -0,0 +1,87 @@
namespace F9WebAiTest.Application.Dtos.Attendance;
public class AttendanceDto
{
public long Id { get; set; }
public long EmployeeId { get; set; }
public string EmployeeName { get; set; }
public string DepartmentName { get; set; }
public DateTime WorkDate { get; set; }
public DateTime? SignInTime { get; set; }
public DateTime? SignOutTime { get; set; }
public string SignInStatus { get; set; }
public string SignOutStatus { get; set; }
public string Remark { get; set; }
}
public class PunchResultDto
{
public string Type { get; set; } // signIn / signOut
public DateTime Time { get; set; }
public string Status { get; set; } // 正常/迟到/早退
public string Message { get; set; }
}
public class AttendanceQueryDto
{
public string Date { get; set; } = ""; // yyyy-MM-dd
public long? DepartmentId { get; set; }
public string Keyword { get; set; } = "";
public int PageIndex { get; set; } = 1;
public int PageSize { get; set; } = 10;
}
public class AttendanceSummaryDto
{
public int NormalDays { get; set; }
public int LateDays { get; set; }
public int EarlyLeaveDays { get; set; }
public int AbsentDays { get; set; }
public int LeaveDays { get; set; }
public int TotalDays { get; set; }
}
public class LeaveRequestDto
{
public long Id { get; set; }
public long EmployeeId { get; set; }
public string EmployeeName { get; set; }
public string DepartmentName { get; set; }
public string Type { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public string Reason { get; set; }
public string Status { get; set; }
public int CurrentOrderNo { get; set; } // 当前审批到第几步
public string ApproverName { get; set; }
public string ApproveRemark { get; set; }
public DateTime? ApprovedAt { get; set; }
public DateTime CreatedAt { get; set; }
public List<LeaveApproverDto> Approvers { get; set; } = new(); // 审批流程节点
}
public class LeaveApproverDto
{
public long Id { get; set; }
public long ApproverId { get; set; }
public string ApproverName { get; set; }
public int OrderNo { get; set; } // 序号(审批顺序)
public string Status { get; set; } // 待审批/已批准/已驳回
public string ApproveRemark { get; set; }
public DateTime? ApprovedAt { get; set; }
}
public class CreateLeaveDto
{
public string Type { get; set; } = "事假";
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public string Reason { get; set; } = "";
public List<long> ApproverIds { get; set; } = new(); // 审批人ID列表(顺序=审批顺序)
}
public class ApproveLeaveDto
{
public bool Approved { get; set; }
public string Remark { get; set; } = "";
}
@@ -0,0 +1,50 @@
namespace F9WebAiTest.Application.Dtos.Auth;
public class LoginDto
{
public string Username { get; set; }
public string Password { get; set; }
}
public class LoginResultDto
{
public string AccessToken { get; set; }
public string RefreshToken { get; set; }
public DateTime AccessTokenExpiresAt { get; set; }
public EmployeeInfoDto User { get; set; }
}
public class RefreshTokenDto
{
public string RefreshToken { get; set; }
}
public class EmployeeInfoDto
{
public long Id { get; set; }
public string Username { get; set; }
public string RealName { get; set; }
public string Nickname { get; set; }
public string Avatar { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public long DepartmentId { get; set; }
public string DepartmentName { get; set; }
public int Status { get; set; }
public List<string> Roles { get; set; } = new();
public List<string> Permissions { get; set; } = new();
}
public class ChangePasswordDto
{
public string OldPassword { get; set; }
public string NewPassword { get; set; }
}
public class UpdateProfileDto
{
public string Nickname { get; set; }
public string Avatar { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
@@ -0,0 +1,86 @@
namespace F9WebAiTest.Application.Dtos.Base;
// ---- 工艺庄口 ----
public class CraftZhuangKouDto
{
public long Id { get; set; }
public int BelongingYear { get; set; }
public int BendiWaidi { get; set; }
public string BendiWaidiName { get; set; }
public string JidiWaigou { get; set; }
public string ZhuangKouCode { get; set; }
public string ZhuangKouName { get; set; }
public string ProductionDisplayName { get; set; }
public string Chandi { get; set; }
public int Sort { get; set; }
public string Memo { get; set; }
public string IsJiezhuang { get; set; }
}
public class CraftZhuangKouCreateDto
{
public int BelongingYear { get; set; }
public int BendiWaidi { get; set; }
public string JidiWaigou { get; set; } = "";
public string ZhuangKouCode { get; set; } = "";
public string ZhuangKouName { get; set; } = "";
public string ProductionDisplayName { get; set; } = "";
public string Chandi { get; set; } = "";
public int Sort { get; set; }
public string Memo { get; set; } = "";
public string IsJiezhuang { get; set; } = "0";
}
// ---- 生丝规格 ----
public class ShengsiGuigeDto
{
public long Id { get; set; }
public string Guige { get; set; }
public double CenterrangeLolimit { get; set; }
public double CenterrangeUplimit { get; set; }
public double CenterXiandu { get; set; }
public double ValidLolimit { get; set; }
public double ValidUplimit { get; set; }
public double XiaoyeLolimit { get; set; }
public double XiaoyeUplimit { get; set; }
public double DayeLolimit { get; set; }
public double DayeUplimit { get; set; }
public double TeyeLolimit { get; set; }
public double TeyeUplimit { get; set; }
public double YexianNkLolimitLeft { get; set; }
public double YexianNkLolimitRight { get; set; }
public double YexianNkUplimitLeft { get; set; }
public double YexianNkUplimitRight { get; set; }
public double LaodongJingsaiYexianLolimit { get; set; }
public double LaodongJingsaiYexianUplimit { get; set; }
public int Sort { get; set; }
public string Memo { get; set; }
}
// ---- 生丝定级指标 ----
public class ShengsiDingjizhibiaoDto
{
public long Id { get; set; }
public int Standard { get; set; }
public string StandardName { get; set; }
public string Guige { get; set; }
public string Grade { get; set; }
public double GradeScore { get; set; }
public double Piancha { get; set; }
public double Dacha { get; set; }
public double Erdu { get; set; }
public double Sandu { get; set; }
public double Qingjie { get; set; }
public double Jiejing { get; set; }
}
// ---- 机组车台 ----
public class JizuChetaiDto
{
public long Id { get; set; }
public long DepartmentId { get; set; }
public string DepartmentName { get; set; }
public int Jizu { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
}
@@ -0,0 +1,3 @@
namespace F9WebAiTest.Application.Dtos.Common;
public record PageRequest(int Page = 1, int PageSize = 10);
@@ -0,0 +1,10 @@
namespace F9WebAiTest.Application.Dtos.Common;
public record PagedResult<T>(
List<T> Items,
int Page,
int PageSize,
long TotalCount)
{
public int TotalPages => (int)Math.Ceiling((double)TotalCount / PageSize);
}
@@ -0,0 +1,33 @@
namespace F9WebAiTest.Application.Dtos;
public class DepartmentDto
{
public long Id { get; set; }
public string Name { get; set; }
public long? ParentId { get; set; }
public long? LeaderId { get; set; }
public string LeaderName { get; set; }
public string Phone { get; set; }
public int Sort { get; set; }
public int Status { get; set; }
public List<DepartmentDto> Children { get; set; } = new();
}
public class CreateDepartmentDto
{
public string Name { get; set; }
public long? ParentId { get; set; }
public long? LeaderId { get; set; }
public string Phone { get; set; } = "";
public int Sort { get; set; }
}
public class UpdateDepartmentDto
{
public string Name { get; set; }
public long? ParentId { get; set; }
public long? LeaderId { get; set; }
public string Phone { get; set; } = "";
public int Sort { get; set; }
public int Status { get; set; }
}
@@ -0,0 +1,61 @@
namespace F9WebAiTest.Application.Dtos;
public class EmployeeDto
{
public long Id { get; set; }
public string Username { get; set; }
public string RealName { get; set; }
public string Nickname { get; set; }
public string Avatar { get; set; }
public string Gender { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public long DepartmentId { get; set; }
public string DepartmentName { get; set; }
public int Status { get; set; }
public string Remark { get; set; }
public List<long> RoleIds { get; set; } = new();
public List<string> RoleNames { get; set; } = new();
public DateTime CreatedAt { get; set; }
}
public class CreateEmployeeDto
{
public string Username { get; set; }
public string Password { get; set; }
public string RealName { get; set; }
public string Nickname { get; set; } = "";
public string Gender { get; set; } = "男";
public string Phone { get; set; } = "";
public string Email { get; set; } = "";
public long DepartmentId { get; set; }
public string Remark { get; set; } = "";
public List<long> RoleIds { get; set; } = new();
}
public class UpdateEmployeeDto
{
public string RealName { get; set; }
public string Nickname { get; set; } = "";
public string Gender { get; set; } = "男";
public string Phone { get; set; } = "";
public string Email { get; set; } = "";
public long DepartmentId { get; set; }
public int Status { get; set; } = 1;
public string Remark { get; set; } = "";
public List<long> RoleIds { get; set; } = new();
}
public class ResetPasswordDto
{
public string NewPassword { get; set; }
}
public class EmployeeQueryDto
{
public string Keyword { get; set; } = "";
public long? DepartmentId { get; set; }
public int? Status { get; set; }
public int PageIndex { get; set; } = 1;
public int PageSize { get; set; } = 10;
}
@@ -0,0 +1,41 @@
namespace F9WebAiTest.Application.Dtos;
public class MenuDto
{
public long Id { get; set; }
public long? ParentId { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public string Path { get; set; }
public string Component { get; set; }
public string Icon { get; set; }
public string Permission { get; set; }
public int Sort { get; set; }
public int Status { get; set; }
public List<MenuDto> Children { get; set; } = new();
}
public class CreateMenuDto
{
public long? ParentId { get; set; }
public string Name { get; set; }
public string Type { get; set; } = "menu";
public string Path { get; set; } = "";
public string Component { get; set; } = "";
public string Icon { get; set; } = "";
public string Permission { get; set; } = "";
public int Sort { get; set; }
}
public class UpdateMenuDto
{
public long? ParentId { get; set; }
public string Name { get; set; }
public string Type { get; set; } = "menu";
public string Path { get; set; } = "";
public string Component { get; set; } = "";
public string Icon { get; set; } = "";
public string Permission { get; set; } = "";
public int Sort { get; set; }
public int Status { get; set; } = 1;
}
@@ -0,0 +1,96 @@
using F9WebAiTest.Domain.Entities.Notice;
namespace F9WebAiTest.Application.Dtos.Notice;
// ---- 消息类型 ----
public class NotificationTypeDto
{
public long Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string RequiredPermission { get; set; }
public bool IsActive { get; set; }
public long CreatedBy { get; set; }
public int Sort { get; set; }
public int Category { get; set; } // 消息分类:0通知 1待办 2公告
public string Icon { get; set; } = ""; // 图标
public string RouteTemplate { get; set; } = ""; // Web 端跳转路由模板
public bool Subscribed { get; set; } // 当前用户是否已订阅
public bool CanSubscribe { get; set; } = true; // 当前用户是否有权限订阅
}
public class NotificationTypeCreateDto
{
public string Code { get; set; } = "";
public string Name { get; set; } = "";
public string Description { get; set; } = "";
public string RequiredPermission { get; set; } = "";
public bool IsActive { get; set; } = true;
public int Sort { get; set; }
public int Category { get; set; } // 消息分类:0通知 1待办 2公告
public string Icon { get; set; } = "";
public string RouteTemplate { get; set; } = ""; // Web 端跳转路由模板,支持 {businessId} 占位符
}
// ---- 订阅 ----
public class SubscribeDto
{
public long NotificationTypeId { get; set; }
public bool Subscribe { get; set; } = true; // true=订阅 false=取消
}
// ---- 消息 ----
public class NotificationMessageDto
{
public long Id { get; set; }
public long NotificationTypeId { get; set; }
public string MessageTypeCode { get; set; }
public string TypeName { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int Priority { get; set; }
public string BusinessType { get; set; }
public string BusinessId { get; set; }
public int Category { get; set; } // 消息分类:0通知 1待办 2公告
public string RoutePath { get; set; } = ""; // Web 端跳转路由(点击消息时跳转)
public DateTime CreatedTime { get; set; }
public int ReadStatus { get; set; } // 当前用户阅读状态 0=未读 1=已读
public DateTime? ReadTime { get; set; }
}
public class UnreadCountDto
{
public int Count { get; set; }
}
// ---- 待办 ----
public class TodoItemDto
{
public long Id { get; set; }
public long MessageId { get; set; }
public string Title { get; set; } = "";
public string Content { get; set; } = "";
public int Priority { get; set; }
public string BusinessType { get; set; } = "";
public string BusinessId { get; set; } = "";
public string RoutePath { get; set; } = "";
public int TodoStatus { get; set; } // 0待处理 1处理中 2已完成 3已取消
public DateTime? DueTime { get; set; }
public DateTime? CompletedTime { get; set; }
public DateTime CreatedTime { get; set; }
}
public class CompleteTodoDto
{
public string HandleResult { get; set; } = ""; // 处理结果说明
}
// ---- 广播通知 ----
public class BroadcastNotificationDto
{
public string Title { get; set; } = "";
public string Content { get; set; } = "";
public NotificationPriority? Priority { get; set; }
public string RoutePath { get; set; } = "";
}
@@ -0,0 +1,86 @@
namespace F9WebAiTest.Application.Dtos.Prod;
// ---- 黑板检验 ----
/// <summary>黑板检验列表行(落丝记录 + 检验汇总)</summary>
public class HbjyListItemDto
{
public long LsjlId { get; set; }
public DateTime WorkDate { get; set; }
public long DeptId { get; set; }
public string DeptName { get; set; }
public int Jizu { get; set; }
public int Huishu { get; set; }
public string Guige { get; set; }
public string ZhuangKouName { get; set; }
public string Yanse { get; set; }
public bool Isbanche { get; set; }
public string IsbancheName { get; set; }
public string LuosiTime { get; set; }
public int Chetaishu { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public int YingluPianshu { get; set; } // 应录片数 = 车台数 × 20
public bool IsChecked { get; set; } // 是否已检验
public int Pianshu { get; set; } // 已录片数
public double Qingjie { get; set; } // 清洁分
public double Jiejing { get; set; } // 洁净分
public string Dengji { get; set; } // 等级
}
/// <summary>黑板检验编辑页数据</summary>
public class HbjyEditDto
{
public long LsjlId { get; set; }
public string DeptName { get; set; }
public int Jizu { get; set; }
public int Huishu { get; set; }
public string ZhuangKouName { get; set; }
public string Yanse { get; set; }
public bool Isbanche { get; set; }
public string IsbancheName { get; set; }
public string Guige { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public int Chetaishu { get; set; }
public int YingluPianshu { get; set; } // 应录片数
public string Dengji { get; set; } // 等级
public List<HbjyRecordDto> Records { get; set; } = new();
}
/// <summary>黑板检验车台明细 DTO</summary>
public class HbjyRecordDto
{
public int Chetaihao { get; set; }
public int YdYidu { get; set; }
public int YdErdu { get; set; }
public int YdSandu { get; set; }
public int Jj100 { get; set; }
public int Jj95 { get; set; }
public int Jj90 { get; set; }
public int Jj85 { get; set; }
public int Jj80 { get; set; }
public int Jj75 { get; set; }
public int Jj70 { get; set; }
public int Jj65 { get; set; }
public int Jj60 { get; set; }
public int QjZycdTdc { get; set; }
public int QjCycdFs { get; set; }
public int QjCycdDc { get; set; }
public int QjCycdNfc { get; set; }
public int QjCycdDcj { get; set; }
public int QjCycdZlx { get; set; }
public int QjPtcdXc { get; set; }
public int QjPtcdCj { get; set; }
public int QjPtcdLx { get; set; }
public int QjPtcdHjls { get; set; }
public int Pianshu { get; set; } // 本车台片数(计算得出)
}
/// <summary>黑板检验保存请求</summary>
public class HbjySaveDto
{
public long LsjlId { get; set; }
public string Dengji { get; set; } = "";
public List<HbjyRecordDto> Records { get; set; } = new();
}
@@ -0,0 +1,41 @@
namespace F9WebAiTest.Application.Dtos.Prod;
public class LsjlDto
{
public long Id { get; set; }
public DateTime WorkDate { get; set; }
public long DeptId { get; set; }
public string DeptName { get; set; }
public long GyzkId { get; set; }
public string ZhuangKouName { get; set; }
public int Jizu { get; set; }
public string LuosiTime { get; set; }
public string Yanse { get; set; }
public int Huishu { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public int Chetaishu { get; set; }
public bool Isbanche { get; set; }
public string IsbancheName { get; set; }
public double Hours { get; set; }
public string Guige { get; set; }
public double Chesu { get; set; }
}
public class LsjlCreateDto
{
public DateTime WorkDate { get; set; }
public long DeptId { get; set; }
public long GyzkId { get; set; }
public int Jizu { get; set; }
public string LuosiTime { get; set; } = "";
public string Yanse { get; set; } = "";
public int Huishu { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public int Chetaishu { get; set; }
public bool Isbanche { get; set; }
public double Hours { get; set; }
public string Guige { get; set; } = "";
public double Chesu { get; set; }
}
@@ -0,0 +1,93 @@
using F9WebAiTest.Application.Dtos.Base;
namespace F9WebAiTest.Application.Dtos.Prod;
// ---- 纤度检验 ----
/// <summary>纤度检验列表行(落丝记录 + 检验汇总)</summary>
public class XdjyListItemDto
{
public long LsjlId { get; set; } // 落丝记录 Id
public DateTime WorkDate { get; set; } // 日期
public long DeptId { get; set; }
public string DeptName { get; set; }
public int Jizu { get; set; } // 机组
public int Huishu { get; set; } // 回数
public string Guige { get; set; } // 规格
public string ZhuangKouName { get; set; } // 庄口
public string Yanse { get; set; } // 颜色
public bool Isbanche { get; set; } // 半车
public string IsbancheName { get; set; }
public int Chetaishu { get; set; } // 车台数
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public string LuosiTime { get; set; } // 落丝时间
public int Yingchengnum { get; set; } // 应秤数 = 车台数 × (半车?2:4)
public bool IsChecked { get; set; } // 是否已检验
public int Jiaoshu { get; set; } // 已秤数
public double Avgxiandu { get; set; } // 平均纤度
public double Junfangcha { get; set; } // 均方差
public double Zongcha { get; set; } // 总差
public double FanxianLv { get; set; } // 范纤率
public int FanweiNum { get; set; } // 范围数
public int XiaoyeNum { get; set; } // 小野数
public int DayeNum { get; set; } // 大野数
public int TeyeNum { get; set; } // 特野数
public int CenterNum { get; set; } // 中心数
public string Dengji { get; set; } // 等级
}
/// <summary>纤度检验编辑页数据</summary>
public class XdjyEditDto
{
public long LsjlId { get; set; }
public string DeptName { get; set; }
public int Jizu { get; set; }
public int Huishu { get; set; }
public string ZhuangKouName { get; set; }
public string Yanse { get; set; }
public bool Isbanche { get; set; }
public string IsbancheName { get; set; }
public string Guige { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public int Chetaishu { get; set; }
public int Yingchengnum { get; set; } // 应秤数
public string Dengji { get; set; } // 等级
public ShengsiGuigeDto GuigeConfig { get; set; } // 生丝规格(用于判定/颜色标识)
public List<XdjyRecordDto> Xdjy { get; set; } = new();
}
/// <summary>纤度检验车台明细 DTO</summary>
public class XdjyRecordDto
{
public int Chetaihao { get; set; } // 车台号
public double Xd1 { get; set; }
public double Xd2 { get; set; }
public double Xd3 { get; set; }
public double Xd4 { get; set; }
public int XdNum { get; set; } // 已称绞数
public double XdAvg { get; set; } // 平均纤度
public int FanweiNum { get; set; } // 范围
public int XiaoyeNum { get; set; } // 小野
public int DayeNum { get; set; } // 大野
public int TeyeNum { get; set; } // 特野
public int CenterNum { get; set; } // 中心
}
/// <summary>纤度检验保存请求</summary>
public class XdjySaveDto
{
public long LsjlId { get; set; }
public string Dengji { get; set; } = "";
public List<XdjySaveItemDto> Items { get; set; } = new();
}
public class XdjySaveItemDto
{
public int Chetaihao { get; set; }
public double Xd1 { get; set; }
public double Xd2 { get; set; }
public double Xd3 { get; set; }
public double Xd4 { get; set; }
}
@@ -0,0 +1,31 @@
namespace F9WebAiTest.Application.Dtos;
public class RoleDto
{
public long Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public string Description { get; set; }
public int Sort { get; set; }
public int Status { get; set; }
public int EmployeeCount { get; set; }
public DateTime CreatedAt { get; set; }
}
public class CreateRoleDto
{
public string Name { get; set; }
public string Code { get; set; }
public string Description { get; set; } = "";
public int Sort { get; set; }
public List<long> MenuIds { get; set; } = new();
}
public class UpdateRoleDto
{
public string Name { get; set; }
public string Description { get; set; } = "";
public int Sort { get; set; }
public int Status { get; set; } = 1;
public List<long> MenuIds { get; set; } = new();
}
@@ -0,0 +1,5 @@
using F9WebAiTest.Domain.Enums.SYS.Departments;
namespace F9WebAiTest.Application.Dtos.SYS.Departments;
public record DepartmentReadDto_View(long Id, string Code, string Name, long ParentId, Department_ManageType_Enum ManageType, Department_DutyType_Enum DutyType, string Description, bool IsActive, int SortOrder);
@@ -0,0 +1,16 @@
using F9WebAiTest.Domain.Enums.SYS.RBAC;
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Menus;
public record MenuReadDto_Menu_Edit(
long Id,
string Code,
string Name,
string IconSvg,
MenuType_Enum MenuType,
string AssemblyName,
string TypeFullName,
bool IsActive,
long ParentId,
int SortOrder
);
@@ -0,0 +1,23 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Menus;
// 读模型
public record MenuReadDto_Menu_Table(
long Id,
long ParentId,
string Code,
string Name,
string IconSvg,
string MenuType,
string AssemblyName,
string TypeFullName,
string ParentName,
int Level,
string IsActive,
int SortOrder,
// 用于前端 table select
bool Selected = false,
// 用于前端 table tree
MenuReadDto_Menu_Table[]? Items = default
);
@@ -0,0 +1,5 @@
using F9WebAiTest.Domain.Enums.SYS.RBAC;
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Roles;
public record RolePermissionReadDto_View(long Id, long RoleId, long PermissionId, long ResourceId, Permission_Type_Enum PermissionType);
@@ -0,0 +1,3 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Roles;
public record RoleReadDto_Cache(long Id, string Name, string Code, int SortOrder);
@@ -0,0 +1,3 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Roles;
public record RoleReadDto_Edit(long Id, string Name, string Code, int SortOrder, string Description);
@@ -0,0 +1,3 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Roles;
public record RoleReadDto_View(long Id, string Name, string Code, int SortOrder, int MenuPermissionCount, int ReportPermissionCount, int DepPermissionCount, bool IsActive);
@@ -0,0 +1,4 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Users;
// 用户读模型
public record UserReadDto_Edit(long Id, string UserName, string PhoneNumber, string LoginName, long DepartmentId, int SortOrder);
@@ -0,0 +1,3 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Users;
public record UserReadDto_Login(long Id, string UserName, string LoginName, string PasswordHash, long DepartmentId);
@@ -0,0 +1,4 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Users;
// 用户读模型(列表视图)
public record UserReadDto_View(long Id, string UserName, string PhoneNumber, string LoginName, string DepartmentName, string RoleName, string LastLoginAt, int SortOrder, bool IsActive);
@@ -0,0 +1,3 @@
namespace F9WebAiTest.Application.Dtos.SYS.RBAC.Users;
public record UserRoleReadDto_Cache(long Id, long UserId, long RoleId, string RoleName);