从店铺商品列表获取商品曝光量

This commit is contained in:
wule committed 2026-06-05 18:45:29 +08:00
1 parent 58c26725fb
commit 4ee91e2625
10 files changed
+588 -184

No files matched your search

+1 -1
View File
@@ -27,7 +27,7 @@ namespace AllBase
/// <summary>
/// 版本ID
/// </summary>
public static int VersionCount = 1162;
public static int VersionCount = 1165;
public static string MainPath = "29wx";
//public static string MainPath = "29wx";
//public static string MainPath = "29pdd";
@@ -3728,7 +3728,7 @@ namespace KJD_Web.BLL.BXX
var minViewUv = (System.Configuration.ConfigurationManager.ConnectionStrings["GetWXRecommendHotProdMinViewUv"]?.ConnectionString).ParseToInt(500);
var getInterval = (System.Configuration.ConfigurationManager.ConnectionStrings["GetWXRecommendHotProdInterval"]?.ConnectionString).ParseToInt(3);
return "{\"code\":200,\"is_get\":\"" + isGetReturn + "\",\"isGetOnce\":\"" + isGetOnce + "\"," +
"\"minViewUv\":" + minViewUv + ",\"getInterval\":" + getInterval + "}";
"\"minViewUv\":" + minViewUv + ",\"getViewUvInterval\":" + getInterval + "}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
+415 -26
View File
@@ -1,8 +1,10 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.Param.WXParam;
using AllBase.Model.Result;
using AllBase.Model.Result.WXResult;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
@@ -22,6 +24,288 @@ namespace TemuKJD.BLL.Wx
public static bool isGetOnce { get; set; } = true;
public void GetPlatformRecommendProduct()
{
//Task.Run(() =>
//{
// if (!Directory.Exists("wxPlatformRecommendUpdate"))
// Directory.CreateDirectory("wxPlatformRecommendUpdate");
// while (true)
// {
// int cnt = 0;
// foreach (var shop in GlobalConfig.ShopLoginList)
// {
// if (shop.LoginStatus != "登录成功")
// continue;
// if (shop.ShopId == "wx8fd533b89195d717")
// {
// }
// Thread.Sleep(Randomx.GetId(500, 1500));
// WXPlatformRecommendUpdateInfo info = new WXPlatformRecommendUpdateInfo() { shopId = shop.ShopId, updateDay = DateTime.Now.ToString("yyMMdd") };
// try
// {
// info = NaiBa.Util.Helper.ConfigHelper.LoadConfig<WXPlatformRecommendUpdateInfo>("wxPlatformRecommendUpdate\\" + shop.ShopId);
// if (info == null)
// info = new WXPlatformRecommendUpdateInfo() { shopId = shop.ShopId, updateDay = DateTime.MinValue.ToString("yyMMdd") };
// if (info.updateDay == DateTime.Now.ToString("yyMMdd") && isGetOnce)
// {
// // 已查询过,跳过,暂时关闭改为每次打开都查询
// continue;
// }
// info.failReason = "";
// long endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1;
// long startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-30));
// string result = "";
// for (int i = 0; i < 100; i++)
// {
// result = getPlatformRecommend(shop, startMs, endMs, i + 1);
// if (!result.Contains("\"code\":0"))
// {
// WXForms.ShopForms.WXShopListForm.CheckShopLogin(shop);
// info.failReason = "读取失败,推荐商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// break;
// }
// Thread.Sleep(Randomx.GetId(500, 1500));
// try
// {
// var jArr = JsonHelper.JObjectParse(result)["data"]["data"]["list"];
// List<WXPlatformRecommendProdInfo> recommendProds = JsonHelper.DeserializeJsonToList<WXPlatformRecommendProdInfo>(JsonHelper.SerializeObject(jArr));
// foreach (var recommendProd in recommendProds)
// {
// if (recommendProd.product_view_uv.ParseToInt() < minViewUv)
// {
// i = 999999;
// break;
// }
// cnt++;
// if (cnt % 20 == 0)
// {
// var url0 = BaseClass.BuildObjString("product/is_get_wx_recommend_hot_prod");
// var data0 = "";
// data0 = UserLogin.GetSignaturex();
// var html0 = GetHtml.PostUtf8(url0, data0);
// if (!html0.Contains("\"code\":200"))
// html0 = GetHtml.PostUtf8(url0, data0);
// if (html0.Contains("\"is_get\":\"true\""))
// {
// minViewUv = Math.Max(100, BaseRegex.GetIntJson(ref html0, "minViewUv"));
// getInterval = Math.Max(3, BaseRegex.GetIntJson(ref html0, "getViewUvInterval"));
// }
// else
// {
// break;
// }
// }
// Thread.Sleep(getInterval * 1000);
// #region 查询爆款数据是否已存在
// var url = BaseClass.BuildPDDObjString("product/get_product_list");
// var data = "";
// data = UserLogin.GetSignaturex() +
// "&search_prod_name_in=" + GetHtml.UrlEncodeUtf8(recommendProd.title) + //"&wx_safe_status=" + "安全商品,未校验" +
// "&special_prod_type=爆款数据" +
// "&is_not_count=true";
// var html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// {
// info.failReason = "读取失败,库存商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// var prodObjs = JsonHelper.JObjectParse(html)["data"];
// List<KJDDBProduct> dbProdLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.SerializeObject(prodObjs));
// var dbProdHotLst = dbProdLst.Where(p => p.special_prod_type == "爆款数据").ToList();
// var existHotProd = dbProdHotLst.FirstOrDefault();
// if (existHotProd != null) // 爆款数据商品已存在,更新下曝光量view_uv后继续
// {
// if(existHotProd.view_uv.ParseToInt() < recommendProd.product_view_uv.ParseToInt())
// {
// url = BaseClass.BuildObjString("product/mdy_best_sale_prod");
// data = UserLogin.GetSignaturex() +
// "&spu_id=" + existHotProd.spu_id +
// "&view_uv=" + recommendProd.product_view_uv;
// html = GetHtml.PostUtf8(url, data);
// }
// continue;
// }
// #endregion
// WXGetEditProductInfoLite wxProdInfoLite = null;
// var rst1 = new WXShopBrowserObject().GetWxProduct(shop, recommendProd.product_id, ref wxProdInfoLite, true);
// if (rst1 != "success")
// {
// info.failReason = "读取失败,微信商品详情查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// string spuCode = wxProdInfoLite.product.info.spuCode.ParseToString(); // 2042905570314301442
// #region 查询原始数据
// dbProdLst.Clear();
// if (spuCode.Length == 19)
// {
// url = BaseClass.BuildPDDObjString("product/get_product_list");
// data = UserLogin.GetSignaturex() +
// "&search_secret_spu_ids=" + spuCode +
// "&special_prod_type=普通商品,书籍" +
// "&is_not_count=true";
// html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// {
// info.failReason = "读取失败,库存商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// prodObjs = JsonHelper.JObjectParse(html)["data"];
// dbProdLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.SerializeObject(prodObjs));
// }
// if (dbProdLst.Count == 0 && spuCode.StartsWith("EC1") && spuCode.EndsWith("A"))
// {
// spuCode = spuCode.Substring(3, spuCode.Length - 4);
// url = BaseClass.BuildPDDObjString("product/get_product_list");
// data = UserLogin.GetSignaturex() +
// "&search_spu=" + spuCode +
// "&special_prod_type=普通商品,书籍" +
// "&is_not_count=true";
// html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// {
// info.failReason = "读取失败,库存商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// prodObjs = JsonHelper.JObjectParse(html)["data"];
// dbProdLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.SerializeObject(prodObjs));
// }
// if (dbProdLst.Count == 0 && spuCode.Length > 10)
// {
// url = BaseClass.BuildPDDObjString("product/get_product_list");
// data = UserLogin.GetSignaturex() +
// "&ext_code_in=" + spuCode +
// "&special_prod_type=普通商品,书籍" +
// "&is_not_count=true";
// html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// {
// info.failReason = "读取失败,库存商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// prodObjs = JsonHelper.JObjectParse(html)["data"];
// dbProdLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.SerializeObject(prodObjs));
// }
// if (dbProdLst.Count == 0)
// {
// url = BaseClass.BuildPDDObjString("product/get_product_list");
// data = UserLogin.GetSignaturex() +
// "&search_prod_name_in=" + GetHtml.UrlEncodeUtf8(recommendProd.title) +
// "&special_prod_type=普通商品,书籍" +
// "&is_not_count=true";
// html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// {
// info.failReason = "读取失败,库存商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// prodObjs = JsonHelper.JObjectParse(html)["data"];
// dbProdLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.SerializeObject(prodObjs));
// }
// if (dbProdLst.Count == 0 && spuCode.Length > 10)
// {
// url = BaseClass.BuildPDDObjString("product/get_product_list");
// data = UserLogin.GetSignaturex() +
// "&ext_code_in=" + GetHtml.UrlEncodeUtf8(recommendProd.title) +
// "&special_prod_type=普通商品,书籍" +
// "&is_not_count=true";
// html = GetHtml.PostUtf8(url, data);
// if (!html.Contains("\"code\":200"))
// {
// info.failReason = "读取失败,库存商品查询失败";
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// prodObjs = JsonHelper.JObjectParse(html)["data"];
// dbProdLst = JsonHelper.DeserializeJsonToList<KJDDBProduct>(JsonHelper.SerializeObject(prodObjs));
// }
// #endregion
// var dbProdNormalLst = dbProdLst.Where(p => p.special_prod_type != "爆款数据").ToList();
// var normalJstProd = dbProdNormalLst
// .FirstOrDefault(p => p.product_get_type_text == "厂商直采" && p.secret_spu_id == wxProdInfoLite.product.info.spuCode);
// string prodId = recommendProd.product_id;
// string coid = normalJstProd?.skc_id;
// string real_coid = string.IsNullOrEmpty(normalJstProd?.real_coid) ? coid : normalJstProd?.real_coid;
// string wx_safe_status = !dbProdNormalLst.Any(p => p.wx_safe_status == "违规商品") ? "安全商品" : "违规商品";
// int? view_uv = recommendProd.product_view_uv.IsNullOrEmpty() ? (int?)null : recommendProd.product_view_uv.ParseToInt();
// var rst2 = new WXShopBrowserObject()
// .SaveWxProd(shop, prodId, wxProdInfoLite, "爆款数据", coid, real_coid, view_uv, wx_safe_status);
// if (!rst2.Contains("微信商品采集入库成功"))
// {
// info.failReason = "查询失败," + rst2;
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// }
// }
// catch (Exception ex)
// {
// info.failReason = "读取失败" + ex.Message;
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// continue;
// }
// var total = BaseRegex.GetIntJson(ref result, "list_total");
// var totalPage = Math.Ceiling(1.0m * total / 10).ParseToInt();
// if (totalPage <= i + 1)
// {
// break;
// }
// }
// if (!result.Contains("\"code\":0"))
// continue;
// if (string.IsNullOrEmpty(info.failReason))
// info.updateDay = DateTime.Now.ToString("yyMMdd");
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
// }
// catch (Exception ex)
// {
// }
// }
// // 不循环获取
// break;
// }
//});
}
/// <summary>
/// 从商品列表读取曝光量
/// </summary>
public void GetPlatformRecommendProduct260605()
{
Task.Run(() =>
@@ -37,11 +321,6 @@ namespace TemuKJD.BLL.Wx
if (shop.LoginStatus != "登录成功")
continue;
if (shop.ShopId == "wx8fd533b89195d717")
{
}
Thread.Sleep(Randomx.GetId(500, 1500));
WXPlatformRecommendUpdateInfo info = new WXPlatformRecommendUpdateInfo() { shopId = shop.ShopId, updateDay = DateTime.Now.ToString("yyMMdd") };
@@ -59,17 +338,19 @@ namespace TemuKJD.BLL.Wx
info.failReason = "";
long endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1;
long startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-30));
string result = "";
for (int i = 0; i < 100; i++)
string getProdRst = "";
for (int i = 0; i < 10000; i++)
{
result = getPlatformRecommend(shop, startMs, endMs, i + 1);
if (!result.Contains("\"code\":0"))
// 先查询商品
getProdRst = searchProductWithSaleStatus(shop, i + 1);
if (!getProdRst.Contains("\"code\":0") && !getProdRst.Contains("\"success\":true"))
{
WXForms.ShopForms.WXShopListForm.CheckShopLogin(shop);
WXShopListForm.CheckShopLogin(shop);
info.failReason = "读取失败,商品查询失败";
if (shop.LoginStatus != "登录成功")
info.failReason = "读取失败,店铺掉线";
info.failReason = "读取失败,推荐商品查询失败";
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
break;
}
@@ -77,17 +358,57 @@ namespace TemuKJD.BLL.Wx
try
{
var jArr = JsonHelper.JObjectParse(result)["data"]["data"]["list"];
List<WXPlatformRecommendProdInfo> recommendProds = JsonHelper.DeserializeJsonToList<WXPlatformRecommendProdInfo>(JsonHelper.SerializeObject(jArr));
var wxProdObjList = JsonHelper.JObjectParse(getProdRst)["productList"];
//var prodLst = JsonHelper.DeserializeJsonToList<WXUploadProductParam>(JsonHelper.SerializeObject(wxProdObjList));
var prodIdLst = wxProdObjList.Select(p => p["productId"].ParseToString()).ToList();
if (prodIdLst.Count == 0)
{
// 取到商品页,直接跳出
i = 999999;
break;
}
var prodMetricRst = getProductMetricList(shop, prodIdLst, i + 1);
if (!prodMetricRst.Contains("\"code\":0"))
{
WXShopListForm.CheckShopLogin(shop);
info.failReason = "读取失败,商品查询失败";
if (shop.LoginStatus != "登录成功")
info.failReason = "读取失败,店铺掉线";
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wxPlatformRecommendUpdate\\" + shop.ShopId, info);
break;
}
Thread.Sleep(Randomx.GetId(500, 1500));
var productMetric = JsonHelper.DeserializeJsonToObject<ProductMetric>(JsonHelper.JObjectParse(prodMetricRst)["data"].ToString());
if (productMetric.rowsMap == null || productMetric.rowsMap.Count == 0)
{
// 取到无流量页,直接跳出
i = 999999;
break;
}
// 将商品信息和曝光信息融合到一起
List<WXPlatformRecommendProdInfo> recommendProds = new List<WXPlatformRecommendProdInfo>();
foreach (var wxProdObj in wxProdObjList)
{
WXPlatformRecommendProdInfo recommendProd = new WXPlatformRecommendProdInfo();
var prodStr = JsonHelper.SerializeObject(wxProdObj);
var productMetricStr = JsonHelper.SerializeObject(productMetric);
recommendProd.product_id = wxProdObj["productId"].ParseToString();
recommendProd.title = wxProdObj["title"].ParseToString();
var ViewUvCnt = productMetric.rowsMap
.Where(r => r.value?.spu_id_ == recommendProd.product_id)
.Sum(r => r.value?.shopxspu_growth_product_view_cnt_30d_2.ParseToInt());
recommendProd.product_view_uv = ViewUvCnt.ParseToString();
if (ViewUvCnt > 0)
recommendProds.Add(recommendProd);
}
// 计算曝光,大于指定数量的入库
var recommendProdStr = JsonHelper.SerializeObject(recommendProds);
foreach (var recommendProd in recommendProds)
{
if (recommendProd.product_view_uv.ParseToInt() < minViewUv)
{
i = 999999;
break;
}
cnt++;
if (cnt % 20 == 0)
{
var url0 = BaseClass.BuildObjString("product/is_get_wx_recommend_hot_prod");
@@ -107,6 +428,11 @@ namespace TemuKJD.BLL.Wx
}
}
if (recommendProd.product_view_uv.ParseToInt() < minViewUv)
{
continue;
}
cnt++;
Thread.Sleep(getInterval * 1000);
#region 查询爆款数据是否已存在
@@ -131,7 +457,7 @@ namespace TemuKJD.BLL.Wx
var existHotProd = dbProdHotLst.FirstOrDefault();
if (existHotProd != null) // 爆款数据商品已存在,更新下曝光量view_uv后继续
{
if(existHotProd.view_uv.ParseToInt() < recommendProd.product_view_uv.ParseToInt())
if (existHotProd.view_uv.ParseToInt() < recommendProd.product_view_uv.ParseToInt())
{
url = BaseClass.BuildObjString("product/mdy_best_sale_prod");
data = UserLogin.GetSignaturex() +
@@ -274,14 +600,16 @@ namespace TemuKJD.BLL.Wx
continue;
}
var total = BaseRegex.GetIntJson(ref result, "list_total");
var total = BaseRegex.GetIntJson(ref getProdRst, "list_total");
if (total.IsNullOrZero())
total = BaseRegex.GetIntJson(ref getProdRst, "totalNum");
var totalPage = Math.Ceiling(1.0m * total / 10).ParseToInt();
if (totalPage <= i + 1)
{
break;
}
}
if (!result.Contains("\"code\":0"))
if (!getProdRst.Contains("\"code\":0") && !getProdRst.Contains("\"success\":true"))
continue;
if (string.IsNullOrEmpty(info.failReason))
@@ -296,7 +624,7 @@ namespace TemuKJD.BLL.Wx
// 不循环获取
break;
}
}
});
}
@@ -312,6 +640,37 @@ namespace TemuKJD.BLL.Wx
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, data, referer);
return result;
}
public static string searchProductWithSaleStatus(ShopLoginInfo shop, int pageNum = 1, int pageSize = 50)
{
// 在售
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=" + pageSize +
"&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&fromProductManager=1&pageNum=" + pageNum + "&status[]=5&sortType=6";
// 全部商品
//string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=" + pageSize +
// "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&fromProductManager=1&pageNum=" + pageNum + "&status[]=-1&sortType=6";
string refere = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_STATUS_ON&currentPage=" + pageNum;
var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, refere);
return result;
}
public static string getProductMetricList(ShopLoginInfo shop, List<string> spuIdLst, int pageNum = 1, int pageSize = 50)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/getProductMetricList?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_STATUS_ON&currentPage=" + pageNum;
string body = @"{""spuIds"":[""10000941685997"",""10000941606843"",""10000941606678"",""10000941814176"",""10000941730758"",""10000941794530"",""10000941656198"",""10000941838792"",""10000941813664"",""10000941507483"",""10000941644842"",""10000941511634"",""10000941566070"",""10000941773596"",""10000941605208"",""10000941768333"",""10000941442087"",""10000941595429"",""10000941600162"",""10000941382412"",""10000941506207"",""10000941599882"",""10000941743120"",""10000941708791"",""10000941480748"",""10000941505847"",""10000941377556"",""10000941327242"",""10000941519895"",""10000941574393"",""10000941708024"",""10000941543916"",""10000941445436"",""10000941287155"",""10000941297349"",""10000941543530"",""10000941603084"",""10000941360832"",""10000941484113"",""10000941137242"",""10000941468968"",""10000941271777"",""10000941563120"",""10000941528202"",""10000941226651"",""10000941136287"",""10000940942388"",""10000941389756"",""10000941261318"",""10000940962314""],""limit"":300,""offset"":0,""sortMetricCode"":""shopxspu_growth_pay_product_cnt_30d_2"",""sortRule"":""desc"",""sceneType"":""0""}";
var data = new Dictionary<string, object>();
data["spuIds"] = spuIdLst;
data["limit"] = pageSize * 6;
data["offset"] = 0;
data["sortMetricCode"] = "shopxspu_growth_pay_product_cnt_30d_2";
data["sortRule"] = "desc";
data["sceneType"] = "0";
body = JsonHelper.SerializeObject(data);
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refere);
return result;
}
}
public class WXPlatformRecommendUpdateInfo
@@ -355,4 +714,34 @@ namespace TemuKJD.BLL.Wx
public string product_click_cnt_hb { get; set; } // ""
}
public class ProductMetric
{
public List<MetricSchema> schema { get; set; }
public List<MetricRowsMap> rowsMap { get; set; }
}
public class MetricRowsMap
{
public MetricRowsMapValue value { get; set; }
}
public class MetricRowsMapValue
{
public string shopxspu_growth_product_view_cnt_30d_2 { get; set; } // "167", "(店铺x商品)商品成长-曝光次数(近30天)-新"
public string shopxspu_growth_pay_product_cnt_30d_2 { get; set; } // "0",
public string shopxspu_growth_rec_product_view_cnt_30d_2 { get; set; } // "167",
public string scene_type_ { get; set; } // "10100",
public string spu_id_ { get; set; } // "10000697373414"
}
public class MetricSchema
{
public string key { get; set; } // "shopxspu_growth_product_view_cnt_30d_2", "shopxspu_growth_rec_product_view_cnt_30d_2", "shopxspu_growth_pay_product_cnt_30d_2"
public string fieldDbType { get; set; } // "int64",
public string name { get; set; } // "(店铺x商品)商品成长-曝光次数(近30天)-新", "(店铺x商品)商品成长-推荐曝光次数(近30天)-新", "(店铺x商品)商品成长-成交件数(近30天)-新"
public string logicType { get; set; } // "METRIC",
public string dataType { get; set; } // "BIGINT"
}
}
+1 -1
View File
@@ -246,7 +246,7 @@ namespace TemuKJD
WxPlatformRecommendProdManage.minViewUv = Math.Max(100, BaseRegex.GetIntJson(ref html, "minViewUv"));
WxPlatformRecommendProdManage.getInterval = Math.Max(3, BaseRegex.GetIntJson(ref html, "getViewUvInterval"));
WxPlatformRecommendProdManage.isGetOnce = BaseRegex.GetBoolJson(ref html, "isGetOnce");
new WxPlatformRecommendProdManage().GetPlatformRecommendProduct();
new WxPlatformRecommendProdManage().GetPlatformRecommendProduct260605();
}
});
@@ -175,7 +175,7 @@ namespace TemuKJD.WXForms.AdminForms
user.company_name,
user.shop_count,
user.sa_level,
user.sa_level_name,
user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/,
user.authority,
user.group_id == "3" ? user.points.ToString() : "",
"+",
+144 -140
View File
@@ -32,14 +32,14 @@ namespace TemuKJD.WXForms.ProductForms
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.txtShippingPriceTimes = new System.Windows.Forms.TextBox();
@@ -131,15 +131,18 @@ namespace TemuKJD.WXForms.ProductForms
this.line1 = new DevComponents.DotNetBar.Controls.Line();
this.label37 = new System.Windows.Forms.Label();
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbJstInitSet = new System.Windows.Forms.ComboBox();
this.pbSelectProd = new System.Windows.Forms.PictureBox();
this.chkSevenDays = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkSkipQualification = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.lblGoodsCount = new System.Windows.Forms.Label();
this.txtRandomFissionProductCount = new System.Windows.Forms.TextBox();
this.chkRandomFissionProduct = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.btnSwitchCatType = new DevComponents.DotNetBar.PanelEx();
this.cmbHot = new System.Windows.Forms.ComboBox();
this.btnProdDb = new DevComponents.DotNetBar.PanelEx();
this.chkWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtAddCount = new System.Windows.Forms.TextBox();
this.txtSearchGoodsName = new System.Windows.Forms.TextBox();
this.pbSelectProd = new System.Windows.Forms.PictureBox();
this.cmbSourceType = new System.Windows.Forms.ComboBox();
this.cmbCateFilter3 = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
this.label21 = new System.Windows.Forms.Label();
@@ -147,15 +150,11 @@ namespace TemuKJD.WXForms.ProductForms
this.txtIdFilter = new System.Windows.Forms.TextBox();
this.cmbCateFilter2 = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
this.btnClearFilter = new DevComponents.DotNetBar.PanelEx();
this.lblGoodsCount = new System.Windows.Forms.Label();
this.cmbWxSafe = new System.Windows.Forms.ComboBox();
this.btnClearUpload = new DevComponents.DotNetBar.PanelEx();
this.cmbCateFilter1 = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
this.label2 = new System.Windows.Forms.Label();
this.lblWaitToUp = new System.Windows.Forms.Label();
this.btnRandomAdd = new DevComponents.DotNetBar.PanelEx();
this.chkSevenDays = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkSkipQualification = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.lblSourceType = new System.Windows.Forms.Label();
this.lblGroupFilter = new System.Windows.Forms.Label();
this.lblWxSafe = new System.Windows.Forms.Label();
@@ -163,7 +162,8 @@ namespace TemuKJD.WXForms.ProductForms
this.lblIdFilter = new System.Windows.Forms.Label();
this.lblHot = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.cmbJstInitSet = new System.Windows.Forms.ComboBox();
this.chkRandomFissionProduct = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.lblWaitToUp = new System.Windows.Forms.Label();
this.lblJstInitSet = new System.Windows.Forms.Label();
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbFilterShopGroup = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
@@ -1483,6 +1483,11 @@ namespace TemuKJD.WXForms.ProductForms
| System.Windows.Forms.AnchorStyles.Left)));
this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBoxEx4.Controls.Add(this.cmbJstInitSet);
this.ucGroupBoxEx4.Controls.Add(this.pbSelectProd);
this.ucGroupBoxEx4.Controls.Add(this.chkSevenDays);
this.ucGroupBoxEx4.Controls.Add(this.chkSkipQualification);
this.ucGroupBoxEx4.Controls.Add(this.lblGoodsCount);
this.ucGroupBoxEx4.Controls.Add(this.txtRandomFissionProductCount);
this.ucGroupBoxEx4.Controls.Add(this.btnSwitchCatType);
this.ucGroupBoxEx4.Controls.Add(this.cmbHot);
@@ -1490,7 +1495,6 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.Controls.Add(this.chkWXComplateProd);
this.ucGroupBoxEx4.Controls.Add(this.txtAddCount);
this.ucGroupBoxEx4.Controls.Add(this.txtSearchGoodsName);
this.ucGroupBoxEx4.Controls.Add(this.pbSelectProd);
this.ucGroupBoxEx4.Controls.Add(this.cmbSourceType);
this.ucGroupBoxEx4.Controls.Add(this.cmbCateFilter3);
this.ucGroupBoxEx4.Controls.Add(this.label21);
@@ -1498,15 +1502,11 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.Controls.Add(this.txtIdFilter);
this.ucGroupBoxEx4.Controls.Add(this.cmbCateFilter2);
this.ucGroupBoxEx4.Controls.Add(this.btnClearFilter);
this.ucGroupBoxEx4.Controls.Add(this.lblGoodsCount);
this.ucGroupBoxEx4.Controls.Add(this.cmbWxSafe);
this.ucGroupBoxEx4.Controls.Add(this.btnClearUpload);
this.ucGroupBoxEx4.Controls.Add(this.cmbCateFilter1);
this.ucGroupBoxEx4.Controls.Add(this.label2);
this.ucGroupBoxEx4.Controls.Add(this.lblWaitToUp);
this.ucGroupBoxEx4.Controls.Add(this.btnRandomAdd);
this.ucGroupBoxEx4.Controls.Add(this.chkSevenDays);
this.ucGroupBoxEx4.Controls.Add(this.chkSkipQualification);
this.ucGroupBoxEx4.Controls.Add(this.lblSourceType);
this.ucGroupBoxEx4.Controls.Add(this.lblGroupFilter);
this.ucGroupBoxEx4.Controls.Add(this.lblWxSafe);
@@ -1514,9 +1514,9 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.Controls.Add(this.lblIdFilter);
this.ucGroupBoxEx4.Controls.Add(this.lblHot);
this.ucGroupBoxEx4.Controls.Add(this.label19);
this.ucGroupBoxEx4.Controls.Add(this.cmbJstInitSet);
this.ucGroupBoxEx4.Controls.Add(this.lblJstInitSet);
this.ucGroupBoxEx4.Controls.Add(this.chkRandomFissionProduct);
this.ucGroupBoxEx4.Controls.Add(this.lblWaitToUp);
this.ucGroupBoxEx4.Controls.Add(this.lblJstInitSet);
this.ucGroupBoxEx4.Location = new System.Drawing.Point(186, 2);
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165);
@@ -1524,6 +1524,63 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.TabStop = false;
this.ucGroupBoxEx4.Text = "待传商品";
//
// cmbJstInitSet
//
this.cmbJstInitSet.FormattingEnabled = true;
this.cmbJstInitSet.Items.AddRange(new object[] {
"",
"是",
"否"});
this.cmbJstInitSet.Location = new System.Drawing.Point(228, 132);
this.cmbJstInitSet.Name = "cmbJstInitSet";
this.cmbJstInitSet.Size = new System.Drawing.Size(33, 25);
this.cmbJstInitSet.TabIndex = 697;
this.cmbJstInitSet.Text = "是";
this.cmbJstInitSet.Visible = false;
//
// pbSelectProd
//
this.pbSelectProd.BackColor = System.Drawing.Color.Transparent;
this.pbSelectProd.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbSelectProd.Location = new System.Drawing.Point(80, 134);
this.pbSelectProd.Name = "pbSelectProd";
this.pbSelectProd.Size = new System.Drawing.Size(21, 21);
this.pbSelectProd.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbSelectProd.TabIndex = 781;
this.pbSelectProd.TabStop = false;
this.pbSelectProd.Visible = false;
this.pbSelectProd.Click += new System.EventHandler(this.pbSelectProd_Click);
//
// chkSevenDays
//
this.chkSevenDays.Location = new System.Drawing.Point(5, 127);
this.chkSevenDays.Name = "chkSevenDays";
this.chkSevenDays.Size = new System.Drawing.Size(80, 17);
this.chkSevenDays.TabIndex = 805;
this.chkSevenDays.Text = "近七日爆款";
this.chkSevenDays.UseVisualStyleBackColor = true;
//
// chkSkipQualification
//
this.chkSkipQualification.Location = new System.Drawing.Point(5, 144);
this.chkSkipQualification.Name = "chkSkipQualification";
this.chkSkipQualification.Size = new System.Drawing.Size(80, 17);
this.chkSkipQualification.TabIndex = 806;
this.chkSkipQualification.Text = "跳过资质品";
this.chkSkipQualification.UseVisualStyleBackColor = true;
//
// lblGoodsCount
//
this.lblGoodsCount.AutoSize = true;
this.lblGoodsCount.BackColor = System.Drawing.Color.Transparent;
this.lblGoodsCount.Location = new System.Drawing.Point(97, 127);
this.lblGoodsCount.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblGoodsCount.Name = "lblGoodsCount";
this.lblGoodsCount.Size = new System.Drawing.Size(71, 17);
this.lblGoodsCount.TabIndex = 537;
this.lblGoodsCount.Text = "产品库 0 件";
this.lblGoodsCount.Click += new System.EventHandler(this.lblGoodsCount_Click);
//
// txtRandomFissionProductCount
//
this.txtRandomFissionProductCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@@ -1537,16 +1594,6 @@ namespace TemuKJD.WXForms.ProductForms
this.txtRandomFissionProductCount.Text = "100";
this.txtRandomFissionProductCount.Visible = false;
//
// chkRandomFissionProduct
//
this.chkRandomFissionProduct.Location = new System.Drawing.Point(155, 104);
this.chkRandomFissionProduct.Name = "chkRandomFissionProduct";
this.chkRandomFissionProduct.Size = new System.Drawing.Size(92, 17);
this.chkRandomFissionProduct.TabIndex = 910;
this.chkRandomFissionProduct.Text = "裂变商品数量";
this.chkRandomFissionProduct.UseVisualStyleBackColor = true;
this.chkRandomFissionProduct.Visible = false;
//
// btnSwitchCatType
//
this.btnSwitchCatType.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
@@ -1593,9 +1640,9 @@ namespace TemuKJD.WXForms.ProductForms
this.btnProdDb.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnProdDb.DisabledBackColor = System.Drawing.Color.Empty;
this.btnProdDb.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnProdDb.Location = new System.Drawing.Point(372, 131);
this.btnProdDb.Location = new System.Drawing.Point(373, 132);
this.btnProdDb.Name = "btnProdDb";
this.btnProdDb.Size = new System.Drawing.Size(32, 25);
this.btnProdDb.Size = new System.Drawing.Size(31, 25);
this.btnProdDb.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnProdDb.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnProdDb.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
@@ -1613,7 +1660,7 @@ namespace TemuKJD.WXForms.ProductForms
//
// chkWXComplateProd
//
this.chkWXComplateProd.Location = new System.Drawing.Point(282, 102);
this.chkWXComplateProd.Location = new System.Drawing.Point(283, 102);
this.chkWXComplateProd.Name = "chkWXComplateProd";
this.chkWXComplateProd.Size = new System.Drawing.Size(87, 21);
this.chkWXComplateProd.TabIndex = 807;
@@ -1625,10 +1672,10 @@ namespace TemuKJD.WXForms.ProductForms
//
this.txtAddCount.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtAddCount.Font = new System.Drawing.Font("微软雅黑", 10F);
this.txtAddCount.Location = new System.Drawing.Point(278, 131);
this.txtAddCount.Location = new System.Drawing.Point(296, 132);
this.txtAddCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtAddCount.Name = "txtAddCount";
this.txtAddCount.Size = new System.Drawing.Size(33, 25);
this.txtAddCount.Size = new System.Drawing.Size(29, 25);
this.txtAddCount.TabIndex = 536;
this.txtAddCount.Text = "500";
//
@@ -1642,18 +1689,6 @@ namespace TemuKJD.WXForms.ProductForms
this.txtSearchGoodsName.Size = new System.Drawing.Size(220, 25);
this.txtSearchGoodsName.TabIndex = 795;
//
// pbSelectProd
//
this.pbSelectProd.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbSelectProd.Location = new System.Drawing.Point(94, 131);
this.pbSelectProd.Name = "pbSelectProd";
this.pbSelectProd.Size = new System.Drawing.Size(25, 25);
this.pbSelectProd.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pbSelectProd.TabIndex = 781;
this.pbSelectProd.TabStop = false;
this.pbSelectProd.Visible = false;
this.pbSelectProd.Click += new System.EventHandler(this.pbSelectProd_Click);
//
// cmbSourceType
//
this.cmbSourceType.FormattingEnabled = true;
@@ -1744,10 +1779,10 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClearFilter.Location = new System.Drawing.Point(372, 100);
this.btnClearFilter.Location = new System.Drawing.Point(373, 100);
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearFilter.Name = "btnClearFilter";
this.btnClearFilter.Size = new System.Drawing.Size(32, 25);
this.btnClearFilter.Size = new System.Drawing.Size(31, 25);
this.btnClearFilter.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnClearFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClearFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
@@ -1764,17 +1799,6 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearFilter.Text = "重置";
this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click);
//
// lblGoodsCount
//
this.lblGoodsCount.AutoSize = true;
this.lblGoodsCount.Location = new System.Drawing.Point(117, 127);
this.lblGoodsCount.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblGoodsCount.Name = "lblGoodsCount";
this.lblGoodsCount.Size = new System.Drawing.Size(71, 17);
this.lblGoodsCount.TabIndex = 537;
this.lblGoodsCount.Text = "产品库 0 件";
this.lblGoodsCount.Click += new System.EventHandler(this.lblGoodsCount_Click);
//
// cmbWxSafe
//
this.cmbWxSafe.FormattingEnabled = true;
@@ -1794,10 +1818,10 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearUpload.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearUpload.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearUpload.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClearUpload.Location = new System.Drawing.Point(244, 131);
this.btnClearUpload.Location = new System.Drawing.Point(263, 132);
this.btnClearUpload.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearUpload.Name = "btnClearUpload";
this.btnClearUpload.Size = new System.Drawing.Size(32, 25);
this.btnClearUpload.Size = new System.Drawing.Size(31, 25);
this.btnClearUpload.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnClearUpload.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClearUpload.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
@@ -1839,29 +1863,15 @@ namespace TemuKJD.WXForms.ProductForms
this.label2.TabIndex = 662;
this.label2.Text = "类目1";
//
// lblWaitToUp
//
this.lblWaitToUp.AutoSize = true;
this.lblWaitToUp.Cursor = System.Windows.Forms.Cursors.Hand;
this.lblWaitToUp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWaitToUp.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.lblWaitToUp.Location = new System.Drawing.Point(117, 144);
this.lblWaitToUp.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblWaitToUp.Name = "lblWaitToUp";
this.lblWaitToUp.Size = new System.Drawing.Size(71, 17);
this.lblWaitToUp.TabIndex = 541;
this.lblWaitToUp.Text = "待上传 0 件";
this.lblWaitToUp.Click += new System.EventHandler(this.lblWaitToUp_Click);
//
// btnRandomAdd
//
this.btnRandomAdd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnRandomAdd.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRandomAdd.DisabledBackColor = System.Drawing.Color.Empty;
this.btnRandomAdd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRandomAdd.Location = new System.Drawing.Point(313, 131);
this.btnRandomAdd.Location = new System.Drawing.Point(327, 132);
this.btnRandomAdd.Name = "btnRandomAdd";
this.btnRandomAdd.Size = new System.Drawing.Size(57, 25);
this.btnRandomAdd.Size = new System.Drawing.Size(44, 25);
this.btnRandomAdd.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnRandomAdd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnRandomAdd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
@@ -1874,27 +1884,9 @@ namespace TemuKJD.WXForms.ProductForms
this.btnRandomAdd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnRandomAdd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnRandomAdd.TabIndex = 431;
this.btnRandomAdd.Text = "随机添加";
this.btnRandomAdd.Text = "随机选";
this.btnRandomAdd.Click += new System.EventHandler(this.btnRandomAdd_Click);
//
// chkSevenDays
//
this.chkSevenDays.Location = new System.Drawing.Point(6, 127);
this.chkSevenDays.Name = "chkSevenDays";
this.chkSevenDays.Size = new System.Drawing.Size(87, 17);
this.chkSevenDays.TabIndex = 805;
this.chkSevenDays.Text = "近七日爆款";
this.chkSevenDays.UseVisualStyleBackColor = true;
//
// chkSkipQualification
//
this.chkSkipQualification.Location = new System.Drawing.Point(6, 144);
this.chkSkipQualification.Name = "chkSkipQualification";
this.chkSkipQualification.Size = new System.Drawing.Size(87, 17);
this.chkSkipQualification.TabIndex = 806;
this.chkSkipQualification.Text = "跳过资质商品";
this.chkSkipQualification.UseVisualStyleBackColor = true;
//
// lblSourceType
//
this.lblSourceType.AutoSize = true;
@@ -1969,24 +1961,36 @@ namespace TemuKJD.WXForms.ProductForms
this.label19.TabIndex = 707;
this.label19.Text = "类目2";
//
// cmbJstInitSet
// chkRandomFissionProduct
//
this.cmbJstInitSet.FormattingEnabled = true;
this.cmbJstInitSet.Items.AddRange(new object[] {
"",
"是",
"否"});
this.cmbJstInitSet.Location = new System.Drawing.Point(206, 131);
this.cmbJstInitSet.Name = "cmbJstInitSet";
this.cmbJstInitSet.Size = new System.Drawing.Size(36, 25);
this.cmbJstInitSet.TabIndex = 697;
this.cmbJstInitSet.Text = "是";
this.cmbJstInitSet.Visible = false;
this.chkRandomFissionProduct.Location = new System.Drawing.Point(155, 104);
this.chkRandomFissionProduct.Name = "chkRandomFissionProduct";
this.chkRandomFissionProduct.Size = new System.Drawing.Size(92, 17);
this.chkRandomFissionProduct.TabIndex = 910;
this.chkRandomFissionProduct.Text = "裂变商品数量";
this.chkRandomFissionProduct.UseVisualStyleBackColor = true;
this.chkRandomFissionProduct.Visible = false;
//
// lblWaitToUp
//
this.lblWaitToUp.AutoSize = true;
this.lblWaitToUp.BackColor = System.Drawing.Color.Transparent;
this.lblWaitToUp.Cursor = System.Windows.Forms.Cursors.Hand;
this.lblWaitToUp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWaitToUp.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.lblWaitToUp.Location = new System.Drawing.Point(97, 144);
this.lblWaitToUp.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblWaitToUp.Name = "lblWaitToUp";
this.lblWaitToUp.Size = new System.Drawing.Size(71, 17);
this.lblWaitToUp.TabIndex = 541;
this.lblWaitToUp.Text = "待上传 0 件";
this.lblWaitToUp.Click += new System.EventHandler(this.lblWaitToUp_Click);
//
// lblJstInitSet
//
this.lblJstInitSet.AutoSize = true;
this.lblJstInitSet.Location = new System.Drawing.Point(177, 135);
this.lblJstInitSet.BackColor = System.Drawing.Color.Transparent;
this.lblJstInitSet.Location = new System.Drawing.Point(200, 136);
this.lblJstInitSet.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblJstInitSet.Name = "lblJstInitSet";
this.lblJstInitSet.Size = new System.Drawing.Size(32, 17);
@@ -2416,19 +2420,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
dataGridViewCellStyle17.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle17;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvShop.AutoRowNumber = true;
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle18.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle18.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle18.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle18;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
@@ -2660,19 +2664,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false;
dataGridViewCellStyle19.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle19;
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
this.dgvSelectProduct.AutoRowNumber = true;
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle20.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle20.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle20.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle20.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle20.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle20.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle20;
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
@@ -2734,8 +2738,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colSupplierName
//
dataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle21;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
this.colSupplierName.Frozen = true;
this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName";
@@ -2815,8 +2819,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductName
//
dataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle22;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true;
@@ -2824,8 +2828,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductCat
//
dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle23;
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
this.colProductCat.HeaderText = "商品类目";
this.colProductCat.Name = "colProductCat";
this.colProductCat.ReadOnly = true;
@@ -2880,8 +2884,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colAddTime
//
dataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle24;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
this.colAddTime.HeaderText = "上传时间";
this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true;
@@ -5116,13 +5116,17 @@ namespace TemuKJD.WXForms.ProductForms
if (lstTemuDBProductSelect.Count > 0)
selectProd.id = lstTemuDBProductSelect.Max(p => p.id) + 1;
this.lstTemuDBProductSelect.Add(selectProd);
addCount--;
if (addCount <= 0)
break;
}
Invoke(new Action(() =>
{
lblWaitToUp.Text = "待上传 " + lstTemuDBProductSelect.Count + " 件";
}));
addCount--;
//addCount--;
if (addCount <= 0)
break;
}
@@ -411,7 +411,7 @@ namespace TemuKJD.WXForms.ProductForms
});
}
public List<KJDDBProduct> GetProductList(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
public List<KJDDBProduct> GetProductList(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200, bool isNotCount = true)
{
List<KJDDBProduct> list = new List<KJDDBProduct>();
pageCount = 1;
@@ -569,7 +569,9 @@ namespace TemuKJD.WXForms.ProductForms
{
data += "&no_fission_words=true";
}
data += "&is_not_count=true";
if (isNotCount)
data += "&is_not_count=true";
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
@@ -589,6 +591,8 @@ namespace TemuKJD.WXForms.ProductForms
int count = BaseRegex.GetIntJson(ref html, "count");
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1);
if (isNotCount)
pageCount = 1000;
var jArr = JObject.Parse(html)["data"];
if (jArr.Count() == 0)
@@ -495,7 +495,7 @@ namespace TemuKJD.WXForms.ProductForms
"",
"是",
"否"});
this.cmbHasFission.Location = new System.Drawing.Point(889, 42);
this.cmbHasFission.Location = new System.Drawing.Point(889, 40);
this.cmbHasFission.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbHasFission.Name = "cmbHasFission";
this.cmbHasFission.Size = new System.Drawing.Size(100, 25);
@@ -593,7 +593,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat1.DropDownWidth = 1;
this.cmbCat1.FormattingEnabled = true;
this.cmbCat1.IntegralHeight = false;
this.cmbCat1.Location = new System.Drawing.Point(52, 40);
this.cmbCat1.Location = new System.Drawing.Point(52, 42);
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat1.Name = "cmbCat1";
this.cmbCat1.Size = new System.Drawing.Size(99, 25);
@@ -643,7 +643,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat2.DropDownWidth = 1;
this.cmbCat2.FormattingEnabled = true;
this.cmbCat2.IntegralHeight = false;
this.cmbCat2.Location = new System.Drawing.Point(217, 40);
this.cmbCat2.Location = new System.Drawing.Point(217, 42);
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat2.Name = "cmbCat2";
this.cmbCat2.Size = new System.Drawing.Size(99, 25);
@@ -671,7 +671,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat3.DropDownWidth = 1;
this.cmbCat3.FormattingEnabled = true;
this.cmbCat3.IntegralHeight = false;
this.cmbCat3.Location = new System.Drawing.Point(366, 40);
this.cmbCat3.Location = new System.Drawing.Point(366, 42);
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat3.Name = "cmbCat3";
this.cmbCat3.Size = new System.Drawing.Size(99, 25);
@@ -699,7 +699,7 @@ namespace TemuKJD.WXForms.ProductForms
"",
"多多商品",
"1688商品"});
this.cmbSourceType.Location = new System.Drawing.Point(366, 5);
this.cmbSourceType.Location = new System.Drawing.Point(366, 7);
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbSourceType.Name = "cmbSourceType";
this.cmbSourceType.Size = new System.Drawing.Size(99, 25);
@@ -746,7 +746,7 @@ namespace TemuKJD.WXForms.ProductForms
"",
"是",
"否"});
this.cmbWxCat.Location = new System.Drawing.Point(724, 5);
this.cmbWxCat.Location = new System.Drawing.Point(724, 7);
this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbWxCat.Name = "cmbWxCat";
this.cmbWxCat.Size = new System.Drawing.Size(99, 25);
@@ -772,7 +772,7 @@ namespace TemuKJD.WXForms.ProductForms
"安全+未校验",
"安全商品",
"未校验"});
this.cmbWxSafe.Location = new System.Drawing.Point(889, 5);
this.cmbWxSafe.Location = new System.Drawing.Point(889, 7);
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbWxSafe.Name = "cmbWxSafe";
this.cmbWxSafe.Size = new System.Drawing.Size(100, 25);
@@ -97,7 +97,7 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvDbProduct.Columns["col_select_product"].Visible = false;
this.dgvDbProduct.Columns["colAddTimes"].Visible = false;
this.ucSplitPage1.PageChange += UcSplitPage1_PageChange;
this.ucSplitPage1.PageChange += ucSplitPage1_PageChange;
this.dgvDbProduct.AddSelectorColumn("colSelect");
this.dgvDbProduct.AddImgColumn("colSkuReplaceImg", "colSkuReplaceImgUrl");
@@ -340,7 +340,7 @@ namespace TemuKJD.WXForms.ProductForms
});
}
public List<KJDDBProduct> GetProductList(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
public List<KJDDBProduct> GetProductList(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200, bool isNotCount = true)
{
List<KJDDBProduct> list = new List<KJDDBProduct>();
pageCount = 1;
@@ -475,7 +475,8 @@ namespace TemuKJD.WXForms.ProductForms
data += "&no_fission_words=true";
}
data += "&is_not_count=true";
if (isNotCount)
data += "&is_not_count=true";
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
@@ -495,6 +496,8 @@ namespace TemuKJD.WXForms.ProductForms
int count = BaseRegex.GetIntJson(ref html, "count");
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1);
if (isNotCount)
pageCount = 1000;
var jArr = JObject.Parse(html)["data"];
if (jArr.Count() == 0)
@@ -524,7 +527,7 @@ namespace TemuKJD.WXForms.ProductForms
}
}
private void UcSplitPage1_PageChange(object obj)
private void ucSplitPage1_PageChange(object obj)
{
SearchDbProd(this.ucSplitPage1.CurrentPage);
}