Exemple #1
0
        /// <summary>
        /// 账套绑定
        /// </summary>
        /// <param name="para"></param>
        /// <returns></returns>
        public override ActionResult <UserView> UserSigninBind(UserSigninWX para)
        {
            var rpsact = _work.Repository <AccountInfo>();

            var account = rpsact.GetModel(q => q.AccountCode == para.AccountCode);

            if (account == null)
            {
                throw new Exception("用户名密码或账套号错误");
            }
            if (account.State == (int)PublicEnum.AccountState.Closed || account.ValidDate <= DateTime.Now)
            {
                throw new Exception("账套已经过期或已关闭");
            }
            var rpswxbind = _work.Repository <Core.Model.DB.Platform.Auth_WxBinds>();
            var bindcheck = rpswxbind.Any(q => q.openID == para.openID);

            if (bindcheck)
            {
                throw new Exception("微信号已经绑定账号");
            }
            var dbwxbind = new Auth_WxBinds
            {
                AccountCode = para.AccountCode,
                ID          = Guid.NewGuid(),
                openID      = para.openID
            };

            rpswxbind.Add(dbwxbind);
            _work.Commit();//写入平台绑定

            Core.Model.AppUserDB userdb = new AppUserDB()
            {
                DBName   = account.DBName,
                DBPwd    = account.DBPwd,
                DBServer = account.DBServer,
                DBUid    = account.DBUid
            };
            Unitwork.SetUserDB(userdb);
            var sresult = base.UserSigninBind(para);

            if (sresult.data != null && sresult.state == 200)
            {
                var user = sresult.data.UserInfo;
                //user.TokenValidTime = DateTime.Now.AddMinutes(account.TokenValidTimes);
                //_work.Repository<Core.Model.DB.Auth_User>().Update(user);
                //_work.Commit();

                sresult.data.AccountID   = account.ID;
                sresult.data.AccountCode = account.AccountCode;
                sresult.data.AccountName = account.AccountName;
                sresult.data.Principal   = account.Principal;
                sresult.data.ShortName   = account.ShortName;
                sresult.data.Tel         = account.Tel;
            }
            else
            {
                Unitwork.SetUserDB(null);
                rpswxbind.Delete(dbwxbind);
            }
            return(sresult);
        }
Exemple #2
0
 public ActionResult <UserView> UserWxBind(UserSigninWX para)
 {
     LogContent = "用户绑定微信账号:" + Newtonsoft.Json.JsonConvert.SerializeObject(para);
     return(bll.UserSigninBind(para));
 }