Esempio n. 1
0
        public string SendOaMessage(string ApplyManIds, OATextModel oaTextModel)
        {
            IDingTalkClient client = new DefaultDingTalkClient("https://eco.taobao.com/router/rest");
            CorpMessageCorpconversationAsyncsendRequest req = new CorpMessageCorpconversationAsyncsendRequest();

            req.Msgtype    = "oa";
            req.AgentId    = long.Parse(DTConfig.AgentId);
            req.UseridList = ApplyManIds;
            //req.DeptIdList = "123,456";
            req.ToAllUser = false;
            //req.Msgcontent = "{\"message_url\": \"http://dingtalk.com\",\"head\": {\"bgcolor\": \"FFBBBBBB\",\"text\": \"头部标题\"},\"body\": {\"title\": \"正文标题\",\"form\": [{\"key\": \"姓名:\",\"value\": \"张三\"},{\"key\": \"爱好:\",\"value\": \"打球、听音乐\"}],\"rich\": {\"num\": \"15.6\",\"unit\": \"元\"},\"content\": \"111大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本\",\"image\": \"@lADOADmaWMzazQKA\",\"file_count\": \"3\",\"author\": \"李四 \"}}";

            req.Msgcontent = JsonConvert.SerializeObject(oaTextModel);

            CorpMessageCorpconversationAsyncsendResponse rsp = client.Execute(req,
                                                                              DDApiService.Instance.GetAccessToken());
            int iResult = 0;

            return(JsonConvert.SerializeObject(new ErrorModel
            {
                IsError = rsp.IsError,
                errorCode = int.TryParse(rsp.ErrCode, out iResult) ? iResult : iResult,
                errorMessage = rsp.ErrMsg
            }));
        }
Esempio n. 2
0
        /// <summary>
        /// 钉钉OA模板发送推送消息
        /// </summary>
        /// <param name="agentid">微应用Id</param>
        /// <param name="Userid">发送人员id-多个用,分隔</param>
        /// <param name="Token">token</param>
        /// <param name="MessageUrl">跳转url</param>
        /// <param name="keys">字典集合</param>
        public string OAMessage(long agentid, string Userid, string Token, string MessageUrl, Dictionary <string, string> keys)
        {
            Root root = new Root();

            //默认头部
            root.head = new Head();
            //消息表体
            Body            body  = new Body();
            List <FormItem> forms = new List <FormItem>();

            foreach (var item in keys)
            {
                forms.Add(new FormItem {
                    key = item.Key, value = item.Value
                });
            }
            body.form = forms;
            root.body = body;
            //跳转链接
            root.message_url = MessageUrl;

            IDingTalkClient client = new DefaultDingTalkClient("https://eco.taobao.com/router/rest");
            CorpMessageCorpconversationAsyncsendRequest req = new CorpMessageCorpconversationAsyncsendRequest();

            req.Msgtype    = "oa";
            req.AgentId    = agentid; //微应用id
            req.UseridList = Userid;  //接收者Userid列表
            //req.DeptIdList = "";//接收部门列表(可不填)
            req.ToAllUser  = false;   //是否发送给企业全部用户
            req.Msgcontent = JsonConvert.SerializeObject(root);
            CorpMessageCorpconversationAsyncsendResponse rsp = client.Execute(req, Token);

            return(JsonConvert.SerializeObject(rsp).ToString());
        }
Esempio n. 3
0
        public async Task <Object> SendVote(string Url, int Id)
        {
            try
            {
                using (DDContext context = new DDContext())
                {
                    Vote            vote        = context.Vote.Find(Id);
                    string          title       = vote.Title;
                    string          ApplyMan    = vote.ApplyMan;
                    DingTalkManager dtManager   = new DingTalkManager();
                    var             AccessToken = await dtManager.GetAccessToken();

                    AccessTokenResponseModel accessTokenResponseModel = JsonConvert.DeserializeObject <AccessTokenResponseModel>(AccessToken);
                    IDingTalkClient          client = new DefaultDingTalkClient("https://eco.taobao.com/router/rest");
                    CorpMessageCorpconversationAsyncsendRequest req = new CorpMessageCorpconversationAsyncsendRequest();
                    req.Msgtype    = "oa";
                    req.AgentId    = long.Parse(DTConfig.AgentId);
                    req.DeptIdList = "1";
                    req.ToAllUser  = true;
                    req.Msgcontent = "{\"message_url\": \"http://dingtalk.com\",\"head\": {\"bgcolor\": \"FFBBBBBB\",\"text\": \"投票通知\"},\"body\": {\"title\": \"正文标题\",\"form\": [],\"content\": \"11111111111\",\"author\": \"李四 \"}}";
                    CorpMessageCorpconversationAsyncsendResponse rsp = client.Execute(req, accessTokenResponseModel.access_token);
                    Console.WriteLine(rsp.Body);
                }
                return(new ErrorModel()
                {
                    errorCode = 0,
                    errorMessage = "成功"
                });
            }
            catch (Exception ex)
            {
                return(new ErrorModel()
                {
                    errorCode = 1,
                    errorMessage = ex.Message
                });
            }
        }