Beispiel #1
0
        public HttpResponseMessage GetUserInfo(string Uid, string UidType, string RegCode)
        {
            var response = new MyHttpResponseMessage();

            response.apiNumber = "C001_MBController_GetUserInfo";

            try
            {
                var model = new ORM.SqlSugar.Model.user.user_Infor();
                switch (UidType)
                {
                case "Unionid":
                    model = mb.user_InforSQLSugar.GetSingle(p => p.Unionid == Uid);
                    if (model == null)
                    {
                        model              = new ORM.SqlSugar.Model.user.user_Infor();
                        model.UserCode     = Guid.NewGuid().ToString();
                        model.Unionid      = Uid;
                        model.RegisterTime = DateTime.Now;
                        model.MemberCode   = "";
                        model.Mobile       = "";
                        mb.user_InforSQLSugar.Insert(model);
                    }
                    break;

                case "OpenID":
                    model = mb.user_InforSQLSugar.GetSingle(p => p.OpenID == Uid);
                    if (model == null)
                    {
                        model              = new ORM.SqlSugar.Model.user.user_Infor();
                        model.UserCode     = Guid.NewGuid().ToString();
                        model.OpenID       = Uid;
                        model.RegisterTime = DateTime.Now;
                        model.MemberCode   = "";
                        model.Mobile       = "";
                        mb.user_InforSQLSugar.Insert(model);
                    }
                    break;

                case "APPID":
                    model = mb.user_InforSQLSugar.GetSingle(p => p.APPID == Uid);
                    if (model == null)
                    {
                        model              = new ORM.SqlSugar.Model.user.user_Infor();
                        model.UserCode     = Guid.NewGuid().ToString();
                        model.APPID        = Uid;
                        model.RegisterTime = DateTime.Now;
                        model.MemberCode   = "";
                        model.Mobile       = "";
                        mb.user_InforSQLSugar.Insert(model);
                    }
                    break;

                case "AliPayID":
                    model = mb.user_InforSQLSugar.GetSingle(p => p.AliPayID == Uid);
                    if (model == null)
                    {
                        model              = new ORM.SqlSugar.Model.user.user_Infor();
                        model.UserCode     = Guid.NewGuid().ToString();
                        model.AliPayID     = Uid;
                        model.RegisterTime = DateTime.Now;
                        model.MemberCode   = "";
                        model.Mobile       = "";
                        mb.user_InforSQLSugar.Insert(model);
                    }

                    break;

                case "MemberCode":
                    model = mb.user_InforSQLSugar.GetList(p => p.MemberCode == Uid).First();
                    if (model == null)
                    {
                        response.SetContent(HttpStatus.ok, "MemberCode无效", Uid, ResponseType.josn);
                        return(response);
                    }

                    break;

                case "PWD":
                    model = mb.user_InforSQLSugar.GetList(p => p.Mobile == Uid).First();
                    if (model == null)
                    {
                        response.SetContent(HttpStatus.ok, "Mobile无效", Uid, ResponseType.josn);
                        return(response);
                    }
                    if (string.IsNullOrEmpty(model.MemberCode))
                    {
                        response.SetContent(HttpStatus.error, "该手机不是会员", Uid, ResponseType.josn);
                        return(response);
                    }
                    var BaseInfo = mb.mb_BaseInfoSQLSugar.GetById(model.MemberCode);
                    if (BaseInfo == null)
                    {
                        response.SetContent(HttpStatus.error, "该手机不是有效会员", Uid, ResponseType.josn);
                        return(response);
                    }
                    if (BaseInfo.PassWord != RegCode.MD5Encrypt(16))
                    {
                        response.SetContent(HttpStatus.error, "密码不正确", Uid, ResponseType.josn);
                        return(response);
                    }
                    break;

                case "Mobile":
                    model = mb.user_InforSQLSugar.GetSingle(p => p.Mobile == Uid);
                    if (!dicRegCode.Keys.Contains(Uid))
                    {
                        response.SetContent(HttpStatus.error, "验证码已过期", Uid, ResponseType.josn);
                        return(response);
                    }
                    if (dicRegCode[Uid] != RegCode)
                    {
                        response.SetContent(HttpStatus.error, "验证码不正确", Uid, ResponseType.josn);
                        return(response);
                    }
                    dicRegCode.Remove(Uid);
                    if (model == null)
                    {
                        model              = new ORM.SqlSugar.Model.user.user_Infor();
                        model.UserCode     = Guid.NewGuid().ToString();
                        model.RegisterTime = DateTime.Now;
                        model.MemberCode   = "";
                        model.Mobile       = Uid;
                        mb.user_InforSQLSugar.Insert(model);
                    }
                    break;

                default:
                    break;
                }
                var member = new ORM.SqlSugar.Model.MemberInfor();
                member.user_Infor = model;
                member.IsMember   = false;
                if (!string.IsNullOrEmpty(model.MemberCode))
                {
                    member.IsMember = true;
                    member.BaseInfo = mb.mb_BaseInfoSQLSugar.GetById(model.MemberCode);
                    var roles = db.SqlServerClient.Queryable <ORM.SqlSugar.Model.mb.mb_Roles, ORM.SqlSugar.Model.mb.mb_MemberRole>((br, bm) => new object[] { JoinType.Right, br.RoleID == bm.RoleID && bm.MemberCode == model.MemberCode }).ToList();
                    member.Roles = roles;
                    if (roles != null && roles.Count > 0)
                    {
                        member.Powers = db.SqlServerClient.Ado.SqlQuery <ORM.SqlSugar.Model.mb.mb_Power>("select * from mb_Power where PowerKey in (select PowerKey from mb_MemberRole where RoleID in (" + roles.Select(p => p.RoleID).ToList().ToSealString(",") + ") ) ");
                    }
                    if (!string.IsNullOrEmpty(member.BaseInfo.Grade))
                    {
                        member.MemberGrade = mb.mb_MemberGradeSugar.GetById(member.BaseInfo.Grade);
                    }
                }
                var oline = mb.mb_OnLineSQLSugar.GetById(model.UserCode);
                if (oline == null)
                {
                    oline              = new ORM.SqlSugar.Model.mb.mb_OnLine();
                    oline.LoginTime    = DateTime.Now;
                    oline.MemberCode   = model.MemberCode;
                    oline.ActivityTime = DateTime.Now;
                    oline.UserCode     = model.UserCode;
                    oline.ExpiryTime   = DateTime.Now.AddDays(7);
                    mb.mb_OnLineSQLSugar.Insert(oline);
                }
                else
                {
                    oline.ActivityTime = DateTime.Now;
                    oline.ExpiryTime   = DateTime.Now.AddDays(7);
                    mb.mb_OnLineSQLSugar.Update(oline);
                }

                response.SetContent(HttpStatus.ok, "获取成功", member, ResponseType.josn);
                return(response);
            }
            catch (Exception ex)
            {
                AddErrorLog(LogEnum.member, ex.Message, ex.StackTrace);
                response.SetContent(HttpStatus.error, ex.Message, ex.Message, ResponseType.josn);
                return(response);
            }
        }
Beispiel #2
0
        public HttpResponseMessage BindUidType(string UserCode, string Uid, string UidType)
        {
            var response = new MyHttpResponseMessage();

            response.apiNumber = "C003_MBController_BindUidType";
            try
            {
                var model = new ORM.SqlSugar.Model.user.user_Infor();
                model = mb.user_InforSQLSugar.GetById(UserCode);
                if (model == null || string.IsNullOrEmpty(model.MemberCode))
                {
                    response.SetContent(HttpStatus.error, "用户不存在!", model, ResponseType.josn);
                    return(response);
                }
                int count = 0;
                switch (UidType)
                {
                case "Unionid":

                    mb.user_InforSQLSugar.Delete(p => p.Unionid == Uid && p.UserCode != UserCode);
                    model.Unionid = Uid;
                    break;

                case "OpenID":
                    mb.user_InforSQLSugar.Delete(p => p.OpenID == Uid && p.UserCode != UserCode);

                    model.OpenID = Uid;
                    break;

                case "APPID":
                    mb.user_InforSQLSugar.Delete(p => p.APPID == Uid && p.UserCode != UserCode);

                    model.APPID = Uid;
                    break;

                case "AliPayID":
                    mb.user_InforSQLSugar.Delete(p => p.AliPayID == Uid && p.UserCode != UserCode);

                    model.AliPayID = Uid;
                    break;

                case "Mobile":
                    mb.user_InforSQLSugar.Delete(p => p.Mobile == Uid && p.UserCode != UserCode);

                    model.Mobile = Uid;
                    break;

                default:
                    break;
                }


                var result = mb.user_InforSQLSugar.Update(model);
                if (result)
                {
                    response.SetContent(HttpStatus.ok, "绑定成功", model, ResponseType.josn);
                }
                else
                {
                    response.SetContent(HttpStatus.error, "绑定失败", model, ResponseType.josn);
                }

                return(response);
            }
            catch (Exception ex)
            {
                AddErrorLog(LogEnum.member, ex.Message, ex.StackTrace);
                response.SetContent(HttpStatus.error, ex.Message, ex.Message, ResponseType.josn);
                return(response);
            }
        }
Beispiel #3
0
        public HttpResponseMessage BindMobile(string UserCode, string Mobile, string PassWord, string RegCode)
        {
            var response = new MyHttpResponseMessage();

            response.apiNumber = "C002_MBController_BindMobile";
            try
            {
                var model = new ORM.SqlSugar.Model.user.user_Infor();
                model = mb.user_InforSQLSugar.GetById(UserCode);
                if (model == null)
                {
                    response.SetContent(HttpStatus.error, "用户不存在", model, ResponseType.josn);
                    return(response);
                }
                var member = new ORM.SqlSugar.Model.mb.mb_BaseInfo();
                member = mb.mb_BaseInfoSQLSugar.GetSingle(p => p.NewestMobile == Mobile);
                bool exit = false;
                if (member != null)
                {
                    exit             = true;
                    model.MemberCode = member.MemberCode;
                    mb.user_InforSQLSugar.Delete(p => p.UserCode != UserCode && p.Mobile == Mobile);
                }
                else
                {
                    member = new ORM.SqlSugar.Model.mb.mb_BaseInfo();
                }
                if (!dicRegCode.Keys.Contains(Mobile))
                {
                    response.SetContent(HttpStatus.error, "验证码已过期", Mobile, ResponseType.josn);
                    return(response);
                }
                if (dicRegCode[Mobile] != RegCode)
                {
                    response.SetContent(HttpStatus.error, "验证码不正确", Mobile, ResponseType.josn);
                    return(response);
                }
                dicRegCode.Remove(Mobile);
                var result = db.SqlServerClient.Ado.UseTran(() =>
                {
                    if (exit)
                    {
                        mb.user_InforSQLSugar.Update(model);
                    }
                    else
                    {
                        var MemberCode   = Guid.NewGuid().ToString();
                        model.Mobile     = Mobile;
                        model.MemberCode = MemberCode;
                        mb.user_InforSQLSugar.Update(model);
                        member.MemberCode     = MemberCode;
                        member.NewestMobile   = Mobile;
                        member.Grade          = "P";
                        member.PassWord       = PassWord.MD5Encrypt(16);
                        member.CreateTime     = DateTime.Now;
                        member.ExpirationDate = DateTime.Now;
                        mb.mb_BaseInfoSQLSugar.Insert(member);
                    }
                });
                if (result.IsSuccess)
                {
                    response.SetContent(HttpStatus.ok, "绑定成功", member, ResponseType.josn);
                }
                else
                {
                    response.SetContent(HttpStatus.error, result.ErrorMessage, member, ResponseType.josn);
                }

                return(response);
            }
            catch (Exception ex)
            {
                AddErrorLog(LogEnum.member, ex.Message, ex.StackTrace);
                response.SetContent(HttpStatus.error, ex.Message, ex.Message, ResponseType.josn);
                return(response);
            }
        }