87 lines
2.6 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|