public JsonResult SaveBets(int pkId, List <Bet> bets) { var result = new ResponseResult(); try { // 验证下注时间是否合法, 超过当前PK的开盘时期则非法, 提示已封盘 var isOpening = new PKService().IsOpening(pkId); if (!isOpening) { result.Success = false; result.Message = MessageConst.PK_IS_NOT_OPEN; } else { var userExtendService = new UserExtensionService(); // 查验余额 var userExtend = userExtendService.GetUserExtension(LoginUser.UserId); var betAmount = bets.Sum(b => b.Amount); if (betAmount > userExtend.Amount) { result.Success = false; result.Code = MessageConst.USER_BALANCE_IS_NOT_ENOUGH_CODE;//余额不足 result.Data = userExtend.Amount; result.Message = MessageConst.USER_BALANCE_IS_NOT_ENOUGH + " 当前余额 : " + userExtend.Amount; PKBag.LoginUser.UserExtension.Amount = userExtend.Amount; } else { // 下注 new BetService().SaveBets(pkId, LoginUser.UserId, bets, null); // 更新余额 userExtendService.MinusAmount(LoginUser.UserId, betAmount); LoginUser.UserExtension.Amount = LoginUser.UserExtension.Amount - betAmount; // 回传给前台, 更新余额 result.Data = LoginUser.UserExtension.Amount; } } } catch (Exception ex) { result.Success = false; result.Message = MessageConst.System_Error; _logger.Info(ex); } return(Json(result)); }
public ResponseResult AddBet(BetModel model) { var result = new ResponseResult(); try { var user = new UserService().GetUserByUserName(model.userName); if (user == null) { result.Success = false; result.Message = MessageConst.USER_NOT_EXIST; return(result); } else { if (CryptoUtils.Decrypt(user.Password) != model.passWd) { result.Success = false; result.Message = MessageConst.USER_INVALID_USERNAME_OR_PASSWORD; return(result); } } // 验证下注时间是否合法, 超过当前PK的开盘时期则非法, 提示已封盘 var isOpening = new PKService().IsOpening(model.issue); if (!isOpening) { result.Success = false; result.Message = MessageConst.PK_IS_NOT_OPEN; return(result); } else { var userExtendService = new UserExtensionService(); // 查验余额 var userExtend = userExtendService.GetUserExtension(user.UserId); var betAmount = model.score; if (betAmount > userExtend.Amount) { result.Success = false; result.Code = MessageConst.USER_BALANCE_IS_NOT_ENOUGH_CODE;//余额不足 result.Data = userExtend.Amount; result.Message = MessageConst.USER_BALANCE_IS_NOT_ENOUGH + " 当前余额 : " + userExtend.Amount; try { PKBag.LoginUser.UserExtension.Amount = userExtend.Amount; } catch { } } else { var bets = new List <Bet> { new Bet { OrderNo = model.orderId, PKId = model.issue, UserId = userExtend.UserId, Rank = model.rank, Num = model.value, Amount = model.score } }; // 下注 new BetService().SaveBets(model.issue, userExtend.UserId, bets, false); // 更新余额 userExtendService.MinusAmount(userExtend.UserId, betAmount); try { PKBag.LoginUser.UserExtension.Amount = userExtend.Amount - betAmount; } catch { } } } } catch (Exception ex) { _logger.Info(ex); result.Success = false; result.Message = MessageConst.System_Error; } return(result); }