diff --git a/README.md b/README.md index 2105821c..8c7baae5 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ public class TestController : ControllerBase ## 示例: -### 扩展方法的用法(2024.6.14 新增) +### 扩展方法的用法(v2.2.9 新增) 主要针对复杂参数的扩展,提高易用性。(使用元素拼接卡片/消息本身就很复杂,优化可能性很低,这种推荐用模板) @@ -143,7 +143,7 @@ await tenantApi.PostMessageV4BatchSendAsync(dto3); var dto4 = new FeishuNetSdk.Im.Spec.PostInteractiveV1CardUpdateBodyDto() { Token = "此处是用于更新卡片的token,不是tenant_access_token" }; dto4.SetCardObject(new TemplateCardWithOpenIds //支持的另一个对象名:ElementsCardWithOpenIds { - OpenIds = ["ou_18eac85dyyyyyyy9317ad4f02e8bbbb"], // <== 模板Id + OpenIds = ["ou_18eac85dyyyyyyy9317ad4f02e8bbbb"], // <== 接收人Id Data = new() { TemplateId = "ctp_xx0123456789", // <== 模板Id diff --git a/TenantAccessList.md b/TenantAccessList.md index 12f816fb..f749d493 100644 --- a/TenantAccessList.md +++ b/TenantAccessList.md @@ -221,29 +221,29 @@ PatchSheetsV3SpreadsheetsBySpreadsheetToken 1112024-05-30✓云文档获取电子表格信息 GetSheetsV3SpreadsheetsBySpreadsheetToken -1122024-05-30✓云文档创建电子表格 +1122024-06-19✓云文档创建电子表格 PostSheetsV3Spreadsheets 1132023-07-14✓通讯录获取通讯录授权范围 GetContactV3Scopes 1142023-07-14✓通讯录删除人员类型 DeleteContactV3EmployeeTypeEnumsByEnumId -1152024-05-30✓云文档查询工作表 +1152024-06-19✓云文档查询工作表 GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetId -1162024-05-30✓云文档获取工作表 +1162024-06-19✓云文档获取工作表 GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsQuery -1172024-05-30✓云文档操作工作表 +1172024-06-19✓云文档操作工作表 PostSheetsV2SpreadsheetsBySpreadsheetTokenSheetsBatchUpdate -1182024-05-30✓云文档更新工作表属性 +1182024-06-19✓云文档更新工作表属性 PostSheetsV2SpreadsheetsBySpreadsheetTokenSheetsBatchUpdate -1192024-05-30✓云文档增加行列 +1192024-06-19✓云文档增加行列 PostSheetsV2SpreadsheetsBySpreadsheetTokenDimensionRange -1202024-05-30✓云文档插入行列 +1202024-06-19✓云文档插入行列 PostSheetsV2SpreadsheetsBySpreadsheetTokenInsertDimensionRange -1212024-06-04✓云文档更新行列 +1212024-06-19✓云文档更新行列 PutSheetsV2SpreadsheetsBySpreadsheetTokenDimensionRange -1222024-06-04✓云文档移动行列 +1222024-06-19✓云文档移动行列 PostSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdMoveDimension -1232024-06-04✓云文档删除行列 +1232024-06-19✓云文档删除行列 DeleteSheetsV2SpreadsheetsBySpreadsheetTokenDimensionRange 1242024-05-09✓云文档插入数据 PostSheetsV2SpreadsheetsBySpreadsheetTokenValuesPrepend @@ -633,15 +633,15 @@ GetVcV1ResourceReservationList 3172024-02-19✓视频会议获取告警记录 GetVcV1Alerts -3182024-06-05✓考勤打卡创建班次 +3182024-06-17✓考勤打卡创建班次 PostAttendanceV1Shifts 3192023-09-11✓考勤打卡删除班次 DeleteAttendanceV1ShiftsByShiftId 3202023-09-19✓考勤打卡按 ID 查询班次 GetAttendanceV1ShiftsByShiftId -3212023-07-10✓考勤打卡按名称查询班次 +3212024-06-17✓考勤打卡按名称查询班次 PostAttendanceV1ShiftsQuery -3222023-07-10✓考勤打卡查询所有班次 +3222024-06-17✓考勤打卡查询所有班次 GetAttendanceV1Shifts 3232023-12-05✓考勤打卡创建或修改考勤组 PostAttendanceV1Groups @@ -649,11 +649,11 @@ GetContactV3UnitByUnitId 3252023-09-11✓考勤打卡删除考勤组 DeleteAttendanceV1GroupsByGroupId -3262023-12-05✓考勤打卡按 ID 查询考勤组 +3262024-06-18✓考勤打卡按 ID 查询考勤组 GetAttendanceV1GroupsByGroupId 3272023-09-11✓考勤打卡按名称查询考勤组 PostAttendanceV1GroupsSearch -3282023-09-11✓考勤打卡查询所有考勤组 +3282024-06-18✓考勤打卡查询所有考勤组 GetAttendanceV1Groups 3292024-06-06✓考勤打卡创建或修改排班表 PostAttendanceV1UserDailyShiftsBatchCreate @@ -1381,7 +1381,7 @@ PostCorehrV2DepartmentsSearch 6912024-06-06✓消息与群组转发消息 PostImV1MessagesByMessageIdForward -6922024-04-26✓飞书人事创建部门 +6922024-06-17✓飞书人事创建部门 PostCorehrV1Departments 6932024-04-26✓飞书人事更新部门 PatchCorehrV1DepartmentsByDepartmentId @@ -1405,7 +1405,7 @@ PostImV1MessagesMergeForward 7032024-02-06✓飞书人事(企业版)通过公司 ID 批量获取公司信息 PostCorehrV2CompaniesBatchGet -7042024-05-10✓飞书人事创建公司 +7042024-06-17✓飞书人事创建公司 PostCorehrV1Companies 7052024-02-06✓飞书人事删除公司 DeleteCorehrV1CompaniesByCompanyId @@ -1567,9 +1567,9 @@ GetHireV1JobProcesses 7842023-11-02✓招聘获取信息登记表模板列表 GetHireV1RegistrationSchemas -7852024-01-22✓招聘获取内推官网下的职位列表 +7852024-06-18✓招聘获取内推官网下的职位列表 GetHireV1ReferralWebsitesJobPosts -7862024-01-22✓招聘获取内推官网下职位广告详情 +7862024-06-18✓招聘获取内推官网下职位广告详情 GetHireV1ReferralWebsitesJobPostsByJobPostId 7872023-12-01✓招聘获取内推信息 GetHireV1ReferralsGetByApplication @@ -1609,7 +1609,7 @@ GetHireV1Applications 8052023-11-02✓招聘获取简历评估信息 GetHireV1Evaluations -8062023-11-02✓招聘获取面试满意度问卷列表 +8062024-06-20✓招聘获取面试满意度问卷列表 GetHireV1Questionnaires 8072024-01-22✓招聘获取面试信息 GetHireV1Interviews @@ -1751,7 +1751,7 @@ PostPerformanceV1StageTasksFindByUserList 8762024-06-14✓绩效获取周期任务(全部用户) PostPerformanceV1StageTasksFindByPage -8772024-06-14✓绩效获取绩效结果 +8772024-06-19✓绩效获取绩效结果 PostPerformanceV1ReviewDatasQuery 8782023-10-25✓词典创建草稿 PostLingoV1Drafts @@ -1787,9 +1787,9 @@ GetLingoV1FilesByFileTokenDownload 8942024-04-26✓安全合规获取OpenAPI审计日志数据 PostSecurityAndComplianceV1OpenapiLogsListData -8952024-06-14✓妙记获取妙记统计数据 +8952024-06-17✓妙记获取妙记统计数据 GetMinutesV1MinutesByMinuteTokenStatistics -8962024-06-14✓妙记获取妙记信息 +8962024-06-17✓妙记获取妙记信息 GetMinutesV1MinutesByMinuteToken 8972023-06-29✓工作台获取工作台访问数据 PostWorkplaceV1WorkplaceAccessDataSearch diff --git a/UserAccessList.md b/UserAccessList.md index 3145687b..79f076cb 100644 --- a/UserAccessList.md +++ b/UserAccessList.md @@ -43,27 +43,27 @@ PatchSheetsV3SpreadsheetsBySpreadsheetToken 222024-05-30✓云文档获取电子表格信息 GetSheetsV3SpreadsheetsBySpreadsheetToken -232024-05-30✓云文档创建电子表格 +232024-06-19✓云文档创建电子表格 PostSheetsV3Spreadsheets -242024-05-30✓云文档查询工作表 +242024-06-19✓云文档查询工作表 GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetId 252023-07-18✓通讯录获取租户职务列表 GetContactV3JobTitles -262024-05-30✓云文档获取工作表 +262024-06-19✓云文档获取工作表 GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsQuery -272024-05-30✓云文档操作工作表 +272024-06-19✓云文档操作工作表 PostSheetsV2SpreadsheetsBySpreadsheetTokenSheetsBatchUpdate -282024-05-30✓云文档更新工作表属性 +282024-06-19✓云文档更新工作表属性 PostSheetsV2SpreadsheetsBySpreadsheetTokenSheetsBatchUpdate -292024-05-30✓云文档增加行列 +292024-06-19✓云文档增加行列 PostSheetsV2SpreadsheetsBySpreadsheetTokenDimensionRange -302024-05-30✓云文档插入行列 +302024-06-19✓云文档插入行列 PostSheetsV2SpreadsheetsBySpreadsheetTokenInsertDimensionRange -312024-06-04✓云文档更新行列 +312024-06-19✓云文档更新行列 PutSheetsV2SpreadsheetsBySpreadsheetTokenDimensionRange -322024-06-04✓云文档移动行列 +322024-06-19✓云文档移动行列 PostSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdMoveDimension -332024-06-04✓云文档删除行列 +332024-06-19✓云文档删除行列 DeleteSheetsV2SpreadsheetsBySpreadsheetTokenDimensionRange 342024-05-09✓云文档插入数据 PostSheetsV2SpreadsheetsBySpreadsheetTokenValuesPrepend @@ -731,7 +731,7 @@ PostOkrV1ImagesUpload 3662024-06-14✓绩效获取周期任务(指定用户) PostPerformanceV1StageTasksFindByUserList -3672024-06-14✓绩效获取绩效结果 +3672024-06-19✓绩效获取绩效结果 PostPerformanceV1ReviewDatasQuery 3682023-10-25✓词典创建草稿 PostLingoV1Drafts @@ -763,9 +763,9 @@ PostLingoV1FilesUpload 3822023-10-25✓词典下载图片 GetLingoV1FilesByFileTokenDownload -3832024-06-14✓妙记获取妙记统计数据 +3832024-06-17✓妙记获取妙记统计数据 GetMinutesV1MinutesByMinuteTokenStatistics -3842024-06-14✓妙记获取妙记信息 +3842024-06-17✓妙记获取妙记信息 GetMinutesV1MinutesByMinuteToken 3852023-04-07✓应用信息获取用户自定义常用的应用 GetApplicationV5ApplicationsFavourite diff --git a/src/Attendance/GetAttendanceV1ShiftsResponseDto.cs b/src/Attendance/GetAttendanceV1ShiftsResponseDto.cs index 8eaf97b6..ef340a74 100644 --- a/src/Attendance/GetAttendanceV1ShiftsResponseDto.cs +++ b/src/Attendance/GetAttendanceV1ShiftsResponseDto.cs @@ -44,6 +44,13 @@ public record Shift [JsonPropertyName("punch_times")] public int PunchTimes { get; set; } + /// + /// 排班组子负责人id列表,返回员工id或工号(仅飞书人事企业版可用) + /// 必填:否 + /// + [JsonPropertyName("sub_shift_leader_ids")] + public string[]? SubShiftLeaderIds { get; set; } + /// /// 是否弹性打卡 /// 必填:否 @@ -120,7 +127,7 @@ public record PunchTimeRule /// /// 下班时间 /// 必填:是 - /// 示例值:18:00,第二天凌晨2点,26:00 + /// 示例值:18:00, 第二天凌晨2点, 26:00 /// [JsonPropertyName("off_time")] public string OffTime { get; set; } = string.Empty; @@ -180,17 +187,33 @@ public record PunchTimeRule /// [JsonPropertyName("late_minutes_as_serious_late")] public int? LateMinutesAsSeriousLate { get; set; } + + /// + /// 不需要打上班卡 + /// 必填:否 + /// 示例值:true + /// + [JsonPropertyName("no_need_on")] + public bool? NoNeedOn { get; set; } + + /// + /// 不需要打下班卡(优先级比原有字段高) + /// 必填:否 + /// 示例值:true + /// + [JsonPropertyName("no_need_off")] + public bool? NoNeedOff { get; set; } } /// - /// 晚走晚到规则 + /// 晚走晚到规则(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("late_off_late_on_rule")] public LateOffLateOnRule[]? LateOffLateOnRules { get; set; } /// - /// 晚走晚到规则 + /// 晚走晚到规则(仅飞书人事企业版可用) /// public record LateOffLateOnRule { @@ -241,19 +264,19 @@ public record RestRule } /// - /// 打卡规则 + /// 加班时段(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("overtime_rule")] public OvertimeRule[]? OvertimeRules { get; set; } /// - /// 打卡规则 + /// 加班时段(仅飞书人事企业版可用) /// public record OvertimeRule { /// - /// 上班时间 + /// 开始时间 /// 必填:是 /// 示例值:9:00 /// @@ -261,13 +284,111 @@ public record OvertimeRule public string OnOvertime { get; set; } = string.Empty; /// - /// 下班时间 + /// 结束时间 /// 必填:是 /// 示例值:18:00 /// [JsonPropertyName("off_overtime")] public string OffOvertime { get; set; } = string.Empty; } + + /// + /// 日期类型,【是否弹性打卡 = ture】时,不可设置为“休息日” 可选值:1:工作日 2:休息日 示例值:(默认值)1 + /// 必填:否 + /// 示例值:1 + /// + [JsonPropertyName("day_type")] + public int? DayType { get; set; } + + /// + /// 班外休息规则 + /// 必填:否 + /// + [JsonPropertyName("overtime_rest_time_rule")] + public RestRule[]? OvertimeRestTimeRules { get; set; } + + /// + /// 晚到多久记为严重迟到(优先级比原有字段高) + /// 必填:否 + /// 示例值:40 + /// + [JsonPropertyName("late_minutes_as_serious_late")] + public int? LateMinutesAsSeriousLate { get; set; } + + /// + /// 半天分割规则(仅飞书人事企业版可用) + /// 必填:否 + /// + [JsonPropertyName("shift_middle_time_rule")] + public ShiftShiftMiddleTimeRule? ShiftMiddleTimeRule { get; set; } + + /// + /// 半天分割规则(仅飞书人事企业版可用) + /// + public record ShiftShiftMiddleTimeRule + { + /// + /// 半天分割类型 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:按全天班次时长(含休息)的中点分割 + /// 1:按全天班次时长(不含休息)的中点分割 + /// 2:按休息时间分割 + /// 3:按固定时间点分割 + /// + /// 默认值:0 + /// + [JsonPropertyName("middle_time_type")] + public int? MiddleTimeType { get; set; } + + /// + /// 固定分割时间点(middle_time_type 为 3 时有效) + /// 必填:否 + /// 示例值:12:00 + /// + [JsonPropertyName("fixed_middle_time")] + public string? FixedMiddleTime { get; set; } + } + + /// + /// 晚走次日晚到配置规则 + /// 必填:否 + /// + [JsonPropertyName("late_off_late_on_setting")] + public ShiftLateOffLateOnSetting? LateOffLateOnSetting { get; set; } + + /// + /// 晚走次日晚到配置规则 + /// + public record ShiftLateOffLateOnSetting + { + /// + /// 当日晚走时间计算规则 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:弹性规则 + /// 1:固定规则 + /// + /// 默认值:0 + /// + [JsonPropertyName("late_off_base_on_time_type")] + public int? LateOffBaseOnTimeType { get; set; } + + /// + /// 次日晚到时间计算规则 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:固定规则 + /// 1:弹性规则 + /// + /// 默认值:0 + /// + [JsonPropertyName("late_on_base_on_time_type")] + public int? LateOnBaseOnTimeType { get; set; } + } } /// diff --git a/src/Attendance/PostAttendanceV1ShiftsBodyDto.cs b/src/Attendance/PostAttendanceV1ShiftsBodyDto.cs index c5e36877..fc53e38c 100644 --- a/src/Attendance/PostAttendanceV1ShiftsBodyDto.cs +++ b/src/Attendance/PostAttendanceV1ShiftsBodyDto.cs @@ -25,7 +25,7 @@ public record PostAttendanceV1ShiftsBodyDto public int PunchTimes { get; set; } /// - /// 排班组子负责人id列表 + /// 排班组子负责人id列表,返回员工id或工号(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("sub_shift_leader_ids")] @@ -167,17 +167,33 @@ public record PunchTimeRule /// [JsonPropertyName("late_minutes_as_serious_late")] public int? LateMinutesAsSeriousLate { get; set; } + + /// + /// 是否不需要打上班卡 + /// 必填:否 + /// 示例值:true + /// + [JsonPropertyName("no_need_on")] + public bool? NoNeedOn { get; set; } + + /// + /// 是否不需要打下班卡(优先级高于data.shift.no_need_off) + /// 必填:否 + /// 示例值:true + /// + [JsonPropertyName("no_need_off")] + public bool? NoNeedOff { get; set; } } /// - /// 晚走晚到规则 + /// 晚走晚到规则(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("late_off_late_on_rule")] public LateOffLateOnRule[]? LateOffLateOnRules { get; set; } /// - /// 晚走晚到规则 + /// 晚走晚到规则(仅飞书人事企业版可用) /// public record LateOffLateOnRule { @@ -228,19 +244,19 @@ public record RestRule } /// - /// 打卡规则 + /// 加班时段(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("overtime_rule")] public OvertimeRule[]? OvertimeRules { get; set; } /// - /// 打卡规则 + /// 加班时段(仅飞书人事企业版可用) /// public record OvertimeRule { /// - /// 上班时间 + /// 开始时间 /// 必填:是 /// 示例值:9:00 /// @@ -248,7 +264,7 @@ public record OvertimeRule public string OnOvertime { get; set; } = string.Empty; /// - /// 下班时间 + /// 结束时间 /// 必填:是 /// 示例值:18:00 /// @@ -257,10 +273,100 @@ public record OvertimeRule } /// - /// 是否允许在非打卡时段申请打卡 + /// 日期类型,【是否弹性打卡 = ture】时,不可设置为“休息日” 可选值:1:工作日 2:休息日 示例值:(默认值)1 /// 必填:否 - /// 示例值:false + /// 示例值:1 + /// + [JsonPropertyName("day_type")] + public int? DayType { get; set; } + + /// + /// 班外休息规则 + /// 必填:否 + /// + [JsonPropertyName("overtime_rest_time_rule")] + public RestRule[]? OvertimeRestTimeRules { get; set; } + + /// + /// 晚到多久记为严重迟到(优先级高于data.shift.punch_time_rule.late_minutes_as_serious_late) + /// 必填:否 + /// 示例值:40 + /// + [JsonPropertyName("late_minutes_as_serious_late")] + public int? LateMinutesAsSeriousLate { get; set; } + + /// + /// 半天分割规则(仅飞书人事企业版可用) + /// 必填:否 + /// + [JsonPropertyName("shift_middle_time_rule")] + public PostAttendanceV1ShiftsBodyDtoShiftMiddleTimeRule? ShiftMiddleTimeRule { get; set; } + + /// + /// 半天分割规则(仅飞书人事企业版可用) /// - [JsonPropertyName("allow_punch_approval")] - public bool? AllowPunchApproval { get; set; } + public record PostAttendanceV1ShiftsBodyDtoShiftMiddleTimeRule + { + /// + /// 半天分割类型 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:按全天班次时长(含休息)的中点分割 + /// 1:按全天班次时长(不含休息)的中点分割 + /// 2:按休息时间分割 + /// 3:按固定时间点分割 + /// + /// 默认值:0 + /// + [JsonPropertyName("middle_time_type")] + public int? MiddleTimeType { get; set; } + + /// + /// 固定分割时间点(middle_time_type 为 3 时有效) + /// 必填:否 + /// 示例值:12:00 + /// + [JsonPropertyName("fixed_middle_time")] + public string? FixedMiddleTime { get; set; } + } + + /// + /// 晚走次日晚到配置规则 + /// 必填:否 + /// + [JsonPropertyName("late_off_late_on_setting")] + public PostAttendanceV1ShiftsBodyDtoLateOffLateOnSetting? LateOffLateOnSetting { get; set; } + + /// + /// 晚走次日晚到配置规则 + /// + public record PostAttendanceV1ShiftsBodyDtoLateOffLateOnSetting + { + /// + /// 当日晚走时间计算规则 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:弹性规则 + /// 1:固定规则 + /// + /// 默认值:0 + /// + [JsonPropertyName("late_off_base_on_time_type")] + public int? LateOffBaseOnTimeType { get; set; } + + /// + /// 次日晚到时间计算规则 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:固定规则 + /// 1:弹性规则 + /// + /// 默认值:0 + /// + [JsonPropertyName("late_on_base_on_time_type")] + public int? LateOnBaseOnTimeType { get; set; } + } } diff --git a/src/Attendance/PostAttendanceV1ShiftsQueryResponseDto.cs b/src/Attendance/PostAttendanceV1ShiftsQueryResponseDto.cs index c14d896e..f802542f 100644 --- a/src/Attendance/PostAttendanceV1ShiftsQueryResponseDto.cs +++ b/src/Attendance/PostAttendanceV1ShiftsQueryResponseDto.cs @@ -32,6 +32,13 @@ public record PostAttendanceV1ShiftsQueryResponseDto [JsonPropertyName("punch_times")] public int PunchTimes { get; set; } + /// + /// 排班组子负责人id列表,返回员工id或工号(仅飞书人事企业版可用) + /// 必填:否 + /// + [JsonPropertyName("sub_shift_leader_ids")] + public string[]? SubShiftLeaderIds { get; set; } + /// /// 是否弹性打卡 /// 必填:否 @@ -108,7 +115,7 @@ public record PunchTimeRule /// /// 下班时间 /// 必填:是 - /// 示例值:18:00,第二天凌晨2点,26:00 + /// 示例值:18:00, 第二天凌晨2点, 26:00 /// [JsonPropertyName("off_time")] public string OffTime { get; set; } = string.Empty; @@ -171,14 +178,14 @@ public record PunchTimeRule } /// - /// 晚走晚到规则 + /// 晚走晚到规则(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("late_off_late_on_rule")] public LateOffLateOnRule[]? LateOffLateOnRules { get; set; } /// - /// 晚走晚到规则 + /// 晚走晚到规则(仅飞书人事企业版可用) /// public record LateOffLateOnRule { @@ -229,19 +236,19 @@ public record RestRule } /// - /// 打卡规则 + /// 加班时段(仅飞书人事企业版可用) /// 必填:否 /// [JsonPropertyName("overtime_rule")] public OvertimeRule[]? OvertimeRules { get; set; } /// - /// 打卡规则 + /// 加班时段(仅飞书人事企业版可用) /// public record OvertimeRule { /// - /// 上班时间 + /// 开始时间 /// 必填:是 /// 示例值:9:00 /// @@ -249,11 +256,19 @@ public record OvertimeRule public string OnOvertime { get; set; } = string.Empty; /// - /// 下班时间 + /// 结束时间 /// 必填:是 /// 示例值:18:00 /// [JsonPropertyName("off_overtime")] public string OffOvertime { get; set; } = string.Empty; } + + /// + /// 是否允许在非打卡时段申请打卡 + /// 必填:否 + /// 示例值:false + /// + [JsonPropertyName("allow_punch_approval")] + public bool? AllowPunchApproval { get; set; } } diff --git a/src/Attendance/PostAttendanceV1ShiftsResponseDto.cs b/src/Attendance/PostAttendanceV1ShiftsResponseDto.cs index 1d0212ef..34cfe588 100644 --- a/src/Attendance/PostAttendanceV1ShiftsResponseDto.cs +++ b/src/Attendance/PostAttendanceV1ShiftsResponseDto.cs @@ -127,7 +127,7 @@ public record PunchTimeRule /// /// 下班时间 /// 必填:是 - /// 示例值:18:00,第二天凌晨2点,26:00 + /// 示例值:18:00, 第二天凌晨2点, 26:00 /// [JsonPropertyName("off_time")] public string OffTime { get; set; } = string.Empty; @@ -187,6 +187,22 @@ public record PunchTimeRule /// [JsonPropertyName("late_minutes_as_serious_late")] public int? LateMinutesAsSeriousLate { get; set; } + + /// + /// 是否不需要打上班卡 + /// 必填:否 + /// 示例值:true + /// + [JsonPropertyName("no_need_on")] + public bool? NoNeedOn { get; set; } + + /// + /// 是否不需要打下班卡(优先级高于data.shift.no_need_off) + /// 必填:否 + /// 示例值:true + /// + [JsonPropertyName("no_need_off")] + public bool? NoNeedOff { get; set; } } /// @@ -277,11 +293,101 @@ public record OvertimeRule } /// - /// 是否允许在非打卡时段申请打卡 + /// 日期类型,【是否弹性打卡 = ture】时,不可设置为“休息日” 可选值:1:工作日 2:休息日 示例值:(默认值)1 /// 必填:否 - /// 示例值:false + /// 示例值:1 + /// + [JsonPropertyName("day_type")] + public int? DayType { get; set; } + + /// + /// 班外休息规则 + /// 必填:否 + /// + [JsonPropertyName("overtime_rest_time_rule")] + public RestRule[]? OvertimeRestTimeRules { get; set; } + + /// + /// 晚到多久记为严重迟到(优先级高于data.shift.punch_time_rule.late_minutes_as_serious_late) + /// 必填:否 + /// 示例值:40 + /// + [JsonPropertyName("late_minutes_as_serious_late")] + public int? LateMinutesAsSeriousLate { get; set; } + + /// + /// 半天分割规则 + /// 必填:否 + /// + [JsonPropertyName("shift_middle_time_rule")] + public PostAttendanceV1ShiftsResponseDtoShiftShiftMiddleTimeRule? ShiftMiddleTimeRule { get; set; } + + /// + /// 半天分割规则 /// - [JsonPropertyName("allow_punch_approval")] - public bool? AllowPunchApproval { get; set; } + public record PostAttendanceV1ShiftsResponseDtoShiftShiftMiddleTimeRule + { + /// + /// 半天分割类型 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:按全天班次时长(含休息)的中点分割 + /// 1:按全天班次时长(不含休息)的中点分割 + /// 2:按休息时间分割 + /// 3:按固定时间点分割 + /// + /// 默认值:0 + /// + [JsonPropertyName("middle_time_type")] + public int? MiddleTimeType { get; set; } + + /// + /// 固定分割时间点(middle_time_type 为 3 时有效) + /// 必填:否 + /// 示例值:12:00 + /// + [JsonPropertyName("fixed_middle_time")] + public string? FixedMiddleTime { get; set; } + } + + /// + /// 晚走次日晚到配置规则 + /// 必填:否 + /// + [JsonPropertyName("late_off_late_on_setting")] + public PostAttendanceV1ShiftsResponseDtoShiftLateOffLateOnSetting? LateOffLateOnSetting { get; set; } + + /// + /// 晚走次日晚到配置规则 + /// + public record PostAttendanceV1ShiftsResponseDtoShiftLateOffLateOnSetting + { + /// + /// 当日晚走时间计算规则 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:弹性规则 + /// 1:固定规则 + /// + /// 默认值:0 + /// + [JsonPropertyName("late_off_base_on_time_type")] + public int? LateOffBaseOnTimeType { get; set; } + + /// + /// 次日晚到时间计算规则 + /// 必填:否 + /// 示例值:0 + /// 可选值: + /// 0:固定规则 + /// 1:弹性规则 + /// + /// 默认值:0 + /// + [JsonPropertyName("late_on_base_on_time_type")] + public int? LateOnBaseOnTimeType { get; set; } + } } } diff --git a/src/Ccm.Spec/PostSuiteDocsApiSearchObjectBodyDto.cs b/src/Ccm.Spec/PostSuiteDocsApiSearchObjectBodyDto.cs new file mode 100644 index 00000000..758605b0 --- /dev/null +++ b/src/Ccm.Spec/PostSuiteDocsApiSearchObjectBodyDto.cs @@ -0,0 +1,58 @@ +namespace FeishuNetSdk.Ccm.Spec; +/// +/// 搜索云文档 请求体 +/// 该接口用于根据搜索关键词(search_key)对当前用户可见的云文档进行搜索。 +/// 接口ID:6907569523177439233 +/// 文档地址:https://open.feishu.cn/document/server-docs/docs/drive-v1/search/document-search +/// JSON地址:https://open.feishu.cn/document_portal/v1/document/get_detail?fullPath=%2fukTMukTMukTM%2fugDM4UjL4ADO14COwgTN +/// +public record PostSuiteDocsApiSearchObjectBodyDto +{ + /// + /// 指定搜索的关键字。 + /// 必填:是 + /// + [JsonPropertyName("search_key")] + public string SearchKey { get; set; } = string.Empty; + + /// + /// 指定搜索返回的文件数量。取值范围为 [0,50]。 + /// 必填:否 + /// + [JsonPropertyName("count")] + public int? Count { get; set; } + + /// + /// 指定搜索的偏移量,该参数最小为 0,即不偏移。该参数的值与返回的文件数量之和不得小于或等于 200(即 offset + count &lt; 200)。 + /// 必填:否 + /// + [JsonPropertyName("offset")] + public int? Offset { get; set; } + + /// + /// 文件所有者的 Open ID。了解更多,参考[如何获取 Open ID](https://open.feishu.cn/document/home/user-identity-introduction/open-id)。 + /// 必填:否 + /// + [JsonPropertyName("owner_ids")] + public string[]? OwnerIds { get; set; } + + /// + /// 文件所在群的 ID。了解更多,参考[群 ID 说明](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description)。 + /// 必填:否 + /// + [JsonPropertyName("chat_ids")] + public string[]? ChatIds { get; set; } + + /// + /// 文件类型,支持以下枚举: + /// - `doc`:旧版文档 + /// - `sheet`:电子表格 + /// - `slides`:幻灯片 + /// - `bitable`:多维表格 + /// - `mindnote`:思维笔记 + /// - `file`:文件 + /// 必填:否 + /// + [JsonPropertyName("docs_types")] + public string[]? DocsTypes { get; set; } +} diff --git a/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDto.cs b/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDto.cs index 26d5e43a..960ae19b 100644 --- a/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDto.cs +++ b/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDto.cs @@ -55,14 +55,14 @@ public record GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDt public bool? Hidden { get; set; } /// - /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回 + /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回。 /// 必填:否 /// [JsonPropertyName("grid_properties")] public GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDtoSheetGridProperties? GridProperties { get; set; } /// - /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回 + /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回。 /// public record GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDtoSheetGridProperties { @@ -111,19 +111,19 @@ public record GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsBySheetIdResponseDt public string? ResourceType { get; set; } /// - /// 合并单元格的相关信息。没有合并单元格则不返回 + /// 合并单元格的相关信息。没有合并单元格则不返回。 /// 必填:否 /// [JsonPropertyName("merges")] public MergeRange[]? Merges { get; set; } /// - /// 合并单元格的相关信息。没有合并单元格则不返回 + /// 合并单元格的相关信息。没有合并单元格则不返回。 /// public record MergeRange { /// - /// 起始行,从 0 开始计数 + /// 起始行,从 0 开始计数。 /// 必填:否 /// 示例值:0 /// @@ -131,7 +131,7 @@ public record MergeRange public int? StartRowIndex { get; set; } /// - /// 结束行,从 0 开始计数 + /// 结束行,从 0 开始计数。 /// 必填:否 /// 示例值:- /// @@ -139,7 +139,7 @@ public record MergeRange public int? EndRowIndex { get; set; } /// - /// 起始列,从 0 开始计数 + /// 起始列,从 0 开始计数。 /// 必填:否 /// 示例值:0 /// @@ -147,7 +147,7 @@ public record MergeRange public int? StartColumnIndex { get; set; } /// - /// 结束列,从 0 开始计数 + /// 结束列,从 0 开始计数。 /// 必填:否 /// 示例值:0 /// diff --git a/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsQueryResponseDto.cs b/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsQueryResponseDto.cs index 1611f82c..50efa45b 100644 --- a/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsQueryResponseDto.cs +++ b/src/Ccm/GetSheetsV3SpreadsheetsBySpreadsheetTokenSheetsQueryResponseDto.cs @@ -55,14 +55,14 @@ public record Sheet public bool? Hidden { get; set; } /// - /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回 + /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回。 /// 必填:否 /// [JsonPropertyName("grid_properties")] public SheetGridProperties? GridProperties { get; set; } /// - /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回 + /// 单元格属性,仅当 `resource_type` 为 `sheet` 即工作表类型为电子表格时返回。 /// public record SheetGridProperties { @@ -111,14 +111,14 @@ public record SheetGridProperties public string? ResourceType { get; set; } /// - /// 合并单元格的相关信息。没有合并单元格则不返回 + /// 合并单元格的相关信息。没有合并单元格则不返回。 /// 必填:否 /// [JsonPropertyName("merges")] public MergeRange[]? Merges { get; set; } /// - /// 合并单元格的相关信息。没有合并单元格则不返回 + /// 合并单元格的相关信息。没有合并单元格则不返回。 /// public record MergeRange { @@ -139,7 +139,7 @@ public record MergeRange public int? EndRowIndex { get; set; } /// - /// 起始列,从 0 开始计数 + /// 起始列,从 0 开始计数。 /// 必填:否 /// 示例值:0 /// @@ -147,7 +147,7 @@ public record MergeRange public int? StartColumnIndex { get; set; } /// - /// 结束列,从 0 开始计数 + /// 结束列,从 0 开始计数。 /// 必填:否 /// 示例值:0 /// diff --git a/src/FeishuNetSdk.csproj b/src/FeishuNetSdk.csproj index d785870c..6983536a 100644 --- a/src/FeishuNetSdk.csproj +++ b/src/FeishuNetSdk.csproj @@ -16,7 +16,7 @@ MIT 适用于飞书开放平台的.Net开发包 LICENSE - 2.2.9 + 2.3.0 diff --git a/src/FeishuPeople/PostCorehrV1CompaniesBodyDto.cs b/src/FeishuPeople/PostCorehrV1CompaniesBodyDto.cs index 0e8c62d5..a0d1dec7 100644 --- a/src/FeishuPeople/PostCorehrV1CompaniesBodyDto.cs +++ b/src/FeishuPeople/PostCorehrV1CompaniesBodyDto.cs @@ -87,7 +87,7 @@ public record Enum public bool Active { get; set; } /// - /// 生效时间 + /// 生效时间。该参数为公共参数,若对象为公司则为必填。 /// 必填:否 /// 示例值:2020-05-01 00:00:00 /// diff --git a/src/FeishuPeople/PostCorehrV1DepartmentsBodyDto.cs b/src/FeishuPeople/PostCorehrV1DepartmentsBodyDto.cs index 4c9272a8..78303b43 100644 --- a/src/FeishuPeople/PostCorehrV1DepartmentsBodyDto.cs +++ b/src/FeishuPeople/PostCorehrV1DepartmentsBodyDto.cs @@ -9,14 +9,14 @@ namespace FeishuNetSdk.FeishuPeople; public record PostCorehrV1DepartmentsBodyDto { /// - /// 子类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 + /// 部门类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 /// 必填:否 /// [JsonPropertyName("sub_type")] public Enum? SubType { get; set; } /// - /// 子类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 + /// 部门类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 /// public record Enum { diff --git a/src/FeishuPeople/PostCorehrV1DepartmentsResponseDto.cs b/src/FeishuPeople/PostCorehrV1DepartmentsResponseDto.cs index 8b02e7f8..3ca38b4b 100644 --- a/src/FeishuPeople/PostCorehrV1DepartmentsResponseDto.cs +++ b/src/FeishuPeople/PostCorehrV1DepartmentsResponseDto.cs @@ -29,14 +29,14 @@ public record DepartmentCreate public string? Id { get; set; } /// - /// 子类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 + /// 部门类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 /// 必填:否 /// [JsonPropertyName("sub_type")] public Enum? SubType { get; set; } /// - /// 子类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 + /// 部门类型,通过[请求接口](https://open.larkoffice.com/document/server-docs/corehr-v1/basic-infomation/custom_field/get_by_param)查询获取。请求参数:object_api_name=department;custom_api_name=subtype。 /// public record Enum { diff --git a/src/IFeishuTenantApi.cs b/src/IFeishuTenantApi.cs index cf40a5ce..8a104817 100644 --- a/src/IFeishuTenantApi.cs +++ b/src/IFeishuTenantApi.cs @@ -1143,7 +1143,7 @@ System.Threading.Tasks.Task PostApprovalOpenapiV2SubscriptionSub /// /// /// 必填:否 - /// 用户 ID 类型。默认值为 `open_id`。可选值有: + /// 用户 ID 类型。默认为 `lark_id`,建议选择 `open_id` 或 `union_id`。了解更多,参考[用户身份概述](https://open.feishu.cn/document/home/user-identity-introduction/introduction)。可选值: /// - `open_id`:标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:[如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid) /// - `union_id`:标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:[如何获取 Union ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id) /// 默认值:open_id @@ -1475,7 +1475,7 @@ System.Threading.Tasks.Task PostMeetingRoomBuildingUpdateAsync( /// 接口ID:6907569744333864961 /// 接口文档:https://open.feishu.cn/document/ukTMukTMukTM/uUjMzUjL1IzM14SNyMTN /// Authorization:tenant_access_token、user_access_token - /// 该接口用于在电子表格中增加空白行或列。 + /// 该接口用于在电子表格工作表中增加空白行或列。 /// /// /// 路径参数 @@ -15105,13 +15105,13 @@ System.Threading.Tasks.Task DeleteMailV1UserMailboxesByUserMailb /// /// /// 必填:否 - /// 投递 ID + /// 投递 ID,当飞书招聘-设置-面试满意度问卷设置中,问卷发送时机为「面试流程结束后」,仅支持通过application_id进行查询 /// 示例值:6985833807195212076 /// 默认值:null /// /// /// 必填:否 - /// 面试 ID + /// 面试 ID,当飞书招聘-设置-面试满意度问卷设置中,问卷发送时机为「每次面试结束后」或「第一次面试结束后」,仅支持通过interview_id进行查询 /// 示例值:7038435261598763308 /// 默认值:null /// @@ -20540,7 +20540,7 @@ System.Threading.Tasks.Task PatchSheetsV3SpreadsheetsBySpreadshe /// /// 路径参数 /// 必填:是 - /// 工作表的 ID。调用[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)获取 ID + /// 工作表的 ID。调用[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)获取 ID。 /// 示例值:giDk9k /// [HttpGet("/open-apis/sheets/v3/spreadsheets/{spreadsheet_token}/sheets/{sheet_id}")] diff --git a/src/IFeishuUserApi.cs b/src/IFeishuUserApi.cs index 6c0733f7..3ef31074 100644 --- a/src/IFeishuUserApi.cs +++ b/src/IFeishuUserApi.cs @@ -131,10 +131,12 @@ public interface IFeishuUserApi : IHttpApi /// Authorization:user_access_token /// 该接口用于根据搜索关键词(search_key)对当前用户可见的云文档进行搜索。 /// + /// 请求体 /// 用户凭证 [HttpPost("/open-apis/suite/docs-api/search/object")] System.Threading.Tasks.Task> PostSuiteDocsApiSearchObjectAsync( - UserAccessToken access_token); + UserAccessToken access_token, + [JsonContent] Ccm.Spec.PostSuiteDocsApiSearchObjectBodyDto dto); /// /// 【云文档】获取云文档权限设置V2 @@ -614,7 +616,7 @@ System.Threading.Tasks.Task PostSheetsV2SpreadsheetsBySpreadshee /// /// /// 必填:否 - /// 用户 ID 类型。默认值为 `open_id`。可选值有: + /// 用户 ID 类型。默认为 `lark_id`,建议选择 `open_id` 或 `union_id`。了解更多,参考[用户身份概述](https://open.feishu.cn/document/home/user-identity-introduction/introduction)。可选值: /// - `open_id`:标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:[如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid) /// - `union_id`:标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:[如何获取 Union ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id) /// 默认值:open_id @@ -768,7 +770,7 @@ System.Threading.Tasks.Task PostSheetsV2SpreadsheetsBySpreadshee /// 接口ID:6907569744333864961 /// 接口文档:https://open.feishu.cn/document/ukTMukTMukTM/uUjMzUjL1IzM14SNyMTN /// Authorization:tenant_access_token、user_access_token - /// 该接口用于在电子表格中增加空白行或列。 + /// 该接口用于在电子表格工作表中增加空白行或列。 /// /// /// 路径参数 @@ -10103,7 +10105,7 @@ System.Threading.Tasks.Task PatchSheetsV3SpreadsheetsBySpreadshe /// /// 路径参数 /// 必填:是 - /// 工作表的 ID。调用[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)获取 ID + /// 工作表的 ID。调用[获取工作表](https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/sheets-v3/spreadsheet-sheet/query)获取 ID。 /// 示例值:giDk9k /// /// 用户凭证 diff --git a/src/Performance/PostPerformanceV1ReviewDatasQueryBodyDto.cs b/src/Performance/PostPerformanceV1ReviewDatasQueryBodyDto.cs index edd881bd..d4c30ba2 100644 --- a/src/Performance/PostPerformanceV1ReviewDatasQueryBodyDto.cs +++ b/src/Performance/PostPerformanceV1ReviewDatasQueryBodyDto.cs @@ -85,7 +85,7 @@ public record PostPerformanceV1ReviewDatasQueryBodyDto public string[] RevieweeUserIdList { get; set; } = Array.Empty(); /// - /// 环节更新时间晚于,可筛选出在此时间之后,有内容提交的环节数据 + /// 环节更新时间晚于,毫秒级时间戳,可筛选出在此时间之后,有内容提交的环节数据 /// 必填:否 /// 示例值:1630425599999 /// diff --git a/src/Performance/PostPerformanceV1ReviewDatasQueryResponseDto.cs b/src/Performance/PostPerformanceV1ReviewDatasQueryResponseDto.cs index 2b178fe7..32092613 100644 --- a/src/Performance/PostPerformanceV1ReviewDatasQueryResponseDto.cs +++ b/src/Performance/PostPerformanceV1ReviewDatasQueryResponseDto.cs @@ -604,7 +604,7 @@ public record User } /// - /// 最后提交时间 + /// 最后提交时间,毫秒级时间戳 /// 必填:否 /// 示例值:1627977114000 ///