DuGuYang 3 years ago
parent
commit
2b2f14d4d0

+ 10 - 20
AppStart/Helper/TimeOutPosChargeReturnService.cs

@@ -37,35 +37,25 @@ namespace MySystem
                         {
                             function.WritePage("/TimeOutPosChargeReturn/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
                             WebCMSEntities db = new WebCMSEntities();
-                            var date = DateTime.Parse(DateTime.Now.AddDays(-15).ToString("yyyy-MM-dd 00:00:00"));//过期限制时间
-                            // var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.PosSnType == 1 && m.BindingState == 1 && m.ActivationState == 1 && m.RecycEndDate < date).ToList();//循环过期超过15天激活机具
-                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BuyUserId == 598 && m.PosSnType == 1 && m.BindingState == 1 && m.ActivationState == 1 && m.RecycEndDate < date).ToList();//循环过期超过15天激活机具
-                            var brandInfo = db.KqProducts.ToList();
-                            foreach (var pos in query)
+                            DataTable dt = CustomerSqlConn.dtable("SELECT a.Id Id FROM ToChargeBackRecord a LEFT JOIN PosMachinesTwo b ON a.Remark=b.PosSn WHERE a.`Status`=1 AND a.Sort=0 AND b.PosSnType=0  AND b.BindingState=1 AND b.ActivationState=1", MysqlConn.connstr);//循环过期超过15天激活机具退费创客
+                            foreach (DataRow item in dt.Rows)
                             {
-                                var Brand = brandInfo.FirstOrDefault(m => m.Id == pos.BrandId);
-                                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new UserAccount();
-                                var amount = 0;
-                                if (Brand.Name.Contains("电签"))
-                                {
-                                    amount = 200;
-                                }
-                                if (Brand.Name.Contains("大POS"))
-                                {
-                                    amount = 300;
-                                }
+                                int Id = int.Parse(item["Id"].ToString());
+                                var toChargeBackRecord = db.ToChargeBackRecord.FirstOrDefault(m => m.Id == Id && m.Status == 1) ?? new ToChargeBackRecord();
+                                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == toChargeBackRecord.UserId) ?? new UserAccount();
                                 var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
                                 {
                                     CreateDate = DateTime.Now,
-                                    UserId = pos.BuyUserId,
+                                    UserId = toChargeBackRecord.UserId,
                                     BeforeBalanceAmount = userAccount.BalanceAmount,
-                                    AfterBalanceAmount = userAccount.BalanceAmount + amount,
-                                    ChangeAmount = amount,
+                                    AfterBalanceAmount = userAccount.BalanceAmount + toChargeBackRecord.ChargeAmount,
+                                    ChangeAmount = toChargeBackRecord.ChargeAmount,
                                     ChangeType = 126,//过期购买机具超过15天激活扣费退还
                                     Remark = "机具货款退还",
 
                                 }).Entity;
-                                userAccount.BalanceAmount += amount;
+                                toChargeBackRecord.Sort = 1;//过期购买机具循环截止时间超过15天激活扣费退还标识
+                                userAccount.BalanceAmount += toChargeBackRecord.ChargeAmount;
                                 db.SaveChanges();
                             }
                         }

+ 3 - 3
AppStart/Helper/TimeOutPosChargeService.cs

@@ -42,9 +42,8 @@ namespace MySystem
                             // DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BindingState=0 AND ActivationState=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//扣费创客
                             // var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BindingState == 0 && m.ActivationState == 0 && m.RecycEndDate < time).ToList();//循环过期超过15天机具
 
-                            DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BuyUserId IN(598) AND BindingState=0 AND ActivationState=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//扣费创客
-                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BuyUserId == 598 && m.BindingState == 0 && m.ActivationState == 0 && m.RecycEndDate < time).ToList();//循环过期超过15天机具
-                            var info = db.ToChargeBackRecord.Where(m => m.Status == 0).ToList();//过期机具扣费记录
+                            DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BuyUserId IN(126,153,190,200,276) AND BindingState=0 AND ActivationState=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//扣费创客
+                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BindingState == 0 && m.ActivationState == 0 && m.RecycEndDate < time).ToList();//循环过期超过15天机具
                             var brandInfo = db.KqProducts.ToList();
                             foreach (DataRow item in dt.Rows)
                             {
@@ -76,6 +75,7 @@ namespace MySystem
                                     db.SaveChanges();
                                 }
                             }
+                            var info = db.ToChargeBackRecord.Where(m => m.Status == 0).ToList();//过期机具扣费记录
                             foreach (var items in info)
                             {
                                 var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == items.UserId) ?? new UserAccount();

+ 2 - 2
AppStart/Helper/TimeOutPosSendMessageService.cs

@@ -42,8 +42,8 @@ namespace MySystem
                             // DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BindingState=0 AND ActivationState=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//消息推送创客
                             // var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BindingState == 0 && m.ActivationState == 0 && m.RecycEndDate < time).ToList();//循环过期超过10天机具
 
-                            DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BuyUserId IN(598) AND BindingState=0 AND ActivationState=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//消息推送创客
-                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BuyUserId == 598 && m.BindingState == 0 && m.ActivationState == 0 && m.RecycEndDate < time).ToList();//循环过期超过10天机具
+                            DataTable dt = CustomerSqlConn.dtable("SELECT BuyUserId FROM PosMachinesTwo WHERE `Status`>-1 AND BuyUserId>0 AND BuyUserId IN(126,153,190,200,276) AND BindingState=0 AND ActivationState=0 AND RecycEndDate <'" + date + "' GROUP BY BuyUserId", MysqlConn.connstr);//消息推送创客
+                            var query = db.PosMachinesTwo.Where(m => m.Status > -1 && m.BuyUserId > 0 && m.BindingState == 0 && m.ActivationState == 0 && m.RecycEndDate < time).ToList();//循环过期超过10天机具
                             var brandInfo = db.KqProducts.ToList();
                             foreach (DataRow item in dt.Rows)
                             {

+ 1 - 1
Startup.cs

@@ -142,7 +142,7 @@ namespace MySystem
             OpExcelHelper.Instance.Start();
             TestHelper.Instance.Start();
             
-            TimeOutPosSendMessageService.Instance.Start();//过期机具循环截止时间超过10天预扣费消息推送
+            // TimeOutPosSendMessageService.Instance.Start();//过期机具循环截止时间超过10天预扣费消息推送
             // TimeOutPosChargeService.Instance.Start();//过期机具循环截止时间超过15天执行扣费
             // TimeOutPosChargeReturnService.Instance.Start();//过期购买机具循环截止时间超过15天激活扣费退还
         }