public Response UpdateGuess(string GuessId) { var sql = @" UPDATE Guess SET State=@State WHERE Id=@Id "; var cmd = CommandHelper.CreateText <ClubUser>(FetchType.Execute, sql); cmd.Params.Add("@State", GuessDic.AlreadySettlement); cmd.Params.Add("@Id", GuessId); var result = DbContext.GetInstance().Execute(cmd); SystemHelper.CheckResponseIfError(result); return(result); }
public void DeleteStudentBalance(CoachBootcampStudent obj) { var sql = @" DELETE FROM dbo.CoachStudentMoney WHERE StudentUserId=@StudentUserId AND CoachBootcampId=@CoachBootcampId "; var cmd = CommandHelper.CreateText <ClubUser>(FetchType.Execute, sql); cmd.Params.Add("@StudentUserId", obj.StudentId); cmd.Params.Add("@CoachBootcampId", obj.CoachBootcampId); var result = DbContext.GetInstance().Execute(cmd); SystemHelper.CheckResponseIfError(result); }
/// <summary> /// 如果不存在就添加此课程 /// </summary> public CoachCourse CreateActualCoachCourse(CoachCourse obj) { var bootcamp = CoachHelper.Instance.GetCoachBootcampById(obj.CoachBootcampId); obj.VenueId = bootcamp.VenueId; obj.Type = CoachDic.BootcampCourse; obj.State = CoachDic.CourseNotStart; obj.RowState = RowState.Added; obj.CityId = CoachDic.DefaultCityId; obj.TrySetNewEntity(); List <EntityBase> entites = new List <EntityBase>(); entites.Add(obj); var result = DbContext.GetInstance().Execute(CommandHelper.CreateSave(entites)); SystemHelper.CheckResponseIfError(result); return(obj); }
/// <summary> /// 保存退款单 /// </summary> /// <param name="request">实体VipRefund</param> /// <returns></returns> public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <VipRefund> >(request); var obj = req.Entities.FirstOrDefault(); obj.SetNewEntity(); obj.OrderNo = SystemHelper.GetSerialNo(SerialNoType.VipRefund); var cmd = CommandHelper.CreateProcedure(FetchType.Execute, "sp_SaveVipRefund"); cmd.Params.Add("@id", obj.Id); cmd.Params.Add("@orderNo", obj.OrderNo); cmd.Params.Add("@UserId", obj.UserId); cmd.Params.Add("@AppliedAmount", obj.AppliedAmount, DataType.Decimal); cmd.Params.Add("@amount", obj.Amount, DataType.Decimal); cmd.Params.Add("@CreatorId", obj.CreatorId.GetId()); cmd.Params.Add("@Remark", obj.Remark); cmd.CreateParamMsg(); return(DbContext.GetInstance().Execute(cmd)); }
/// <summary> /// 为学员充值集训余额次数 /// </summary> /// <returns></returns> public void SaveSealedCoachStudentMoney(CoachBootcampStudent coachBootcampStudent, CoachBootcamp bootcamp) { Response rsp = new Response(); CoachStudentMoney obj = new CoachStudentMoney(); obj.StudentUserId = coachBootcampStudent.StudentId; obj.Amount = bootcamp.CourseCount; obj.ThenTotalAmount = bootcamp.CourseCount; obj.IsPay = true; obj.CourseTypeId = CoachDic.BootcampCourse; obj.CourseTypeName = "集训课"; obj.CoachBootcampId = coachBootcampStudent.CoachBootcampId; obj.Deadline = (DateTime)bootcamp.EndTime; obj.RowState = RowState.Added; obj.TrySetNewEntity(); List <EntityBase> entites = new List <EntityBase>(); entites.Add(obj); rsp = DbContext.GetInstance().Execute(CommandHelper.CreateSave(entites)); SystemHelper.CheckResponseIfError(rsp); }
/// <summary> /// 撤销庄家的投注 /// </summary> /// <param name="amount">庄家之前的投注总悦豆</param> /// <param name="guess"></param> /// <returns></returns> private Response UndoDeclarerBet(string betType, int amount, Guess guess) { Response rsp = ResultHelper.CreateResponse(); if (amount > 0) { //返回庄家的悦豆 rsp = GuessHelper.Instance.AddOrSubYueDou(amount, guess.CreatorId); SystemHelper.CheckResponseIfError(rsp); //插入悦豆返回账单 var yueDouFlow = new YueDouFlow(); yueDouFlow.Amount = amount; yueDouFlow.UserId = guess.CreatorId; yueDouFlow.FlowType = GuessDic.DepositReturn; yueDouFlow.GuessId = guess.Id; rsp = GuessHelper.Instance.AddYueDouFlow(yueDouFlow); SystemHelper.CheckResponseIfError(rsp); } //删除庄家的投注记录 var sql = @" DELETE FROM dbo.GuessBet WHERE GuessId=@GuessId AND UserId=@UserId AND BetType=@BetType "; var cmd = CommandHelper.CreateText <ClubUser>(FetchType.Execute, sql); cmd.Params.Add("@GuessId", guess.Id); cmd.Params.Add("@UserId", guess.CreatorId); cmd.Params.Add("@BetType", betType); rsp = DbContext.GetInstance().Execute(cmd); SystemHelper.CheckResponseIfError(rsp); return(rsp); }
public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <Coach> >(request); Response rsp = ResultHelper.CreateResponse(); foreach (var obj in req.Entities) { if (IsYDLCoach(obj.Id))//如果是ydl机构教练 { //特殊处理: 在 SealedOrganizationId字段上赋值表示, 此教练即是悦动力教练又是封闭机构教练 rsp = SetSealedOrganizationId(obj); SystemHelper.CheckResponseIfError(rsp); } else { //添加或修改封闭机构教练 rsp = SaveSealedOrganizationCoach(obj); SystemHelper.CheckResponseIfError(rsp); } } return(rsp); }
/// <summary> /// 比分竞猜结算 /// </summary> /// <param name="guess"></param> public Response ScoreSettlement(Guess guess, GuessVS guessVS) { Response rsp = ResultHelper.CreateResponse(); //取出猜中的比分和赔率, 赋到guess 实体上 GuessHelper.Instance.SetBingoScoreAndOdds(guess, guessVS); //查出胜方用户列表, 进行返钱 var bingoBetList = GetGuessScoreBetList(guess); if (bingoBetList.Count > 0) { rsp = BackYueDouToUser(bingoBetList, guess, guess.BingoScoreOdds); } //增减庄家的悦豆 var totalYuedou = GuessHelper.Instance.GetGuessTotalYueDouByType(guess.Id, GuessDic.Score); //比分投注的总悦豆 var bingoTotalYueDou = GuessHelper.Instance.GetBingoScoreTotalYueDou(guess); //猜中比分的总悦豆 var declareDeposit = Convert.ToInt32(guess.ScoreDeclarerDeposit); rsp = AddOrSubDeclarerYueDou(guess, totalYuedou , bingoTotalYueDou, declareDeposit, GuessDic.DeclarerScore); SystemHelper.CheckResponseIfError(rsp); return(rsp); }
/// <summary> /// 胜负竞猜结算 /// </summary> /// <param name="guess"></param> public Response VictoryDefeatSettlement(Guess guess, GuessVS guessVS) { Response rsp = ResultHelper.CreateResponse(); //取出胜方的Id和赔率, 赋到guess 实体上 GuessHelper.Instance.SetVictoryIdAndOdds(guess, guessVS); //查出胜方用户列表, 进行返钱 var victoryBetList = GetGuessVictoryDefeatBetList(guess.VictoryId, guess.Id); if (victoryBetList.Count > 0) { rsp = BackYueDouToUser(victoryBetList, guess, guess.VictoryOdds); } //增减庄家的悦豆 var totalYuedou = GuessHelper.Instance.GetGuessTotalYueDouByType(guess.Id, GuessDic.VictoryDefeat); //胜负投注的总悦豆 var bingoTotalYueDou = GuessHelper.Instance.GetVictoryOrDefeatTotalYueDou(guess.Id, guess.VictoryId); //胜方总悦豆 var declareDeposit = Convert.ToInt32(guess.VictoryDefeatDeclarerDeposit); rsp = AddOrSubDeclarerYueDou(guess, totalYuedou , bingoTotalYueDou, declareDeposit, GuessDic.DeclarerVictoryDefeat); SystemHelper.CheckResponseIfError(rsp); return(rsp); }
/// <summary> /// 保存比分赔率列表(包含添加和修改操作) /// </summary> /// <returns></returns> private Response SaveScoreList(Guess guess) { //先删除 var sql = @"DELETE FROM dbo.GuessScore WHERE GuessId=@GuessId "; var cmd = CommandHelper.CreateText <Guess>(FetchType.Execute, sql); cmd.Params.Add("@GuessId", guess.Id); DbContext.GetInstance().Execute(cmd); //后添加 List <EntityBase> entites = new List <EntityBase>(); foreach (var obj in guess.ScoreList) { entites.Add(obj); obj.RowState = RowState.Added; obj.GuessId = guess.Id; obj.TrySetNewEntity(); } var result = DbContext.GetInstance().Execute(CommandHelper.CreateSave(entites)); SystemHelper.CheckResponseIfError(result); return(result); }
/// <summary> /// 返悦豆给用户 /// </summary> /// <param name="bingoBetList"></param> /// <param name="guess"></param> /// <param name="odds">赔率</param> /// <returns></returns> public Response BackYueDouToUser(List <GuessBet> bingoBetList, Guess guess, decimal odds) { Response rsp = ResultHelper.CreateResponse(); int NeedPayToBingoTotalYueDou = 0; foreach (var item in bingoBetList) { var earnYueDou = item.Amount * (odds - 1); //赚得的悦豆 var serviceChargeDecimal = earnYueDou * (UserHelper.GetConfig().GuessServiceCharge / 100); //手续费 int serviceCharge = Convert.ToInt32(serviceChargeDecimal); //舍弃小数位,少收点手续费 decimal finalEarn = earnYueDou - serviceCharge; //最后赚的 var returnYuedouTotalDecimal = item.Amount + finalEarn; //返回的总悦豆=本金+最后赚得 int returnYuedouTotal = Convert.ToInt32(returnYuedouTotalDecimal); //返回的总悦豆,舍弃小数位 //返还悦豆给此用户 rsp = GuessHelper.Instance.AddOrSubYueDou(returnYuedouTotal, item.UserId); SystemHelper.CheckResponseIfError(rsp); //保存此用户的悦豆账单(含手续费数据) var yueDouFlow = new YueDouFlow(); yueDouFlow.Amount = returnYuedouTotal;//返回的总悦豆-本金=赚的 yueDouFlow.UserId = item.UserId; yueDouFlow.FlowType = GuessDic.GuessEarn; yueDouFlow.ServiceCharge = serviceCharge; yueDouFlow.GameId = guess.GuessVSDetail.GameId; yueDouFlow.GuessId = guess.Id; rsp = GuessHelper.Instance.AddYueDouFlow(yueDouFlow); SystemHelper.CheckResponseIfError(rsp); //累计需要支付的总悦豆 NeedPayToBingoTotalYueDou += Convert.ToInt32(earnYueDou); } rsp.IsSuccess = true; guess.NeedPayToBingoTotalYueDou = NeedPayToBingoTotalYueDou; return(rsp); }
public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <CoachStudent> >(request); //实体转换 List <CoachBootcampStudent> studentList = new List <CoachBootcampStudent>(); foreach (var item in req.Entities) { CoachBootcampStudent student = new CoachBootcampStudent(); var coachStudent = item as CoachStudent; student.CoachBootcampId = coachStudent.CoachBootcampId; student.StudentId = coachStudent.UserId; student.RowState = coachStudent.RowState; studentList.Add(student); } //开始业务逻辑操作 Response rsp = ResultHelper.CreateResponse(); var studentObj = req.FirstEntity(); if (studentObj.RowState == RowState.Added)//添加 { foreach (var obj in studentList) { //先检查是否已添加 var student = GetCoachBootcampStudent(obj); if (student != null) { return(ResultHelper.Fail("学员:[ " + student.StudentName + " ]已添加,不能再添加")); } //再添加 var bootcamp = CoachHelper.Instance.GetCoachBootcampById(obj.CoachBootcampId); if (bootcamp != null) { obj.SealedOrganizationId = bootcamp.SealedOrganizationId; } else { return(ResultHelper.Fail("封闭机构Id获取失败")); } List <EntityBase> entites = new List <EntityBase>(); if (obj.RowState == RowState.Added) { obj.TrySetNewEntity(); } entites.Add(obj); rsp = DbContext.GetInstance().Execute(CommandHelper.CreateSave(entites)); SystemHelper.CheckResponseIfError(rsp); //为学员充值集训余额次数 SaveSealedCoachStudentMoney(obj, bootcamp); } } else if (studentObj.RowState == RowState.Deleted) //删除 { CoachBootcampStudent coachBootcampStudent = new CoachBootcampStudent(); //删除学员的余额信息 coachBootcampStudent = CoachHelper.Instance.GetBootcampStudentById(studentObj.Id); DeleteStudentBalance(coachBootcampStudent); //删除学员 SystemHelper.Instance.DeleteEntity(coachBootcampStudent); } return(rsp); }