public ReJson SyncWeixinInfo(string sessionkey, string userInfo, int inviteid = 0) { if (string.IsNullOrEmpty(sessionkey)) { return(new ReJson(5003, "登录状态失败")); } WXAppSession entity = WXAppSession.Find(WXAppSession._.Key == sessionkey); if (entity == null) { return(new ReJson("未找到登录状态!")); } if (string.IsNullOrEmpty(userInfo)) { return(new ReJson("用户信息错误!")); } WXAppUserInfo info = JsonConvert.DeserializeObject <WXAppUserInfo>(userInfo); if (string.IsNullOrEmpty(info.avatarUrl)) { return(new ReJson("微信用户信息错误!")); } //获取用户 Member my = Member.FindById(entity.UId); if (my == null) { return(new ReJson(40000, "系统找不到本用户!")); } //同步用户信息 my.Country = info.country; my.UserImg = info.avatarUrl; my.City = info.city; my.Province = info.province; my.Sex = info.gender; my.Nickname = info.nickName; my.LastLoginTime = DateTime.Now; if (inviteid > 0 & my.Parent == 0) { Member inviter = Member.Find(Member._.Id == inviteid); if (inviter != null) { my.Parent = inviter.Id; my.Grandfather = inviter.Parent; } } my.Update(); var detail = new { sessionkey = entity.Key, username = info.nickName, userimg = info.avatarUrl }; return(new ReJson(0, "同步信息成功!", detail)); }
public HttpResponseMessage Register([FromBody] JObject jdata) { dynamic args = jdata; WXAppUserInfo info = (args.userInfo as JObject).ToObject <WXAppUserInfo>(); if (info == null) { return(ApiResponse(new ApiResponseMessage() { Message = "用户信息不能为空", Status = ResultStatus.Failed })); } string openid = SecurityHelper.DecryptDES(args.openid.Value, Common.ConstFiled.OpenIdEncryptKey); var user = _repositoryFactory.IWeChatMember.Single(x => x.OpenId == openid); bool modify = true; if (user == null) { modify = false; user = new Entity.WeChatMember(); } user.AvatarUrl = info.avatarUrl; user.City = info.city; user.Country = info.country; user.Gender = info.gender; user.NickName = info.nickName; user.Province = info.province; if (modify) { user.LastUpdateTime = DateTime.Now; _repositoryFactory.IWeChatMember.Modify(user, "NickName", "AvatarUrl", "Gender", "Country", "Province", "City", "LastUpdateTime"); } else { user.OpenId = openid; user.CreateTime = DateTime.Now; user.Status = (int)EnumHepler.MemberCardStatus.Available; _repositoryFactory.IWeChatMember.Add(user); } _repositoryFactory.SaveChanges(); return(ApiResponse(new ApiResponseMessage() { Data = info, Status = ResultStatus.Success })); }
public object SyncWeixinInfo(string sessionkey, string userInfo, int inviteid = 0, string random = "", string timeStamp = "", string signature = "") { if (!AutoCheckQueryStringSignature()) { return(reJson); } if (string.IsNullOrEmpty(sessionkey)) { reJson.code = 5003; reJson.message = "登录状态失败"; return(reJson); } WXAppSession entity = WXAppSession.Find(WXAppSession._.Key == sessionkey); if (entity == null) { reJson.message = "未找到登录状态!"; return(reJson); } if (string.IsNullOrEmpty(userInfo)) { reJson.message = "用户信息错误!"; return(reJson); } WXAppUserInfo info = JsonConvert.DeserializeObject <WXAppUserInfo>(userInfo); if (string.IsNullOrEmpty(info.avatarUrl)) { reJson.message = "微信用户信息错误!"; return(reJson); } //获取用户 Member my = Member.FindById(entity.UId); if (my == null) { reJson.code = 40000; reJson.message = "系统找不到本用户!"; return(reJson); } //同步用户信息 my.Country = info.country; my.UserImg = info.avatarUrl; my.City = info.city; my.Province = info.province; my.Sex = info.gender; my.Nickname = HttpUtility.UrlEncode(info.nickName); my.LastLoginTime = DateTime.Now; if (inviteid > 0 & my.Parent == 0) { Member inviter = Member.Find(Member._.Id == inviteid); if (inviter != null) { my.Parent = inviter.Id; my.Grandfather = inviter.Parent; } } my.Update(); reJson.code = 0; reJson.message = "同步信息成功!"; reJson.detail = new { sessionkey = entity.Key, username = info.nickName, userimg = info.avatarUrl }; return(reJson); }