コード例 #1
0
        public static bool CreatAmountApplyRequest(MemberAmountRequestInfo applyInfo)
        {
            AmountDao amountDao = new AmountDao();
            bool      flag      = amountDao.CreatAmountApplyRequest(applyInfo);

            if (flag)
            {
                MemberInfo member = new MemberDao().GetMember(applyInfo.UserId);
                MemberAmountDetailedInfo memberAmountDetailedInfo = new MemberAmountDetailedInfo
                {
                    UserId          = applyInfo.UserId,
                    TradeAmount     = -applyInfo.Amount,
                    PayId           = Globals.GetGenerateId(),
                    UserName        = applyInfo.UserName,
                    TradeType       = TradeType.Withdrawals,
                    TradeTime       = DateTime.Now,
                    State           = 1,
                    TradeWays       = MemberAmountProcessor.GetWaysByRequestType(applyInfo.RequestType),
                    AvailableAmount = member.AvailableAmount - applyInfo.Amount,
                    Remark          = "余额提现。收款账号:" + applyInfo.AccountCode
                };
                flag = (amountDao.UpdateMember(memberAmountDetailedInfo) && MemberAmountProcessor.CreatAmount(memberAmountDetailedInfo));
            }
            return(flag);
        }
コード例 #2
0
        public static bool UserPayOrder(MemberAmountDetailedInfo model)
        {
            AmountDao amountDao = new AmountDao();

            model.State = 1;
            bool flag = amountDao.UpdateAmount(model);

            if (flag)
            {
                flag = amountDao.UpdateMember(model);
                SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
                Globals.Debuglog("触发自动成为分销商的条件", "_DebuglogMemberAutoToDistributor.txt");
                MemberInfo member = MemberProcessor.GetMember(model.UserId, true);
                bool       flag2  = VshopBrowser.IsPassAutoToDistributor(member, true);
                if (flag2)
                {
                    DistributorsBrower.MemberAutoToDistributor(member);
                }
            }
            else
            {
                Globals.Debuglog("充值操作重复提交了!!!" + model.UserId, "_DebuglogMemberAutoToDistributor.txt");
            }
            return(flag);
        }
コード例 #3
0
        public static bool SetAmountByShopAdjustment(MemberAmountDetailedInfo model)
        {
            AmountDao dao  = new AmountDao();
            bool      flag = dao.CreatAmount(model, null);

            if (flag)
            {
                flag = dao.UpdateMember(model, null);
            }
            return(flag);
        }
コード例 #4
0
        public static bool SetAmountRequestStatus(int[] serialids, int checkValue, string Remark = "", string Amount = "", string Operator = "")
        {
            bool flag = new AmountDao().SetAmountRequestStatus(serialids, checkValue, Remark, Amount, Operator);

            if (checkValue == -1 && flag)
            {
                for (int i = 0; i < serialids.Length; i++)
                {
                    int serialid = serialids[i];
                    MemberAmountRequestInfo amountRequestDetail = MemberAmountProcessor.GetAmountRequestDetail(serialid);
                    MemberInfo member = new MemberDao().GetMember(amountRequestDetail.UserId);
                    MemberAmountDetailedInfo memberAmountDetailedInfo = new MemberAmountDetailedInfo
                    {
                        UserId          = amountRequestDetail.UserId,
                        TradeAmount     = amountRequestDetail.Amount,
                        PayId           = Globals.GetGenerateId(),
                        UserName        = amountRequestDetail.UserName,
                        TradeType       = TradeType.WithdrawalsRefuse,
                        TradeTime       = DateTime.Now,
                        State           = 1,
                        TradeWays       = MemberAmountProcessor.GetWaysByRequestType(amountRequestDetail.RequestType),
                        AvailableAmount = member.AvailableAmount + amountRequestDetail.Amount,
                        Remark          = "余额提现驳回"
                    };
                    flag = (new AmountDao().UpdateMember(memberAmountDetailedInfo) && MemberAmountProcessor.CreatAmount(memberAmountDetailedInfo));
                    MemberAmountRequestInfo amountRequestDetail2 = MemberAmountProcessor.GetAmountRequestDetail(serialid);
                    if (amountRequestDetail2 != null)
                    {
                        string url = Globals.FullPath("/Vshop/MemberAmountRequestDetail.aspx?Id=" + amountRequestDetail2.Id);
                        try
                        {
                            Messenger.SendWeiXinMsg_MemberAmountDrawCashRefuse(amountRequestDetail2, url);
                        }
                        catch
                        {
                        }
                    }
                }
            }
            return(flag);
        }
コード例 #5
0
        public static bool SetAmountRequestStatus(int[] serialids, int checkValue, string Remark = "", string Amount = "", string Operator = "")
        {
            bool flag = new AmountDao().SetAmountRequestStatus(serialids, checkValue, Remark, Amount, Operator);

            if ((checkValue == -1) && flag)
            {
                foreach (int num in serialids)
                {
                    MemberAmountRequestInfo amountRequestDetail = GetAmountRequestDetail(num);
                    MemberInfo member = new MemberDao().GetMember(amountRequestDetail.UserId);
                    MemberAmountDetailedInfo model = new MemberAmountDetailedInfo {
                        UserId          = amountRequestDetail.UserId,
                        TradeAmount     = amountRequestDetail.Amount,
                        PayId           = Globals.GetGenerateId(),
                        UserName        = amountRequestDetail.UserName,
                        TradeType       = TradeType.WithdrawalsRefuse,
                        TradeTime       = DateTime.Now,
                        State           = 1,
                        TradeWays       = GetWaysByRequestType(amountRequestDetail.RequestType),
                        AvailableAmount = member.AvailableAmount + amountRequestDetail.Amount,
                        Remark          = "余额提现驳回"
                    };
                    flag = new AmountDao().UpdateMember(model, null) && CreatAmount(model);
                    MemberAmountRequestInfo balance = GetAmountRequestDetail(num);
                    if (balance != null)
                    {
                        string url = Globals.FullPath("/Vshop/MemberAmountRequestDetail.aspx?Id=" + balance.Id);
                        try
                        {
                            Messenger.SendWeiXinMsg_MemberAmountDrawCashRefuse(balance, url);
                        }
                        catch
                        {
                        }
                    }
                }
            }
            return(flag);
        }
コード例 #6
0
        public void RedPackCheckJob()
        {
            new StringBuilder();
            DateTime  time             = DateTime.Now.Date.AddDays(-3.0);
            DataTable table            = new DataTable();
            string    query            = "select UserId,SerialID,RedpackId,Amount from Hishop_BalanceDrawRequest WHERE IsCheck=2 AND RequestType=3 AND CheckTime>=@CheckTime";
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query);

            this.database.AddInParameter(sqlStringCommand, "CheckTime", DbType.DateTime, time);
            using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand))
            {
                table = DataHelper.ConverDataReaderToDataTable(reader);
            }
            RedPackClient   client         = new RedPackClient();
            SiteSettings    masterSettings = SettingsManager.GetMasterSettings(true);
            DistributorsDao dao            = new DistributorsDao();

            if ((table != null) && (table.Rows.Count > 0))
            {
                foreach (DataRow row in table.Rows)
                {
                    string      str2 = row["RedpackId"].ToString();
                    RedPackInfo info = client.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, str2, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword);
                    if (info != null)
                    {
                        redPackStatus status = info.Getstatus();
                        if (((int)status == 4) || ((int)status == 2))
                        {
                            int id = int.Parse(row["SerialID"].ToString());
                            Globals.Debuglog(string.Concat(new object[] { "BalanceDrawRequest-", id, ":", info.ToString() }), "RedPackCheck.txt");
                            decimal num2   = decimal.Parse(row["Amount"].ToString());
                            int     userId = int.Parse(row["UserId"].ToString());
                            dao.UpdateBalanceDistributors(userId, -1M * num2);
                            dao.UpdateRedPackStatus(id, "红包" + status.ToString(), null);
                        }
                    }
                }
            }
            query = "select UserId,Id,RedpackId,Amount from Hishop_MemberAmountRequest WHERE State=2 AND RequestType=3 AND CheckTime>=@CheckTime";
            AmountDao dao2 = new AmountDao();

            sqlStringCommand = this.database.GetSqlStringCommand(query);
            this.database.AddInParameter(sqlStringCommand, "CheckTime", DbType.DateTime, time);
            using (IDataReader reader2 = this.database.ExecuteReader(sqlStringCommand))
            {
                table = DataHelper.ConverDataReaderToDataTable(reader2);
            }
            if ((table != null) && (table.Rows.Count > 0))
            {
                foreach (DataRow row2 in table.Rows)
                {
                    string      str3  = row2["RedpackId"].ToString();
                    RedPackInfo info2 = client.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, str3, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword);
                    if (info2 != null)
                    {
                        redPackStatus status2 = info2.Getstatus();
                        if (((int)status2 == 4) || ((int)status2 == 2))
                        {
                            int num4 = int.Parse(row2["Id"].ToString());
                            Globals.Debuglog(string.Concat(new object[] { "MemberAmountRequest-", num4, ":", info2.ToString() }), "RedPackCheck.txt");
                            decimal.Parse(row2["Amount"].ToString());
                            int.Parse(row2["UserId"].ToString());
                            dao2.SetAmountRequestStatus(new int[] { num4 }, 3, "红包" + status2.ToString(), "", "SYSJOB");
                        }
                    }
                }
            }
        }
コード例 #7
0
        public static DbQueryResult GetAmountListRequestByTime(int type, int page, int pagesize, int userId, string startTime = "", string endTime = "")
        {
            AmountDao dao = new AmountDao();

            return(dao.GetAmountListRequestByTime(type, page, pagesize, userId, startTime, endTime));
        }
コード例 #8
0
        public static DbQueryResult GetAmountListRequest(int type, int page, int pagesize, int userId)
        {
            AmountDao dao = new AmountDao();

            return(dao.GetAmountListRequest(type, page, pagesize, userId));
        }
コード例 #9
0
        public static MemberAmountDetailedInfo GetAmountDetailByPayId(string PayId)
        {
            AmountDao dao = new AmountDao();

            return(dao.GetAmountDetailByPayId(PayId));
        }
コード例 #10
0
        public static MemberAmountDetailedInfo GetAmountDetail(int Id)
        {
            AmountDao dao = new AmountDao();

            return(dao.GetAmountDetail(Id));
        }
コード例 #11
0
        public static bool CreatAmount(MemberAmountDetailedInfo AmountInfo)
        {
            AmountDao dao = new AmountDao();

            return(dao.CreatAmount(AmountInfo, null));
        }
コード例 #12
0
        public static bool CommissionToAmount(MemberAmountDetailedInfo amountinfo, int userid, decimal amount)
        {
            AmountDao dao = new AmountDao();

            return(dao.CommissionToAmount(amountinfo, userid, amount));
        }
コード例 #13
0
        public void RedPackCheckJob()
        {
            StringBuilder stringBuilder = new StringBuilder();
            DateTime      dateTime      = DateTime.Now.Date.AddDays(-3.0);

            System.Data.DataTable dataTable = new System.Data.DataTable();
            string query = "select UserId,SerialID,RedpackId,Amount from Hishop_BalanceDrawRequest WHERE IsCheck=2 AND RequestType=3 AND CheckTime>=@CheckTime";

            System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query);
            this.database.AddInParameter(sqlStringCommand, "CheckTime", System.Data.DbType.DateTime, dateTime);
            using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                dataTable = DataHelper.ConverDataReaderToDataTable(dataReader);
            }
            RedPackClient   redPackClient   = new RedPackClient();
            SiteSettings    masterSettings  = SettingsManager.GetMasterSettings(true);
            DistributorsDao distributorsDao = new DistributorsDao();

            if (dataTable != null && dataTable.Rows.Count > 0)
            {
                foreach (System.Data.DataRow dataRow in dataTable.Rows)
                {
                    string      mch_billno  = dataRow["RedpackId"].ToString();
                    RedPackInfo redpackInfo = redPackClient.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, mch_billno, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword);
                    if (redpackInfo != null)
                    {
                        redPackStatus redPackStatus = redpackInfo.Getstatus();
                        if (redPackStatus == redPackStatus.已退款 || redPackStatus == redPackStatus.发放失败)
                        {
                            int num = int.Parse(dataRow["SerialID"].ToString());
                            Globals.Debuglog(string.Concat(new object[]
                            {
                                "BalanceDrawRequest-",
                                num,
                                ":",
                                redpackInfo.ToString()
                            }), "RedPackCheck.txt");
                            decimal d      = decimal.Parse(dataRow["Amount"].ToString());
                            int     userId = int.Parse(dataRow["UserId"].ToString());
                            distributorsDao.UpdateBalanceDistributors(userId, -1m * d);
                            distributorsDao.UpdateRedPackStatus(num, "红包" + redPackStatus.ToString(), null);
                        }
                    }
                }
            }
            query = "select UserId,Id,RedpackId,Amount from Hishop_MemberAmountRequest WHERE State=2 AND RequestType=3 AND CheckTime>=@CheckTime";
            AmountDao amountDao = new AmountDao();

            sqlStringCommand = this.database.GetSqlStringCommand(query);
            this.database.AddInParameter(sqlStringCommand, "CheckTime", System.Data.DbType.DateTime, dateTime);
            using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
            {
                dataTable = DataHelper.ConverDataReaderToDataTable(dataReader);
            }
            if (dataTable != null && dataTable.Rows.Count > 0)
            {
                foreach (System.Data.DataRow dataRow in dataTable.Rows)
                {
                    string      mch_billno  = dataRow["RedpackId"].ToString();
                    RedPackInfo redpackInfo = redPackClient.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, mch_billno, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword);
                    if (redpackInfo != null)
                    {
                        redPackStatus redPackStatus = redpackInfo.Getstatus();
                        if (redPackStatus == redPackStatus.已退款 || redPackStatus == redPackStatus.发放失败)
                        {
                            int num = int.Parse(dataRow["Id"].ToString());
                            Globals.Debuglog(string.Concat(new object[]
                            {
                                "MemberAmountRequest-",
                                num,
                                ":",
                                redpackInfo.ToString()
                            }), "RedPackCheck.txt");
                            decimal d      = decimal.Parse(dataRow["Amount"].ToString());
                            int     userId = int.Parse(dataRow["UserId"].ToString());
                            amountDao.SetAmountRequestStatus(new int[]
                            {
                                num
                            }, 3, "红包" + redPackStatus.ToString(), "", "SYSJOB");
                        }
                    }
                }
            }
        }