Пример #1
0
        private void btnAuditAcceptRefund_Click(object obj, EventArgs eventArg)
        {
            decimal    num        = new decimal(0);
            RefundInfo refundInfo = new RefundInfo()
            {
                RefundId     = int.Parse(this.hidReturnsId.Value),
                AdminRemark  = this.txtAdminRemark.Text.Trim(),
                HandleTime   = DateTime.Now,
                AuditTime    = DateTime.Now.ToString(),
                HandleStatus = RefundInfo.Handlestatus.HasTheAudit
            };

            if (!decimal.TryParse(this.hidAuditM.Value, out num))
            {
                this.ShowMsg("输入的金额格式不正确", false);
                return;
            }
            refundInfo.RefundMoney = num;
            if (num < new decimal(0))
            {
                this.ShowMsg("不能为负数!", false);
                return;
            }
            if (!RefundHelper.UpdateByAuditReturnsId(refundInfo))
            {
                this.ShowMsg("审核失败,请重试。", false);
                return;
            }
            this.ShowMsg("审核成功", true);
            this.LoadReturnApplyData();
        }
Пример #2
0
        public void AddRefund(RefundInfo refundInfo)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendFormat("insert into Hishop_OrderRefund(OrderId,ApplyForTime,RefundRemark,HandleStatus) values('{0}','{1}','{2}',{3})", new object[] { refundInfo.OrderId, refundInfo.ApplyForTime, refundInfo.RefundRemark, (int)refundInfo.HandleStatus });
            this.database.ExecuteNonQuery(CommandType.Text, builder.ToString());
        }
Пример #3
0
    public List <RefundInfo> GetAllRefund(string nick, DateTime start, DateTime end)
    {
        List <RefundInfo> list = new List <RefundInfo>();

        SqlParameter[] param = new[]
        {
            new SqlParameter("@nick", nick),
            new SqlParameter("@start", start),
            new SqlParameter("@end", end)
        };

        DataTable dt = DBHelper.ExecuteDataTable(SQL_SELECT, param);

        foreach (DataRow dr in dt.Rows)
        {
            RefundInfo info = new RefundInfo();
            info.tid       = dr["tid"].ToString();
            info.total_fee = decimal.Parse(dr["total_fee"].ToString());
            info.payment   = decimal.Parse(dr["payment"].ToString());
            info.modified  = dr["modified"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(dr["modified"].ToString());

            info.buyer_nick = dr["buyer_nick"].ToString();
            info.created    = dr["created"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(dr["created"].ToString());
            info.num        = int.Parse(dr["num"].ToString());

            list.Add(info);
        }

        return(list);
    }
Пример #4
0
        private void btnAuditAcceptRefund_Click(object sender, EventArgs e)
        {
            decimal    result     = 0M;
            RefundInfo refundInfo = new RefundInfo {
                RefundId     = int.Parse(this.hidReturnsId.Value),
                AdminRemark  = this.txtAdminRemark.Text.Trim(),
                HandleTime   = DateTime.Now,
                AuditTime    = DateTime.Now.ToString(),
                HandleStatus = RefundInfo.Handlestatus.NoRefund
            };

            if (!decimal.TryParse(this.hidAuditM.Value, out result))
            {
                this.ShowMsg("输入的金额格式不正确", false);
            }
            else
            {
                refundInfo.RefundMoney = result;
                if (result < 0M)
                {
                    this.ShowMsg("不能为负数!", false);
                }
                else if (RefundHelper.UpdateByAuditReturnsId(refundInfo))
                {
                    this.ShowMsg("审核成功", true);
                    this.BindRefund();
                }
                else
                {
                    this.ShowMsg("审核失败,请重试。", false);
                }
            }
        }
Пример #5
0
        public static string SendRequest(RefundInfo info, PayConfig config)
        {
            WxPayData wxPayData = new WxPayData();

            if (!string.IsNullOrEmpty(info.transaction_id))
            {
                wxPayData.SetValue("transaction_id", info.transaction_id);
            }
            else
            {
                wxPayData.SetValue("out_trade_no", info.out_trade_no);
            }
            wxPayData.SetValue("total_fee", (int)info.TotalFee.Value);
            wxPayData.SetValue("refund_fee", (int)info.RefundFee.Value);
            wxPayData.SetValue("out_refund_no", info.out_refund_no);
            wxPayData.SetValue("op_user_id", config.MchID);
            wxPayData.SetValue("sub_appid", config.sub_appid);
            wxPayData.SetValue("sub_mch_id", config.sub_mch_id);
            wxPayData.SetValue("refund_account", "REFUND_SOURCE_RECHARGE_FUNDS");
            WxPayData wxPayData2 = WxPayApi.Refund(wxPayData, config, 60);
            SortedDictionary <string, object> values = wxPayData2.GetValues();

            if (values["return_code"].ToString() == "SUCCESS" && values["result_code"].ToString() == "SUCCESS")
            {
                return("SUCCESS");
            }
            if (values["return_code"].ToString() == "SUCCESS")
            {
                return(values["err_code_des"].ToString());
            }
            return(values["return_msg"].ToString());
        }
Пример #6
0
        public RefundInfo GetByOrderIdAndProductID(string orderId, int productid, string skuid, int orderitemid)
        {
            RefundInfo info = null;
            string     str  = string.Empty;

            if (orderitemid > 0)
            {
                str = "select top 1 * from Hishop_OrderReturns where OrderId=@OrderId and OrderItemID=@OrderItemID";
            }
            else if (!string.IsNullOrEmpty(skuid))
            {
                str = "select top 1 * from Hishop_OrderReturns where OrderId=@OrderId and SkuID=@SkuID";
            }
            else if (productid > 0)
            {
                str = "select  top 1 * from Hishop_OrderReturns where OrderId=@OrderId and ProductId=" + productid;
            }
            if (string.IsNullOrEmpty(str))
            {
                return(info);
            }
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand(str);

            this.database.AddInParameter(sqlStringCommand, "OrderId", DbType.String, orderId);
            this.database.AddInParameter(sqlStringCommand, "SkuID", DbType.String, skuid);
            this.database.AddInParameter(sqlStringCommand, "OrderItemID", DbType.String, orderitemid);
            using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand))
            {
                return(ReaderConvert.ReaderToModel <RefundInfo>(reader));
            }
        }
Пример #7
0
 public bool ApplyForRefund(RefundInfo refund)
 {
     //StringBuilder builder = new StringBuilder();
     //if (string.IsNullOrEmpty(refund.SkuId))
     //{
     //    builder.Append("UPDATE Hishop_Orders SET OrderStatus = @OrderStatus,RefundAmount = @RefundMoney WHERE OrderId = @OrderId;");
     //}
     //else
     //{
     //    builder.Append("UPDATE Hishop_OrderItems SET RefundAmount = @RefundMoney,RealTotalPrice = (ItemAdjustedPrice * Quantity - @RefundMoney),Status = @ItemStatus WHERE OrderId = @OrderId AND SkuId = @SkuId;");
     //    builder.Append("DELETE FROM Hishop_OrderRefund WHERE OrderId = @OrderId AND SkuId = @SkuId;");
     //}
     //builder.Append(" INSERT INTO Hishop_OrderRefund(OrderId,ApplyForTime,RefundRemark,HandleStatus,RefundType,SkuId,RefundOrderId,RefundGateWay,ShopName,RefundAmount,StoreId,RefundReason,UserCredentials) values(@OrderId,@ApplyForTime,@RefundRemark,0,@RefundType,@SkuId,@RefundOrderId,@RefundGateWay,@ShopName,@RefundMoney,@StoreId,@RefundReason,@UserCredentials);");
     //DbCommand sqlStringCommand = this.database.GetSqlStringCommand(builder.ToString());
     //this.database.AddInParameter(sqlStringCommand, "OrderStatus", DbType.Int32, 6);
     //this.database.AddInParameter(sqlStringCommand, "RefundOrderId", DbType.String, refund.RefundOrderId);
     //this.database.AddInParameter(sqlStringCommand, "RefundGateWay", DbType.String, refund.RefundGateWay);
     //this.database.AddInParameter(sqlStringCommand, "OrderId", DbType.String, refund.OrderId);
     //this.database.AddInParameter(sqlStringCommand, "ApplyForTime", DbType.DateTime, DateTime.Now);
     //this.database.AddInParameter(sqlStringCommand, "RefundRemark", DbType.String, refund.RefundRemark);
     //this.database.AddInParameter(sqlStringCommand, "RefundType", DbType.Int32, (int)refund.RefundType);
     //this.database.AddInParameter(sqlStringCommand, "SkuId", DbType.String, refund.SkuId);
     //this.database.AddInParameter(sqlStringCommand, "ShopName", DbType.String, refund.ShopName);
     //this.database.AddInParameter(sqlStringCommand, "Quantity", DbType.Int32, refund.Quantity);
     //this.database.AddInParameter(sqlStringCommand, "RefundMoney", DbType.Decimal, refund.RefundAmount);
     //this.database.AddInParameter(sqlStringCommand, "StoreId", DbType.Int32, refund.StoreId);
     //this.database.AddInParameter(sqlStringCommand, "RefundReason", DbType.String, refund.RefundReason);
     //this.database.AddInParameter(sqlStringCommand, "UserCredentials", DbType.String, refund.UserCredentials);
     //this.database.AddInParameter(sqlStringCommand, "ItemStatus", DbType.Int32, LineItemStatus.RefundApplied);
     //return (this.database.ExecuteNonQuery(sqlStringCommand) > 0);
     return(true);
 }
Пример #8
0
        public bool InsertOrderRefund(RefundInfo refundInfo)
        {
            bool         result      = false;
            LineItemDao  lineItemDao = new LineItemDao();
            LineItemInfo returnMoneyByOrderIDAndProductID = lineItemDao.GetReturnMoneyByOrderIDAndProductID(refundInfo.OrderId, refundInfo.SkuId, refundInfo.OrderItemID);

            if (returnMoneyByOrderIDAndProductID != null)
            {
                decimal num = returnMoneyByOrderIDAndProductID.GetSubTotal() - returnMoneyByOrderIDAndProductID.DiscountAverage - returnMoneyByOrderIDAndProductID.ItemAdjustedCommssion;
                if (num < 0m)
                {
                    num = 0m;
                }
                System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("insert into Hishop_OrderReturns(OrderId,ApplyForTime,Comments,HandleStatus,Account,RefundMoney,RefundType,ProductId,UserId,AuditTime,SkuId,OrderItemID) values(@OrderId,@ApplyForTime,@Comments,@HandleStatus,@Account,@RefundMoney,@RefundType,@ProductId,@UserId,@AuditTime,@SkuId,@OrderItemID)");
                this.database.AddInParameter(sqlStringCommand, "OrderId", System.Data.DbType.String, refundInfo.OrderId);
                this.database.AddInParameter(sqlStringCommand, "ApplyForTime", System.Data.DbType.DateTime, refundInfo.ApplyForTime);
                this.database.AddInParameter(sqlStringCommand, "Comments", System.Data.DbType.String, refundInfo.Comments);
                this.database.AddInParameter(sqlStringCommand, "HandleStatus", System.Data.DbType.Int32, (int)refundInfo.HandleStatus);
                this.database.AddInParameter(sqlStringCommand, "Account", System.Data.DbType.String, refundInfo.Account);
                this.database.AddInParameter(sqlStringCommand, "RefundMoney", System.Data.DbType.Decimal, num);
                this.database.AddInParameter(sqlStringCommand, "RefundType", System.Data.DbType.Int32, refundInfo.RefundType);
                this.database.AddInParameter(sqlStringCommand, "ProductId", System.Data.DbType.Int32, refundInfo.ProductId);
                this.database.AddInParameter(sqlStringCommand, "UserId", System.Data.DbType.Int32, refundInfo.UserId);
                this.database.AddInParameter(sqlStringCommand, "AuditTime", System.Data.DbType.String, refundInfo.AuditTime);
                this.database.AddInParameter(sqlStringCommand, "SkuId", System.Data.DbType.String, refundInfo.SkuId);
                this.database.AddInParameter(sqlStringCommand, "OrderItemID", System.Data.DbType.Int32, refundInfo.OrderItemID);
                result = (this.database.ExecuteNonQuery(sqlStringCommand) > 0);
            }
            return(result);
        }
Пример #9
0
        public bool UpdateByReturnsId(RefundInfo refundInfo)
        {
            string text  = string.Empty;
            string text2 = string.Empty;

            if (refundInfo.HandleStatus == RefundInfo.Handlestatus.Refunded)
            {
                text = ",ItemsCommission=0,SecondItemsCommission=0,ThirdItemsCommission=0,ReturnMoney=@RefundMoney ";
            }
            text2 = ",BalanceReturnMoney=" + refundInfo.BalanceReturnMoney.ToString("F2") + " ";
            System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(string.Concat(new string[]
            {
                "update Hishop_OrderItems set IsHandled=1",
                text,
                " where OrderId =@OrderId and SkuId=@SkuId and Type=0;update Hishop_OrderReturns set AdminRemark=@AdminRemark,HandleStatus=@HandleStatus,HandleTime=@HandleTime,Operator=@Operator,RefundTime=@RefundTime,RefundMoney=@RefundMoney",
                text2,
                " where ReturnsId =@ReturnsId"
            }));
            this.database.AddInParameter(sqlStringCommand, "AdminRemark", System.Data.DbType.String, refundInfo.AdminRemark);
            this.database.AddInParameter(sqlStringCommand, "HandleStatus", System.Data.DbType.Int32, (int)refundInfo.HandleStatus);
            this.database.AddInParameter(sqlStringCommand, "HandleTime", System.Data.DbType.DateTime, refundInfo.HandleTime);
            this.database.AddInParameter(sqlStringCommand, "Operator", System.Data.DbType.String, refundInfo.Operator);
            this.database.AddInParameter(sqlStringCommand, "RefundTime", System.Data.DbType.String, refundInfo.RefundTime);
            this.database.AddInParameter(sqlStringCommand, "RefundMoney", System.Data.DbType.Decimal, refundInfo.RefundMoney);
            this.database.AddInParameter(sqlStringCommand, "ReturnsId", System.Data.DbType.Int32, refundInfo.RefundId);
            this.database.AddInParameter(sqlStringCommand, "OrderId", System.Data.DbType.String, refundInfo.OrderId);
            this.database.AddInParameter(sqlStringCommand, "ProductId", System.Data.DbType.Int32, refundInfo.ProductId);
            this.database.AddInParameter(sqlStringCommand, "SkuId", System.Data.DbType.String, refundInfo.SkuId);
            return(this.database.ExecuteNonQuery(sqlStringCommand) > 0);
        }
Пример #10
0
        public RefundInfo GetByOrderIdAndProductID(string orderId, int productid, string skuid, int orderitemid)
        {
            RefundInfo result = null;
            string     text   = string.Empty;

            if (orderitemid > 0)
            {
                text = "select top 1 * from Hishop_OrderReturns where OrderId=@OrderId and OrderItemID=@OrderItemID";
            }
            else if (!string.IsNullOrEmpty(skuid))
            {
                text = "select top 1 * from Hishop_OrderReturns where OrderId=@OrderId and SkuID=@SkuID";
            }
            else if (productid > 0)
            {
                text = "select  top 1 * from Hishop_OrderReturns where OrderId=@OrderId and ProductId=" + productid;
            }
            if (!string.IsNullOrEmpty(text))
            {
                System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(text);
                this.database.AddInParameter(sqlStringCommand, "OrderId", System.Data.DbType.String, orderId);
                this.database.AddInParameter(sqlStringCommand, "SkuID", System.Data.DbType.String, skuid);
                this.database.AddInParameter(sqlStringCommand, "OrderItemID", System.Data.DbType.String, orderitemid);
                using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
                {
                    result = ReaderConvert.ReaderToModel <RefundInfo>(dataReader);
                }
            }
            return(result);
        }
Пример #11
0
        public bool InsertOrderRefund(RefundInfo refundInfo)
        {
            bool         flag = false;
            decimal      num  = 0M;
            LineItemInfo returnMoneyByOrderIDAndProductID = new LineItemDao().GetReturnMoneyByOrderIDAndProductID(refundInfo.OrderId, refundInfo.ProductId);

            if (returnMoneyByOrderIDAndProductID == null)
            {
                return(flag);
            }
            num = (returnMoneyByOrderIDAndProductID.GetSubTotal() - returnMoneyByOrderIDAndProductID.DiscountAverage) - returnMoneyByOrderIDAndProductID.ItemAdjustedCommssion;
            if (num < 0M)
            {
                num = 0M;
            }
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand("insert into Hishop_OrderReturns(OrderId,ApplyForTime,Comments,HandleStatus,Account,RefundMoney,RefundType,ProductId,UserId,AuditTime) values(@OrderId,@ApplyForTime,@Comments,@HandleStatus,@Account,@RefundMoney,@RefundType,@ProductId,@UserId,@AuditTime)");

            this.database.AddInParameter(sqlStringCommand, "OrderId", DbType.String, refundInfo.OrderId);
            this.database.AddInParameter(sqlStringCommand, "ApplyForTime", DbType.DateTime, refundInfo.ApplyForTime);
            this.database.AddInParameter(sqlStringCommand, "Comments", DbType.String, refundInfo.RefundRemark);
            this.database.AddInParameter(sqlStringCommand, "HandleStatus", DbType.Int32, (int)refundInfo.HandleStatus);
            this.database.AddInParameter(sqlStringCommand, "Account", DbType.String, refundInfo.Account);
            this.database.AddInParameter(sqlStringCommand, "RefundMoney", DbType.Decimal, num);
            this.database.AddInParameter(sqlStringCommand, "RefundType", DbType.Int32, refundInfo.RefundType);
            this.database.AddInParameter(sqlStringCommand, "ProductId", DbType.Int32, refundInfo.ProductId);
            this.database.AddInParameter(sqlStringCommand, "UserId", DbType.Int32, refundInfo.UserId);
            this.database.AddInParameter(sqlStringCommand, "AuditTime", DbType.String, refundInfo.AuditTime);
            return(this.database.ExecuteNonQuery(sqlStringCommand) > 0);
        }
Пример #12
0
        private static RefundResult getRefundResult(RefundInfo refundInfo, bool isRoyaltyBill)
        {
            var result = new RefundResult {
                Success    = refundInfo.Status == RefundStatus.RefundSuccess,
                Account    = isRoyaltyBill ? refundInfo.RefundAccount.AccountNo : refundInfo.IncomeAccount.AccountNo,
                RefundTime = refundInfo.RefundDate,
            };

            if (!result.Success)
            {
                result.ErrorMessage = refundInfo.Description;
            }

            var billRoles = new List <Distribution.Domain.Role.TradeRoleType>();

            if (string.IsNullOrWhiteSpace(refundInfo.ExtendParameter))
            {
                billRoles.Add(Distribution.Domain.Role.TradeRoleType.Purchaser);
            }
            else
            {
                var roleType      = typeof(Distribution.Domain.Role.TradeRoleType);
                var billRoleTexts = refundInfo.ExtendParameter.Split(',');
                foreach (var tradeRole in billRoleTexts)
                {
                    billRoles.Add((Distribution.Domain.Role.TradeRoleType)Enum.Parse(roleType, tradeRole, true));
                }
            }
            result.Roles = billRoles;
            return(result);
        }
Пример #13
0
        public virtual RefundInfo LoadBySysNo(int sysNo, out string customerName,
                                              out CustomerContactInfo contactInfo,
                                              out PromotionCode_Customer_Log promotionCodeLog)
        {
            RefundInfo refund = ObjectFactory <RefundProcessor> .Instance.LoadWithItemsBySysNo(sysNo);

            CustomerInfo customer = ExternalDomainBroker.GetCustomerInfo(refund.CustomerSysNo.Value);

            customerName          = customer.BasicInfo.CustomerName;
            refund.IncomeBankInfo = ExternalDomainBroker.GetSOIncomeRefundInfo(sysNo, RefundOrderType.RO);
            contactInfo           = null;
            if (refund.RefundPayType == RefundPayType.BankRefund && refund.IncomeBankInfo != null &&
                string.IsNullOrEmpty(refund.IncomeBankInfo.CardNumber))
            {
                if (refund.RefundItems != null && refund.RefundItems.Count > 0)
                {
                    RMARequestInfo request = ObjectFactory <RequestProcessor> .Instance.LoadByRegisterSysNo(refund.RefundItems[0].RegisterSysNo.Value);

                    contactInfo = ObjectFactory <CustomerContactProcessor> .Instance.LoadByRequestSysNo(request.SysNo.Value);
                }
            }
            promotionCodeLog = ExternalDomainBroker.GetPromotionCodeLog(refund.SOSysNo.Value);
            if (promotionCodeLog != null)
            {
                promotionCodeLog.UsedOrderSysNo = ExternalDomainBroker.GetSOSysNoByCouponSysNo(promotionCodeLog.CouponCodeSysNo.Value);
            }
            return(refund);
        }
Пример #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            this.btnAcceptRefund.Click += this.btnAcceptRefund_Click;
            this.btnRefuseRefund.Click += this.btnRefuseRefund_Click;
            int refundId = this.Page.Request["RefundId"].ToInt(0);

            this.refund     = TradeHelper.GetRefundInfo(refundId);
            this.RefundData = this.refund;
            if (this.refund == null)
            {
                this.ShowMsg("退款信息错误!", false);
            }
            else
            {
                this.order = TradeHelper.GetOrderInfo(this.refund.OrderId);
                if (this.order == null)
                {
                    this.ShowMsg("错误的订单信息!", false);
                }
                else if (!this.Page.IsPostBack)
                {
                    this.bindRefundInfo();
                }
            }
        }
Пример #15
0
        public void UpdateMaster(RefundInfo entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("UpdateRefundMaster");

            command.SetParameterValue <RefundInfo>(entity);

            command.ExecuteNonQuery();
        }
Пример #16
0
        protected void btnAcceptRefund_Click(object sender, EventArgs e)
        {
            decimal    result     = 0M;
            int        num2       = 0;
            RefundInfo refundInfo = new RefundInfo {
                RefundId     = int.Parse(this.hidReturnsId.Value),
                AdminRemark  = this.hidAdminRemark.Value.Trim(),
                HandleTime   = DateTime.Now,
                RefundTime   = DateTime.Now.ToString(),
                HandleStatus = RefundInfo.Handlestatus.Refunded,
                Operator     = Globals.GetCurrentManagerUserId().ToString()
            };

            if (!decimal.TryParse(this.hidRefundM.Value, out result))
            {
                this.ShowMsg("输入的金额格式不正确", false);
            }
            else
            {
                refundInfo.RefundMoney = result;
                if (result < 0M)
                {
                    this.ShowMsg("不能为负数!", false);
                }
                else if (RefundHelper.UpdateByReturnsId(refundInfo))
                {
                    OrderInfo orderInfo = OrderHelper.GetOrderInfo(this.hidOrderId.Value);
                    string    skuid     = null;
                    foreach (LineItemInfo info3 in orderInfo.LineItems.Values)
                    {
                        if (info3.ProductId == int.Parse(this.hidProductId.Value))
                        {
                            skuid = info3.SkuId;
                        }
                    }
                    if (RefundHelper.UpdateOrderGoodStatu(this.hidOrderId.Value, skuid, 9))
                    {
                        foreach (LineItemInfo info5 in OrderHelper.GetOrderInfo(this.hidOrderId.Value).LineItems.Values)
                        {
                            if (info5.OrderItemsStatus.ToString() == OrderStatus.Refunded.ToString())
                            {
                                num2++;
                            }
                        }
                        if (orderInfo.LineItems.Values.Count == num2)
                        {
                            this.CloseOrder(this.hidOrderId.Value);
                        }
                        this.ShowMsg("成功退款", true);
                        this.BindRefund();
                    }
                }
                else
                {
                    this.ShowMsg("退款失败,请重试。", false);
                }
            }
        }
Пример #17
0
        public void Update(RefundInfo refundInfo)
        {
            if (refundInfo == null)
            {
                throw new ArgumentNullException("refundInfo");
            }

            _refundInfoRepository.Update(refundInfo);
        }
Пример #18
0
        public RefundInfo InsertMaster(RefundInfo entity)
        {
            DataCommand command = DataCommandManager.GetDataCommand("InsertRefundMaster");

            command.SetParameterValue <RefundInfo>(entity);

            command.ExecuteNonQuery();

            return(entity);
        }
Пример #19
0
        public RefundInfo GetMasterBySysNo(int sysNo)
        {
            DataCommand command = DataCommandManager.GetDataCommand("GetRefundMaster");

            command.SetParameterValue("@SysNo", sysNo);

            RefundInfo entity = command.ExecuteEntity <RefundInfo>();

            return(entity);
        }
Пример #20
0
        public bool Add(RefundInfo refundInfo)
        {
            Parameters cmdParams = new Parameters();

            cmdParams.AddInParameter("@OrderID", DbType.Int32, refundInfo.OrderId);
            cmdParams.AddInParameter("@Money", DbType.Decimal, refundInfo.Money);
            cmdParams.AddInParameter("@HandlingCharge", DbType.Decimal, refundInfo.HandlingCharge);
            cmdParams.AddInParameter("@RefundType", DbType.Int32, refundInfo.RefundType);
            return(DBHelper.ExecuteProc("PR_Shop_Refund_Add", cmdParams));
        }
Пример #21
0
        /// <summary>
        /// 领取操作,把处理人改为当前用户,状态改为处理中,领取时间为当前时间
        /// </summary>
        /// <param name="refundInfo"></param>
        /// <returns></returns>
        public bool UpdateOrderRefundInfo(RefundInfo refundInfo)
        {
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand("update Ecshop_OrderRefund set HandleStatus = @HandleStatus,Operator=@Operator,ReceiveTime=@ReceiveTime where RefundId=@RefundId and HandleStatus = 0");

            this.database.AddInParameter(sqlStringCommand, "RefundId", DbType.Int32, refundInfo.RefundId);
            this.database.AddInParameter(sqlStringCommand, "HandleStatus", DbType.Int32, refundInfo.Status);
            this.database.AddInParameter(sqlStringCommand, "Operator", DbType.String, refundInfo.Operator);
            this.database.AddInParameter(sqlStringCommand, "ReceiveTime", DbType.DateTime, refundInfo.ReceiveTime);
            return(this.database.ExecuteNonQuery(sqlStringCommand) > 0);
        }
Пример #22
0
 /// <summary>
 /// 判断某人有没有申请某航段的退款
 /// </summary>
 private bool hasApply(RefundInfo refundInfo, Guid flight, Guid passenger)
 {
     if (refundInfo == null)
     {
         return(true);
     }
     else
     {
         return(refundInfo.Contains(flight, passenger));
     }
 }
Пример #23
0
        private bool SetGroupBuyFailed(int groupBuyId)
        {
            IDataReader   reader;
            StringBuilder builder = new StringBuilder();

            builder.Append("update Hishop_Orders set OrderStatus = 6 where GroupBuyId = @GroupBuyId and OrderStatus = 2;");
            builder.AppendFormat("update Hishop_Orders set OrderStatus = 4,CloseReason='{0}' where GroupBuyId = @GroupBuyId and OrderStatus = 1;", "团购失败,自动关闭");
            builder.Append("UPDATE Hishop_GroupBuy SET Status = 5,SoldCount = 0 WHERE GroupBuyId = @GroupBuyId AND (select Count(1) from Hishop_Orders where GroupBuyId = @GroupBuyId and OrderStatus = 6) >0;");
            builder.Append("UPDATE Hishop_GroupBuy SET Status = 4,SoldCount = 0 WHERE GroupBuyId = @GroupBuyId AND (select Count(1) from Hishop_Orders where GroupBuyId = @GroupBuyId and OrderStatus = 6) =0;");
            builder.Append("  select OrderId,TelPhone,CellPhone,ShippingRegion+[Address] as [Address],ShipTo from Hishop_Orders where GroupBuyId = @GroupBuyId and OrderStatus = 6; ");
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand(builder.ToString());

            this.database.AddInParameter(sqlStringCommand, "GroupBuyId", DbType.Int32, groupBuyId);
            using (reader = this.database.ExecuteReader(sqlStringCommand))
            {
                RefundInfo refundInfo = new RefundInfo();
                RefundDao  dao        = new RefundDao();
                while (reader.Read())
                {
                    refundInfo.OrderId      = reader["OrderId"].ToString();
                    refundInfo.RefundRemark = "团购失败,申请退款";
                    refundInfo.ApplyForTime = DateTime.Now;
                    refundInfo.HandleStatus = RefundInfo.Handlestatus.Applied;
                    dao.AddRefund(refundInfo);
                }
            }
            builder.Clear();
            builder.Append("select c.SkuId,c.Quantity from Hishop_GroupBuy a left join Hishop_Orders b on a.GroupBuyId = b.GroupBuyId left join Hishop_OrderItems c on b.OrderId = c.OrderId left join Hishop_SKUs d on c.SkuId = d.SkuId where a.GroupBuyId =@GroupBuyId and b.OrderStatus = 6");
            sqlStringCommand = this.database.GetSqlStringCommand(builder.ToString());
            this.database.AddInParameter(sqlStringCommand, "GroupBuyId", DbType.Int32, groupBuyId);
            Dictionary <string, int> source = new Dictionary <string, int>();

            using (reader = this.database.ExecuteReader(sqlStringCommand))
            {
                while (reader.Read())
                {
                    Dictionary <string, int> dictionary2;
                    string str2;
                    string key = reader.GetString(0);
                    if (!source.ContainsKey(key))
                    {
                        source[key] = 0;
                    }
                    (dictionary2 = source)[str2 = key] = dictionary2[str2] + reader.GetInt32(1);
                }
            }
            builder.Clear();
            for (int i = 0; i < source.Count; i++)
            {
                builder.AppendFormat("update Hishop_SKUs set Stock=Stock+{1} where SKUId = '{0}';", source.ElementAt <KeyValuePair <string, int> >(i).Key, source.ElementAt <KeyValuePair <string, int> >(i).Value);
            }
            this.database.ExecuteNonQuery(CommandType.Text, builder.ToString());
            return(true);
        }
Пример #24
0
        public RefundInfo GetByOrderId(string orderId)
        {
            string     query            = "select * from Ecshop_OrderRefund where OrderId='" + orderId + "'";
            DbCommand  sqlStringCommand = this.database.GetSqlStringCommand(query);
            RefundInfo result           = null;

            using (IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                result = ReaderConvert.ReaderToModel <RefundInfo>(dataReader);
            }
            return(result);
        }
Пример #25
0
 public void UpdateByOrderId(RefundInfo refundInfo)
 {
     System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("update Hishop_OrderRefund set AdminRemark=@AdminRemark,ApplyForTime=@ApplyForTime,HandleStatus=@HandleStatus,HandleTime=@HandleTime,Operator=@Operator,RefundRemark=@RefundRemark where OrderId =@OrderId");
     this.database.AddInParameter(sqlStringCommand, "AdminRemark", System.Data.DbType.String, refundInfo.AdminRemark);
     this.database.AddInParameter(sqlStringCommand, "ApplyForTime", System.Data.DbType.String, refundInfo.ApplyForTime);
     this.database.AddInParameter(sqlStringCommand, "HandleStatus", System.Data.DbType.Int32, refundInfo.HandleStatus);
     this.database.AddInParameter(sqlStringCommand, "HandleTime", System.Data.DbType.DateTime, refundInfo.HandleTime);
     this.database.AddInParameter(sqlStringCommand, "Operator", System.Data.DbType.String, refundInfo.Operator);
     this.database.AddInParameter(sqlStringCommand, "RefundRemark", System.Data.DbType.String, refundInfo.RefundRemark);
     this.database.AddInParameter(sqlStringCommand, "OrderId", System.Data.DbType.String, refundInfo.OrderId);
     this.database.ExecuteNonQuery(sqlStringCommand);
 }
Пример #26
0
        public RefundInfo GetOrderReturnsByReturnsID(int returnsid)
        {
            RefundInfo result = null;
            string     query  = "select  top 1 * from Hishop_OrderReturns where ReturnsId=" + returnsid;

            System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query);
            using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                result = ReaderConvert.ReaderToModel <RefundInfo>(dataReader);
            }
            return(result);
        }
Пример #27
0
        private void btnRefuseRefund_Click(object obj, EventArgs eventArg)
        {
            decimal    num        = new decimal(0);
            RefundInfo refundInfo = new RefundInfo()
            {
                RefundId     = int.Parse(this.hidReturnsId.Value),
                AdminRemark  = this.hidAdminRemark.Value.Trim(),
                HandleTime   = DateTime.Now,
                HandleStatus = RefundInfo.Handlestatus.RefuseRefunded,
                Operator     = Globals.GetCurrentManagerUserId().ToString()
            };

            if (!decimal.TryParse(this.hidRefundM.Value, out num))
            {
                this.ShowMsg("输入的金额格式不正确", false);
                return;
            }
            refundInfo.RefundMoney = num;
            if (num < new decimal(0))
            {
                this.ShowMsg("不能为负数!", false);
                return;
            }
            if (!RefundHelper.UpdateByReturnsId(refundInfo))
            {
                this.ShowMsg("操作失败,请重试。", false);
            }
            else
            {
                OrderInfo orderInfo        = OrderHelper.GetOrderInfo(this.hidOrderId.Value);
                string    skuId            = null;
                int       orderItemsStatus = 0;
                foreach (LineItemInfo value in orderInfo.LineItems.Values)
                {
                    if (value.ProductId != int.Parse(this.hidProductId.Value))
                    {
                        continue;
                    }
                    skuId            = value.SkuId;
                    orderItemsStatus = (int)value.OrderItemsStatus;
                }
                if (orderItemsStatus == 7)
                {
                    this.hidStatus.Value = 3.ToString();
                }
                if (RefundHelper.UpdateOrderGoodStatu(this.hidOrderId.Value, skuId, (int.Parse(this.hidStatus.Value) == 6 ? 2 : 3)))
                {
                    this.ShowMsg("操作成功", true);
                    this.LoadReturnApplyData();
                    return;
                }
            }
        }
Пример #28
0
 public bool UpdateByAuditReturnsId(RefundInfo refundInfo)
 {
     System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("update Hishop_OrderReturns set AdminRemark=@AdminRemark,HandleStatus=@HandleStatus,HandleTime=@HandleTime,Operator=@Operator,AuditTime=@AuditTime,RefundMoney=@RefundMoney where ReturnsId =@ReturnsId");
     this.database.AddInParameter(sqlStringCommand, "AdminRemark", System.Data.DbType.String, refundInfo.AdminRemark);
     this.database.AddInParameter(sqlStringCommand, "HandleStatus", System.Data.DbType.Int32, (int)refundInfo.HandleStatus);
     this.database.AddInParameter(sqlStringCommand, "HandleTime", System.Data.DbType.DateTime, refundInfo.HandleTime);
     this.database.AddInParameter(sqlStringCommand, "Operator", System.Data.DbType.String, refundInfo.Operator);
     this.database.AddInParameter(sqlStringCommand, "AuditTime", System.Data.DbType.String, refundInfo.AuditTime);
     this.database.AddInParameter(sqlStringCommand, "RefundMoney", System.Data.DbType.Decimal, refundInfo.RefundMoney);
     this.database.AddInParameter(sqlStringCommand, "ReturnsId", System.Data.DbType.Int32, refundInfo.RefundId);
     return(this.database.ExecuteNonQuery(sqlStringCommand) > 0);
 }
Пример #29
0
        private void JudgeOrderStatus(OrderInfo order)
        {
            this.lkbtnConfirmOrder.Visible = (order.OrderStatus == OrderStatus.SellerAlreadySent && order.ItemStatus == OrderItemStatus.Nomarl);
            if (order.PreSaleId > 0)
            {
                if (order.OrderStatus == OrderStatus.WaitBuyerPay && order.ItemStatus == OrderItemStatus.Nomarl && !order.DepositDate.HasValue)
                {
                    this.lkbtnCloseOrder.Visible = true;
                }
                else
                {
                    this.lkbtnCloseOrder.Visible = false;
                }
            }
            else
            {
                this.lkbtnCloseOrder.Visible = (order.OrderStatus == OrderStatus.WaitBuyerPay && order.ItemStatus == OrderItemStatus.Nomarl);
            }
            RefundInfo   refundInfo     = TradeHelper.GetRefundInfo(order.OrderId);
            ReturnInfo   returnInfo     = TradeHelper.GetReturnInfo(order.OrderId, "");
            ReplaceInfo  replaceInfo    = TradeHelper.GetReplaceInfo(order.OrderId, "");
            DateTime     finishDate     = order.FinishDate;
            OrderStatus  orderStatus    = order.OrderStatus;
            SiteSettings masterSettings = SettingsManager.GetMasterSettings();
            HtmlAnchor   htmlAnchor     = this.lkbtnApplyForRefund;
            int          visible;

            if (order.GetTotal(false) > decimal.Zero && !TradeHelper.OrderHasRefundOrReturning(order))
            {
                if ((refundInfo == null || refundInfo.HandleStatus == RefundStatus.Refused) && returnInfo == null && replaceInfo == null)
                {
                    visible = ((order.OrderStatus == OrderStatus.BuyerAlreadyPaid && order.ItemStatus == OrderItemStatus.Nomarl) ? 1 : 0);
                    goto IL_0136;
                }
                visible = 0;
            }
            else
            {
                visible = 0;
            }
            goto IL_0136;
IL_0136:
            htmlAnchor.Visible = ((byte)visible != 0);
            this.lkbtnApplyForRefund.Attributes.Add("orderId", this.orderId);
            if (!masterSettings.OpenMultStore && masterSettings.IsOpenPickeupInStore && order.SupplierId == 0 && order.ShippingModeId == -2)
            {
                this.litGetGoodsRemark.Text = masterSettings.PickeupInStoreRemark;
            }
            else
            {
                this.divPickUpRemark.Visible = false;
            }
        }
Пример #30
0
 public void GetRefundInfo(HttpContext context)
 {
     if (!this.CheckUserRole())
     {
         this.ShowMessage_New(context, "请先登录会员!", true);
     }
     else
     {
         int num = 0;
         if (context.Request["RefundId"] != null)
         {
             int.TryParse(context.Request["refundId"], out num);
         }
         string text = "";
         text = context.Request["orderId"];
         RefundInfo refundInfo = null;
         if (num > 0)
         {
             refundInfo = TradeHelper.GetRefundInfo(num);
         }
         if (refundInfo == null && !string.IsNullOrEmpty(text))
         {
             refundInfo = TradeHelper.GetRefundInfo(text);
         }
         if (refundInfo == null)
         {
             this.ShowMessage_New(context, "参数不正确", true);
         }
         else
         {
             string s = JsonConvert.SerializeObject(new
             {
                 Result = new
                 {
                     success = "true",
                     Refund  = new
                     {
                         RefundId      = refundInfo.RefundId,
                         OrderId       = refundInfo.OrderId,
                         RefundAmount  = refundInfo.RefundAmount.F2ToString("f2"),
                         RefundOrderId = refundInfo.RefundOrderId,
                         RefundType    = (int)refundInfo.RefundType,
                         UserRemark    = refundInfo.UserRemark,
                         AdminRemark   = refundInfo.AdminRemark
                     }
                 }
             });
             context.Response.Write(s);
             context.Response.End();
         }
     }
 }