public static VMUserInfo UserInfo(SystemDM UserInfos, int No) { VMUserInfo item1 = new VMUserInfo(); item1.NO = No; item1.UserID = UserInfos.UserID; item1.UserName = UserInfos.UserName; item1.UserLevel = UserInfos.UserLevel; switch (UserInfos.UserCategory) { case UserRole.Admin: item1.UserCategory = "系统管理员"; break; case UserRole.InstallAdmin: item1.UserCategory = "安装需求管理员"; break; } switch (UserInfos.UserState) { case UserState.Able: item1.UserState = "启用"; break; case UserState.DisAble: item1.UserState = "未启用"; break; } return(item1); }
public IHttpActionResult Prepay(string token) { UserInfo user = dbContext.UserInfos.FirstOrDefault(t => t.Token == token); user.Balance += 300m; dbContext.SaveChanges(); return(Json(VMUserInfo.GetVMUserInfo(user))); }
public IHttpActionResult BuyBook(string token, int bookId) { UserInfo user = dbContext.UserInfos.FirstOrDefault(t => t.Token == token); Book book = dbContext.Books.FirstOrDefault(t => t.Id == bookId); Order order = new Order(); order.UserId = user.Id; order.BookId = book.Id; order.Price = book.Price; order.OrderTime = DateTime.Now; dbContext.Orders.Add(order); user.Balance -= order.Price; dbContext.SaveChanges(); return(Json(VMUserInfo.GetVMUserInfo(user))); }
public ActionResult UserInfoManage(int pageIndex = 1) { MPagerInParam param = new MPagerInParam() { DataBaseName = "AmyDBRead", FieldNames = "KeyID,LoginName,Password,UserName,Telephone,Email,ModifyTime,AddTime", PageIndex = pageIndex, Parameters = this.GetConditon(), PageSize = 20, TableName = "userinfo", Sort = "ModifyTime DESC" }; string json = JsonConvert.SerializeObject(param); MPagerReturn result = ServiceFactory.GetPagerContractDAO().PagerQuery(param); List<VMUserInfo> list = new List<VMUserInfo>(); if (result != null && result.PageData != null && result.PageData.Rows.Count > 0) { foreach (DataRow row in result.PageData.Rows) { VMUserInfo model = new VMUserInfo(); model.KeyID = row["KeyID"].ToString(); model.LoginName = row["LoginName"].ToString(); model.UserName = row["UserName"].ToString(); model.Password = row["Password"].ToString(); model.Telephone = row["Telephone"].ToString(); model.Email = row["Email"].ToString(); model.ModifyTime = Convert.ToDateTime(row["ModifyTime"].ToString()); model.AddTime = Convert.ToDateTime(row["AddTime"].ToString()); list.Add(model); } } PagedList<VMUserInfo> pagelist = new PagedList<VMUserInfo>(list, result.PageIndex, param.PageSize, (int)result.RowCount); return this.View(pagelist); }
public IHttpActionResult Login(string code, string rawData, string signature, string encryptedData, string iv) { VMUserInfo vmUserInfo = new VMUserInfo(); WXOpenId wxOpenId = JsonConvert.DeserializeObject <WXOpenId>(HttpHelper.HttpGet("https://api.weixin.qq.com/sns/jscode2session?appid=" + HttpHelper.AppId + "&secret=" + HttpHelper.AppSecret + "&js_code=" + code + "&grant_type=authorization_code")); //通过签名验证数据是否有效 SHA1 sha1 = new SHA1CryptoServiceProvider(); byte[] source = Encoding.UTF8.GetBytes(rawData + wxOpenId.session_key); byte[] target = sha1.ComputeHash(source); if (BitConverter.ToString(target).Replace("-", "").ToLower() == signature) { //解密数据 AesCryptoServiceProvider aes = new AesCryptoServiceProvider(); aes.Mode = CipherMode.CBC; aes.BlockSize = 128; aes.Padding = PaddingMode.PKCS7; byte[] byte_encryptedData = Convert.FromBase64String(encryptedData); byte[] byte_iv = Convert.FromBase64String(iv); byte[] byte_sessionKey = Convert.FromBase64String(wxOpenId.session_key); aes.IV = byte_iv; aes.Key = byte_sessionKey; ICryptoTransform transform = aes.CreateDecryptor(); byte[] final = transform.TransformFinalBlock(byte_encryptedData, 0, byte_encryptedData.Length); WXUserInfo wxUserInfo = JsonConvert.DeserializeObject <WXUserInfo>(Encoding.UTF8.GetString(final)); UserInfo userInfo = dbContext.UserInfos.FirstOrDefault(t => t.OpenId == wxOpenId.openid); if (userInfo == null) { userInfo = new UserInfo(); userInfo.Token = Convert.ToBase64String(Guid.NewGuid().ToByteArray()); userInfo.OpenId = wxOpenId.openid; userInfo.SessionKey = wxOpenId.session_key; userInfo.Unionid = wxOpenId.unionid; userInfo.NickName = wxUserInfo.nickName; userInfo.Gender = (gender)wxUserInfo.gender; userInfo.City = wxUserInfo.city; userInfo.Province = wxUserInfo.province; userInfo.Country = wxUserInfo.country; userInfo.AvatarUrl = wxUserInfo.avatarUrl; userInfo.AppId = wxUserInfo.watermark.appid; userInfo.TimeStamp = wxUserInfo.watermark.timestamp; userInfo.Balance = 299m; dbContext.UserInfos.Add(userInfo); } else { userInfo.SessionKey = wxOpenId.session_key; userInfo.Unionid = wxOpenId.unionid; userInfo.NickName = wxUserInfo.nickName; userInfo.Gender = (gender)wxUserInfo.gender; userInfo.City = wxUserInfo.city; userInfo.Province = wxUserInfo.province; userInfo.Country = wxUserInfo.country; userInfo.AvatarUrl = wxUserInfo.avatarUrl; userInfo.AppId = wxUserInfo.watermark.appid; userInfo.TimeStamp = wxUserInfo.watermark.timestamp; } dbContext.SaveChanges(); vmUserInfo = VMUserInfo.GetVMUserInfo(userInfo); } return(Json(vmUserInfo)); }