| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Threading;
- using MySystem.MainModels;
- using Library;
- using LitJson;
- namespace MySystem
- {
- /// <summary>
- /// 设置机具费率标记并推送消息
- /// </summary>
- public class SetFeeService
- {
- public readonly static SetFeeService Instance = new SetFeeService();
- private SetFeeService()
- { }
- public void Start()
- {
- Thread th = new Thread(doSomething);
- th.IsBackground = true;
- th.Start();
- }
- public void doSomething()
- {
- DataTable dt = CustomerSqlConn.dtable("select Id from PosMachinesTwo where BrandId in (1,3) and BindingState=1 and BindingTime<'" + DateTime.Now.AddDays(-90).ToString("yyyy-MM-dd") + " 00:00:00' and UpFeeFlag=0", Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString());
- foreach(DataRow dr in dt.Rows)
- {
- RedisDbconn.Instance.AddList("JkFeeQueue", dr["Id"].ToString());
- }
- dt = CustomerSqlConn.dtable("select Id from PosMachinesTwo where BrandId in (1,3) and BindingState=1 and BindingTime<'" + DateTime.Now.AddDays(-90).ToString("yyyy-MM-dd") + " 00:00:00' and DownFeeFlag=1", Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString());
- foreach(DataRow dr in dt.Rows)
- {
- RedisDbconn.Instance.AddList("JkFeeQueue", dr["Id"].ToString());
- }
- dt.Dispose();
- dt.Clear();
- while (true)
- {
- string content = RedisDbconn.Instance.RPop<string>("JkFeeQueue");
- if (!string.IsNullOrEmpty(content))
- {
- try
- {
- int PosId = int.Parse(content);
- WebCMSEntities db = new WebCMSEntities();
- PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
- if(pos != null)
- {
- PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
- if(mer != null)
- {
- function.WriteLog("KqMerNo:" + mer.KqMerNo + ";PosSn:" + pos.PosSn + ";", "金控机具费率设置日志");
- string result = PublicImportDataService.Instance.SetFee(mer.KqMerNo, pos.PosSn, 0.63M);
- function.WriteLog(result, "金控机具费率设置日志");
- JsonData obj = JsonMapper.ToObject(result);
- if (obj["code"].ToString() == "000000")
- {
- function.WriteLog(PublicImportDataService.Instance.Decrypt(obj["data"].ToString()), "金控机具费率设置日志");
- }
- function.WriteLog("\n\n", "金控机具费率设置日志");
- }
- }
- db.Dispose();
- Thread.Sleep(100);
- }
- catch (Exception ex)
- {
- function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "金控机具费率设置异常");
- }
- }
- else
- {
- Thread.Sleep(60000);
- }
- }
- }
- }
- }
|