コード例 #1
0
        public DeliveryFeeResult GetDeliveryFee(BargainUser bargainOrder, string province, string city, DeliveryFeeSumMethond sumMethod, DeliveryConfig config = null)
        {
            if (config == null)
            {
                config = DeliveryConfigBLL.SingleModel.GetConfig(new Bargain {
                    Id = bargainOrder.BId
                });
            }
            DeliveryProduct formatProduct = new DeliveryProduct
            {
                Count      = 1,
                Name       = bargainOrder.BName,
                TemplateId = config.Attr.DeliveryTemplateId,
                Weight     = config.Attr.Weight,
                Amount     = bargainOrder.CurrentPrice,
            };

            DeliveryFeeResult result = GetDeliveryFeeCommon(new List <DeliveryProduct> {
                formatProduct
            }, province, city, sumMethod);

            if (result.InRange)
            {
                DeliveryDiscount discount = GetDiscount(bargainOrder.aid, bargainOrder.CurrentPrice);
                result.Fee     = discount.HasDiscount ? discount.DiscountPrice : result.Fee;
                result.Message = discount.HasDiscount ? discount.DiscountInfo : result.Message;
            }
            return(result);
        }
コード例 #2
0
ファイル: GoodsCommentBLL.cs プロジェクト: soon14/vzan
        /// <summary>
        /// 标记订单已评论
        /// </summary>
        /// <param name="xcxtemplateType">模板类型</param>
        /// <param name="goodsType">商品类型</param>
        /// <param name="orderId"></param>
        /// <returns></returns>
        public bool OrderCommenting(int xcxtemplateType, int goodsType, int orderId)
        {
            switch (xcxtemplateType)
            {
            case (int)TmpType.小程序专业模板:
                switch (goodsType)
                {
                case (int)EntGoodsType.拼团产品:
                case (int)EntGoodsType.普通产品:
                    EntGoodsOrder entOrder = EntGoodsOrderBLL.SingleModel.GetModel(orderId);
                    if (entOrder == null)
                    {
                        return(false);
                    }
                    entOrder.IsCommentting = true;
                    return(EntGoodsOrderBLL.SingleModel.Update(entOrder, "IsCommentting"));

                case (int)EntGoodsType.价产品:
                    BargainUser bargainuser = BargainUserBLL.SingleModel.GetModel(orderId);
                    if (bargainuser == null)
                    {
                        return(true);
                    }
                    bargainuser.IsCommentting = true;
                    return(BargainUserBLL.SingleModel.Update(bargainuser, "IsCommentting"));
                }
                break;

            case (int)TmpType.小未平台子模版:
                PlatChildGoodsOrder platOrder = PlatChildGoodsOrderBLL.SingleModel.GetModel(orderId);
                if (platOrder == null)
                {
                    return(false);
                }
                platOrder.IsCommentting = true;
                return(PlatChildGoodsOrderBLL.SingleModel.Update(platOrder, "IsCommentting"));
            }

            return(false);
        }
コード例 #3
0
ファイル: ReFundQueueBLL.cs プロジェクト: soon14/vzan
        /// <summary>
        /// 砍价退款(照搬后台的)
        /// </summary>
        /// <param name="bargainUser"></param>
        /// <param name="bargain"></param>
        /// <param name="appId"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public bool BargainReFundQueue(BargainUser bargainUser, Bargain bargain, string appId, out string msg)
        {
            bargainUser.State        = 2;
            bargainUser.outOrderDate = DateTime.Now;

            if (bargainUser.PayType == (int)miniAppBuyMode.储值支付)
            {
                bargainUser.refundFee = bargainUser.CurrentPrice + bargain.GoodsFreight;
                bargainUser.State     = 3;
                SaveMoneySetUser saveMoneyUser = SaveMoneySetUserBLL.SingleModel.getModelByUserId(appId, bargainUser.UserId);
                TransactionModel tran          = new TransactionModel();
                tran.Add(SaveMoneySetUserLogBLL.SingleModel.BuildAddSql(new SaveMoneySetUserLog()
                {
                    AppId          = appId,
                    UserId         = bargainUser.UserId,
                    MoneySetUserId = saveMoneyUser.Id,
                    Type           = 1,
                    BeforeMoney    = saveMoneyUser.AccountMoney,
                    AfterMoney     = saveMoneyUser.AccountMoney + bargainUser.refundFee,
                    ChangeMoney    = bargainUser.refundFee,
                    ChangeNote     = $"小程序砍价购买商品[{bargainUser.BName}]退款,订单号:{bargainUser.OrderId} ",
                    CreateDate     = DateTime.Now,
                    State          = 1
                }));

                tran.Add($" update SaveMoneySetUser set AccountMoney = AccountMoney + {bargainUser.refundFee} where id =  {saveMoneyUser.Id} ; ");

                string updateBargainUser = BargainUserBLL.SingleModel.BuildUpdateSql(bargainUser, "State,outOrderDate,refundFee");

                tran.Add(updateBargainUser);

                bool isok = BargainBLL.SingleModel.ExecuteTransactionDataCorect(tran.sqlArray);
                if (isok)
                {
                    object orderData = TemplateMsg_Miniapp.BargainGetTemplateMessageData(bargainUser, SendTemplateMessageTypeEnum.价订单退款通知, "商家操作退款");
                    TemplateMsg_Miniapp.SendTemplateMessage(bargainUser, SendTemplateMessageTypeEnum.价订单退款通知, orderData);
                    msg = "退款成功,请查看账户余额!";
                }
                else
                {
                    msg = "退款异常!";//返回订单信息
                }
                return(isok);
            }
            else
            {
                bool isok = false;

                CityMorders order = _cityMordersBLL.GetModel(bargainUser.CityMordersId);
                if (order == null)
                {
                    msg = "订单信息有误!";
                    return(isok);
                }
                bargainUser.refundFee = bargainUser.CurrentPrice + bargain.GoodsFreight;
                if (BargainUserBLL.SingleModel.Update(bargainUser, "State,outOrderDate,refundFee"))
                {
                    ReFundQueue reModel = new ReFundQueue
                    {
                        minisnsId = -5,
                        money     = bargainUser.refundFee,
                        orderid   = order.Id,
                        traid     = order.trade_no,
                        addtime   = DateTime.Now,
                        note      = "小程序砍价订单退款",
                        retype    = 1
                    };
                    try
                    {
                        int funid = Convert.ToInt32(base.Add(reModel));
                        if (funid > 0)
                        {
                            object orderData = TemplateMsg_Miniapp.BargainGetTemplateMessageData(bargainUser, SendTemplateMessageTypeEnum.价订单退款通知, "商家操作退款");
                            TemplateMsg_Miniapp.SendTemplateMessage(bargainUser, SendTemplateMessageTypeEnum.价订单退款通知, orderData);
                            isok = true;
                            msg  = "操作成功,已提交退款申请!";
                            return(isok);
                        }
                        else
                        {
                            isok = false;
                            msg  = "退款异常插入队列小于0!";
                            return(isok);
                        }
                    }
                    catch (Exception ex)
                    {
                        log4net.LogHelper.WriteInfo(GetType(), $"{ex.Message} xxxxxxxxxxxxxxxx小程序砍价退款订单插入队列失败 ID={order.Id}");
                        isok = false;
                        msg  = "退款异常(插入队列失败)!";
                        return(isok);
                    }
                }
                else
                {
                    isok = false;
                    msg  = "退款异常!";
                    return(isok);
                }
            }
        }
コード例 #4
0
ファイル: GoodsCommentBLL.cs プロジェクト: soon14/vzan
        /// <summary>
        /// 是否已评论
        /// </summary>
        /// <param name="xcxtemplateType">模板类型</param>
        /// <param name="goodsType">商品类型</param>
        /// <param name="goodsId">商品ID(拼团entgoods表ID,团购groups表ID,普通商品entgoods表ID,砍价bargain表ID)</param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public bool IsComment(int xcxtemplateType, int goodsType, int goodsId, int orderId, int aid)
        {
            bool iscomment = false;

            switch (xcxtemplateType)
            {
            case (int)TmpType.小程序专业模板:
                switch (goodsType)
                {
                case (int)EntGoodsType.团购商品:
                    GroupUser groupuser = GroupUserBLL.SingleModel.GetModel(orderId);
                    if (groupuser == null)
                    {
                        return(true);
                    }
                    iscomment = ExitModel(aid, groupuser.ObtainUserId, groupuser.GroupId, orderId, goodsType);
                    groupuser.IsCommentting = true;
                    GroupUserBLL.SingleModel.Update(groupuser, "IsCommentting");
                    break;

                case (int)EntGoodsType.拼团产品:
                    EntGoodsCart gentgoodscart = EntGoodsCartBLL.SingleModel.GetModelByGoodsId(orderId, goodsId);
                    if (gentgoodscart == null)
                    {
                        return(true);
                    }
                    iscomment = ExitModel(aid, gentgoodscart.UserId, goodsId, orderId, goodsType);
                    gentgoodscart.IsCommentting = true;
                    EntGoodsCartBLL.SingleModel.Update(gentgoodscart, "IsCommentting");
                    break;

                case (int)EntGoodsType.普通产品:
                    EntGoodsCart entgoodscart = EntGoodsCartBLL.SingleModel.GetModelByGoodsId(orderId, goodsId);
                    if (entgoodscart == null)
                    {
                        return(true);
                    }
                    iscomment = ExitModel(aid, entgoodscart.UserId, goodsId, orderId, goodsType);
                    entgoodscart.IsCommentting = true;
                    EntGoodsCartBLL.SingleModel.Update(entgoodscart, "IsCommentting");
                    break;

                case (int)EntGoodsType.价产品:
                    BargainUser bargainuser = BargainUserBLL.SingleModel.GetModel(orderId);
                    if (bargainuser == null)
                    {
                        return(true);
                    }
                    iscomment = ExitModel(aid, bargainuser.UserId, bargainuser.BId, orderId, goodsType);
                    bargainuser.IsCommentting = true;
                    BargainUserBLL.SingleModel.Update(bargainuser, "IsCommentting");
                    break;
                }
                break;

            case (int)TmpType.小未平台子模版:

                PlatChildGoodsCart platChildGoodsCart = PlatChildGoodsCartBLL.SingleModel.GetModelByGoodsId(orderId, goodsId);
                if (platChildGoodsCart == null)
                {
                    return(true);
                }
                iscomment = ExitModel(aid, platChildGoodsCart.UserId, goodsId, orderId, goodsType);
                platChildGoodsCart.IsCommentting = true;
                PlatChildGoodsCartBLL.SingleModel.Update(platChildGoodsCart, "IsCommentting");
                break;
            }

            return(iscomment);
        }