Example #1
0
 //[HandlerAjaxOnly]
 public ActionResult DingTalkUserLogin(string code)
 {
     try
     {
         DingTalkCorpConfig config = ding.GetAccessToken();
         UserDetailInfo     user   = new UserDetailInfo();
         if (config != null)
         {
             user = DingTalkUserApi.GetUserDetailByAuthCode(config.AccessToken, code);
             if (user != null)
             {
                 DingTalkUserEntity info = CheckLogin(user);
                 if (info == null)
                 {
                     return(Success("成功", user.ToJson()));
                 }
                 else
                 {
                     return(Success("成功", info.ToJson()));
                 }
             }
         }
         return(Error("失败"));
     }
     catch
     {
         return(Error("失败"));
     }
 }
Example #2
0
 /// <summary>
 /// 产品注册授权申请通知推送
 /// </summary>
 /// <param name="usersid"></param>
 /// <param name="mEntity"></param>
 /// <param name="customer"></param>
 /// <returns></returns>
 public static bool SendLicenseApplyWorkMsg(string uuid)
 {
     try
     {
         DingTalkCorpConfig config = (new DingTalkApp()).GetAccessToken();
         List <string>      users  = new List <string>();
         users.Add("172557595021881487");// 钉钉UserId
         if (users.Count > 0)
         {
             string title  = "产品注册授权审核通知";
             string msg    = string.Format("# {0}向您申请授权MDK产品注册码,请审批  \n  客户名称:{1}  \n  产品名称:{2}  \n  申请到日:{3}  \n  # 备注说明:{4}");
             string url    = HttpHelper.GetWebSite() + "/ProductManage/ProductLicence/LicenceAudit?keyValue=" + uuid;
             var    result = WorkMessageApi.SendMessagebyActionCard(
                 config.AccessToken, 211537030, EnumClass.RecvType.UseridList, users, title, msg, "查看详情", url);
             (new DingTalkWorkMsgApp()).AddWorkMsgLog(config.AccessToken, 211537030, title, users.ToString(), result.Errmsg);
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         if (ex.Message != "88")//排除白名单问题
         {
             throw new Exception(ex.Message);
         }
         else
         {
             return(true);
         }
     }
 }
        /// <summary>
        /// 客户收款提醒
        /// </summary>
        public void RemindDemo()
        {
            DingTalkApp        ding    = new DingTalkApp();
            DingTalkCorpConfig config  = ding.GetAccessToken();
            DateTime           nowtime = DateTime.Now;

            DayOfWeek dayofweek = DateTime.Now.DayOfWeek;

            try
            {
                List <string> users = new List <string>();
                users.Add("manager6639");

                string linktitle = "立即查看";
                string linkurl   = Configs.GetValue("WebSiteUrl") + "/ProductManage/Customer/Details?keyValue=111";
                if (users.Count > 0)
                {
                    string title = "客户收款提醒";
                    string msg   = string.Format("# 张三的收款截止日期还有7天,请营销经理关注   \n  收款止日:2019-10-10  \n  # 销售经理:李维民");
                    SendWorkMessageResult result = WorkMessageApi.SendMessagebyActionCard(
                        config.AccessToken, 211500037030, EnumClass.RecvType.UseridList, users, title, msg, linktitle, linkurl);
                    if (!result.IsSuccess)
                    {
                        Log log = LogFactory.GetLogger("ErrorLog");
                        log.Info(result.Errmsg);
                    }
                }
            }
            catch (Exception ex)
            {
                return;
            }
        }
Example #4
0
 public ActionResult UpdateDingTalkDepartment()
 {
     try
     {
         DingTalkCorpConfig config = ding.GetAccessToken();
         if (config.AccessToken != null)
         {
             List <DepartmentInfo> deparlist = DingTalk.DingTalkDepartApi.GetDepartmentList(config.AccessToken, "1");
             if (deparlist != null && deparlist.Count > 0)
             {
                 foreach (DepartmentInfo model in deparlist)
                 {
                     app.DeleteForm(model.Id.ToString());
                     DepartmentEntity entity     = new DepartmentEntity();
                     DepartmentInfo   department = DingTalkDepartApi.GetDepartmentInfo(config.AccessToken, model.Id);
                     if (department != null)
                     {
                         entity.Id              = department.Id.ToString();
                         entity.Name            = department.Name;
                         entity.Parentid        = department.Parentid.ToString();
                         entity.AutoAddUser     = department.AutoAddUser;
                         entity.DeptHiding      = department.DeptHiding;
                         entity.OrgDeptOwner    = department.OrgDeptOwner;
                         entity.CreateDeptGroup = department.CreateDeptGroup;
                     }
                     else
                     {
                         entity.Id              = model.Id.ToString();
                         entity.Name            = model.Name;
                         entity.Parentid        = model.Parentid.ToString();
                         entity.AutoAddUser     = model.AutoAddUser;
                         entity.DeptHiding      = model.DeptHiding;
                         entity.OrgDeptOwner    = model.OrgDeptOwner;
                         entity.CreateDeptGroup = model.CreateDeptGroup;
                     }
                     entity.UpdateTime = DateTime.Now;
                     app.SubmitForm(entity, null);
                 }
             }
             else
             {
                 return(Error("更新失败。"));
             }
         }
     }
     catch (Exception ex)
     {
         return(Error("更新失败:" + ex.Message));
     }
     return(Success("更新成功"));
 }
Example #5
0
        private object GetDingTalkCorpConfig(string url)
        {
            DingTalkCorpConfig config = ding.GetAccessToken();

            if (config != null)
            {
                config.TimeStamp = DingTalkHelper.GetTimeStamp();
                config.NonceStr  = DingTalkHelper.GuidTo16String();
                string jsapi_ticket = DingTalkHelper.GetJsApiTicket(config.AccessToken);
                config.url          = url;
                config.jsapi_ticket = jsapi_ticket;
                config.Signature    = DingTalkHelper.GetAccessSignature(config.NonceStr, config.TimeStamp.ToString(), jsapi_ticket, url);
            }
            return(config);
        }
Example #6
0
        //[HandlerAjaxOnly]
        public ActionResult GetDingTalkCorpConfigJson(string url)
        {
            DingTalkCorpConfig config = ding.GetAccessToken();

            if (config != null)
            {
                config.TimeStamp = DingTalkHelper.GetTimeStamp();
                config.NonceStr  = DingTalkHelper.GuidTo16String();
                string jsapi_ticket = DingTalkHelper.GetJsApiTicket(config.AccessToken);
                config.url          = url;
                config.jsapi_ticket = jsapi_ticket;
                config.Signature    = DingTalkHelper.GetAccessSignature(config.NonceStr, config.TimeStamp.ToString(), jsapi_ticket, url);
            }
            return(Content(config.ToJson()));
        }
Example #7
0
        public ActionResult GetDingTalkUser()
        {
            try
            {
                DingTalkCorpConfig config = ding.GetAccessToken();
                DingTalk.DingTalkDepartApi.GetDepartmentId(DingTalkHelper.CorpConfig.AccessToken);

                if (config.AccessToken != null)
                {
                    List <UserDetailInfo> userlist = DingTalk.DingTalkUserApi.GetUserInfoByPage(config.AccessToken, 60286524);
                    if (userlist != null && userlist.Count > 0)
                    {
                        foreach (UserDetailInfo user in userlist)
                        {
                            app.DeleteForm(user.UserId);
                            DingTalkUserEntity entity = new DingTalkUserEntity();
                            entity.UserId       = user.UserId;
                            entity.Active       = user.Active;
                            entity.Avatar       = user.Avatar;
                            entity.Email        = user.Email;
                            entity.HiredDate    = user.HiredDate;
                            entity.IsAdmin      = user.IsAdmin;
                            entity.IsBoss       = user.IsBoss;
                            entity.IsHide       = user.IsHide;
                            entity.IsLeader     = user.IsLeader;
                            entity.IsSenior     = user.IsSenior;
                            entity.JobNumber    = user.JobNumber;
                            entity.Mobile       = user.Mobile;
                            entity.UserName     = user.UserName;
                            entity.OrderInDepts = user.OrderInDepts;
                            entity.Position     = user.Position;
                            app.SubmitForm(entity, null);
                        }
                    }
                    else
                    {
                        return(Error("更新失败。"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Error("更新失败:" + ex.Message));
            }
            return(Success("更新成功"));
        }
Example #8
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public DingTalkCorpConfig GetCorpConfig()
        {
            Code.SysConfig.DingTalkConfig entity = new Code.SysConfig.DingTalkConfigApp().LoadConfig();
            if (entity != null)
            {
                DingTalkCorpConfig config = new DingTalkCorpConfig();

                config.CorpId     = entity.CorpId;
                config.CorpSecret = entity.CorpSecret;
                config.AgentId    = entity.AgentId;
                config.AppName    = entity.AppName;
                config.AppKey     = entity.AppKey;
                config.AppSecret  = entity.AppSecret;
                //config.HeadPic = entity.HeadPic;
                return(config);
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public DingTalkCorpConfig GetCorpConfig()
        {
            DingTalkCorpConfigEntity entity = service.FindEntity(1);

            if (entity != null)
            {
                DingTalkCorpConfig config = new DingTalkCorpConfig();

                config.CorpId     = entity.CorpId;
                config.CorpSecret = entity.CorpSecret;
                config.AgentId    = entity.AgentId;
                config.AppName    = entity.AppName;
                config.AppKey     = entity.AppKey;
                config.AppSecret  = entity.AppSecret;
                config.HeadPic    = entity.HeadPic;
                return(config);
            }
            else
            {
                return(null);
            }
        }
Example #10
0
 public ActionResult UpdateDingTalkUser()
 {
     try
     {
         DingTalkCorpConfig config     = ding.GetAccessToken();
         DateTime           updatetime = DateTime.Now;
         if (config.AccessToken != null)
         {
             List <DepartmentInfo> deparlist = DingTalk.DingTalkDepartApi.GetDepartmentList(config.AccessToken, "1");
             if (deparlist != null && deparlist.Count > 0)
             {
                 foreach (DepartmentInfo model in deparlist)
                 {
                     List <string> userlist = DingTalk.DingTalkUserApi.GetDepartmentUserId(config.AccessToken, model.Id.ToString());
                     if (userlist != null && userlist.Count > 0)
                     {
                         foreach (string userid in userlist)
                         {
                             UserDetailInfo user = DingTalk.DingTalkUserApi.GetUserDetail(config.AccessToken, userid);
                             if (user != null)
                             {
                                 app.DeleteForm(user.UserId);
                                 DingTalkUserEntity entity = new DingTalkUserEntity();
                                 entity.UserId       = user.UserId;
                                 entity.Active       = user.Active;
                                 entity.Avatar       = user.Avatar;
                                 entity.Email        = user.Email;
                                 entity.HiredDate    = user.HiredDate;
                                 entity.IsAdmin      = user.IsAdmin;
                                 entity.IsBoss       = user.IsBoss;
                                 entity.IsHide       = user.IsHide;
                                 entity.IsLeader     = user.IsLeader;
                                 entity.IsSenior     = user.IsSenior;
                                 entity.JobNumber    = user.JobNumber;
                                 entity.Mobile       = user.Mobile;
                                 entity.UserName     = user.UserName;
                                 entity.OrderInDepts = user.OrderInDepts;
                                 entity.Position     = user.Position;
                                 entity.UpdateTime   = updatetime;
                                 app.SubmitForm(entity, null);
                             }
                         }
                     }
                     //else
                     //{
                     //    return Error("更新失败。获取用户失败");
                     //}
                 }
                 app.DeleteForm(updatetime);
             }
             else
             {
                 return(Error("更新失败。获取部门失败"));
             }
         }
     }
     catch (Exception ex)
     {
         return(Error("更新失败:" + ex.Message));
     }
     return(Success("更新成功"));
 }