using CommonUtil;
|
using Operater.DAL;
|
using Operater.DTO.System;
|
using Operater.Service.System;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace ProductDistribution.Handle
|
{
|
public class ProductDistribute
|
{
|
public static void MainMethod(string message)
|
{
|
try
|
{
|
var _alibabaToken = CommonHandle.GetToken();
|
ItemDistributionService itemDistribution = new ItemDistributionService();
|
ProductDistributionMq msg = JSONUtil.JsonToObject<ProductDistributionMq>(message);
|
//获取任务信息
|
//var taskList = new DistributionHistoryDAL().ListGet(t => t.TaskId == msg.TaskId && t.DisStatus == 0);
|
var taskList = new DistributionHistoryDAL().ListGet(t => t.TaskId == msg.TaskId && t.DisStatus == 0);
|
if (taskList.IsNull() || taskList.Count == 0)
|
{
|
Console.WriteLine("未获取到可执行商品");
|
LogUtil.Info($"未获取到可执行商品:{msg.TaskId}", "铺货日志");
|
return;
|
}
|
Console.WriteLine($"共获取到{taskList.Count}条任务");
|
//获取过滤关键词
|
var filter = new ProductFilterDAL().ListGet(t => t.Id != null);
|
foreach (var pidItem in taskList)
|
{
|
try
|
{
|
bool res = false;
|
if (pidItem.ProSource == 0)
|
{//精选货源
|
res = itemDistribution.RunDistribution(pidItem, _alibabaToken.AliToken, _alibabaToken.YzToken, filter).Result;
|
}
|
else
|
{//代发方案
|
res = itemDistribution.DaiFaRunDistribution(pidItem, _alibabaToken.AliToken, _alibabaToken.YzToken, _alibabaToken.YzShopId, filter).Result;
|
}
|
Console.WriteLine("执行:" + (res ? "成功" : "失败"));
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine($"执行错误:{e.ToString()}");
|
LogUtil.Info($"循环错误({pidItem.ProductId}):{e.ToString()}", "铺货error");
|
}
|
}
|
Console.WriteLine("本轮任务执行完成!");
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine($"主逻辑错误:{e.ToString()}");
|
LogUtil.Info($"主逻辑错误:{e.ToString()}", "铺货error");
|
}
|
}
|
}
|
}
|