コード例 #1
0
 public DingHelper()
 {
     if (string.IsNullOrWhiteSpace(_accessToken))
     {
         var obj = HttpHelper.HttpGet("https://oapi.dingtalk.com/gettoken?appkey=dingklt9rga2qkadjq8y&appsecret=arrM5lbKTHxFT6Kx-xohhqvF9Wrbt5jEASA97Up_U42Z4H9TLbVEehcoeeWsHUzU");
         _accessToken = JsonHelper.DeserializeJsonToObject <dynamic>(obj).access_token;
     }
 }
コード例 #2
0
        /// <summary>
        /// 获取审批实例
        /// </summary>
        /// <param name="process_instance_id"></param>
        /// <returns></returns>
        public dynamic GetProcessInstance(string process_instance_id)
        {
            Dictionary <string, object> dic = new Dictionary <string, object>();

            dic.Add("process_instance_id", process_instance_id);

            var response = HttpHelper.Post($"https://oapi.dingtalk.com/topapi/processinstance/get?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response.ToString()));
        }
コード例 #3
0
        /// <summary>
        /// 发送工作消息
        /// </summary>
        /// <returns></returns>
        public dynamic GetCorpconversation(string userId, tongjiModel msg)
        {
            Dictionary <string, object> dic = new Dictionary <string, object>();

            dic.Add("agent_id", "248921930");
            dic.Add("userid_list", userId);
            dic.Add("msg", msg);
            var response = HttpHelper.Post($"https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response.ToString()));
        }
コード例 #4
0
        /// <summary>
        /// 查询请假状态
        /// </summary>
        /// <param name="userIdList"></param>
        /// <param name="start_time">开始时间 ,UNIX时间戳,支持最多180天的查询</param>
        /// <param name="end_time"></param>
        /// <param name="offset"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public dynamic Getleavestatus(string userid_list, long start_time, long end_time, int offset, int size)
        {
            Dictionary <string, object> dic = new Dictionary <string, object>();

            dic.Add("userid_list", userid_list);
            dic.Add("start_time", start_time);
            dic.Add("end_time", end_time);
            dic.Add("offset", offset);
            dic.Add("size", size);
            var response = HttpHelper.Post($"https://oapi.dingtalk.com/topapi/attendance/getleavestatus?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response.ToString()));
        }
コード例 #5
0
        /// <summary>
        /// 批量获取审批实例id
        /// </summary>
        /// <param name="userid_list"></param>
        /// <param name="start_time"></param>
        /// <param name="end_time"></param>
        /// <param name="cursor"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        public ProcessInstanceResult GetProcessInstanceIds(string userid_list, long start_time, long end_time, int cursor, int size = 10)
        {
            Dictionary <string, object> dic = new Dictionary <string, object>();

            dic.Add("process_code", "PROC-84D8542B-C0D8-4476-9087-A68322D2F8E6");
            dic.Add("userid_list", userid_list);
            dic.Add("start_time", start_time);
            dic.Add("end_time", end_time);
            dic.Add("cursor", cursor);
            dic.Add("size", size);
            var response = HttpHelper.Post($"https://oapi.dingtalk.com/topapi/processinstance/listids?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <ProcessInstanceResult>(response.ToString()));
        }
コード例 #6
0
        /// <summary>
        /// 获取打卡详情
        /// </summary>
        /// <param name="userIds"></param>
        /// <returns></returns>
        public dynamic GetAttendanceListRecord(string userIdList, DateTime checkDateFrom, DateTime checkDateTo)
        {
            Dictionary <string, object> dic = new Dictionary <string, object>();
            var ids = new List <string>();

            ids.Add(userIdList);
            dic.Add("userIds", ids);
            dic.Add("isI18n", "false");
            dic.Add("checkDateFrom", checkDateFrom.ToString("yyyy-MM-dd HH:mm:ss"));
            dic.Add("checkDateTo", checkDateTo.ToString("yyyy-MM-dd HH:mm:ss"));

            var response = HttpHelper.Post($"https://oapi.dingtalk.com/attendance/listRecord?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response.ToString()));
        }
コード例 #7
0
        /// <summary>
        /// 获取打卡结果
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public Attendance GetAttendance(string userIdList, DateTime workDateFrom, DateTime workDateTo, int offset, int limit)
        {
            Dictionary <string, object> dic = new Dictionary <string, object>();
            var ids = new List <string>();

            ids.Add(userIdList);
            dic.Add("userIdList", ids);
            dic.Add("workDateFrom", workDateFrom.ToString("yyyy-MM-dd HH:mm:ss"));
            dic.Add("workDateTo", workDateTo.ToString("yyyy-MM-dd HH:mm:ss"));
            dic.Add("offset", offset.ToString());
            dic.Add("limit", limit.ToString());

            var response = HttpHelper.Post($"https://oapi.dingtalk.com/attendance/list?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <Attendance>(response.ToString()));
        }
コード例 #8
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <returns></returns>
        public dynamic SendChat(string cid, string content)
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();
            var msg = new TextMsg();

            msg.msgtype      = "text";
            msg.text         = new Text();
            msg.text.content = content;
            dic.Add("sender", "0540636631658");
            dic.Add("cid", cid);
            //dic.Add("chatid", "0b261630e9743b229cb12861dd550185");
            dic.Add("msg", JsonHelper.SerializeObject(msg));
            var response = HttpHelper.Post($"https://oapi.dingtalk.com/message/send_to_conversation?access_token={_accessToken}", JsonHelper.SerializeObject(dic));

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response.ToString()));
        }
コード例 #9
0
ファイル: B_Table.cs プロジェクト: sundnnstore/MyAdminLTE
        /// <summary>
        /// 设置高级查询
        /// </summary>
        /// <returns></returns>
        public string SetStrWhereHtml()
        {
            var    TableModel         = this.GetTableModel();
            var    TableFielModelList = this.GetTableFieldModel();
            string strHtml            = "";

            if (TableModel.IsWhere == 1)
            {
                if (TableFielModelList != null && TableFielModelList.Count > 0)
                {
                    var SEOHtml  = "";
                    var SEOValue = "";
                    var SEOText  = "";
                    foreach (var item in TableFielModelList)
                    {
                        string type = item.SelectType.ToString();
                        switch (type)
                        {
                        case "1":
                            strHtml += "<div class=\"col-lg-2\" style=\"width: 12%;\">";
                            strHtml += "<label class=\"col-xs control-label table-label\">" + item.FieldText + "<span class=\"text-danger\">(模糊查询)</span></label >";
                            strHtml += "<input type=\"text\" name=\"" + item.FieldKey + "\"  class=\"form-control\" placeholder=\"" + item.FieldText + "\" />";
                            strHtml += "</div>";
                            break;

                        case "2":
                            strHtml += "<div class=\"col-lg-2\" style=\"width: 12%;\">";
                            strHtml += "<label class=\"col-xs control-label table-label\">" + item.FieldText + "<span class=\"text-danger\">(下拉查询)</span></label >";
                            strHtml += "<select name=\"" + item.FieldKey + "\" class=\"form-control select2 select2-hidden-accessible\"  aria-hidden=\"true\" >";
                            strHtml += "<option selected = \"selected\" value = \"AllOption\" >全部</option >";
                            string data = item.SelectData;
                            System.Data.DataTable objdata = JsonHelper.DeserializeJsonToObject <System.Data.DataTable>(data);
                            if (objdata != null && objdata.Rows.Count > 0)
                            {
                                for (int j = 0; j < objdata.Rows.Count; j++)
                                {
                                    if (objdata.Rows[j][0].ToString().ToUpper() == "SQL")
                                    {
                                        var sqldata = objdata.Rows[j][1].ToString();
                                        System.Data.DataTable tsqldt = BaseClass.GetDataTable(BaseClass.GetValueForKey(sqldata));
                                        if (tsqldt != null && tsqldt.Rows.Count > 0)
                                        {
                                            for (int m = 0; m < tsqldt.Rows.Count; m++)
                                            {
                                                strHtml += "<option value = \"" + tsqldt.Rows[m][1].ToString() + "\" >" + tsqldt.Rows[m][0].ToString() + "</option >";
                                            }
                                        }
                                    }
                                    else
                                    {
                                        strHtml += "<option value = \"" + objdata.Rows[j][1].ToString() + "\" >" + objdata.Rows[j][0].ToString() + "</option >";
                                    }
                                }
                            }
                            strHtml += "</select>";
                            strHtml += "</div>";
                            break;

                        case "3":
                            strHtml += "<div class=\"col-lg-2\" style=\"width: 12%;\">";
                            strHtml += "<label class=\"col-xs control-label table-label\">" + item.FieldText + "<span class=\"text-danger\">(等于查询)</span></label >";
                            strHtml += "<input type=\"text\" name=\"" + item.FieldKey + "\" data-type=\"datepicker\"  class=\"form-control\" placeholder=\"" + item.FieldText + "\" />";
                            strHtml += "</div>";
                            break;

                        case "4":
                            var value    = item.SelectData;
                            var datatype = "datepicker";
                            var minView  = "day";
                            var format   = "yyyy-mm-dd";
                            if (value == "yearM" || value == "date")
                            {
                                datatype = "datepicker";
                                if (value == "yearM")
                                {
                                    minView = "3";
                                    format  = "yyyy-mm";
                                }
                                else if (value == "date")
                                {
                                    minView = "2";
                                    format  = "yyyy-mm-dd";
                                }
                            }
                            else if (value == "time1" || value == "time2")
                            {
                                datatype = "datetimepicker";
                                minView  = "0";
                                if (value == "time1")
                                {
                                    format = "yyyy-mm-dd hh:ii";
                                }
                                else if (value == "time2")
                                {
                                    format = "yyyy-mm-dd hh:ii:ss";
                                }
                            }
                            strHtml += "<div class=\"col-lg-3\">";
                            strHtml += "<label class=\"col-xs control-label table-label\" style=\"width:100%;\">" + item.FieldText + "<span class=\"text-danger\">(时间查询)<span></label >";
                            strHtml += "<input type=\"text\" style=\"width:40%;display: inline;\" name=\"" + item.FieldKey + "__Start\" data-type=\"" + datatype + "\"  class=\"form-control\" placeholder=\"起始时间\" id=\"" + item.FieldKey + "__Start\" />";
                            strHtml += " <input type=\"text\" style=\"width:40%;display: inline;\" name=\"" + item.FieldKey + "__End\" data-type=\"" + datatype + "\"  class=\"form-control\" placeholder=\"截止时间\" id=\"" + item.FieldKey + "__End\" />";
                            strHtml += "</div>";
                            strHtml += "<script src=\"../../Script/AdminLTE-2.4.2/bower_components/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js\"></script>";
                            strHtml += "<script>$('#" + item.FieldKey + "__Start').datetimepicker({format: '" + format + "',autoclose : true,minView: '" + minView + "',todayBtn: true,minuteStep: 1});$('#" + item.FieldKey + "__End').datetimepicker({format: '" + format + "',autoclose : true,minView: '" + minView + "',todayBtn: true,minuteStep: 1})</script>";
                            break;

                        case "5":
                            SEOValue += item.FieldKey + ",";
                            SEOText  += item.FieldText + "、";
                            break;

                        default:
                            break;
                        }
                    }
                    strHtml += "<div bnt-click=\"Select\" class=\"col-sm-1 table-p\" style=\"margin-top:30px;\"><button type =\"button\" class=\"btn btn-danger pull-right btn-block btn-primary\">查询</button></div>";
                    if (SEOValue.Length > 0)
                    {
                        SEOHtml += "<div class=\"col-lg-2\">";
                        SEOHtml += "<label class=\"col-xs control-label table-label\">搜索<span class=\"text-danger\">(" + SEOText.TrimEnd('、') + ")</span></label >";
                        SEOHtml += "<input type=\"text\" bnt-keyup=\"SEOFieldKey\" bnt-value=\"" + SEOValue.TrimEnd(',') + "\"  name=\"SEOFieldKey\" data-type=\"datepicker\"  class=\"form-control\" placeholder=\"搜索\" />";
                        SEOHtml += "</div>";
                        strHtml  = SEOHtml + strHtml;
                    }
                }
            }
            return(strHtml);
        }
コード例 #10
0
        /// <summary>
        /// 获取用户详情
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public dynamic GetUserDetail(string userId)
        {
            var response = HttpHelper.HttpGet($"https://oapi.dingtalk.com/user/get?access_token={_accessToken}&userid={userId}");

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response));
        }
コード例 #11
0
        /// <summary>
        /// 部门id获取所有用户的id
        /// </summary>
        /// <param name="deptId"></param>
        public dynamic GetUserIds(string deptId)
        {
            var response = HttpHelper.HttpGet($"https://oapi.dingtalk.com/user/getDeptMember?access_token={_accessToken}&deptId={deptId}");

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response).userIds);
        }
コード例 #12
0
        /// <summary>
        /// 获取所有部门信息
        /// </summary>
        /// <returns></returns>
        public dynamic GetDepartment()
        {
            var response = HttpHelper.HttpGet($"https://oapi.dingtalk.com/department/list?access_token={_accessToken}");

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response).department);
        }
コード例 #13
0
        /// <summary>
        /// 获取jsapi_ticket
        /// </summary>
        /// <returns></returns>
        public string GetTicket()
        {
            var response = HttpHelper.HttpGet($"https://oapi.dingtalk.com/get_jsapi_ticket?access_token={_accessToken}");

            return(JsonHelper.DeserializeJsonToObject <dynamic>(response.ToString()).ticket);
        }
コード例 #14
0
ファイル: t_TablesClass.cs プロジェクト: 617050451/MyAdminLTE
        //设置高级查询
        public string SetStrWhereHtml()
        {
            DataTable dt      = TableFieldInfo;
            string    strHtml = "";

            if (TableModel.IsWhere == 1)
            {
                if (dt != null && dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        string type = dt.Rows[i]["SelectType"].ToString();
                        switch (type)
                        {
                        case "1":
                            strHtml += "<div class=\"col-lg-2 col-xs-5 table-s\">";
                            strHtml += "<label class=\"col-xs control-label table-label\">" + dt.Rows[i]["FieldValue"].ToString() + "<span class=\"text-danger\">(模糊查询)</span></label >";
                            strHtml += "<input type=\"text\" name=\"" + dt.Rows[i]["FieldKey"].ToString() + "|" + dt.Rows[i]["SelectType"].ToString() + "\"  class=\"form-control\" placeholder=\"" + dt.Rows[i]["FieldValue"].ToString() + "\" />";
                            strHtml += "</div>";
                            break;

                        case "2":
                            strHtml += "<div class=\"col-lg-2 col-xs-5 table-s\">";
                            strHtml += "<label class=\"col-xs control-label table-label\">" + dt.Rows[i]["FieldValue"].ToString() + "<span class=\"text-danger\">(下拉查询)</span></label >";
                            strHtml += "<select name=\"" + dt.Rows[i]["FieldKey"].ToString() + "|" + dt.Rows[i]["SelectType"].ToString() + "\" class=\"form-control select2 select2-hidden-accessible\"  tabindex=\"-1\" aria-hidden=\"true\" >";
                            strHtml += "<option selected = \"selected\" value = \"00\" >全部</option >";
                            string    data    = dt.Rows[i]["SelectData"].ToString();
                            DataTable objdata = JsonHelper.DeserializeJsonToObject <DataTable>(data);
                            if (objdata != null && objdata.Rows.Count > 0)
                            {
                                for (int j = 0; j < objdata.Rows.Count; j++)
                                {
                                    if (objdata.Rows[j][0].ToString().ToUpper() == "SQL")
                                    {
                                        var       sqldata = objdata.Rows[j][1].ToString();
                                        DataTable tsqldt  = BaseClass.GetDataTable(BaseClass.GetSgForStr(sqldata));
                                        if (tsqldt != null && tsqldt.Rows.Count > 0)
                                        {
                                            for (int m = 0; m < tsqldt.Rows.Count; m++)
                                            {
                                                strHtml += "<option value = \"" + tsqldt.Rows[m][1].ToString() + "\" >" + tsqldt.Rows[m][0].ToString() + "</option >";
                                            }
                                        }
                                    }
                                    else
                                    {
                                        strHtml += "<option value = \"" + objdata.Rows[j][1].ToString() + "\" >" + objdata.Rows[j][0].ToString() + "</option >";
                                    }
                                }
                            }
                            strHtml += "</select>";
                            strHtml += "</div>";
                            break;

                        case "3":
                            strHtml += "<div class=\"col-lg-2 col-xs-5 table-s\">";
                            strHtml += "<label class=\"col-xs control-label table-label\">" + dt.Rows[i]["FieldValue"].ToString() + "<span class=\"text-danger\">(等于查询)<span></label >";
                            strHtml += "<input type=\"text\" name=\"" + dt.Rows[i]["FieldKey"].ToString() + "|" + dt.Rows[i]["SelectType"].ToString() + "\" data-type=\"datepicker\"  class=\"form-control\" placeholder=\"" + dt.Rows[i]["FieldValue"].ToString() + "\" />";
                            strHtml += "</div>";
                            break;

                        default:
                            break;
                        }
                    }
                    strHtml += "<div bnt-click=\"Select\" class=\"col-sm-1 table-p\" style=\"margin-top:30px;\"><button type =\"button\" class=\"btn btn-danger pull-right btn-block btn-primary\">查询</button></div>";
                }
            }
            return(strHtml);
        }
コード例 #15
0
ファイル: ObjectData.cs プロジェクト: sundnnstore/MyAdminLTE
 /**
  * 设置数据值
  * @param key 字段名
  * @param value 字段值
  */
 public void SetValues(string json)
 {
     m_values = JsonHelper.DeserializeJsonToObject <SortedDictionary <string, object> >(json);
 }