lcl 1 жил өмнө
parent
commit
9b85bb20b3

+ 216 - 0
AppStart/Helper/Profit/ProfitHelperV2.cs

@@ -41,6 +41,7 @@ namespace MySystem
                 if(!string.IsNullOrEmpty(content) && DateTime.Now.Day < 26)
                 {
                     // StatProfiting();
+                    StatSimProfiting();
                     ProfitBeforeHelper.Instance.StatProfiting();
                     ProfitAfterHelper.Instance.StatProfiting();
                     HelpProfitHelper.Instance.StatProfitEveryDay(DateTime.Now.AddMonths(-1).ToString("yyyyMM")); //助利宝分润
@@ -350,6 +351,221 @@ namespace MySystem
 
             // ProfitHelper.Instance.StatProfit();
         }
+
+        public void StatSimProfiting()
+        {
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            string check = function.ReadInstance("/ProfitStat/" + Month + "-1-sim.txt");
+            if (!string.IsNullOrEmpty(check))
+            {
+                return;
+            }
+            function.WritePage("/ProfitStat/", Month + "-1-sim.txt", DateTime.Now.ToString());
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                ReadModels.WebCMSEntities rdb = new ReadModels.WebCMSEntities();
+                int PageNum = 1;
+                bool op = true;
+                while(op)
+                {
+                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + "BrandId:14,BankCardType:1,Month:" + Month + ",PageNum:" + PageNum, "分润监控日志");
+                    List<ProfitResult> result = StartProftForSimByDate(Month, 14, PageNum);
+                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + "result:" + result.Count, "分润监控日志");
+                    function.WriteLog("\r\n", "分润监控日志");
+                    if(result.Count > 0)
+                    {
+                        foreach (ProfitResult sub in result)
+                        {
+                            int TopUserId = 0;
+                            if (!string.IsNullOrEmpty(sub.UserNav))
+                            {
+                                string[] UserNavList = sub.UserNav.Trim(',').Replace(",,", ",").Split(',');
+                                if (UserNavList.Length > 1)
+                                {
+                                    TopUserId = int.Parse(UserNavList[1]);
+                                }
+                                else
+                                {
+                                    TopUserId = int.Parse(UserNavList[0]);
+                                }
+                            }
+                            string RecordNo = "P" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                            decimal ProfitAmt = sub.Money;
+                            decimal TradeAmt = sub.TradeAmount;
+                            decimal ProfitRate = sub.ProfitRate;
+                            
+                            decimal CreditTradeAmt = 0;
+                            decimal CreditTradeProfit = 0;
+                            decimal QrCreditTradeAmt = 0;
+                            decimal QrCreditProfitRate = 0;
+                            decimal QrCreditProfitStandardRate = 0;
+                            decimal QrCreditAddOrSubRate = 0;
+                            decimal QrCreditTradeProfit = 0;
+                            decimal NonQrCreditTradeAmt = 0;
+                            decimal NotHelpCreditTradeAmt = 0;
+                            decimal NotHelpCreditTradeProfit = 0;
+                            decimal NotHelpCreditProfitRate = 0;
+                            decimal NotHelpCreditProfitStandardRate = 0;
+                            decimal NotHelpCreditAddOrSubRate = 0;
+                            decimal HelpCreditTradeAmt = 0;
+                            decimal NonQrCreditTradeProfit = 0;
+                            decimal HelpCreditTradeProfit = 0;
+                            decimal HelpCreditProfitRate = 0;
+                            decimal HelpCreditProfitStandardRate = 0;
+                            decimal HelpCreditAddOrSubRate = 0;
+                            decimal DebitNonCapTradeAmt = 0;
+                            decimal DebitCapTradeAmt = 0;
+                            decimal QrDebitNotCapTradeAmt = 0;
+                            decimal NonQrDebitNotCapTradeAmt = 0;
+                            decimal NotHelpDebitNonCapTradeAmt = 0;
+                            decimal HelpDebitNonCapTradeAmt = 0;
+                            decimal DebitNonTradeCapProfit = 0;
+                            decimal QrDebitNonTradeCapProfit = 0;
+                            decimal NonQrDebitNonTradeCapProfit = 0;
+                            decimal NotHelpDebitNonTradeCapProfit = 0;
+                            decimal HelpDebitNonTradeCapProfit = 0;
+                            decimal DebitTradeCapProfit = 0;
+                            decimal NotHelpDebitProfitRate = 0;
+                            decimal NotHelpDebitProfitStandardRate = 0;
+                            decimal NotHelpDebitAddOrSubRate = 0;
+                            decimal HelpDebitProfitRate = 0;
+                            decimal HelpDebitProfitStandardRate = 0;
+                            decimal HelpDebitAddOrSubRate = 0;
+                            decimal DebitCapSingleReward = 0;
+                            decimal QrDebitProfitRate = 0;
+                            decimal QrDebitProfitStandardRate = 0;
+                            decimal QrDebitAddOrSubRate = 0;
+                            decimal ProfitCreditTradeProfit = 0;
+                            decimal ProfitCreditProfitRate = 0;
+                            decimal ProfitCreditTradeAmt = 0;
+                            decimal ProfitCreditTradeProfit2 = 0;
+                            decimal ProfitCreditProfitRate2 = 0;
+                            decimal ProfitCreditTradeAmt2 = 0;
+                            decimal ProfitDebitNonCapTradeAmt = 0;
+                            decimal ProfitDebitNonTradeCapProfit = 0;
+                            decimal ProfitDebitProfitRate = 0;
+                            
+                            CreditTradeAmt = TradeAmt; //贷记卡交易总金额
+                            CreditTradeProfit = ProfitAmt; //贷记卡分润总金额
+                            if (sub.QrPayFlag == 1)
+                            {
+                                QrCreditTradeAmt = TradeAmt; //(云闪付)贷记卡交易总金额
+                                QrCreditProfitRate = ProfitRate; //(云闪付)贷记卡交易分润比例
+                                QrCreditTradeProfit = ProfitAmt; //(云闪付)贷记卡交易分润
+                            }
+                            else
+                            {
+                                NonQrCreditTradeAmt = TradeAmt; //(非云闪付)贷记卡交易总金额
+                                NonQrCreditTradeProfit = ProfitAmt; //(非云闪付)贷记卡交易分润
+                                if(sub.HelpFlag == 1)
+                                {
+                                    HelpCreditTradeProfit = ProfitAmt; //(扶持期)(非云闪付)贷记卡分润总金额
+                                    HelpCreditProfitRate = ProfitRate; //(扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                    HelpCreditTradeAmt = TradeAmt; //(扶持期)(非云闪付)贷记卡交易总金额
+                                }
+                                else if(sub.HelpFlag == 2)
+                                {
+                                    ProfitCreditTradeProfit = ProfitAmt; //(盈利期)(非云闪付)贷记卡分润总金额
+                                    ProfitCreditProfitRate = ProfitRate; //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                    ProfitCreditTradeAmt = TradeAmt; //(盈利期)(非云闪付)贷记卡交易总金额
+                                }
+                                else if(sub.HelpFlag == 3)
+                                {
+                                    ProfitCreditTradeProfit2 = ProfitAmt; //(盈利期)(非云闪付)贷记卡分润总金额
+                                    ProfitCreditProfitRate2 = ProfitRate; //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                    ProfitCreditTradeAmt2 = TradeAmt; //(盈利期)(非云闪付)贷记卡交易总金额
+                                }
+                                else
+                                {
+                                    NotHelpCreditTradeAmt = TradeAmt; //(非扶持期)(非云闪付)贷记卡交易总金额
+                                    NotHelpCreditTradeProfit = ProfitAmt; //(非扶持期)(非云闪付)贷记卡分润总金额
+                                    NotHelpCreditProfitRate = ProfitRate; //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                }
+                            }
+                                
+                            db.ProfitRewardRecord.Add(new ProfitRewardRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                MerchantId = sub.MerchantId, //商户
+                                BrandId = sub.BrandId, //品牌
+                                ProfitType = sub.DirectFlag, //创客分润类型
+                                TradeAmt = sub.TradeAmount, //商户交易总额
+                                TradeProfit = sub.Money, //交易分润
+                                TradeMonth = Month, //交易月
+                                RecordNo = RecordNo, //记录单号
+                                TopUserId = TopUserId, //顶级创客
+                                CreditTradeAmt = CreditTradeAmt, //贷记卡交易总金额
+                                QrCreditTradeAmt = QrCreditTradeAmt, //(云闪付)贷记卡交易总金额
+                                NonQrCreditTradeAmt = NonQrCreditTradeAmt, //(非云闪付)贷记卡交易总金额
+                                NotHelpCreditTradeAmt = NotHelpCreditTradeAmt, //(非扶持期)(非云闪付)贷记卡交易总金额
+                                HelpCreditTradeAmt = HelpCreditTradeAmt, //(扶持期)(非云闪付)贷记卡交易总金额
+                                DebitNonCapTradeAmt = DebitNonCapTradeAmt, //商户非封顶借记卡交易总额
+                                QrDebitNotCapTradeAmt = QrDebitNotCapTradeAmt, //(云闪付)商户非封顶借记卡交易总额
+                                NonQrDebitNotCapTradeAmt = NonQrDebitNotCapTradeAmt, //(非云闪付)商户非封顶借记卡交易总额
+                                NotHelpDebitNonCapTradeAmt = NotHelpDebitNonCapTradeAmt, //(非扶持期)(非云闪付)借记卡非封顶交易总金额
+                                HelpDebitNonCapTradeAmt = HelpDebitNonCapTradeAmt, //(扶持期)(非云闪付)借记卡非封顶交易总金额
+                                DebitCapTradeAmt = DebitCapTradeAmt, //商户借记卡封顶交易总额
+                                CreditTradeProfit = CreditTradeProfit, //贷记卡分润总金额
+                                QrCreditTradeProfit = QrCreditTradeProfit, //(云闪付)贷记卡交易分润
+                                NonQrCreditTradeProfit = NonQrCreditTradeProfit, //(非云闪付)贷记卡交易分润
+                                NotHelpCreditTradeProfit = NotHelpCreditTradeProfit, //(非扶持期)(非云闪付)贷记卡分润总金额
+                                HelpCreditTradeProfit = HelpCreditTradeProfit, //(扶持期)(非云闪付)贷记卡分润总金额
+                                DebitNonTradeCapProfit = DebitNonTradeCapProfit, //借记卡非封顶交易分润总金额
+                                QrDebitNonTradeCapProfit = QrDebitNonTradeCapProfit, //(云闪付)借记卡非封顶交易分润总金额
+                                NonQrDebitNonTradeCapProfit = NonQrDebitNonTradeCapProfit, //(非云闪付)借记卡非封顶交易分润总金额
+                                NotHelpDebitNonTradeCapProfit = NotHelpDebitNonTradeCapProfit, //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                                HelpDebitNonTradeCapProfit = HelpDebitNonTradeCapProfit, //(扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                                DebitTradeCapProfit = DebitTradeCapProfit, //借记卡封顶交易分润总金额
+                                NotHelpCreditProfitRate = NotHelpCreditProfitRate, //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                NotHelpCreditProfitStandardRate = NotHelpCreditProfitStandardRate, //(非扶持期)(非云闪付)贷记卡标准分润比例
+                                NotHelpCreditAddOrSubRate = NotHelpCreditAddOrSubRate, //(非扶持期)(非云闪付)贷记卡成本或增或减比例
+                                HelpCreditProfitRate = HelpCreditProfitRate, //(扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                HelpCreditProfitStandardRate = HelpCreditProfitStandardRate, //(扶持期)(非云闪付)贷记卡-标准分润比例
+                                HelpCreditAddOrSubRate = HelpCreditAddOrSubRate, //(扶持期)(非云闪付)贷记卡成本或增或减比例
+                                NotHelpDebitProfitRate = NotHelpDebitProfitRate, //(非扶持期)(非云闪付)借记卡商户交易对应分润比例
+                                NotHelpDebitProfitStandardRate = NotHelpDebitProfitStandardRate, //(非扶持期)(非云闪付)借记卡标准分润比例
+                                NotHelpDebitAddOrSubRate = NotHelpDebitAddOrSubRate, //(非扶持期)(非云闪付)借记卡成本或增或减比例
+                                HelpDebitProfitRate = HelpDebitProfitRate, //(扶持期)(非云闪付)借记卡商户交易对应分润比例
+                                HelpDebitProfitStandardRate = HelpDebitProfitStandardRate, //(扶持期)(非云闪付)借记卡-标准分润比例
+                                HelpDebitAddOrSubRate = HelpDebitAddOrSubRate, //(扶持期)(非云闪付)借记卡成本或增或减比例
+                                DebitCapSingleReward = DebitCapSingleReward, //借记卡合伙人直营封顶交易奖励金额
+                                QrCreditProfitRate = QrCreditProfitRate, //(云闪付)贷记卡交易分润比例
+                                QrCreditProfitStandardRate = QrCreditProfitStandardRate, //(云闪付)贷记卡分润基准
+                                QrCreditAddOrSubRate = QrCreditAddOrSubRate, //(云闪付)贷记卡分润比例或增或减
+                                QrDebitProfitRate = QrDebitProfitRate, //(云闪付)借记卡非封顶交易分润比例
+                                QrDebitProfitStandardRate = QrDebitProfitStandardRate, //(云闪付)借记卡非封顶交易分润基准
+                                QrDebitAddOrSubRate = QrDebitAddOrSubRate, //(云闪付)借记卡非封顶交易分润比例或增或减
+                                ProfitCreditTradeProfit = ProfitCreditTradeProfit,  //(盈利期)(非云闪付)贷记卡分润总金额
+                                ProfitCreditProfitRate = ProfitCreditProfitRate, //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                ProfitCreditTradeAmt = ProfitCreditTradeAmt, //(盈利期)(非云闪付)贷记卡交易总金额
+                                ProfitCreditTradeProfit2 = ProfitCreditTradeProfit2,  //(盈利期)(非云闪付)贷记卡分润总金额
+                                ProfitCreditProfitRate2 = ProfitCreditProfitRate2, //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                ProfitCreditTradeAmt2 = ProfitCreditTradeAmt2, //(盈利期)(非云闪付)贷记卡交易总金额
+                                ProfitDebitNonCapTradeAmt = ProfitDebitNonCapTradeAmt, //(盈利期)(非云闪付)借记卡非封顶交易总金额
+                                ProfitDebitNonTradeCapProfit = ProfitDebitNonTradeCapProfit, //(盈利期)(非云闪付)借记卡非封顶交易分润总金额
+                                ProfitDebitProfitRate = ProfitDebitProfitRate, //(盈利期)(非云闪付)借记卡商户交易对应分润比例
+                            });
+                        }
+                        db.SaveChanges();
+                        PageNum += 1;
+                    }
+                    else
+                    {
+                        op = false;
+                    }
+                }
+                db.Dispose();
+                rdb.Dispose();
+            }
+            catch(Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "分润监控异常");
+            }
+        }
+
         public List<ProfitResult> StartProftForPosByDate(int BrandId, int BankCardType, string Month, int PageNum = 1)
         {
             // 级差