public RestfulResult OutSiteLogin(OutSiteLoginRequest request) { request.OutsiteNickname = UrlDecode(request.OutsiteNickname); var response = this._customerService.OutSiteLogin(request); return new RestfulResult { Data = response }; }
public UserEntity OutSiteLogin2(OutSiteLoginRequest request) { if (request == null) { throw new ArgumentNullException("request"); } if (String.IsNullOrWhiteSpace(request.OutsiteUid)) { return null; } if (request.OsType == OutsiteType.None) { return null; } int userId; var outsiteEntity = _outSiteCustomerRepository.GetItem(request.OutsiteUid, (int)request.OsType); if (outsiteEntity == null) { using (var ts = new TransactionScope()) { var utmp = _customerRepository.Insert(new UserEntity { CreatedDate = DateTime.Now, CreatedUser = 0, EMail = String.Empty, LastLoginDate = DateTime.Now, Logo = String.Empty, Mobile = String.Empty, Id = 0, Nickname = request.OutsiteNickname, Name = String.Format("__{0}{1}", ((int)EnumExtension.Parser<OutsiteType>(request.OutsiteType)). ToString(CultureInfo.InvariantCulture), request.OutsiteUid), Password = Guid.NewGuid().ToString(), UpdatedDate = DateTime.Now, Status = (int)DataStatus.Normal, UserLevel = (int)UserLevel.User, Description = String.Empty, Gender = (int)GenderType.Default }); _outSiteCustomerRepository.Insert(new OutsiteUserEntity { CreatedDate = DateTime.Now, CreatedUser = utmp.Id, Description = String.Empty, LastLoginDate = DateTime.Now, AssociateUserId = utmp.Id, OutsiteType = (int)request.OsType, Status = (int)DataStatus.Normal, OutsiteUserId = request.OutsiteUid }); ts.Complete(); return utmp; } } else { userId = outsiteEntity.AssociateUserId; _customerRepository.SetLoginDate(userId, DateTime.Now); return _customerRepository.GetItem(userId); } }
/// <summary> /// 外站用户登录 /// </summary> /// <param name="request"></param> /// <returns></returns> public ExecuteResult<CustomerInfoResponse> OutSiteLogin(OutSiteLoginRequest request) { if (request == null) { throw new ArgumentNullException("request"); } if (String.IsNullOrWhiteSpace(request.OutsiteUid)) { return new ExecuteResult<CustomerInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" }; } if (request.OsType == OutsiteType.None) { return new ExecuteResult<CustomerInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" }; } int userId; var outsiteEntity = _outSiteCustomerRepository.GetItem(request.OutsiteUid, (int)request.OsType); if (outsiteEntity == null) { //没有这个用户 var utmp = _customerRepository.Insert(new UserEntity { CreatedDate = DateTime.Now, CreatedUser = 0, EMail = String.Empty, LastLoginDate = DateTime.Now, Logo = String.Empty, Mobile = String.Empty, Id = 0, Nickname = request.OutsiteNickname, Name = String.Format("__{0}{1}", ((int)EnumExtension.Parser<OutsiteType>(request.OutsiteType)). ToString(CultureInfo.InvariantCulture), request.OutsiteUid), Password = Guid.NewGuid().ToString(), UpdatedDate = DateTime.Now, Status = (int)DataStatus.Normal, //默认达人 UserLevel = (int)UserLevel.User, Description = String.Empty, Gender = (int)GenderType.Default }); if (utmp == null || utmp.Id < 1) { return new ExecuteResult<CustomerInfoResponse>(null) { StatusCode = StatusCode.InternalServerError, Message = "创建用户失败" }; } //创建 var tmp = _outSiteCustomerRepository.Insert(new OutsiteUserEntity { CreatedDate = DateTime.Now, CreatedUser = utmp.Id, Description = String.Empty, LastLoginDate = DateTime.Now, AssociateUserId = utmp.Id, OutsiteType = (int)request.OsType, Status = (int)DataStatus.Normal, OutsiteUserId = request.OutsiteUid }); if (tmp == null) { return new ExecuteResult<CustomerInfoResponse>(null) { StatusCode = StatusCode.InternalServerError, Message = "2创建用户失败" }; } //TODO:增加积点 _pointService.Insert(new PointHistoryEntity { Amount = 100, CreatedDate = DateTime.Now, CreatedUser = request.AuthUid, Description = String.Empty, Name = "恭喜您注册成功获得100积点", PointSourceId = 0, PointSourceType = (int)PointSourceType.System, Status = (int)DataStatus.Normal, User_Id = tmp.AssociateUserId, UpdatedDate = DateTime.Now, UpdatedUser = request.AuthUid, Type = (int)PointType.Register }); // _userService.AddPoint(utmp.Id, 100, utmp.Id); userId = tmp.AssociateUserId; } else { userId = outsiteEntity.AssociateUserId; //更新登录时间 _customerRepository.SetLoginDate(userId, DateTime.Now); } return GetUserInfo(new GetUserInfoRequest { AuthUid = userId, AuthUser = null, Method = null, Token = null, Client_Version = request.Client_Version }); }