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(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"); } } } }