コード例 #1
0
        public SplittinDetailInfo GetSplittinDetail(long journalNumber)
        {
            SplittinDetailInfo result           = null;
            DbCommand          sqlStringCommand = this.database.GetSqlStringCommand("SELECT * FROM Ecshop_SplittinDetails WHERE JournalNumber = @JournalNumber;");

            this.database.AddInParameter(sqlStringCommand, "JournalNumber", DbType.Int64, journalNumber);
            using (IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                result = ReaderConvert.ReaderToModel <SplittinDetailInfo>(dataReader);
            }
            return(result);
        }
コード例 #2
0
 private bool AddSplittinDetail(SplittinDetailInfo splittinDetail)
 {
     System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("INSERT INTO Ecshop_SplittinDetails (OrderId, UserId, UserName, IsUse, TradeDate, TradeType, SubUserId, Income, Expenses, Balance, Remark) VALUES (@OrderId, @UserId, @UserName, @IsUse, @TradeDate, @TradeType, @SubUserId, @Income, @Expenses, @Balance, @Remark)");
     this.database.AddInParameter(sqlStringCommand, "OrderId", System.Data.DbType.String, splittinDetail.OrderId);
     this.database.AddInParameter(sqlStringCommand, "UserId", System.Data.DbType.Int32, splittinDetail.UserId);
     this.database.AddInParameter(sqlStringCommand, "UserName", System.Data.DbType.String, splittinDetail.UserName);
     this.database.AddInParameter(sqlStringCommand, "IsUse", System.Data.DbType.Boolean, splittinDetail.IsUse);
     this.database.AddInParameter(sqlStringCommand, "TradeDate", System.Data.DbType.DateTime, splittinDetail.TradeDate);
     this.database.AddInParameter(sqlStringCommand, "TradeType", System.Data.DbType.Int32, splittinDetail.TradeType);
     this.database.AddInParameter(sqlStringCommand, "SubUserId", System.Data.DbType.Int32, splittinDetail.SubUserId);
     this.database.AddInParameter(sqlStringCommand, "Income", System.Data.DbType.Currency, splittinDetail.Income);
     this.database.AddInParameter(sqlStringCommand, "Expenses", System.Data.DbType.Currency, splittinDetail.Expenses);
     this.database.AddInParameter(sqlStringCommand, "Balance", System.Data.DbType.Currency, splittinDetail.Balance);
     this.database.AddInParameter(sqlStringCommand, "Remark", System.Data.DbType.String, splittinDetail.Remark);
     return(this.database.ExecuteNonQuery(sqlStringCommand) > 0);
 }
コード例 #3
0
        private DataGridViewModel <Dictionary <string, object> > GetReferralRequest(BalanceDetailQuery query)
        {
            DataGridViewModel <Dictionary <string, object> > dataGridViewModel = new DataGridViewModel <Dictionary <string, object> >();
            string empty = string.Empty;

            if (query != null)
            {
                DbQueryResult splittinDetails            = MemberHelper.GetSplittinDetails(query);
                List <Dictionary <string, object> > list = DataHelper.DataTableToDictionary(splittinDetails.Data);
                foreach (Dictionary <string, object> item in list)
                {
                    SplittinDetailInfo splittinDetailInfo = item.ToObject <SplittinDetailInfo>();
                    if (splittinDetailInfo.TradeType == SplittingTypes.RegReferralDeduct)
                    {
                        item.Add("TradeDateStr", "");
                        item.Add("FinishDateStr", splittinDetailInfo.TradeDate);
                    }
                    else
                    {
                        item.Add("TradeDateStr", splittinDetailInfo.TradeDate);
                        item.Add("FinishDateStr", item["FinishDate"]);
                    }
                    if (splittinDetailInfo.TradeType == SplittingTypes.DrawRequest)
                    {
                        item.Add("Money", "-" + splittinDetailInfo.Expenses);
                    }
                    else
                    {
                        item.Add("Money", splittinDetailInfo.Income);
                    }
                    if (string.IsNullOrEmpty(item["FromUserName"].ToNullString()))
                    {
                        item.Add("UserNameStr", splittinDetailInfo.UserName);
                    }
                    else
                    {
                        item.Add("UserNameStr", item["FromUserName"].ToNullString());
                    }
                    item.Add("TradeTypeStr", MemberHelper.GetSplittingType((int)splittinDetailInfo.TradeType));
                }
                dataGridViewModel.rows  = list;
                dataGridViewModel.total = splittinDetails.TotalRecords;
            }
            return(dataGridViewModel);
        }
コード例 #4
0
        protected override void AttachChildControls()
        {
            this.litOrderAmount    = (FormatedMoneyLabel)this.FindControl("litOrderAmount");
            this.litSplittinAmount = (FormatedMoneyLabel)this.FindControl("litSplittinAmount");
            this.litOrderNo        = (System.Web.UI.WebControls.Literal) this.FindControl("litOrderNo");
            this.litSplittinType   = (SplittingTypeNameLabel)this.FindControl("litSplittinType");
            this.litSplittinDate   = (System.Web.UI.WebControls.Literal) this.FindControl("litSplittinDate");
            this.litStatus         = (System.Web.UI.WebControls.Literal) this.FindControl("litStatus");
            this.litMark           = (System.Web.UI.WebControls.Literal) this.FindControl("litMark");
            PageTitle.AddSiteNameTitle("佣金明细");
            long journalNumber = 0L;

            if (!string.IsNullOrEmpty(this.Page.Request.QueryString["id"]))
            {
                long.TryParse(this.Page.Request.QueryString["id"], out journalNumber);
            }
            SplittinDetailInfo splittinDetail = MemberProcessor.GetSplittinDetail(journalNumber);

            if (splittinDetail == null)
            {
                this.ShowMessage("错误的明细ID", false);
            }
            OrderInfo orderInfo = ShoppingProcessor.GetOrderInfo(splittinDetail.OrderId);

            if (!string.IsNullOrEmpty(splittinDetail.OrderId) && orderInfo != null)
            {
                this.litOrderAmount.Money = orderInfo.GetAmount();
            }
            else
            {
                this.litOrderAmount.Money = 0;
            }
            this.litSplittinAmount.Money       = splittinDetail.Income;
            this.litOrderNo.Text               = splittinDetail.OrderId;
            this.litMark.Text                  = splittinDetail.Remark;
            this.litSplittinType.SplittingType = ((int)splittinDetail.TradeType).ToString();
            this.litSplittinDate.Text          = splittinDetail.TradeDate.ToString("yyyy-MM-dd hh:mm:ss");
            if (splittinDetail.TradeType == SplittingTypes.DrawRequest)
            {
                this.litSplittinAmount.Money = splittinDetail.Expenses;
            }
            this.litStatus.Text = (splittinDetail.IsUse ? "可用" : "不可用");
        }
コード例 #5
0
        private void btnDraw_Click(object sender, EventArgs e)
        {
            BalanceDrawRequestQuery balanceDrawRequestQuery = new BalanceDrawRequestQuery();

            balanceDrawRequestQuery.PageIndex = 1;
            balanceDrawRequestQuery.PageSize  = this.pager.PageSize;
            balanceDrawRequestQuery.UserId    = HiContext.Current.UserId;
            decimal num = default(decimal);

            num = MemberProcessor.GetUserUseSplittin(HiContext.Current.UserId);
            DbQueryResult mySplittinDraws = MemberProcessor.GetMySplittinDraws(balanceDrawRequestQuery, 1);
            SiteSettings  masterSettings  = SettingsManager.GetMasterSettings();

            if (mySplittinDraws.TotalRecords > 0)
            {
                this.ShowMessage("上笔提现管理员还没有处理,只有处理完后才能再次申请提现", false, "", 1);
            }
            else if (!this.IsDefault.Visible && !this.IsWithdrawToAccount.Visible && !this.IsWeixin.Visible && !this.IsAlipay.Visible)
            {
                this.ShowMessage("没有合适的提现方式,请与管理员联系", false, "", 1);
            }
            else if (!this.IsDefault.Checked && !this.IsWithdrawToAccount.Checked && !this.IsWeixin.Checked && !this.IsAlipay.Checked)
            {
                this.ShowMessage("请选择提现方式", false, "", 1);
            }
            else
            {
                decimal num2 = default(decimal);
                if (!decimal.TryParse(this.txtAmount.Text.Trim(), out num2))
                {
                    this.ShowMessage("提现金额输入错误,请重新输入提现金额", false, "", 1);
                }
                else if (num2 < masterSettings.MinimumSingleShot)
                {
                    this.ShowMessage("每次提现金额必须多于" + this.lblminDraws.Text + "元", false, "", 1);
                }
                else if (num2 > num)
                {
                    this.ShowMessage("可提现奖励不足,请重新输入提现金额", false, "", 1);
                }
                else if (string.IsNullOrEmpty(this.txtTradePassword.Text))
                {
                    this.ShowMessage("请输入交易密码", false, "", 1);
                }
                else if (!MemberProcessor.ValidTradePassword(this.txtTradePassword.Text))
                {
                    this.ShowMessage("交易密码不正确,请重新输入", false, "", 1);
                }
                else
                {
                    MemberInfo user = HiContext.Current.User;
                    if (!user.IsOpenBalance)
                    {
                        this.ShowMessage("请先开通预付款账户", false, "", 1);
                    }
                    else
                    {
                        SplittinDrawInfo splittinDrawInfo = new SplittinDrawInfo();
                        splittinDrawInfo.UserId              = user.UserId;
                        splittinDrawInfo.UserName            = user.UserName;
                        splittinDrawInfo.Amount              = num2;
                        splittinDrawInfo.RequestDate         = DateTime.Now;
                        splittinDrawInfo.BankName            = this.txtBankName.Text.Trim();
                        splittinDrawInfo.AccountName         = this.txtAccountName.Text.Trim();
                        splittinDrawInfo.MerchantCode        = this.txtMerchantCode.Text.Trim();
                        splittinDrawInfo.AlipayCode          = this.txtAlipayCode.Text.Trim();
                        splittinDrawInfo.AlipayRealName      = this.txtAlipayRealName.Text;
                        splittinDrawInfo.Remark              = this.txtRemark.Text.Trim();
                        splittinDrawInfo.ManagerRemark       = "";
                        splittinDrawInfo.IsWithdrawToAccount = this.IsWithdrawToAccount.Checked;
                        splittinDrawInfo.IsAlipay            = this.IsAlipay.Checked;
                        splittinDrawInfo.IsWeixin            = this.IsWeixin.Checked;
                        if (splittinDrawInfo.IsWithdrawToAccount)
                        {
                            splittinDrawInfo.AuditStatus   = 2;
                            splittinDrawInfo.AccountDate   = DateTime.Now;
                            splittinDrawInfo.ManagerRemark = "提现至预付款账户" + (string.IsNullOrEmpty(splittinDrawInfo.Remark.ToNullString()) ? "" : ("(买家备注:" + splittinDrawInfo.Remark.ToNullString() + ")"));
                        }
                        else
                        {
                            splittinDrawInfo.AuditStatus = 1;
                        }
                        OnLinePayment onLinePayment;
                        if (this.IsAlipay.Checked)
                        {
                            splittinDrawInfo.BankName     = "0";
                            splittinDrawInfo.AccountName  = "0";
                            splittinDrawInfo.MerchantCode = "0";
                            SplittinDrawInfo splittinDrawInfo2 = splittinDrawInfo;
                            onLinePayment = OnLinePayment.NoPay;
                            splittinDrawInfo2.RequestState = onLinePayment.GetHashCode().ToNullString();
                        }
                        else if (this.IsWeixin.Checked || splittinDrawInfo.IsWithdrawToAccount)
                        {
                            splittinDrawInfo.BankName       = "0";
                            splittinDrawInfo.AccountName    = "0";
                            splittinDrawInfo.MerchantCode   = "0";
                            splittinDrawInfo.AlipayCode     = "0";
                            splittinDrawInfo.AlipayRealName = "0";
                            if (this.IsWeixin.Checked)
                            {
                                SplittinDrawInfo splittinDrawInfo3 = splittinDrawInfo;
                                onLinePayment = OnLinePayment.NoPay;
                                splittinDrawInfo3.RequestState = onLinePayment.GetHashCode().ToNullString();
                            }
                        }
                        else
                        {
                            splittinDrawInfo.AlipayCode     = "0";
                            splittinDrawInfo.AlipayRealName = "0";
                        }
                        if (this.ValidateBalanceDrawRequest(splittinDrawInfo))
                        {
                            if (MemberProcessor.SplittinDrawRequest(splittinDrawInfo))
                            {
                                if (splittinDrawInfo.IsWithdrawToAccount)
                                {
                                    ReferralDao        referralDao        = new ReferralDao();
                                    SplittinDetailInfo splittinDetailInfo = new SplittinDetailInfo();
                                    splittinDetailInfo.OrderId   = string.Empty;
                                    splittinDetailInfo.UserId    = splittinDrawInfo.UserId;
                                    splittinDetailInfo.UserName  = splittinDrawInfo.UserName;
                                    splittinDetailInfo.IsUse     = true;
                                    splittinDetailInfo.TradeDate = DateTime.Now;
                                    splittinDetailInfo.TradeType = SplittingTypes.DrawRequest;
                                    splittinDetailInfo.Expenses  = splittinDrawInfo.Amount;
                                    splittinDetailInfo.Balance   = referralDao.GetUserUseSplittin(splittinDrawInfo.UserId) - splittinDrawInfo.Amount;
                                    splittinDetailInfo.Remark    = "";
                                    referralDao.Add(splittinDetailInfo, null);
                                    this.SaveBalance(splittinDrawInfo.UserId, splittinDrawInfo.Amount);
                                    this.ShowMessage("提现成功,申请金额已转至您的预付款账户", true, "", 1);
                                    Users.ClearUserCache(splittinDrawInfo.UserId, user.SessionId);
                                    this.BindSplittinDraw();
                                }
                                else
                                {
                                    this.btnDraw.Visible = false;
                                    this.ShowMessage("提现申请成功,等待管理员的审核", true, "", 1);
                                    this.BindSplittinDraw();
                                }
                                this.Clear();
                            }
                            else
                            {
                                this.ShowMessage("提现申请失败,请重试", false, "", 1);
                            }
                        }
                    }
                }
            }
        }