Commit c24423c2 by guanzhenshan

调整保存半成品库存服务

parent afc5a103
......@@ -8,11 +8,36 @@ namespace Bailun.DC.SyncSemiStock.Models
{
public bool success { get; set; }
public List<DC.Models.dc_semi_supplier_offer_log_new> data { get; set; }
public List<response_SupplierPrice_Data> data { get; set; }
public string message { get; set; }
}
public class response_SupplierPrice_Data
{
public int log_id { get; set; }
public int supplier_id { get; set; }
public string supplier_name { get; set; }
public int unit_id { get; set; }
public string unit_name { get; set; }
public DateTime create_time { get; set; }
public decimal price { get; set; }
public string sku { get; set; }
public string sku_name { get; set; }
public int? sku_id { get; set; } = 0;
}
}
......@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Linq;
using MySql.Data.MySqlClient;
using Dapper;
......@@ -184,6 +185,8 @@ namespace Bailun.DC.SyncSemiStock
/// </summary>
public void SyncSupplierPrice()
{
try
{
var start = DateTime.Parse("2017-01-01");
var end = start.AddDays(1);
var url = "http://mjgys.bailuntec.com/api/SupofferLog?";
......@@ -191,7 +194,7 @@ namespace Bailun.DC.SyncSemiStock
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if(cn.State== System.Data.ConnectionState.Closed)
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
......@@ -203,24 +206,36 @@ namespace Bailun.DC.SyncSemiStock
end = start.AddDays(1);
}
if(end>DateTime.Now)
if (end > DateTime.Now)
{
end = DateTime.Now;
}
}
while(end<=DateTime.Now)
while (end <= DateTime.Now)
{
var result = Common.HttpHelper.NetHelper.Request(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd")}&etime={end.ToString("yyyy-MM-dd")}");
var result = Common.HttpHelper.NetHelper.Request(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss")}&etime={end.ToString("yyyy-MM-dd HH:mm:ss")}");
if (!string.IsNullOrEmpty(result))
{
var json = Newtonsoft.Json.JsonConvert.DeserializeObject<response_SupplierPrice>(result);
if(json.success)
if (json.success)
{
Console.WriteLine(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd")}&etime={end.ToString("yyyy-MM-dd")}" + "::获取数据成功!"+DateTime.Now);
SaveSupplierPrice(json.data);
Console.WriteLine(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss")}&etime={end.ToString("yyyy-MM-dd HH:mm:ss")}" + "::获取数据成功!" + DateTime.Now);
SaveSupplierPrice(json.data.Select(a => new DC.Models.dc_semi_supplier_offer_log_new
{
create_time = a.create_time,
log_id = a.log_id,
sku_code = a.sku,
price = a.price,
sku_id = a.sku_id,
sku_name = a.sku_name,
supplier_id = a.supplier_id,
supplier_name = a.supplier_name,
unit_id = a.unit_id,
unit_name = a.unit_name,
}).ToList());
start = end;
end = end.AddDays(1);
}
......@@ -228,6 +243,14 @@ namespace Bailun.DC.SyncSemiStock
}
}
catch (Exception ex)
{
Console.WriteLine("出现异常:"+ex.Message+";10s后重启");
System.Threading.Thread.Sleep(10 * 1000);
SyncSupplierPrice();
}
}
/// <summary>
/// 保存供应商报价数据
......@@ -248,12 +271,13 @@ namespace Bailun.DC.SyncSemiStock
foreach (var item in list)
{
var obj = cn.QueryFirstOrDefault<DC.Models.dc_semi_supplier_offer_log_new>($"select * from dc_semi_supplier_offer_log_new where sku_id='{item.sku_id}'");
var obj = cn.QueryFirstOrDefault<DC.Models.dc_semi_supplier_offer_log_new>($"select * from dc_semi_supplier_offer_log_new where sku_code='{item.sku_code}'");
if (obj == null)
{
obj = item;
obj.sku_id = item.sku_id;
obj.sku_code = item.sku_code ?? "";
obj.update_time = item.create_time;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment