using System; using System.Collections.Generic; using System.Linq; using MySystem.Models; using Library; using LitJson; namespace MySystem { public class CheckWeChatSignService { public readonly static CheckWeChatSignService Instance = new CheckWeChatSignService(); private CheckWeChatSignService() { } public void Start(JobMqMsg jobInfo) { try { WebCMSEntities db = new WebCMSEntities(); List deletes = new List(); List signs = TendisDbconn.Instance.GetList("WeChatSignList", 1, 10000000); foreach (MerchantSign sign in signs) { Dictionary dic = new WeChatFunction().QueryMerchant(sign.BusinessCode); if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_TO_BE_CONFIRMED") { string sign_url = dic["sign_url"].ToString(); MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId); if (merchantadd != null) { merchantadd.Status = 1; merchantadd.SeoKeyword = sign_url; db.SaveChanges(); } } else if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_FINISHED") { MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId); if (merchantadd != null) { merchantadd.Status = 2; db.SaveChanges(); deletes.Add(sign); } } } if (deletes.Count > 0) { foreach (MerchantSign delete in deletes) { signs.Remove(delete); } TendisDbconn.Instance.Clear("WeChatSignList"); TendisDbconn.Instance.AddList("WeChatSignList", signs.ToArray()); } jobInfo.Status = 1; jobInfo.Msg = "执行完成"; RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack"); } catch (Exception ex) { TendisDbconn.Instance.AddList("public:merchant:signerr", DateTime.Now.ToString() + ":" + ex.ToString()); } } } }