old_flsystem/应用/CouponsSend/AnalyzeGoods.cs

275 lines
15 KiB
C#
Raw Normal View History

2022-09-20 03:10:29 +00:00
using Api.Framework;
using Api.Framework.Cps;
using Api.Framework.Tools;
using CouponsSend.Entitys;
using CouponsSend.Entitys1;
using CouponsSend.Entitys2;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using static CouponsSend.Entitys.Enum;
namespace CouponsSend
{
public class AnalyzeGoods
{
#region
public void GatherFactory()
{
try
{
var html = string.Empty;
var session = ApiClient.GetSession();
var dtk = DtkApi.GetDtkApi();
var par = new ApiParameters();
par.Add("pageId", "1");
par.Add("pageSize", "100");
var ver = "v1.0.0";
var api = "https://openapi.dataoke.com/api/goods/exclusive-goods-list";
switch (Class1.Config.GatherType)
{
case Entitys.Enum.GatherType.:
api = "https://openapi.dataoke.com/api/goods/exclusive-goods-list";
par.Add("sort", Class1.Config.ConditionType.ToString());
html = dtk.SendDtk(api, par, ver);
if (!string.IsNullOrWhiteSpace(html))
{
try
{
var egList = JsonConvert.DeserializeObject<ExclusiveGoodsList>(html);
if (egList != null)
{
var existGoods = session.Find<fl_plugin_couponssend_goodsinfos>("select * from fl_plugin_couponssend_goodsinfos");
var goodsinfos = new List<fl_plugin_couponssend_goodsinfos>();
foreach (var item in egList.data.list)
{
try
{
var goods = new fl_plugin_couponssend_goodsinfos();
goods.goods_quan = item.couponId;
goods.goods_id = item.goodsId;
var gTemp = existGoods.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
gTemp = goodsinfos.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
goods.goods_desc = item.desc;
goods.coupon_discount = item.couponPrice;
goods.normal_price = item.originalPrice;
goods.actual_price = item.actualPrice;
goods.goods_thumbnail_url = item.mainPic;
goods.goods_name = item.title;
goods.promotion_rate = item.commissionRate;
goods.state = StateType.广;
goods.cur_time = DateTime.Now;
goodsinfos.Add(goods);
}
catch (Exception ex)
{ }
}
if (goodsinfos.Count != 0)
session.Insertable(goodsinfos.ToArray()).ExecuteCommand();
}
}
catch (Exception ex)
{
//EventClient.OnEvent(this, $"群发优惠券采集异常.{ex.Message}{ex.StackTrace}");
}
}
break;
case Entitys.Enum.GatherType.:
api = "https://openapi.dataoke.com/api/goods/explosive-goods-list";
par.Add("PriceCid", (Class1.Config.ConditionType + 1).ToString());
html = dtk.SendDtk(api, par, ver);
if (!string.IsNullOrWhiteSpace(html))
{
try
{
var egList = JsonConvert.DeserializeObject<ExplosiveGoodsList>(html);
if (egList != null)
{
var existGoods = session.Find<fl_plugin_couponssend_goodsinfos>("select * from fl_plugin_couponssend_goodsinfos");
var goodsinfos = new List<fl_plugin_couponssend_goodsinfos>();
foreach (var item in egList.data.list)
{
try
{
var goods = new fl_plugin_couponssend_goodsinfos();
goods.goods_quan = item.couponId;
goods.goods_id = item.goodsId;
var gTemp = existGoods.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
gTemp = goodsinfos.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
goods.goods_desc = item.desc;
goods.coupon_discount = item.couponPrice;
goods.normal_price = item.originalPrice;
goods.actual_price = item.actualPrice;
goods.goods_thumbnail_url = item.mainPic;
goods.goods_name = item.title;
goods.promotion_rate = item.commissionRate;
goods.state = StateType.广;
goods.cur_time = DateTime.Now;
goodsinfos.Add(goods);
}
catch (Exception ex)
{ }
}
if (goodsinfos.Count != 0)
session.Insertable(goodsinfos.ToArray()).ExecuteCommand();
}
}
catch (Exception ex)
{
//EventClient.OnEvent(this, $"群发优惠券采集异常.{ex.Message}{ex.StackTrace}");
}
}
break;
case Entitys.Enum.GatherType.:
api = "https://openapi.dataoke.com/api/goods/get-ranking-list";
ver = "v1.3.0";
par.Add("rankType", (Class1.Config.ConditionType + 1).ToString());
html = dtk.SendDtk(api, par, ver);
if (!string.IsNullOrWhiteSpace(html))
{
try
{
var egList = JsonConvert.DeserializeObject<GetRankinglist>(html);
if (egList != null)
{
var existGoods = session.Find<fl_plugin_couponssend_goodsinfos>("select * from fl_plugin_couponssend_goodsinfos");
var goodsinfos = new List<fl_plugin_couponssend_goodsinfos>();
foreach (var item in egList.data)
{
try
{
var goods = new fl_plugin_couponssend_goodsinfos();
var reg = Regex.Match(item.couponLink, @"activityId=(?<activityid>[a-zA_Z0-9]+)");
goods.goods_quan = reg.Success ? reg.Groups["activityid"].ToString() : string.Empty;
goods.goods_id = item.goodsId;
var gTemp = existGoods.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
gTemp = goodsinfos.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
goods.goods_desc = item.desc;
goods.coupon_discount = item.couponPrice;
goods.normal_price = item.originalPrice;
goods.actual_price = item.actualPrice;
goods.goods_thumbnail_url = item.mainPic;
goods.goods_name = item.title;
goods.promotion_rate = item.commissionRate;
goods.state = StateType.广;
goods.cur_time = DateTime.Now;
goodsinfos.Add(goods);
}
catch (Exception ex)
{ }
}
if (goodsinfos.Count != 0)
session.Insertable(goodsinfos.ToArray()).ExecuteCommand();
}
}
catch (Exception ex)
{
//EventClient.OnEvent(this, $"群发优惠券采集异常.{ex.Message}{ex.StackTrace}");
}
}
break;
case Entitys.Enum.GatherType.:
api = "https://openapi.dataoke.com/api/goods/nine/op-goods-list";
par.Add("nineCid", (Class1.Config.ConditionType + 1).ToString());
ver = "v2.0.0";
html = dtk.SendDtk(api, par, ver);
if (!string.IsNullOrWhiteSpace(html))
{
try
{
var egList = JsonConvert.DeserializeObject<ExplosiveGoodsList>(html);
if (egList != null)
{
var existGoods = session.Find<fl_plugin_couponssend_goodsinfos>("select * from fl_plugin_couponssend_goodsinfos");
var goodsinfos = new List<fl_plugin_couponssend_goodsinfos>();
foreach (var item in egList.data.list)
{
try
{
var goods = new fl_plugin_couponssend_goodsinfos();
var reg = Regex.Match(item.couponLink, @"activityId=(?<activityid>[a-zA_Z0-9]+)");
goods.goods_quan = reg.Success ? reg.Groups["activityid"].ToString() : string.Empty;
goods.goods_id = item.goodsId;
var gTemp = existGoods.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
gTemp = goodsinfos.FirstOrDefault(f => f.goods_id == goods.goods_id);
if (gTemp != null)
continue;
goods.goods_desc = item.desc;
goods.coupon_discount = item.couponPrice;
goods.normal_price = item.originalPrice;
goods.actual_price = item.actualPrice;
goods.goods_thumbnail_url = item.mainPic;
goods.goods_name = item.title;
goods.promotion_rate = item.commissionRate;
goods.state = StateType.广;
goods.cur_time = DateTime.Now;
goodsinfos.Add(goods);
}
catch (Exception ex)
{ }
}
if (goodsinfos.Count != 0)
session.Insertable(goodsinfos.ToArray()).ExecuteCommand();
}
}
catch (Exception ex)
{
//EventClient.OnEvent(this, $"群发优惠券采集异常.{ex.Message}{ex.StackTrace}");
}
}
break;
}
}
catch (Exception ex)
{
EventClient.OnEvent(this, $"群发优惠券采集异常:{ex.Message}{ex.StackTrace}");
}
}
#endregion
}
}