Example #1
0
        /// <summary>
        /// 用户登录实现
        /// </summary>
        /// <param name="parm"></param>
        /// <returns></returns>
        public async Task <ApiResult <SysAdminMenuDto> > LoginAsync(SysAdminLogin parm)
        {
            var res = new ApiResult <SysAdminMenuDto>()
            {
                statusCode = (int)ApiEnum.Error
            };

            try
            {
                var adminModel = new SysAdminMenuDto();
                parm.password = DES3Encrypt.EncryptString(parm.password);
                var model = await Db.Queryable <SysAdmin>()
                            .Where(m => m.LoginName == parm.loginname).FirstAsync();

                if (model == null)
                {
                    res.message = "账号错误";
                    return(res);
                }
                if (!model.LoginPwd.Equals(parm.password))
                {
                    res.message = "密码错误~";
                    return(res);
                }
                if (!model.Status)
                {
                    res.message = "登录账号被冻结,请联系管理员~";
                    return(res);
                }
                adminModel.menu = GetMenuByAdmin(model.Guid);
                if (adminModel == null)
                {
                    res.message = "当前账号没有授权功能模块,无法登录~";
                    return(res);
                }
                //修改登录时间
                model.LoginDate   = DateTime.Now;
                model.UpLoginDate = model.LoginDate;
                model.LoginSum    = model.LoginSum + 1;
                SysAdminDb.Update(model);



                res.statusCode   = (int)ApiEnum.Status;
                adminModel.admin = model;
                res.data         = adminModel;
            }
            catch (Exception ex)
            {
                res.message = ex.Message;
                Logger.Default.ProcessError((int)ApiEnum.Error, ex.Message);
            }
            return(res);
        }
Example #2
0
        public async Task <ApiResult <SysAdminMenuDto> > LoginAsync(SysAdminLogin parm)
        {
            var res = new ApiResult <SysAdminMenuDto>()
            {
                statusCode = (int)ApiEnum.Error
            };

            try
            {
                var adminModel = new SysAdminMenuDto();
                parm.password = parm.password;
                var model = await Db.Queryable <SysAdmin>()
                            .Where(m => m.LoginName == parm.loginname).FirstAsync();

                if (model == null)
                {
                    res.message = "账号错误";
                    return(res);
                }
                if (!model.LoginPwd.Equals(parm.password))
                {
                    res.message = "密码错误~";
                    return(res);
                }
                if (!model.Status)
                {
                    res.message = "登录账号被冻结,请联系管理员~";
                    return(res);
                }
                adminModel.menu = GetMenuByAdmin(model.Guid);
                if (adminModel == null)
                {
                    res.message = "当前账号没有授权功能模块,无法登录~";
                    return(res);
                }
            }
            catch (Exception)
            {
                res = null;
            }
            return(res);
        }
Example #3
0
        /// <summary>
        /// 用户登录实现
        /// </summary>
        /// <param name="parm"></param>
        /// <returns></returns>
        public async Task <ApiResult <SysAdminMenuDto> > LoginAsync(SysAdminLogin parm)
        {
            var res = new ApiResult <SysAdminMenuDto>()
            {
                statusCode = (int)ApiEnum.Error
            };

            try
            {
                var adminModel = new SysAdminMenuDto();
                parm.password = DES3Encrypt.EncryptString(parm.password);
                var model = await Db.Queryable <SysAdmin>().Where(m => m.LoginName == parm.loginname).FirstAsync();

                if (model == null)
                {
                    res.message = "账号错误";
                    return(res);
                }
                if (!model.LoginPwd.Equals(parm.password))
                {
                    res.message = "密码错误~";
                    return(res);
                }
                if (!model.Status)
                {
                    res.message = "登录账号被冻结,请联系管理员~";
                    return(res);
                }
                var(isSystem, isAgent, isSubAdmin) = await roleService.GetRoleByAdminGuid(model.Guid);

                if (isSystem)
                {
                }
                else if (isAgent)
                {
                    var exist = await Db.Queryable <CmsAgent>().AnyAsync(p => p.Admin_Guid == model.Guid && p.Status);

                    if (!exist)
                    {
                        res.message = "代理商已经被冻结,请联系管理员";
                        return(res);
                    }
                }
                else if (isSubAdmin)
                {
                    var exist = await Db.Queryable <CmsMerchant>().AnyAsync(p => p.admin_guid == model.Guid && p.status);

                    if (!exist)
                    {
                        res.message = "商户已经被冻结,请联系管理员";
                        return(res);
                    }
                }
                else
                {
                    var exist = await Db.Queryable <CmsMerchant>().AnyAsync(p => p.admin_guid == model.CreateBy && p.status);

                    if (!exist)
                    {
                        res.message = "商户已经被冻结,请联系管理员";
                        return(res);
                    }
                }

                adminModel.menu = GetMenuByAdmin(model.Guid);
                if (adminModel == null)
                {
                    res.message = "当前账号没有授权功能模块,无法登录~";
                    return(res);
                }

                //修改登录时间
                model.LoginDate   = DateTime.Now;
                model.UpLoginDate = model.LoginDate;
                model.LoginSum    = model.LoginSum + 1;
                SysAdminDb.Update(model);

                var roleList = await Db.Queryable <SysRole>().Where(m => m.IsSystem).Select(m => m.Guid).ToListAsync();

                model.IsSystem = roleList.Intersect(model.RoleList.Select(p => p.guid)).Any();

                res.statusCode   = (int)ApiEnum.Status;
                adminModel.admin = model;
                res.data         = adminModel;
            }
            catch (Exception ex)
            {
                res.message = ex.Message;
                Logger.Default.ProcessError((int)ApiEnum.Error, ex.Message);
            }
            return(res);
        }