public ActionResult SendGiftMoney(string ids) { var userid = Utils.GetAdmUserID(); if (string.IsNullOrWhiteSpace(ids)) { return(Content("参数错误")); } var preFilter = from item in ef.hx_QuanmamaRecord join member in ef.hx_member_table on item.RegisterMobile equals member.mobile where item.SendState == 0 select new { quanmamaID = item.ID, registerID = member.registerid, giftMoney = item.GiftMoney }; if (ids != "-1") { List <int> quanmamaIDs = (from item in ids.Split(',') where !string.IsNullOrWhiteSpace(item) select Convert.ToInt32(item)).ToList(); preFilter = preFilter.Where(c => quanmamaIDs.Contains(c.quanmamaID)); } var preFilterData = preFilter.ToList(); var quanmamaRecords = (from item in ef.hx_QuanmamaRecord where preFilter.Select(c => c.quanmamaID).Contains(item.ID) select item).ToList(); DateTime nowDate = DateTime.Now; var members = ef.hx_member_table.Where(c => preFilter.Select(d => d.registerID).Contains(c.registerid)).ToList(); foreach (hx_member_table item in members) { var quanmama = quanmamaRecords.Where(d => d.RegisterMobile == item.mobile).First(); bool sendStatus = SendGiftCash(quanmama.GiftMoney, quanmama.UsrCustID); if (!sendStatus) { continue; } quanmama.SendState = 1; quanmama.Sender = userid; quanmama.SendTime = nowDate; decimal gm = preFilterData.Where(d => d.registerID == item.registerid).First().giftMoney; item.available_balance += gm; item.account_total_assets += gm; hx_Capital_account_water water = new hx_Capital_account_water() { membertable_registerid = item.registerid, income = gm, expenditure = 0, time_of_occurrence = nowDate, account_balance = item.available_balance, types_Finance = (int)Enum.Parse(typeof(EnumTypesFinance), EnumTypesFinance.现金奖励.ToString()), createtime = nowDate, keyid = 0, remarks = "现金奖励" }; ef.hx_Capital_account_water.Add(water); ef.SaveChanges(); string sms = "尊敬的客户您好,您已成功投资创利投金服,您的账户已有返利到账,请登录官网查看。客服热线:010-53732056。"; YMSendSMS.Send_SMS(item.mobile, sms); } return(Content("操作完成")); }
/// <summary> /// 发放奖励 /// </summary> /// <param name="activity"></param> /// <param name="registerID"></param> public static void DrawBonus(hx_ActivityTable activity, int registerID, int effectiveDays) { //chuangtouEntities ef = new chuangtouEntities(); M_bonus_account_water mbaw = new M_bonus_account_water(); B_bonus_account_water bbaw = new B_bonus_account_water(); DateTime dte = DateTime.Now;//当前时间截点 //if (activity.ActEndtime >= dte && activity.ActStarttime <= dte) //发布的时候要释放 if (true) { Mcoupon mcp = new Mcoupon(); JavaScriptSerializer js = new JavaScriptSerializer(); mcp = js.Deserialize <Mcoupon>(activity.ActRule); hx_UserAct hua = new hx_UserAct(); hua.ActTypeId = activity.ActTypeId; hua.registerid = registerID; hua.RewTypeID = activity.RewTypeID; if (activity.RewTypeID == 3) { hua.UseLifeLoan = "3-0"; } hua.ActID = activity.ActID; hua.Amt = mcp.cash; hua.Uselower = mcp.Msplitarr == null || mcp.Msplitarr.Count <= 0 ? 0 : mcp.Msplitarr[0].startAmt; hua.Usehight = mcp.Msplitarr == null || mcp.Msplitarr.Count <= 0 ? 0 : mcp.Msplitarr[0].endAmt; hua.AmtEndtime = Convert.ToDateTime(dte.AddDays(effectiveDays).ToShortDateString() + " 23:59:59"); //有效期为10天 hua.AmtUses = 1; //没指定情况下默认为单独使用 hua.UseState = activity.RewTypeID == 1 ? 5 : 0; hua.AmtProid = 0; //未使用默认为0 hua.ISSmsOne = 0; hua.IsSmsThree = 0; hua.isSmsFifteen = 0; hua.IsSmsSeven = 0; hua.isSmsSixteen = 0; hua.Title = activity.ActName; hua.Createtime = dte; hua.OrderID = decimal.Parse(Utils.Createcode());//根据日期生成单号 ef.hx_UserAct.Add(hua); ef.SaveChanges(); if (activity.RewTypeID == 1) //当奖品为现金时 { Transfer tf = new Transfer(); M_member_table p = new M_member_table(); B_member_table o = new B_member_table(); p = o.GetModel(registerID); ReTransfer retf = tf.ToUserTransfer(p.UsrCustId, mcp.cash, hua.OrderID.ToString(), hua.ActID.ToString(), "/Thirdparty/ToUserTransfer"); if (retf != null) { if (retf.RespCode == "000") { //3.事务处理操作账户及插入流水 #region 验签缓存处理 string cachename = retf.OrdId + "ToUserTransfer" + retf.InCustId; if (Utils.GeTThirdCache(cachename) == 0) { Utils.SetThirdCache(cachename); B_usercenter BUC = new B_usercenter(); BUC.UpateActToUserTransfer(retf, 0); //增加账户资金流水 hx_Capital_account_water Caw = new hx_Capital_account_water(); Caw.membertable_registerid = registerID; Caw.income = mcp.cash; Caw.expenditure = 0; Caw.time_of_occurrence = dte; Caw.account_balance = p.available_balance + mcp.cash; Caw.types_Finance = 43; Caw.createtime = dte; Caw.keyid = 0; Caw.remarks = "现金奖励"; ef.hx_Capital_account_water.Add(Caw); ef.SaveChanges(); } #endregion } } } } }