using CRM.Core.DTO; using Quartz; using System; using System.Text; using WX.CRM.BLL.Wx; using WX.CRM.Common; namespace WX.CRM.CRMServices.WeiXin { public class SzzyOrderExternal { IWX_SZZYORDER_EXTERNAL _szzyOrderExternal = new WX_SZZYORDER_EXTERNAL_BL(); string _deptCode = Utility.GetSettingByKey("DataClientCode"); public void StartPush() { try { string host = Utility.GetSettingOrNullByKey("DataSyncApiUrl"); string url = host + "/api/DataSync"; //获取所有需要推送的订单 var list = _szzyOrderExternal.GetList(p => p.ISEXE == 0); foreach (var item in list) { var info = new Server_OrderExternalUserId() { OrderId = Convert.ToInt32(item.ORDERID), ExternalUserId = item.EXTERNAL_USERID }; var para = new SYNC_PUSH_DTO() { bidatatype = "Server_OrderExternalUserId", deptcode = _deptCode, jsontext = info.ToJson() }; var rep = Utility.PostAjaxData(url, para.ToJson(), Encoding.UTF8); var ret = Utility.JSONToObject(rep); if (ret.result) { item.ISEXE = 1; _szzyOrderExternal.Update(item); } else { LogHelper.Info("订单推送写入失败:" + para.ToJson()); } } } catch (Exception ex) { LogHelper.Error(ex.ToString()); } } public class Server_OrderExternalUserId { public int OrderId { get; set; } public string ExternalUserId { get; set; } } } public class SzzyOrderExternalJob : IJob { static bool isRuning = false; public void Execute(JobExecutionContext context) { if (isRuning) return; isRuning = true; try { //LogHelper.Info("SzzyOrderExternalJob,推送订单到前端"); new SzzyOrderExternal().StartPush(); } catch (Exception e) { WX.CRM.Common.LogHelper.Error("SzzyOrderExternalJob: " + e.ToString()); } finally { isRuning = false; } } } }