示例#1
0
        /// <summary>
        /// 返回公用的参数
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <returns></returns>
        public Dictionary <string, object> ReturnInfo(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic)
        {
            CustomFullEntity AcFull = QryACTypeInfoFull <CustomFullEntity>(AcItem.id);
            //目标积分
            int AcTarget = int.Parse(AcFull.Ac_full);
            //总次数
            int TotalTimes = int.Parse(AcFull.Times);
            //当笔消费总金额
            int intExpense = int.Parse(OrderAndBuyInfoDic["order_total"].ToString());
            //当笔消费优惠可用次数
            int intExpenseTimes = intExpense / AcTarget < TotalTimes ? intExpense / AcTarget : TotalTimes;
            //当笔消费优惠后余下积分
            int intExpenseIntegral = intExpense % AcTarget;

            //List<ParticipationAcEntity> list = DALUtility.MDbS.List<ParticipationAcEntity>("XMShop","activity",x => x.Vip_AN == AN,null,null );

            Dictionary <string, object> param = new Dictionary <string, object>();

            param.Add("AcFull", AcFull);
            param.Add("AcTarget", AcTarget);
            param.Add("TotalTimes", TotalTimes);
            param.Add("intExpense", intExpense);
            param.Add("intExpenseTimes", intExpenseTimes);
            param.Add("intExpenseIntegral", intExpenseIntegral);
            return(param);
        }
示例#2
0
        /// <summary>
        /// 功能:满赠活动添加记录到Mongodb的方法
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <returns></returns>
        public int AcFullAdd(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic)
        {
            Dictionary <string, object> param  = ReturnInfo(AcItem, OrderAndBuyInfoDic);
            CustomFullEntity            AcFull = param["AcFull"] as CustomFullEntity;

            ParticipationAcEntity Part = new ParticipationAcEntity()
            {
                Vip_AN          = AN,
                Ac_id           = AcItem.id,
                Integral_Target = int.Parse(param["AcTarget"].ToString()),
                Integral_now    = int.Parse(param["intExpenseIntegral"].ToString()),
                Times           = int.Parse(param["TotalTimes"].ToString()),
                Times_now       = int.Parse(param["intExpenseTimes"].ToString())
            };

            //将数据添加到mongodb中
            DALUtility.MDbS.Add <ParticipationAcEntity>("XMShop", "activity", Part);
            int iCheck = (int)DALUtility.MDbS.GetCount <NoticEntity>("XMShop", "activity", x => x._id == Part._id);

            if (iCheck == 0)
            {
                return(1);
            }
            else
            {
                RecordAcInfo(OrderAndBuyInfoDic, AcItem.id, AcFull.Minus, AcFull.Ac_type, int.Parse(param["intExpenseTimes"].ToString()));
                return(0);
            }
        }
示例#3
0
        /// <summary>
        /// 功能:满赠活动修改记录方法
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <param name="PAclist"></param>
        /// <returns></returns>
        public int AcFullUpdate(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic, ParticipationAcEntity PAclist)
        {
            Dictionary <string, object> param  = ReturnInfo(AcItem, OrderAndBuyInfoDic);
            CustomFullEntity            AcFull = param["AcFull"] as CustomFullEntity;

            //当笔和记录积分相加
            int intUpdateIntegral = int.Parse(param["intExpenseIntegral"].ToString()) + PAclist.Integral_now.Value;

            //当笔和记录次数相加
            int intUpdateTimes = int.Parse(param["intExpenseTimes"].ToString()) + PAclist.Times_now.Value;

            //将要添加进MongoDB的数据
            int NowIntegral;

            if (intUpdateIntegral >= int.Parse(param["AcTarget"].ToString()))
            {
                NowIntegral     = intUpdateIntegral % int.Parse(param["AcTarget"].ToString());
                intUpdateTimes += intUpdateIntegral / int.Parse(param["AcTarget"].ToString());
            }
            else
            {
                NowIntegral = intUpdateIntegral;
            }
            //现有的活动次数,加入到mongodb中的数据
            int NowTimes = intUpdateTimes >= int.Parse(param["TotalTimes"].ToString()) ? int.Parse(param["TotalTimes"].ToString()) : intUpdateTimes;
            int ToSqlDB  = intUpdateTimes >= int.Parse(param["TotalTimes"].ToString()) ?
                           int.Parse(param["TotalTimes"].ToString()) - PAclist.Times_now.Value :
                           intUpdateTimes - PAclist.Times_now.Value;


            PAclist.Integral_now = NowIntegral;
            PAclist.Times_now    = NowTimes;
            //将数据添加到mongodb中
            int iCheck = (int)DALUtility.MDbS.Update <ParticipationAcEntity>("XMShop", "activity",
                                                                             x => x._id == PAclist._id, PAclist);

            if (iCheck == 0 && PAclist.Times_now != PAclist.Times)
            {
                return(1);
            }
            else
            {
                RecordAcInfo(OrderAndBuyInfoDic, AcItem.id, AcFull.Minus, AcFull.Ac_type, ToSqlDB);
                return(0);
            }
        }