Esempio n. 1
0
        public NormalResult <MemberUserContext> Login(MemberLoginArgs args)
        {
            if (String.IsNullOrEmpty(args.mobilephone) || String.IsNullOrEmpty(args.password))
            {
                return(new NormalResult <MemberUserContext>("手机号或密码无效。"));
            }

            Member member = null;

            using (Entities db = new Entities())
            {
                member = db.Member.FirstOrDefault(e => e.phone_num == args.mobilephone && e.password == args.password);

                if (member == null)
                {
                    return(new NormalResult <MemberUserContext>("手机号或密码无效。"));
                }
            }

            MemberUserContext userContext = new MemberUserContext()
            {
                LoginTime = DateTime.Now,
                Token     = Guid.NewGuid().ToString(),
                UserId    = member.id,
                //Member = member
            };
            NormalResult <MemberUserContext> result = new NormalResult <MemberUserContext>();

            result.Data = userContext;

            _cachingService.Set <MemberUserContext>(userContext.Token, userContext);

            return(result);
        }
Esempio n. 2
0
        public ActionResult Login()
        {
            MemberLoginArgs args = RequestArgs <MemberLoginArgs>();

            if (args == null)
            {
                return(FailedResult("参数无效。"));
            }
            args.password = IOHelper.GetMD5HashFromString(args.password);
            Member member = _memberManager.GetMemberByMobilePhoneAndPassword(args.mobilephone, args.password);

            if (member == null == false)
            {
                //TODO:初始化 memberDto
                MemberAppDto memberAppDto = Mapper.Map <Member, MemberAppDto>(member);

                memberAppDto.primaryDistributionCount = _memberManager.GetMemberDistributionCount(memberAppDto.id, null);
                memberAppDto.secondDistributionCount  = _memberManager.GetMemberDistributionCount(null, Convert.ToInt32(memberAppDto.superiorAgentId));
                MemberUserContext userContext = new MemberUserContext()
                {
                    LoginTime = DateTime.Now,
                    Token     = Guid.NewGuid().ToString(),
                    UserId    = member.id,
                    Member    = memberAppDto
                };
                NormalResult <MemberUserContext> result = new NormalResult <MemberUserContext>();
                result.Data = userContext;

                _cachingService.Set(userContext.Token, userContext);

                //一般返回结果不需要自己new AppApiResult,看 return ApiResult 这个方法的几个重载
                AppApiResult apiResult = new AppApiResult()
                {
                    result  = "success",
                    message = "登录成功",
                    token   = result.Data.Token,
                    data    = memberAppDto
                };
                return(ApiResult(apiResult));
            }
            else
            {
                return(FailedResult("手机号或密码无效。"));
            }
        }