using System; using System.Xml.Serialization; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.attendance.group.add /// public class OapiAttendanceGroupAddRequest : BaseDingTalkRequest { /// /// 操作人id /// public string OpUserId { get; set; } /// /// 考勤组信息 /// public string TopGroup { get; set; } public TopGroupVoDomain TopGroup_ { set { this.TopGroup = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.attendance.group.add"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("op_user_id", this.OpUserId); parameters.Add("top_group", this.TopGroup); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("op_user_id", this.OpUserId); RequestValidator.ValidateRequired("top_group", this.TopGroup); } /// /// TopPositionVoDomain Data Structure. /// [Serializable] public class TopPositionVoDomain : TopObject { /// /// 精度 /// [XmlElement("accuracy")] public string Accuracy { get; set; } /// /// 地址 /// [XmlElement("address")] public string Address { get; set; } /// /// corpId /// [XmlElement("corp_id")] public string CorpId { get; set; } /// /// 纬度 /// [XmlElement("latitude")] public string Latitude { get; set; } /// /// 经度 /// [XmlElement("longitude")] public string Longitude { get; set; } /// /// 标题 /// [XmlElement("title")] public string Title { get; set; } } /// /// TopShiftVoDomain Data Structure. /// [Serializable] public class TopShiftVoDomain : TopObject { /// /// 班次id /// [XmlElement("id")] public Nullable Id { get; set; } } /// /// TopMemberVoDomain Data Structure. /// [Serializable] public class TopMemberVoDomain : TopObject { /// /// corpId /// [XmlElement("corp_id")] public string CorpId { get; set; } /// /// 角色 /// [XmlElement("role")] public string Role { get; set; } /// /// 类型 /// [XmlElement("type")] public string Type { get; set; } /// /// 用户id /// [XmlElement("user_id")] public string UserId { get; set; } } /// /// TopGroupManageRolePermissionVoDomain Data Structure. /// [Serializable] public class TopGroupManageRolePermissionVoDomain : TopObject { /// /// 设置拍照打卡规则 /// [XmlElement("camera_check")] public string CameraCheck { get; set; } /// /// 设置打卡方式 /// [XmlElement("check_position_type")] public string CheckPositionType { get; set; } /// /// 设置考勤时间 /// [XmlElement("check_time")] public string CheckTime { get; set; } /// /// 设置参与考勤人员 /// [XmlElement("group_member")] public string GroupMember { get; set; } /// /// 设置考勤类型 /// [XmlElement("group_type")] public string GroupType { get; set; } /// /// 设置外勤打卡 /// [XmlElement("out_side_check")] public string OutSideCheck { get; set; } /// /// 设置加班规则 /// [XmlElement("over_time_rule")] public string OverTimeRule { get; set; } /// /// 员工排班 /// [XmlElement("schedule")] public string Schedule { get; set; } } /// /// TopWifiVoDomain Data Structure. /// [Serializable] public class TopWifiVoDomain : TopObject { /// /// 企业corpid /// [XmlElement("corp_id")] public string CorpId { get; set; } /// /// mac地址 /// [XmlElement("mac_addr")] public string MacAddr { get; set; } /// /// wifi的ssid /// [XmlElement("ssid")] public string Ssid { get; set; } } /// /// TopAtBleDeviceVODomain Data Structure. /// [Serializable] public class TopAtBleDeviceVODomain : TopObject { /// /// 设备id /// [XmlElement("device_id")] public Nullable DeviceId { get; set; } } /// /// TopGroupVoDomain Data Structure. /// [Serializable] public class TopGroupVoDomain : TopObject { /// /// 蓝牙打卡信息 /// [XmlArray("ble_device_list")] [XmlArrayItem("top_at_ble_device_v_o")] public List BleDeviceList { get; set; } /// /// 打卡是否需要健康码 /// [XmlElement("check_need_healthy_code")] public Nullable CheckNeedHealthyCode { get; set; } /// /// corpId /// [XmlElement("corp_id")] public string CorpId { get; set; } /// /// 默认班次id(固定班制必填) /// [XmlElement("default_class_id")] public Nullable DefaultClassId { get; set; } /// /// 休息日打卡是否需审批。true:需要 false:不需要 /// [XmlElement("disable_check_when_rest")] public Nullable DisableCheckWhenRest { get; set; } /// /// 未排班时是否禁止员工打卡 /// [XmlElement("disable_check_without_schedule")] public Nullable DisableCheckWithoutSchedule { get; set; } /// /// 是否开启拍照打卡 /// [XmlElement("enable_camera_check")] public Nullable EnableCameraCheck { get; set; } /// /// 未排班时允许员工选择班次打卡 /// [XmlElement("enable_emp_select_class")] public Nullable EnableEmpSelectClass { get; set; } /// /// 是否开启人脸检测 /// [XmlElement("enable_face_check")] public Nullable EnableFaceCheck { get; set; } /// /// 是否第二天生效 /// [XmlElement("enable_next_day")] public Nullable EnableNextDay { get; set; } /// /// 是否开启外勤打卡必须拍照 /// [XmlElement("enable_outside_camera_check")] public Nullable EnableOutsideCameraCheck { get; set; } /// /// 是否可以外勤打卡 /// [XmlElement("enable_outside_check")] public Nullable EnableOutsideCheck { get; set; } /// /// 是否启用蓝牙定位 /// [XmlElement("enable_position_ble")] public Nullable EnablePositionBle { get; set; } /// /// 自由工时考勤组考勤开始时间与当天0点偏移分钟数(如:240表示4:00) /// [XmlElement("freecheck_day_start_min_offset")] public Nullable FreecheckDayStartMinOffset { get; set; } /// /// 自由工时考勤组工作日(1表示周一,0表示周日) /// [XmlArray("freecheck_work_days")] [XmlArrayItem("number")] public List FreecheckWorkDays { get; set; } /// /// 考勤组id /// [XmlElement("id")] public Nullable Id { get; set; } /// /// 考勤组子管理员userid列表 /// [XmlArray("manager_list")] [XmlArrayItem("string")] public List ManagerList { get; set; } /// /// 考勤组成员 /// [XmlArray("members")] [XmlArrayItem("top_member_vo")] public List Members { get; set; } /// /// 是否有修改考勤组成员相关信息 /// [XmlElement("modify_member")] public Nullable ModifyMember { get; set; } /// /// 考勤组名 /// [XmlElement("name")] public string Name { get; set; } /// /// 考勤范围 /// [XmlElement("offset")] public Nullable Offset { get; set; } /// /// 考勤组owner /// [XmlElement("owner")] public string Owner { get; set; } /// /// 考勤地址 /// [XmlArray("positions")] [XmlArrayItem("top_position_vo")] public List Positions { get; set; } /// /// 子管理员权限范围(w表示可管理,r表示可读) /// [XmlElement("resource_permission_map")] public TopGroupManageRolePermissionVoDomain ResourcePermissionMap { get; set; } /// /// 班次信息 /// [XmlArray("shift_vo_list")] [XmlArrayItem("top_shift_vo")] public List ShiftVoList { get; set; } /// /// 是否跳过节假日 /// [XmlElement("skip_holidays")] public Nullable SkipHolidays { get; set; } /// /// 特殊日期配置 /// [XmlElement("special_days")] public string SpecialDays { get; set; } /// /// 考勤组类型 /// [XmlElement("type")] public string Type { get; set; } /// /// 考勤wifi打卡 /// [XmlArray("wifis")] [XmlArrayItem("top_wifi_vo")] public List Wifis { get; set; } /// /// 周班次列表(固定班制必填,0表示休息) /// [XmlArray("workday_class_list")] [XmlArrayItem("number")] public List WorkdayClassList { get; set; } } #endregion } }