TG.WXCRM.V4/CRMServices/WeiXin/SzzyOrderExternal.cs

87 lines
2.6 KiB
C#

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<retMsg>(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;
}
}
}
}