示例#1
0
        /// <summary>
        /// 会员登录
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public Ptcp <M_MemberLoginRes> MemberLogin(M_MemberLoginReq req)
        {
            var ptcp = new Ptcp <M_MemberLoginRes>();

            if (req.IsNull())
            {
                ptcp.DoResult = "请正确填写账号和密码";
                return(ptcp);
            }

            string jsonParam = JsonConvert.SerializeObject(req);

            Logger.Write(LoggerLevel.Error, "MemberLogin_in", "", jsonParam, "");

            if (string.IsNullOrEmpty(req.Mobile) || string.IsNullOrEmpty(req.MemPassWord))
            {
                ptcp.DoResult = "账号和密码不能为空";
                return(ptcp);
            }

            if (req.Mobile.Length != 11)
            {
                ptcp.DoResult = "账号格式有误";
                return(ptcp);
            }

            if (req.MemPassWord.Length > 20 || req.MemPassWord.Length < 6)
            {
                ptcp.DoResult = "密码长度不能小于6位,大于20位";
                return(ptcp);
            }

            if (req.SourceTypeSysNo <= 0)
            {
                ptcp.DoResult = "来源渠道不能为空";
                return(ptcp);
            }

            if (string.IsNullOrEmpty(req.DeviceCode))
            {
                ptcp.DoResult = "设备码不能为空";
                return(ptcp);
            }

            var memInfo = DbSession.MLT.T_MemberRepository.QueryBy(new T_Member()
            {
                Mobile = req.Mobile
            }, " ORDER BY SysNo ASC").FirstOrDefault();

            if (memInfo.IsNull() || memInfo.SysNo <= 0)
            {
                ptcp.DoResult = "账号或密码错误";
                return(ptcp);
            }

            #region 校验

            //校验密码
            if (memInfo.MemPassWord == EncryptionExt.MD5Encrypt(req.MemPassWord.Trim(), 16))
            {
                //登录成功
                M_MemberEntity entity = TableT_MemberToM_MemberEntity(memInfo);

                //保存操作日志
                AddOperationLog(new M_AddOperationLogReq()
                {
                    OperType        = (int)Enums.OperationLog.Login,
                    UserId          = memInfo.SysNo.GetValueOrDefault(),
                    ClientIp        = req.ClientIp,
                    DeviceCode      = req.DeviceCode,
                    SourceTypeSysNo = req.SourceTypeSysNo
                });

                //更新最后一次登录的时间
                DbSession.MLT.T_MemberRepository.Update(new T_Member()
                {
                    LastLoginTime = DateTime.Now
                }, new T_Member()
                {
                    SysNo = memInfo.SysNo
                });
                DbSession.MLT.SaveChange();

                ptcp.ReturnValue = new M_MemberLoginRes();
                ptcp.ReturnValue.MemberEntity = entity;
                ptcp.DoFlag   = PtcpState.Success;
                ptcp.DoResult = "登录成功";
            }
            else
            {
                ptcp.DoResult = "账号或密码错误";
                return(ptcp);
            }

            #endregion

            return(ptcp);
        }
示例#2
0
        /// <summary>
        /// 会员数据转换
        /// </summary>
        /// <param name="member"></param>
        /// <returns></returns>
        public M_MemberEntity TableT_MemberToM_MemberEntity(T_Member member)
        {
            M_MemberEntity memberEntity = new M_MemberEntity();

            memberEntity.UserId   = member.SysNo.GetValueOrDefault();
            memberEntity.Mobile   = member.Mobile;
            memberEntity.Portrait = member.Portrait;
            //memberEntity.MemPassWord = member.MemPassWord;
            memberEntity.NickName = member.NickName;

            memberEntity.Sex    = member.Sex.GetValueOrDefault();
            memberEntity.StrSex = pm.TableSex(memberEntity.Sex);

            memberEntity.MinWithdrawals = member.MinWithdrawals.GetValueOrDefault();
            if (memberEntity.MinWithdrawals <= 0)
            {
                memberEntity.MinWithdrawals = 1;
            }

            memberEntity.Birthday = member.Birthday;
            if (memberEntity.Birthday != null)
            {
                memberEntity.StrBirthday = member.Birthday.ToString();
            }

            memberEntity.RegProvince = member.RegProvince;
            memberEntity.RegArea     = member.RegArea;
            memberEntity.RegCity     = member.RegCity;

            //获取区域信息
            var allReg = QueryRegionInfo();

            if (allReg.DoFlag == PtcpState.Success && allReg.ReturnValue.IsNotNull() &&
                allReg.ReturnValue.Entities.IsHasRow())
            {
                var proInfo = allReg.ReturnValue.Entities.Where(c => c.RegionId == memberEntity.RegProvince).FirstOrDefault();
                if (proInfo.IsNotNull())
                {
                    memberEntity.StrRegProvince = proInfo.RegionName;
                }
                var areaInfo = allReg.ReturnValue.Entities.Where(c => c.RegionId == memberEntity.RegArea).FirstOrDefault();
                if (areaInfo.IsNotNull())
                {
                    memberEntity.StrRegArea = areaInfo.RegionName;
                }
                var cityInfo = allReg.ReturnValue.Entities.Where(c => c.RegionId == memberEntity.RegCity).FirstOrDefault();
                if (cityInfo.IsNotNull())
                {
                    memberEntity.StrRegCity = cityInfo.RegionName;
                }
            }

            memberEntity.InforType   = member.InforType;
            memberEntity.StrInfoType = pm.TableInforType(memberEntity.InforType.GetValueOrDefault());

            memberEntity.MobileModel = member.MobileModel;

            memberEntity.Account    = member.Account;
            memberEntity.StrAccount = string.Format("{0:F}", memberEntity.Account);

            memberEntity.AccountWithdrawn    = member.AccountWithdrawn;
            memberEntity.StrAccountWithdrawn = string.Format("{0:F}", memberEntity.AccountWithdrawn);

            memberEntity.Score    = member.Score;
            memberEntity.StrScore = string.Format("{0:F}", memberEntity.Score);

            memberEntity.ScoreWithdrawn    = member.ScoreWithdrawn;
            memberEntity.StrScoreWithdrawn = string.Format("{0:F}", memberEntity.ScoreWithdrawn);

            //memberEntity.JpushId = member.JpushId;
            memberEntity.OpenidWxOpen = member.OpenidWxOpen;
            //memberEntity.OpenidWxMp = member.OpenidWxMp;

            memberEntity.LastLoginTime = member.LastLoginTime;
            if (memberEntity.LastLoginTime != null)
            {
                memberEntity.StrLastLoginTime = memberEntity.LastLoginTime.ToString();
            }

            memberEntity.SourceTypeSysNo    = member.SourceTypeSysNo;
            memberEntity.StrSourceTypeSysNo = pm.TableSourceTypeSysNo(memberEntity.SourceTypeSysNo.GetValueOrDefault());

            memberEntity.ClientIp     = member.ClientIp;
            memberEntity.DeviceCode   = member.DeviceCode;
            memberEntity.RowCeateDate = member.RowCeateDate;
            if (memberEntity.RowCeateDate != null)
            {
                memberEntity.StrRowCeateDate = memberEntity.RowCeateDate.ToString();
            }

            return(memberEntity);
        }