Commit c24423c2 by guanzhenshan

调整保存半成品库存服务

parent afc5a103
...@@ -8,11 +8,36 @@ namespace Bailun.DC.SyncSemiStock.Models ...@@ -8,11 +8,36 @@ namespace Bailun.DC.SyncSemiStock.Models
{ {
public bool success { get; set; } 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 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; ...@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Linq;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using Dapper; using Dapper;
...@@ -184,49 +185,71 @@ namespace Bailun.DC.SyncSemiStock ...@@ -184,49 +185,71 @@ namespace Bailun.DC.SyncSemiStock
/// </summary> /// </summary>
public void SyncSupplierPrice() public void SyncSupplierPrice()
{ {
var start = DateTime.Parse("2017-01-01"); try
var end = start.AddDays(1); {
var url = "http://mjgys.bailuntec.com/api/SupofferLog?"; var start = DateTime.Parse("2017-01-01");
var end = start.AddDays(1);
var url = "http://mjgys.bailuntec.com/api/SupofferLog?";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read)) using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if(cn.State== System.Data.ConnectionState.Closed)
{ {
cn.Open(); if (cn.State == System.Data.ConnectionState.Closed)
} {
cn.Open();
}
var obj = cn.QueryFirstOrDefault<DC.Models.dc_semi_supplier_offer_log>("select * from dc_semi_supplier_offer_log_new order by create_time desc limit 1"); var obj = cn.QueryFirstOrDefault<DC.Models.dc_semi_supplier_offer_log>("select * from dc_semi_supplier_offer_log_new order by create_time desc limit 1");
if (obj != null) if (obj != null)
{ {
start = obj.update_time; start = obj.update_time;
end = start.AddDays(1); end = start.AddDays(1);
} }
if(end>DateTime.Now) if (end > DateTime.Now)
{ {
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")}");
if (!string.IsNullOrEmpty(result))
{ {
var json = Newtonsoft.Json.JsonConvert.DeserializeObject<response_SupplierPrice>(result); 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))
if(json.success)
{ {
Console.WriteLine(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd")}&etime={end.ToString("yyyy-MM-dd")}" + "::获取数据成功!"+DateTime.Now); var json = Newtonsoft.Json.JsonConvert.DeserializeObject<response_SupplierPrice>(result);
SaveSupplierPrice(json.data);
start = end; if (json.success)
end = end.AddDays(1); {
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);
}
} }
}
}
}
catch (Exception ex)
{
Console.WriteLine("出现异常:"+ex.Message+";10s后重启");
System.Threading.Thread.Sleep(10 * 1000);
SyncSupplierPrice();
} }
} }
/// <summary> /// <summary>
...@@ -248,12 +271,13 @@ namespace Bailun.DC.SyncSemiStock ...@@ -248,12 +271,13 @@ namespace Bailun.DC.SyncSemiStock
foreach (var item in list) 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) if (obj == null)
{ {
obj = item; obj = item;
obj.sku_id = item.sku_id;
obj.sku_code = item.sku_code ?? ""; obj.sku_code = item.sku_code ?? "";
obj.update_time = item.create_time; 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