Exemple #1
0
 public static void SendFailedMail(SOEntity soEntity, ProductGroupBuyingEntity group)
 {
     ThreadPool.QueueUserWorkItem(o =>
     {
         SendMailBP.SendFailedMail4SO(soEntity, group);
     });
 }
Exemple #2
0
 private static void SyncGroupBuyingStatus(ProductGroupBuyingEntity entity)
 {
     if (entity.GroupBuyingTypeSysNo != 6 && entity.RequestSysNo > 0)
     {
         GroupBuyingDA.SyncGroupBuyingStatus(entity);
     }
 }
Exemple #3
0
 private static void SyncGroupBuyingSellCount(ProductGroupBuyingEntity entity)
 {
     if (entity.GroupBuyingTypeSysNo != 6 && entity.RequestSysNo > 0)
     {
         GroupBuyingDA.SyncGroupBuyingSellCount(entity.RequestSysNo, entity.CurrentSellCount);
     }
 }
Exemple #4
0
        public static ProductGroupBuyingEntity UpdateGroupBuyingAbandon(ProductGroupBuyingEntity entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("UpdateGroupBuyingAbandon");

            command.SetParameterValue("@SysNo", entity.SysNo);
            command.SetParameterValue("@Status", entity.Status);
            command.SetParameterValue("@CompanyCode", CompanyCode);
            return(command.ExecuteEntity <ProductGroupBuyingEntity>());
        }
Exemple #5
0
        private static bool CheckGroupReadToRun(ProductGroupBuyingEntity groupBuyingItem, bool isAbandon)
        {
            //如果团购类型为抽奖(6),则不需下列操作
            if (groupBuyingItem.GroupBuyingTypeSysNo == 6)
            {
                return(true);
            }

            //读取原价
            decimal originalPrice    = GroupBuyingDA.GetOriginalPrice(groupBuyingItem.ProductSysNo, groupBuyingItem.IsByGroup);
            decimal groupBuyingPrice = 0;
            List <ProductGroupBuying_PriceEntity> gbPriceList = GroupBuyingDA.GetProductGroupBuying_PriceList(groupBuyingItem);

            bool result = true;

            foreach (ProductGroupBuying_PriceEntity gbPrice in gbPriceList)
            {
                if (originalPrice <= gbPrice.GroupBuyingPrice)
                {
                    groupBuyingPrice = gbPrice.GroupBuyingPrice;
                    result           = false;
                }
            }

            //Check不通过需要发送邮件
            if (!result)
            {
                string mailtype = "";

                if (isAbandon)
                {
                    mailtype = "已被系统自动作废";
                    SetAbandon(groupBuyingItem);
                }
                else
                {
                    mailtype = "一小时后将被系统自动作废,请修改团购信息";
                }

                string mailTo      = GroupBuyingDA.GetUserEmailByUserName(groupBuyingItem.InUser);
                string mailSubject = string.Format("团购商品{0}Item# " + groupBuyingItem.ProductID, mailtype);


                StringBuilder mailInfo = new StringBuilder();

                mailInfo.AppendLine("Hi 创建人、PMCC:");
                mailInfo.AppendLine(string.Format("   商品" + groupBuyingItem.ProductID + "的团购价" + groupBuyingPrice.ToString("0.00") + "大于等于了原价" + originalPrice.ToString("0.00") + ",{0}。", mailtype));
                mailInfo.AppendLine("该邮件由系统自动发出,请勿回复!");
                mailInfo.AppendLine("其中" + groupBuyingPrice.ToString("0.00") + "为团购价;" + originalPrice.ToString("0.00") + "为原价;");


                GroupBuyingDA.SendMailAbandonGroupBuyingInfo(mailTo, mailInfo.ToString(), mailSubject);
            }

            return(result);
        }
Exemple #6
0
        public static ProductGroupBuyingEntity GetGroupBuyingItemBySysno(int GroupBuyingSysNo)
        {
            DataCommand command = DataCommandManager.GetDataCommand("GetProductGroupBuyingList");

            command.SetParameterValue("@GroupBuyingSysNo", GroupBuyingSysNo);
            command.SetParameterValue("@CompanyCode", CompanyCode);
            ProductGroupBuyingEntity entity = command.ExecuteEntity <ProductGroupBuyingEntity>();

            return(entity);
        }
Exemple #7
0
        public static void SyncGroupBuyingStatus(ProductGroupBuyingEntity entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("SyncGroupBuyingStatus");

            command.SetParameterValue("@RequestSysNo", entity.RequestSysNo);
            command.SetParameterValue("@Status", entity.Status);
            command.SetParameterValue("@Reasons", entity.Reasons);
            command.SetParameterValue("@ReplyType", "ChangeGroupBuyingStatus");

            command.ExecuteNonQuery();
        }
Exemple #8
0
        /// <summary>
        /// 作废过期未运行的记录
        /// </summary>
        /// <param name="GroupBuyingSysNo"></param>
        private static void SetAbandon(ProductGroupBuyingEntity entity)
        {
            if (entity.Status != "P")
            {
                throw new BusinessException("the current status not allow such opertion");
            }

            entity.Status = "D";

            GroupBuyingDA.UpdateGroupBuyingAbandon(entity);
            entity.Reasons = "GroupBuyingJob自动作废";
            SyncGroupBuyingStatus(entity);
        }
Exemple #9
0
        /// <summary>
        /// 商品价格更新
        /// </summary>
        /// <param name="entity">价格信息</param>
        /// <param name="note">日志所需Note</param>
        /// <param name="priceLogType">日志所需PriceLogType</param>
        /// <returns></returns>
        public static int UpdateItemPrice(ProductPriceInfoEntity entity, ProductGroupBuyingEntity gBuyEntity,
                                          DateTime?createDate,
                                          String updateUser,
                                          DateTime?updateDate,
                                          String note,
                                          String fromSystem,
                                          String priceLogType)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("UpdateItemPriceInfoBySP");

            cmd.SetParameterValue("@ProductSysNo", entity.ProductSysNo);
            cmd.SetParameterValue("@BasicPrice", entity.BasicPrice);
            cmd.SetParameterValue("@CurrentPrice", entity.CurrentPrice);
            cmd.SetParameterValue("@IsWholeSale", DBNull.Value);
            cmd.SetParameterValue("@Q1", DBNull.Value);
            cmd.SetParameterValue("@P1", DBNull.Value);
            cmd.SetParameterValue("@Q2", DBNull.Value);
            cmd.SetParameterValue("@P2", DBNull.Value);
            cmd.SetParameterValue("@Q3", DBNull.Value);
            cmd.SetParameterValue("@P3", DBNull.Value);
            cmd.SetParameterValue("@IsCheckedWholeSale1", "true");
            cmd.SetParameterValue("@IsCheckedWholeSale2", "true");
            cmd.SetParameterValue("@IsCheckedWholeSale3", "true");
            cmd.SetParameterValue("@UnitCost", entity.UnitCost);
            cmd.SetParameterValue("@CashRebate", entity.CashRebate);
            cmd.SetParameterValue("@Point", entity.Point);
            cmd.SetParameterValue("@PointType", DBNull.Value);
            cmd.SetParameterValue("@MaxPerOrder", entity.MaxPerOrder);
            cmd.SetParameterValue("@ClearanceSale", DBNull.Value);
            cmd.SetParameterValue("@LastOnSaleTime", DBNull.Value);
            cmd.SetParameterValue("@CreateUser", gBuyEntity.InUser);
            cmd.SetParameterValue("@CreateDate", createDate);
            cmd.SetParameterValue("@UpdateUser", updateUser);
            cmd.SetParameterValue("@UpdateDate", updateDate);
            cmd.SetParameterValue("@CompanyCode", CompanyCode);
            cmd.SetParameterValue("@LanguageCode", LanguageCode);
            cmd.SetParameterValue("@StoreCompanyCode", DBNull.Value);
            cmd.SetParameterValue("@Note", note);
            cmd.SetParameterValue("@OptIP", fromSystem);
            cmd.SetParameterValue("@PriceLogType", priceLogType);
            cmd.SetParameterValue("@PriceStatus", DBNull.Value);
            cmd.SetParameterValue("@AuditUserSysNo", DBNull.Value);
            cmd.SetParameterValue("@IsExistRankPrice", DBNull.Value);
            cmd.SetParameterValue("@Discount", DBNull.Value);

            return(cmd.ExecuteNonQuery());
        }
Exemple #10
0
        private static void SuccessfulGroupBuyProcess(ProductGroupBuyingEntity group, JobContext context)
        {
            List <GroupBuyItemEntity> GroupBuyItemList = GroupBuyProcessDA.GetGroupBuyItems(group.SystemNumber);

            if (GroupBuyItemList == null || GroupBuyItemList.Count == 0)
            {
                Console.WriteLine("没有团购商品");
            }

            Console.WriteLine(string.Format("团购号:{0}", group.SystemNumber));

            foreach (GroupBuyItemEntity groupBuyItem in GroupBuyItemList)
            {
                Console.WriteLine(string.Format("订单:{0},商品{1}", groupBuyItem.SOSysNo, groupBuyItem.ProductSysNo));

                int ItemExSysNo   = groupBuyItem.SysNo;
                int soSysNo       = groupBuyItem.SOSysNo;
                int groupBuySysNo = groupBuyItem.ReferenceSysNo;
                int productSysNo  = groupBuyItem.ProductSysNo;
                //更新订单
                try
                {
                    //修改团购商品价格
                    UpdateSO(soSysNo, groupBuySysNo, productSysNo);

                    //修改团购Item状态
                    UpdateItemSettlementStatus(ItemExSysNo, "S");
                }
                catch (Exception ex)
                {
                    UpdateItemSettlementStatus(ItemExSysNo, "F");
                    UpdateSOGroupBuyStatus(soSysNo, "F");
                    context.Message += ex.ToString();
                    Dealfault(ex);
                    continue;
                }
            }


            if (group.Status == "F")
            {
                EndGroupBuying(group.SystemNumber);
            }
        }
Exemple #11
0
        public static void SendFailedMail4SO(SOEntity soEntity, ProductGroupBuyingEntity group)
        {
            CustomerInfo customerInfo = CommonDA.GetCustomerBySysNo(soEntity.SOMaster.CustomerSysNo, CompanyCode);

            if (customerInfo == null || customerInfo.Email == null)
            {
                return;
            }

            group.LowerLimitSellCount = CommonDA.GetLowerLimitSellCount(group.SystemNumber);
            string mailFrom = "IPPSystem";
            string mailTo   = Util.TrimNull(customerInfo.Email);

            string mailSubject = "您在新蛋的订单SO#" + soEntity.SOMaster.SystemNumber + "团购失败,订单取消";
            string mailBody    = BuildFailedMail(customerInfo, soEntity, group);



            CommonServiceAdapter.SendEmail2MailDb(mailFrom, mailTo, null, null, mailSubject, mailBody, CompanyCode);
        }
Exemple #12
0
        public static void FailedGroupBuyProcess(ProductGroupBuyingEntity group)
        {
            //获取需要处理的订单号
            List <int> soSysNolist = SODA.GetSOSysNoListByReferenceSysno(group.SystemNumber, CompanyCode);

            Console.WriteLine(string.Format("团购号:{0}", group.SystemNumber));

            foreach (int soSysNo in soSysNolist)
            {
                Console.WriteLine(string.Format("订单:{0}", soSysNo));

                SOEntity soEntity = SODA.GetSOEntity(soSysNo, CompanyCode);


                //审核NetPay
                try
                {
                    if (ExistsNetPay(soSysNo))
                    {
                        AuditNetPay(soSysNo);

                        CreateAO(soSysNo);
                    }

                    AbandonSO(soSysNo);
                }
                catch (Exception ex)
                {
                    UpdateSOGroupBuyStatus(soSysNo, "F");
                    Dealfault(ex);
                    continue;
                }

                UpdateSOGroupBuyStatus(soSysNo, "S");

                SendFailedMail(soEntity, group);
            }

            //EndGroupBuying(group.SystemNumber);
        }
Exemple #13
0
        public static void FullGroupBuyProcess(ProductGroupBuyingEntity group)
        {
            List <int> soSysNolist = SODA.GetSOSysNoListByReferenceSysno(group.SystemNumber, CompanyCode);

            Console.WriteLine(string.Format("团购号:{0}", group.SystemNumber));

            foreach (int soSysNo in soSysNolist)
            {
                Console.WriteLine(string.Format("订单:{0}", soSysNo));

                SOEntity soEntity = SODA.GetSOEntity(soSysNo, CompanyCode);


                //更新订单
                try
                {
                    UpdateSO(soSysNo);

                    if (ExistsNetPay(soSysNo))
                    {
                        AuditNetPay(soSysNo);
                    }
                }
                catch (Exception ex)
                {
                    UpdateSOGroupBuyStatus(soSysNo, "F");
                    Dealfault(ex);
                    continue;
                }

                UpdateSOGroupBuyStatus(soSysNo, "S");
            }

            if (group.Status == "F")
            {
                //EndGroupBuying(group.SystemNumber);
            }
        }
Exemple #14
0
        /// <summary>
        /// 运行-->根据阶梯调价
        /// </summary>
        /// <param name="groupBuyingEntity"></param>
        public static void SetStepPrice(ProductGroupBuyingEntity groupBuyingItem)
        {
            //必须是Running
            if (groupBuyingItem.Status != "A")
            {
                throw new BusinessException("the current status not allow such opertion");
            }

            using (TransactionScope ts = new TransactionScope())
            {
                //读取已成功支付的正常状态的订单商品数量
                int orderNumber = 0;

                if (groupBuyingItem.GroupBuyingTypeSysNo == 6)
                {//如果类型为抽奖
                    orderNumber = GroupBuyingDA.GetCurrentSellCountForLottery(groupBuyingItem.SysNo, groupBuyingItem.IsByGroup);
                }
                else
                {
                    orderNumber = GroupBuyingDA.GetCurrentSellCount(groupBuyingItem.SysNo, groupBuyingItem.IsByGroup);
                    groupBuyingItem.CurrentSellCount = orderNumber;
                    SyncGroupBuyingSellCount(groupBuyingItem);
                }

                //根据商品数量读取价格
                List <ProductGroupBuying_PriceEntity> gbPriceList = GroupBuyingDA.GetProductGroupBuying_PriceList(groupBuyingItem).OrderBy(e => e.SellCount).ToList();

                decimal stepPrice = 0;
                string  isSuccess = "N";

                int maxSellCount = gbPriceList.Max(e => e.SellCount);

                for (int i = 0; i < gbPriceList.Count; i++)
                {
                    ProductGroupBuying_PriceEntity gbPrice = gbPriceList[i];
                    if (i == 0)
                    {
                        stepPrice = gbPrice.GroupBuyingPrice;
                    }

                    if (orderNumber >= gbPrice.SellCount)
                    {
                        isSuccess = "Y";
                        stepPrice = gbPrice.GroupBuyingPrice;
                    }
                }

                //如果团购人数大于最高成团人数,则更新结算状态为C
                string  isSettlement = "N";
                decimal dealPrice    = 0;

                if (orderNumber >= maxSellCount)
                {
                    isSettlement = "C";
                    dealPrice    = gbPriceList.Min(e => e.GroupBuyingPrice);
                }

                GroupBuyingDA.UpdateCurrentSellCount(groupBuyingItem.SysNo, orderNumber, isSettlement, dealPrice);


                //只有在最小成团时间为空且团购已成功或者最小成团时间不为空且最小成团失败才更新
                if (!(groupBuyingItem.SuccessDate != null && isSuccess == "Y"))
                {
                    //设置最小成团时间
                    GroupBuyingDA.SetGroupBuyingSuccesDate(groupBuyingItem.SysNo, isSuccess);
                }

                //如果团购类型为抽奖(6),则不需下列操作
                if (groupBuyingItem.GroupBuyingTypeSysNo != 6)
                {
                    List <ProductPriceInfoEntity> itemPriceList = GroupBuyingDA.GetProductPriceInfoList(groupBuyingItem.ProductSysNo, groupBuyingItem.IsByGroup);

                    foreach (ProductPriceInfoEntity itemPrice in itemPriceList)
                    {
                        //更新团购成功时间
                        if (itemPrice.CurrentPrice != stepPrice)
                        {
                            decimal gbCurentPrice = itemPrice.CurrentPrice;
                            itemPrice.CurrentPrice = stepPrice;
                            //修改价格
                            //GroupBuyingDA.UpdateItemPrice(itemPrice);
                            GroupBuyingDA.UpdateItemPrice(itemPrice, groupBuyingItem, groupBuyingItem.InDate, "IPPSystemAdmin", DateTime.Now, "团购调价就绪-->运行", "JobConsole", "GroupBuying");

                            //验证一个规则内差价是否小于0
                            if (groupBuyingItem.ProductSysNo != 0)
                            {
                                CheckSaleRule(groupBuyingItem.ProductSysNo);
                            }

                            //类型PriceLogType:记录为“团购调价运行”;
                            //申请时间CreateDate:dbo.ProductGroupBuying .InDate;
                            //生效时间UpdateDate:Now;
                            //申请人CreateUser:InUser;
                            //审核人UpdateUser:dbo.ProductGroupBuying.Audituser;
                            //商品原价OldPrice:SnapShotCurrentPrice;
                            //调后价格NewPrice:GroupBuyingCurrentPrice;
                            //调整幅度offset:调后价格减去商品原价减去积分
                            //返现金额CashRebate:GroupBuyingCashRebate;
                            //积分Point: GroupBuyingPoint


                            //2011-12-1 删除-该功能移入SP Rik.K.Li
                            //decimal offset = 0;
                            //decimal point = 0;
                            //offset = itemPrice.CurrentPrice - gbCurentPrice - point;

                            //GroupBuyingDA.InsertGroupBuyingProductPricechangeLog(itemPrice.ProductSysNo.ToString(),
                            //                                                 itemPrice.CurrentPrice.ToString(),
                            //                                                 gbCurentPrice.ToString(),
                            //                                                 offset.ToString(),
                            //                                                 itemPrice.UnitCost,
                            //                                                 0,
                            //                                                 0,
                            //                                                 groupBuyingItem.InUser,
                            //                                                 groupBuyingItem.InDate,
                            //                                                 groupBuyingItem.AuditUser,
                            //                                                 DateTime.Now,
                            //                                                 "团购调价运行-->阶梯价格",
                            //                                                 "JobConsole",
                            //                                                 "GroupBuying");
                        }
                    }
                }
                ts.Complete();
            }
        }
Exemple #15
0
        /// <summary>
        /// 运行-->结束
        /// </summary>
        /// <param name="GroupBuyingSysNo"></param>
        public static void SetFinish(ProductGroupBuyingEntity groupBuyingItem)
        {
            //必须是Running
            if (groupBuyingItem.Status != "A")
            {
                throw new BusinessException("the current status not allow such opertion");
            }
            else
            {
                //设置阶梯价格
                SetStepPrice(groupBuyingItem);
            }

            groupBuyingItem = GroupBuyingDA.GetGroupBuyingItemBySysno(groupBuyingItem.SysNo);

            groupBuyingItem.Status = "F";

            decimal gbCurentPrice = 0;

            List <ProductGroupBuying_SnapShotPriceEntity> snapShotList = GroupBuyingDA.GetSnapShotPriceList(groupBuyingItem.SysNo);

            using (TransactionScope ts = new TransactionScope())
            {
                foreach (ProductGroupBuying_SnapShotPriceEntity snapShot in snapShotList)
                {
                    ProductPriceInfoEntity itemPrice = GroupBuyingDA.LoadItemPrice(snapShot.ProductSysNo);

                    gbCurentPrice = itemPrice.CurrentPrice;

                    itemPrice.BasicPrice   = snapShot.SnapshotBasicPrice;
                    itemPrice.CurrentPrice = snapShot.SnapShotCurrentPrice;
                    itemPrice.CashRebate   = snapShot.SnapShotCashRebate;
                    itemPrice.Point        = snapShot.SnapShotPoint;
                    itemPrice.MaxPerOrder  = snapShot.SnapShotMaxPerOrder;


                    //GroupBuyingDA.UpdateItemPrice(itemPrice);
                    GroupBuyingDA.UpdateItemPrice(itemPrice, groupBuyingItem, groupBuyingItem.InDate, "IPPSystemAdmin", DateTime.Now, "团购调价就绪-->运行", "JobConsole", "GroupBuying");

                    GroupBuyingDA.UpdateProductEx(snapShot.ProductSysNo, string.Empty);


                    //验证一个规则内差价是否小于0
                    if (snapShot != null && snapShot.ProductSysNo != 0)
                    {
                        CheckSaleRule(snapShot.ProductSysNo);
                    }

                    //decimal offset = 0;
                    //decimal point = (itemPrice.Point - 0) / 10m;
                    //offset = itemPrice.CurrentPrice - gbCurentPrice - point;

                    //类型PriceLogType:记录为“限时促销调价”;
                    //申请时间CreateDate:dbo.ProductGroupBuying .CreateTime;
                    //生效时间UpdateDate: EndTime;
                    //申请人CreateUser:dbo.ProductGroupBuying.Createusersysno对应的username;
                    //审核人UpdateUser:dbo.ProductGroupBuying.Audituser;
                    //商品原价OldPrice:GroupBuyingCurrentPrice;
                    //调后价格NewPrice:SnapShotCurrentPrice;
                    //调整幅度offset:调后价格减去商品原价;
                    //返现金额CashRebate:SnapShotCashRebate;


                    //2011-12-1 删除-该功能移入SP Rik.K.Li
                    //GroupBuyingDA.InsertGroupBuyingProductPricechangeLog(itemPrice.ProductSysNo.ToString(),
                    //                                                 snapShot.SnapShotCurrentPrice.ToString(),
                    //                                                 gbCurentPrice.ToString(),
                    //                                                 offset.ToString(),
                    //                                                 itemPrice.UnitCost,
                    //                                                 snapShot.SnapShotCashRebate,
                    //                                                 snapShot.SnapShotPoint,
                    //                                                 groupBuyingItem.InUser,
                    //                                                 groupBuyingItem.InDate,
                    //                                                 groupBuyingItem.AuditUser,
                    //                                                 groupBuyingItem.EndDate,
                    //                                                 "团购调价运行-->结束",
                    //                                                 "JobConsole",
                    //                                                 "GroupBuying");
                }


                if (groupBuyingItem.SuccessDate != null)
                {
                    groupBuyingItem.DealPrice = gbCurentPrice;
                }
                else
                {
                    groupBuyingItem.DealPrice = 0;
                }

                GroupBuyingDA.UpdateProductGroupBuyingFinish(groupBuyingItem);
                SyncGroupBuyingStatus(groupBuyingItem);


                ts.Complete();
            }
        }
Exemple #16
0
        /// <summary>
        /// 就绪-->运行
        /// </summary>
        /// <param name="groupBuyingItem"></param>
        /// <returns></returns>
        private static bool SetRunning(ProductGroupBuyingEntity groupBuyingItem)
        {
            if (groupBuyingItem.Status != "P")
            {
                throw new BusinessException("不是就绪状态");
            }

            using (TransactionScope ts = new TransactionScope())
            {
                List <ProductPriceInfoEntity> priceInfoList = GroupBuyingDA.GetProductPriceInfoList(groupBuyingItem.ProductSysNo, groupBuyingItem.IsByGroup);

                groupBuyingItem.Status = "A";

                if (groupBuyingItem.GroupBuyingTypeSysNo != 6)
                {
                    #region 如果团购类型为抽奖(6),则不需下列操作
                    ProductGroupBuying_PriceEntity gbPrice = GroupBuyingDA.GetProductGroupBuying_PriceList(groupBuyingItem).OrderBy(e => e.SellCount).ToList()[0];

                    //设置原价
                    groupBuyingItem.OriginalPrice = GroupBuyingDA.GetOriginalPrice(groupBuyingItem.ProductSysNo, groupBuyingItem.IsByGroup);

                    //设置团购为原始价格并记录团购最低阶价格
                    foreach (ProductPriceInfoEntity priceinfo in priceInfoList)
                    {
                        ProductGroupBuying_SnapShotPriceEntity snapShotPrice = new ProductGroupBuying_SnapShotPriceEntity();
                        snapShotPrice.SnapShotCashRebate      = priceinfo.CashRebate;
                        snapShotPrice.SnapShotCurrentPrice    = priceinfo.CurrentPrice;
                        snapShotPrice.SnapShotMaxPerOrder     = priceinfo.MaxPerOrder;
                        snapShotPrice.SnapShotPoint           = priceinfo.Point;
                        snapShotPrice.ProductSysNo            = priceinfo.ProductSysNo;
                        snapShotPrice.ProductGroupBuyingSysNo = groupBuyingItem.SysNo;
                        snapShotPrice.SnapshotBasicPrice      = priceinfo.BasicPrice;

                        //插入快照价格
                        GroupBuyingDA.CreateSnapShotPrice(snapShotPrice);


                        ProductPriceInfoEntity itemPrice = new ProductPriceInfoEntity();
                        itemPrice              = GroupBuyingDA.LoadItemPrice(priceinfo.ProductSysNo);
                        itemPrice.CashRebate   = 0;
                        itemPrice.BasicPrice   = groupBuyingItem.OriginalPrice;
                        itemPrice.CurrentPrice = gbPrice.GroupBuyingPrice;
                        itemPrice.Point        = 0;


                        groupBuyingItem.BasicPrice = itemPrice.BasicPrice;

                        //判断MaxPerOrder是否输入
                        if (groupBuyingItem.MaxPerOrder > 0)
                        {
                            itemPrice.MaxPerOrder = groupBuyingItem.MaxPerOrder;
                        }

                        //修改价格
                        //GroupBuyingDA.UpdateItemPrice(itemPrice);
                        GroupBuyingDA.UpdateItemPrice(itemPrice, groupBuyingItem, groupBuyingItem.InDate, "IPPSystemAdmin", DateTime.Now, "团购调价就绪-->运行", "JobConsole", "GroupBuying");

                        //修改商品信息促销类型为团购“GB”
                        GroupBuyingDA.UpdateProductEx(itemPrice.ProductSysNo, "GB");

                        //验证一个规则内差价是否小于0
                        if (groupBuyingItem.ProductSysNo != 0)
                        {
                            CheckSaleRule(groupBuyingItem.ProductSysNo);
                        }


                        //类型PriceLogType:记录为“限时促销调价”;
                        //申请时间CreateDate:dbo.ProductGroupBuying .InDate;
                        //生效时间UpdateDate:dbo.ProductGroupBuying .BeginDate;
                        //申请人CreateUser:InUser;
                        //审核人UpdateUser:dbo.ProductGroupBuying.Audituser;
                        //商品原价OldPrice:SnapShotCurrentPrice;
                        //调后价格NewPrice:GroupBuyingCurrentPrice;
                        //调整幅度offset:调后价格减去商品原价减去积分
                        //返现金额CashRebate:GroupBuyingCashRebate;
                        //积分Point: GroupBuyingPoint

                        //2011-12-1 删除-该功能移入SP Rik.K.Li
                        //decimal offset = 0;
                        //decimal point = (0 - snapShotPrice.SnapShotPoint) / 10m;
                        //offset = itemPrice.CurrentPrice - snapShotPrice.SnapShotCurrentPrice - point;

                        //string userName = groupBuyingItem.InUser;

                        //GroupBuyingDA.InsertGroupBuyingProductPricechangeLog(itemPrice.ProductSysNo.ToString(),
                        //                                                 gbPrice.GroupBuyingPrice.ToString(),
                        //                                                 snapShotPrice.SnapShotCurrentPrice.ToString(),
                        //                                                 offset.ToString(),
                        //                                                 itemPrice.UnitCost,
                        //                                                 0,
                        //                                                 0,
                        //                                                 groupBuyingItem.InUser,
                        //                                                 groupBuyingItem.InDate,
                        //                                                 groupBuyingItem.AuditUser,
                        //                                                 groupBuyingItem.BeginDate,
                        //                                                 "团购调价就绪-->运行",
                        //                                                 "JobConsole",
                        //                                                 "GroupBuying");
                    }
                    #endregion
                }


                GroupBuyingDA.UpdateProductGroupBuyingRun(groupBuyingItem);
                groupBuyingItem.Reasons = "";
                SyncGroupBuyingStatus(groupBuyingItem);

                ts.Complete();
            }
            return(true);
        }
Exemple #17
0
        public static List <ProductGroupBuying_PriceEntity> GetProductGroupBuying_PriceList(ProductGroupBuyingEntity entity)
        {
            DataCommand cmd = DataCommandManager.GetDataCommand("GetProductGroupBuyingPriceList");

            cmd.SetParameterValue("@ProductGroupBuyingSysNo", entity.SysNo);
            return(cmd.ExecuteEntityList <ProductGroupBuying_PriceEntity>());
        }
Exemple #18
0
        private static string BuildFailedMail(CustomerInfo customerInfo, SOEntity soEntity, ProductGroupBuyingEntity group)
        {
            string emailTemplate = MailTemplates.GroupBuyFailed;

            string linkForTitle = string.Format("<a href='http://tuan.newegg.com.cn/deal/{0}.htm'>{1}</a>", group.SystemNumber, group.GroupBuyingTitle);

            emailTemplate = emailTemplate.Replace("${CustomerID}", customerInfo.CustomerID)
                            .Replace("${SOSysNo}", soEntity.SOMaster.SystemNumber.ToString())
                            .Replace("${OrderDateTime}", soEntity.SOMaster.OrderDate.ToString("yyyy年MM月dd日 HH:mm"))
                            .Replace("${GroupTitle}", linkForTitle)
                            .Replace("${GroupStart}", group.BeginDate.ToString("yyyy年MM月dd日 HH:mm"))
                            .Replace("${GroupEnd}", group.EndDate.ToString("yyyy年MM月dd日 HH:mm"))
                            .Replace("${GroupLimited}", group.LowerLimitSellCount.ToString())
                            .Replace("${GroupCurrentCount}", group.CurrentSellCount.ToString())
                            .Replace("${SendDateTime}", DateTime.Now.ToString("yyyy-MM-dd"))
                            .Replace("${CopyRight}", DateTime.Now.Year.ToString());

            return(emailTemplate);
        }