Exemplo n.º 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("失败"));
     }
 }
Exemplo n.º 2
0
 public void SubmitForm(DingTalkUserEntity roleEntity, string keyValue)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         service.Update(roleEntity);
     }
     else
     {
         service.Insert(roleEntity);
     }
 }
Exemplo n.º 3
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("更新成功"));
        }
Exemplo n.º 4
0
        public ActionResult CreateSysUser()
        {
            List <UserEntity> sysusers = new List <UserEntity>();
            UserApp           userApp  = new UserApp();
            var data = app.GetList("");

            foreach (DingTalkUserEntity dduser in data)
            {
                UserEntity user = sysusers.Find(t => t.F_DingTalkUserId == dduser.UserId && dduser.UserName == t.F_DingTalkUserName);
                if (user == null)
                {
                    UserEntity model = new UserEntity();
                    model.F_Account          = ZhPinyinHelper.ChConvertPinyin(dduser.UserName);
                    model.F_RealName         = dduser.UserName;
                    model.F_NickName         = dduser.UserName;
                    model.F_DepartmentId     = "80E10CD5-7591-40B8-A005-BCDE1B961E76";
                    model.F_DutyId           = "23ED024E-0AAA-4C8D-9216-D1AB93348D26";
                    model.F_OrganizeId       = "5AB270C0-5D33-4203-A54F-4552699FDA3C";
                    model.F_RoleId           = "2691AB91-3010-465F-8D92-60A97425A45E";
                    model.F_Gender           = true;
                    model.F_EnabledMark      = true;
                    model.F_IsAdmin          = false;
                    model.F_DingTalkUserId   = dduser.UserId;
                    model.F_DingTalkUserName = dduser.UserName;
                    model.F_DingTalkAvatar   = dduser.Avatar;
                    model.F_MobilePhone      = dduser.Mobile;
                    UserLogOnEntity userLogOnEntity = new UserLogOnEntity();
                    userLogOnEntity.F_UserPassword = "******";
                    userApp.SubmitForm(model, userLogOnEntity, null);
                }
            }
            DingTalkUserEntity entity = new DingTalkUserEntity();

            sysusers = userApp.GetList("");
            return(Success("发送成功。"));
        }
Exemplo n.º 5
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("更新成功"));
 }
Exemplo n.º 6
0
 public ActionResult SubmitForm(DingTalkUserEntity userEntity, string keyValue)
 {
     app.SubmitForm(userEntity, keyValue);
     return(Success("操作成功。"));
 }
Exemplo n.º 7
0
        /// <summary>
        /// 检查登陆
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public DingTalkUserEntity CheckLogin(UserDetailInfo user)
        {
            try
            {
                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;
                var current = OperatorProvider.Provider.GetCurrent();
                if (current != null && current.DdUserId == user.UserId)
                {
                    entity.SysUserId = current.UserId;
                    return(entity);
                }
                LogEntity logEntity = new LogEntity();
                logEntity.F_ModuleName = "系统登录";
                logEntity.F_Type       = DbLogType.Login.ToString();
                UserEntity userEntity = new UserApp().CheckLoginByDingTalk(user.UserId);
                if (userEntity != null)
                {
                    entity.SysUserId  = userEntity.F_Id;
                    entity.RoleId     = userEntity.F_RoleId;
                    entity.OrganizeId = userEntity.F_OrganizeId;
                    entity.Department = userEntity.F_DepartmentId;
                    OperatorModel operatorModel = new OperatorModel();
                    operatorModel.UserId             = userEntity.F_Id;
                    operatorModel.UserCode           = userEntity.F_Account;
                    operatorModel.UserName           = userEntity.F_RealName;
                    operatorModel.CompanyId          = userEntity.F_OrganizeId;
                    operatorModel.DepartmentId       = userEntity.F_DepartmentId;
                    operatorModel.RoleId             = userEntity.F_RoleId;
                    operatorModel.DdUserId           = userEntity.F_DingTalkUserId;
                    operatorModel.Avatar             = userEntity.F_DingTalkAvatar;
                    operatorModel.WxOpenId           = userEntity.F_WxOpenId;
                    operatorModel.LoginIPAddress     = Net.Ip;
                    operatorModel.LoginIPAddressName = Net.GetLocation(operatorModel.LoginIPAddress);
                    operatorModel.LoginTime          = DateTime.Now;
                    operatorModel.LoginToken         = DESEncrypt.Encrypt(Guid.NewGuid().ToString());
                    if (userEntity.F_Account == "admin")
                    {
                        operatorModel.IsSystem = true;
                    }
                    else
                    {
                        operatorModel.IsSystem = false;
                    }
                    operatorModel.IsAdmin         = userEntity.F_IsAdmin.Value;
                    operatorModel.IsBoss          = userEntity.F_IsBoss.Value;
                    operatorModel.IsLeaderInDepts = userEntity.F_IsLeaderInDepts.Value;
                    operatorModel.IsSenior        = userEntity.F_IsSenior.Value;

                    OperatorProvider.Provider.AddCurrent(operatorModel);
                    logEntity.F_Account     = userEntity.F_Account;
                    logEntity.F_NickName    = userEntity.F_RealName;
                    logEntity.F_Result      = true;
                    logEntity.F_Description = "登录成功";
                    new LogApp().WriteDbLog(logEntity);
                }
                return(entity);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }