/// <summary> /// 记录苹果充值记录 /// author:陶林辉 /// </summary> /// <param name="appleReceiptDto"></param> /// <returns></returns> public async Task <bool> RecordAppleOrderAsync(AppleReceiptDto appleReceiptDto) { var entity = _mapper.Map <AppleReceiptDto, AppleReceiptEntity>(appleReceiptDto); _context.AppleReceipt.Add(entity); return(await _context.SaveChangesAsync() > 0); }
/// <summary> /// 更新苹果订单 /// author:陶林辉 /// </summary> /// <param name="appleReceiptDto"></param> /// <returns></returns> public async Task <bool> UpdateAppleOrderAsync(AppleReceiptDto appleReceiptDto) { var entity = await _context.AppleReceipt.FirstOrDefaultAsync(m => m.Order_id == appleReceiptDto.Order_id); entity.Receipt = appleReceiptDto.Receipt; entity.Updatetime = appleReceiptDto.Updatetime; return(await _context.SaveChangesAsync() > 0);; }
public async Task <ResponseViewModel <object> > UploadingReceipt([FromBody] RequestViewModel obj) { ResponseViewModel <object> response = null; obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); var sysCode = SysCode.Ok; bool isLog = _token.VerifyToken(obj.HendInfo.UserOpenId, obj.HendInfo.SessionToken); if (isLog) { string strJson = RedisHelper.StringGet($"{CacheKey.Token}{obj.HendInfo.UserOpenId}", RedisFolderEnum.token, RedisEnum.Three); var userLog = JsonHelper.DeserializeJsonToObject <UserLoginDto>(strJson); ReceiptDto receipt = new ReceiptDto { AppleId = (string)obj.Data.appleId, Id = (string)obj.Data.productId, OrderId = (string)obj.Data.orderId, Receipt = (string)obj.Data.receipt }; AppleReceiptDto appleReceipt = new AppleReceiptDto() { Updatetime = DateTime.Now, Receipt = receipt.Receipt, Order_id = receipt.OrderId, }; if (_recharge.VerifyReceipt(receipt)) { //获取商品信息 RechargeCommodityDto rechargeCommodity = await _recharge.GetAppleProductAsync(receipt.AppleId); //充值虚拟币 double amount = double.Parse(rechargeCommodity.Amount.ToString()); //关闭章鱼充值 //if (_accout.Recharge_php(userLog.Userid, receipt.OrderId, amount, "充值", "hiAlipay")) //从php充值 if (_accout.Recharge_php(userLog.Userid, receipt.OrderId, amount, "充值", "yibiyibaidekey")) { //更新苹果订单 await _recharge.UpdateAppleOrderAsync(appleReceipt); //更新充值记录 await _recharge.UpdateRechargeLogAsync("2", receipt.OrderId); } } } else { /*短令牌失效*/ sysCode = SysCode.SessionTokenLose; } response = new ResponseViewModel <object>(sysCode, null, obj.Encrypt, _sys, obj.Secret); return(response); }
public async Task <ResponseViewModel <AppleProductViewModel> > AcquireAppleProduct([FromBody] RequestViewModel obj) { ResponseViewModel <AppleProductViewModel> response = null; obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); var sysCode = SysCode.Ok; bool isLog = _token.VerifyToken(obj.HendInfo.UserOpenId, obj.HendInfo.SessionToken); AppleProductViewModel result = null; if (isLog) { int itemId = int.Parse((string)obj.Data.itemId); string strJson = RedisHelper.StringGet($"{CacheKey.Token}{obj.HendInfo.UserOpenId}", RedisFolderEnum.token, RedisEnum.Three); UserLoginDto userLog = JsonHelper.DeserializeJsonToObject <UserLoginDto>(strJson); var dto = await _recharge.GetAppleProductAsync(itemId); //查询苹果商品信息 if (dto != null) { /*苹果充值记录*/ AppleReceiptDto appleReceipt = new AppleReceiptDto() { Apple_id = dto.Product_id, Item_id = itemId, Createtime = DateTime.Now, Receipt = "", Userid = userLog.Userid, Updatetime = DateTime.Now, Order_id = Guid.NewGuid().ToString(), }; await _recharge.RecordAppleOrderAsync(appleReceipt); /*用户充值记录*/ RechargeDto recharge = new RechargeDto() { Amount = dto.Amount, createtime = DateTime.Now, Order_id = appleReceipt.Order_id, Pay_type = 0, //0苹果内购, 1支付宝,2微信 ,3卡密 Status = 1, //1 待处理 2 已支付 3 支付失败 4 超时 UserId = userLog.Userid, updatetime = DateTime.Now, }; await _recharge.RecordRechargeLogAsync(recharge); result = new AppleProductViewModel { AppleId = dto.Apple_id, ProductId = dto.Product_id, OrderId = recharge.Order_id,//记录充值订 }; } } else { /*短令牌失效*/ sysCode = SysCode.SessionTokenLose; } response = new ResponseViewModel <AppleProductViewModel>(sysCode, sysCode == SysCode.Ok ? result : null, obj.Encrypt, _sys, obj.Secret); return(response); }