/// <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); }
/// <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); } }
/// <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); } }