Exemple #1
0
        public bool SetOrderIntegralInfo(OrderIntegralEntity pEntity, string customerId, out string res)
        {
            decimal integral        = this.itemService.GetItemIntegral(pEntity.ItemID);
            decimal integralAmmount = pEntity.Quantity.Value * integral;                              //使用积分
            decimal userIntegral    = ToDecimal(this.itemService.GetVipValidIntegral(pEntity.VIPID)); //用户剩余积分

            if (userIntegral - integralAmmount < 0)
            {
                res = "用户剩余积分不足";
                return(false);
            }

            IDbTransaction tran = new TransactionHelper(loggingSessionInfo).CreateTransaction();

            using (tran.Connection)
            {
                try
                {
                    /*插入订单积分、修改订单积分数据*/
                    //获取商品积分信息

                    pEntity.Integral        = integral;
                    pEntity.IntegralAmmount = integralAmmount;

                    new OrderIntegralBLL(loggingSessionInfo).Create(pEntity, tran);

                    VipIntegralBLL vipIntegralServer = new VipIntegralBLL(loggingSessionInfo);
                    vipIntegralServer.ProcessPoint(18, customerId, pEntity.VIPID, "", null, "", -integralAmmount);

                    //VipIntegralDetailEntity integralDetailEntity = new VipIntegralDetailEntity();
                    //integralDetailEntity.VipIntegralDetailID = Guid.NewGuid().ToString().Replace("-", "");
                    //integralDetailEntity.VIPID = pEntity.VIPID;
                    //integralDetailEntity.Integral = integralAmmount;
                    //integralDetailEntity.IntegralSourceID = "18";//兑礼减积分
                    //integralDetailEntity.CreateBy = "system";
                    //integralDetailEntity.EffectiveDate = DateTime.Now;
                    //integralDetailEntity.ObjectId = pEntity.OrderIntegralID;

                    //new VipIntegralDetailBLL(loggingSessionInfo).Create(integralDetailEntity, tran);

                    //this.itemService.UpdateVIPIntegral(userIntegral - integralAmmount, pEntity.VIPID, (SqlTransaction)tran);

                    tran.Commit();
                }
                catch
                {
                    tran.Rollback();
                    throw;
                }
            }
            res = "操作成功";
            return(true);
        }