using System; using System.Collections.Generic; using Library; using LitJson; using System.Linq; using System.Data; using System.Threading; using MySystem.PxcModels; namespace MySystem { public class WifiWithholdService { public readonly static WifiWithholdService Instance = new WifiWithholdService(); private WifiWithholdService() { } public void Start() { Thread th = new Thread(dosomething); th.IsBackground = true; th.Start(); } public void dosomething() { while (true) { try { // if(DateTime.Now.Hour > 3 && DateTime.Now.Hour < 5 && DateTime.Now >= DateTime.Parse("2024-10-30 00:00:00")) // { // string chk = function.ReadInstance("/WifiWithhold/" + DateTime.Now.ToString("yyyyMMdd") + ".txt"); // if(string.IsNullOrEmpty(chk)) // { // function.WritePage("/WifiWithhold/", "" + DateTime.Now.ToString("yyyyMMdd") + ".txt", DateTime.Now.ToString()); WifiWithhold(); // } // } } catch (Exception ex) { function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "WIFI提醒异常"); } Thread.Sleep(30000); } } //WIFI30天未完成申请时向预发创客增加一条预扣款 private void WifiWithhold() { WebCMSEntities db = new WebCMSEntities(); DateTime end = DateTime.Parse(DateTime.Now.AddDays(-29).ToString("yyyy-MM-dd") + " 00:00:00"); int Id = 0; bool op = true; while(op) { List BrandIds = new List(); BrandIds.Add(23); BrandIds.Add(24); BrandIds.Add(25); BrandIds.Add(26); DateTime time = DateTime.Now.AddDays(-35); List WifiList = db.PosMachinesTwo.Where(m => m.Id > Id && BrandIds.Contains(m.BrandId) && m.ActivationState == 0 && m.TransferTime < time && m.Sort == 1).OrderBy(m => m.Id).Take(20).ToList(); if(WifiList.Count > 0) { foreach(var Pos in WifiList) { KqProducts brand = db.KqProducts.FirstOrDefault(m => m.Id == Pos.BrandId) ?? new KqProducts(); decimal ChargeAmount = decimal.Parse(function.CheckNum(Pos.SeoKeyword)); db.ToChargeBackRecord.Add(new ToChargeBackRecord { CreateDate = DateTime.Now, SeoTitle = "系统", SeoDescription = "WIFI超时未激活扣款", Remark = "WIFI超时未激活扣款", ChargeType = 1, ChargeAmount = ChargeAmount, UserId = Pos.BuyUserId, Field1 = Pos.PosSn, }); PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == Pos.Id); if(edit != null) { edit.Sort = 2; } //增加账户预扣总额 Utils.Instance.ToChargeAmount(Pos.BuyUserId, ChargeAmount); Id = Pos.Id; } db.SaveChanges(); } else { op = false; } } db.Dispose(); } } }