using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HuizhongLibrary.Dingtalk { #region 用户信息 public class DingtalkUser { public int errcode { get; set; } public string errmsg { get; set; } public string userid { get; set; } public string deviceId { get; set; } public bool is_sys { get; set; } public int sys_level { get; set; } } public class DingtalkUserZZD { public bool success { get; set; } public DingtalkUserContentZZD content { get; set; } } public class DingtalkUserContentZZD { public string responseMessage { get; set; } public DingtalkUserInfoZZD data { get; set; } public string responseCode { get; set; } } public class DingtalkUserInfoZZD { public string account { get; set; } public long accountId { get; set; } public string employeeCode { get; set; } public string lastName { get; set; } public string nickNameCn { get; set; } public long realmId { get; set; } public string realmName { get; set; } public string tenantUserId { get; set; } public string openid { get; set; } } public class DingtalkUserInfo { public int errcode { get; set; } public string openId { get; set; } public string userid { get; set; } public string mobile { get; set; } public string name { get; set; } } #endregion #region AccessToken public class DingtalkAccessToken { public string access_token { get; set; } public int errcode { get; set; } public string errmsg { get; set; } } public class DingtalkAccessTokenZZD { public string accessToken { get; set; } } public class DingtalkAccessTokenContentZZD { public string requestId { get; set; } public bool success { get; set; } public string responseMessage { get; set; } public string responseCode { get; set; } public DingtalkAccessTokenZZD data { get; set; } } public class DingtalkAccessTokenMessZZD { public bool success { get; set; } public DingtalkAccessTokenContentZZD content { get; set; } } #endregion #region 工作消息 public class DingtalkMessage { public int agent_id { get; set; } public string userid_list { get; set; } //public string dept_id_list { get; set; } public bool to_all_user { get; set; } public string msgtype { get; set; } public string url { get; set; } public string title { get; set; } public string msg { get; set; } public DingtalkMessage() { msgtype = "text"; } public string ToJson() { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("\"agent_id\":"+this.agent_id+","); if (to_all_user == true) { sb.Append("\"to_all_user\":true,"); } else { sb.Append("\"userid_list\":\"" + this.userid_list + "\","); } //sb.Append("\"userid_list\":\"" + this.userid_list + "\","); //sb.Append("\"dept_id_list\":\"" + this.dept_id_list + "\","); if (msgtype == "text") { sb.Append("\"msg\":{\"msgtype\":\"text\",\"text\":{\"content\":\""+this.msg + "\"}}"); } if (msgtype == "action_card") { sb.Append("\"msg\":{\"msgtype\":\"action_card\",\"action_card\":{\"title\":\"" + this.title + "\",\"markdown\":\"" + this.msg + "\",\"single_title\":\"查看详情\",\"single_url\":\"" + this.url + "\"}}"); } sb.Append("}"); return sb.ToString(); } } #endregion #region 消息结果 public class DingResult { public int errcode { get; set; } public string errmsg { get; set; } public int id { get; set; } public bool hasMore { get; set; } public string userid { get; set; } public List department { get; set; } public List userlist { get; set; } public LeaveTimeResult result { get; set; } } #endregion #region 消息结果2 public class DingResult2 { public int errcode { get; set; } public string errmsg { get; set; } public Exam_process_instance process_instance { get; set; } } #endregion #region 部门 public class DingDepartMent { public int id { get; set; } public string name { get; set; } public string parentid { get; set; } public string order { get; set; } public string ToJson() { StringBuilder sb = new StringBuilder(); sb.Append("{"); if (id>0)sb.Append("\"id\":" + this.id + ","); sb.Append("\"name\":\"" + this.name + "\","); sb.Append("\"parentid\":\"" + this.parentid + "\","); sb.Append("\"order\":\"" + this.order + "\""); sb.Append("}"); return sb.ToString(); } } #endregion #region 员工 public class DingUser { public string userid { get; set; } public string name { get; set; } public List department { get; set; } public string mobile { get; set; } public DingUser() { department = new List(); } } public class DingUserGet { public int errcode { get; set; } public string errmsg { get; set; } public string userid { get; set; } } #endregion #region 考勤请求 public class DingWorkRequest { public String workDateFrom { get; set; } public String workDateTo { get; set; } public String checkDateFrom { get; set; } public String checkDateTo { get; set; } public List userIdList { get; set; } public List userIds { get; set; } public int offset { get; set; } public int limit { get; set; } public DingWorkRequest() { limit = 50; userIdList = new List(); userIds = new List(); } } #endregion #region 考勤结果 public class DingWorkResult { public int errcode { get; set; } public string errmsg { get; set; } public bool hasMore { get; set; } public List recordresult { get; set; } } public class DingWorkResult2 { public long id { get; set; } /// /// 考勤组ID /// public long groupId { get; set; } /// /// 排班ID /// public long planId { get; set; } /// /// 打卡记录ID /// public long recordId { get; set; } /// /// 考勤日期 /// public long workDate { get; set; } public string userId { get; set; } public string userAddress { get; set; } /// /// 打卡时间 /// public Int64 userCheckTime { get; set; } /// /// OnDuty=上班,OffDuty=下班 /// public string checkType { get; set; } /// /// Normal=范围内,Outside=范围外,NotSigned=未打卡 /// public string locationResult { get; set; } /// /// Normal=正常,Early=早退,Late=迟到,SeriousLate=严重迟到,Absenteeism=旷工迟到,NotSigned=未打卡 /// public string timeResult { get; set; } public DateTime GetuserCheckTime() { return CustomIO.ConvertTimeStampToDateTime(userCheckTime); } public DingWorkResult2 Copy() { var model = new DingWorkResult2(); model.id = this.id; model.groupId = this.groupId; model.planId = this.planId; model.recordId = this.recordId; model.workDate = this.workDate; model.userId = this.userId; model.userCheckTime = this.userCheckTime; model.checkType = this.checkType; model.locationResult = this.locationResult; model.timeResult = this.timeResult; model.userAddress = this.userAddress; return model; } public string deviceId { get; set; } } #endregion #region 请假时长请求 public class LeaveTimeRequest { public string userid { get; set; } public string from_date { get; set; } public string to_date { get; set; } } #endregion #region 请假时长 public class LeaveTimeResult { public int duration_in_minutes { get; set; } } #endregion #region 审批请求 public class ExamIdRequest { public string process_code { get; set; } public long start_time { get; set; } public long end_time { get; set; } public int size { get; set; } public int cursor { get; set; } //public List userid_list { get; set; } public ExamIdRequest() { size = 20; } public string ToJson() { return this.ToJsonString(); } } #endregion #region 获取审批实例id public class ExamIdResult { public int errcode { get; set; } public string errmsg { get; set; } public ExamIdResult2 result { get; set; } } public class ExamIdResult2 { public int next_cursor { get; set; } public List list { get; set; } } #endregion #region 获取审批实例详情 public class ExamResult { public int errcode { get; set; } public string errmsg { get; set; } public string process_instance_id { get; set; } public ExamResult2 process_instance { get; set; } } public class ExamResult2 { public string title { get; set; } public string create_time { get; set; } public string finish_time { get; set; } public string originator_userid { get; set; } public string originator_dept_id { get; set; } public string status { get; set; } public List cc_userids { get; set; } public List form_component_values { get; set; } public string result { get; set; } public string business_id { get; set; } public List operation_records { get; set; } public List tasks { get; set; } public string originator_dept_name { get; set; } public string biz_action { get; set; } public List attached_process_instance_ids { get; set; } } public class ExamResult3_1 { public string component_type { get; set; } public string name { get; set; } public string value { get; set; } public string ext_value { get; set; } } public class ExamResult3_2 { public string userid { get; set; } public string date { get; set; } public string operation_type { get; set; } public string operation_result { get; set; } public string remark { get; set; } } public class ExamResult3_3 { public string userid { get; set; } public string task_status { get; set; } public string task_result { get; set; } public string create_time { get; set; } public string finish_time { get; set; } public string taskid { get; set; } } #endregion #region 请假详情 public class LeaveResult { public string userid { get; set; } public DateTime StartTime { get; set; } public DateTime EndTime { get; set; } public string LeaveType{get;set;} public int LeaveDay { get; set; } public string Cause { get; set; } public int State { get; set; } } public class Exam_process_instance { public string originator_userid { get; set; } public string result { get; set; } public List form_component_values { get; set; } } public class Exam_form_component_values { public string name { get; set; } public string value { get; set; } } #endregion #region 日志请求 public class DingLogRequest { public long start_time { get; set; } public long end_time { get; set; } public string template_name { get; set; } public string userid { get; set; } public long cursor { get; set; } public int size { get; set; } public DingLogRequest() { size = 20; } public string ToJson() { return this.ToJsonString(); } } #endregion #region 日志结果 public class DingLogResult { public int errcode { get; set; } public string errmsg { get; set; } public DingLogResult2 result { get; set; } } public class DingLogResult2 { public int size { get; set; } /// /// 是否还有下一页 /// public bool has_more { get; set; } /// /// 下次查询起始页 /// public long next_cursor { get; set; } public List data_list { get; set; } } public class DingLogResult3 { /// /// 日志唯一id /// public string report_id { get; set; } /// /// 日志创建时间 /// public long create_time { get; set; } /// /// 日志创建人userid /// public string creator_id { get; set; } /// /// 日志创建人 /// public string creator_name { get; set; } /// /// 部门 /// public string dept_name { get; set; } public string template_name { get; set; } public string remark { get; set; } public List contents { get; set; } public DingLogResult3 Copy() { var model=new DingLogResult3(); model.report_id = this.report_id; model.create_time = this.create_time; model.creator_id = this.creator_id; model.creator_name = this.creator_name; model.dept_name = this.dept_name; model.template_name = this.template_name; model.remark = this.remark; model.contents = this.contents; return model; } } public class DingLogResult4 { public string sort { get; set; } public string type { get; set; } public string key { get; set; } public string value { get; set; } } #endregion }