DuGuYang 3 лет назад
Родитель
Сommit
409f83e16f

+ 0 - 72
AppStart/Helper/TimeOutPosChargeReturnService.cs

@@ -1,72 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Linq;
-using System.Threading;
-using MySystem.Models;
-using Library;
-
-namespace MySystem
-{
-    /// <summary>
-    /// 过期购买机具循环截止时间超过15天激活扣费退还
-    /// </summary>
-    public class TimeOutPosChargeReturnService
-    {
-        public readonly static TimeOutPosChargeReturnService Instance = new TimeOutPosChargeReturnService();
-        private TimeOutPosChargeReturnService()
-        { }
-
-        public void Start()
-        {
-            Thread th = new Thread(doSomething);
-            th.IsBackground = true;
-            th.Start();
-        }
-
-        public void doSomething()
-        {
-            while (true)
-            {
-                if (DateTime.Now.Hour < 18)
-                {
-                    try
-                    {
-                        string check = function.ReadInstance("/TimeOutPosChargeReturn/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
-                        if (string.IsNullOrEmpty(check))
-                        {
-                            function.WritePage("/TimeOutPosChargeReturn/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
-                            WebCMSEntities db = new WebCMSEntities();
-                            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 b.PosSnType=0  AND b.BindingState=1 AND b.ActivationState=1", MysqlConn.connstr);//循环过期超过15天激活机具退费创客
-                            foreach (DataRow item in dt.Rows)
-                            {
-                                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 = toChargeBackRecord.UserId,
-                                    BeforeBalanceAmount = userAccount.BalanceAmount,
-                                    AfterBalanceAmount = userAccount.BalanceAmount + toChargeBackRecord.ChargeAmount,
-                                    ChangeAmount = toChargeBackRecord.ChargeAmount,
-                                    ChangeType = 126,//过期购买机具超过15天激活扣费退还
-                                    Remark = "机具货款退还",
-
-                                }).Entity;
-                                toChargeBackRecord.Status = 2;//过期购买机具循环截止时间超过15天激活扣费退还标识
-                                userAccount.BalanceAmount += toChargeBackRecord.ChargeAmount;
-                                db.SaveChanges();
-                            }
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "过期购买机具超过15天激活扣费退还");
-                    }
-                }
-                Thread.Sleep(1000);
-            }
-        }
-    }
-}

+ 0 - 111
AppStart/Helper/TimeOutPosChargeService.cs

@@ -1,111 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Linq;
-using System.Threading;
-using MySystem.Models;
-using Library;
-
-namespace MySystem
-{
-    /// <summary>
-    /// 过期机具执行扣费
-    /// </summary>
-    public class TimeOutPosChargeService
-    {
-        public readonly static TimeOutPosChargeService Instance = new TimeOutPosChargeService();
-        private TimeOutPosChargeService()
-        { }
-
-        public void Start()
-        {
-            Thread th = new Thread(doSomething);
-            th.IsBackground = true;
-            th.Start();
-        }
-
-        public void doSomething()
-        {
-            while (true)
-            {
-                if (DateTime.Now.Hour < 18)
-                {
-                    try
-                    {
-                        string check = function.ReadInstance("/TimeOutPosCharge/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
-                        if (string.IsNullOrEmpty(check))
-                        {
-                            function.WritePage("/TimeOutPosCharge/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
-                            WebCMSEntities db = new WebCMSEntities();
-                            var date = DateTime.Now.AddDays(-15).ToString("yyyy-MM-dd 00:00:00");//过期限制时间
-                            var time = DateTime.Parse(date);//过期限制时间
-
-                            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天机具
-                            var brandInfo = db.KqProducts.ToList();
-                            foreach (DataRow item in dt.Rows)
-                            {
-                                int BuyUserId = int.Parse(item["BuyUserId"].ToString());
-                                var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == BuyUserId) ?? new UserAccount();
-                                var posInfo = query.Where(m => m.BuyUserId == BuyUserId);
-                                var amount = 0;
-                                foreach (var pos in posInfo)
-                                {
-                                    var Brand = brandInfo.FirstOrDefault(m => m.Id == pos.BrandId);
-                                    if (Brand.Name.Contains("电签"))
-                                    {
-                                        amount = 200;
-                                    }
-                                    if (Brand.Name.Contains("大POS"))
-                                    {
-                                        amount = 300;
-                                    }
-                                    userAccount.ToChargeAmount += amount;//增加预扣款
-                                    var toChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
-                                    {
-                                        CreateDate = DateTime.Now,
-                                        UserId = BuyUserId,
-                                        ChargeAmount = amount,
-                                        ChargeType = 124,//过期机具货款扣费
-                                        Remark = pos.PosSn,
-
-                                    }).Entity;
-                                    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();
-                                var record = info.FirstOrDefault(m => m.Id == items.Id);
-                                if (userAccount.BalanceAmount >= record.ChargeAmount)
-                                {
-                                    var userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord
-                                    {
-                                        CreateDate = DateTime.Now,
-                                        UserId = items.UserId,
-                                        BeforeBalanceAmount = userAccount.BalanceAmount,
-                                        AfterBalanceAmount = userAccount.BalanceAmount - record.ChargeAmount,
-                                        ChangeAmount = record.ChargeAmount,
-                                        ChangeType = 124,//过期机具货款扣费
-                                        Remark = "扣机具货款",
-
-                                    }).Entity;
-                                    record.Status = 1;
-                                    userAccount.ToChargeAmount -= record.ChargeAmount;//扣减预扣款
-                                    userAccount.BalanceAmount -= record.ChargeAmount;//扣减余额
-                                    db.SaveChanges();
-                                }
-                            }
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "过期机具执行扣费异常");
-                    }
-                }
-                Thread.Sleep(1000);
-            }
-        }
-    }
-}

+ 0 - 83
AppStart/Helper/TimeOutPosSendMessageService.cs

@@ -1,83 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Linq;
-using System.Threading;
-using MySystem.Models;
-using Library;
-
-namespace MySystem
-{
-    /// <summary>
-    /// 过期机具预扣费消息推送
-    /// </summary>
-    public class TimeOutPosSendMessageService
-    {
-        public readonly static TimeOutPosSendMessageService Instance = new TimeOutPosSendMessageService();
-        private TimeOutPosSendMessageService()
-        { }
-
-        public void Start()
-        {
-            Thread th = new Thread(doSomething);
-            th.IsBackground = true;
-            th.Start();
-        }
-
-        public void doSomething()
-        {
-            while (true)
-            {
-                if (DateTime.Now.Hour < 18)
-                {
-                    try
-                    {
-                        string check = function.ReadInstance("/TimeOutPosSendMessage/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
-                        if (string.IsNullOrEmpty(check))
-                        {
-                            function.WritePage("/TimeOutPosSendMessage/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
-                            WebCMSEntities db = new WebCMSEntities();
-                            var date = DateTime.Now.AddDays(-10).ToString("yyyy-MM-dd 00:00:00");//过期限制时间
-                            var time = DateTime.Parse(date);//过期限制时间
-
-                            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天机具
-                            var brandInfo = db.KqProducts.ToList();
-                            foreach (DataRow item in dt.Rows)
-                            {
-                                int BuyUserId = int.Parse(item["BuyUserId"].ToString());
-                                var BrandName = "";
-                                var PosSn = "";
-                                var SendInfo = "";
-                                foreach (var items in brandInfo)
-                                {
-                                    int BrandId = int.Parse(items.Id.ToString());
-                                    BrandName = items.Name.ToString();
-                                    var posInfo = query.Where(m => m.BuyUserId == BuyUserId && m.BrandId == BrandId);
-                                    foreach (var pos in posInfo)
-                                    {
-                                        PosSn += pos.PosSn + "," + "<br/>";
-                                    }
-                                }
-                                SendInfo = BrandName + ":" + PosSn.TrimEnd(',') + "<br/>";
-                                RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
-                                {
-                                    UserId = BuyUserId, //创客
-                                    Title = "机具循环过期提醒", //标题
-                                    Content = "<div class='f16'>尊敬的创客您好:<br/>您的" + SendInfo + "循环已过期十天以上,请在五日内完成激活或通过机具回收回寄该机具。</ div > ",//内容
-                                    Summary = "系统检测到您的部分机具可回收,请及时处理!",
-                                    CreateDate = DateTime.Now,
-                                }));
-                            }
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "过期机具预扣费消息推送异常");
-                    }
-                }
-                Thread.Sleep(1000);
-            }
-        }
-    }
-}

+ 0 - 3
Startup.cs

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