Esempio n. 1
0
        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("操作完成"));
        }
Esempio n. 2
0
        /// <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
                        }
                    }
                }
            }
        }