1前端采集数据管理端直传上货 2店铺jit 完成15%
This commit is contained in:
1 parent
41a3cb3e34
commit
94f933a5e8
32 files changed
+3768
-466
No files matched your search
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 669;
|
||||
public static int VersionCount = 673;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -37,6 +37,10 @@ namespace AllBase.Model.Result
|
||||
/// </summary>
|
||||
public int select_count { get; set; }
|
||||
public int select_total_count { get; set; }
|
||||
/// <summary>
|
||||
/// 采集来源 0母店采集 1前端直采
|
||||
/// </summary>
|
||||
public int product_get_type { get; set; }
|
||||
public string head_words { get; set; }
|
||||
public string end_words { get; set; }
|
||||
public string fission_words { get; set; }
|
||||
|
||||
@@ -45,6 +45,7 @@ namespace AllBase.Model.Result
|
||||
public string main_img { get; set; }
|
||||
public string spu_id { get; set; }
|
||||
public string skc_id { get; set; }
|
||||
public int product_get_type { get; set; }
|
||||
public KJDDBProduct kjdDbProduct { get; set; } = null;
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -28,10 +28,16 @@ namespace AllBase.Model.Result
|
||||
public List<long?> sizeTemplateIds { get; set; }
|
||||
public List<long?> showSizeTemplateIds { get; set; }
|
||||
public object imageLanguageList { get; set; }
|
||||
/// <summary>
|
||||
/// 商品主图
|
||||
/// </summary>
|
||||
public List<string> carouselImageUrls { get; set; }
|
||||
public List<object> guideFilePageImages { get; set; }
|
||||
public List<object> carouselImageI18nVOList { get; set; }
|
||||
public List<object> carouseVideoVOList { get; set; }
|
||||
/// <summary>
|
||||
/// 主图视频
|
||||
/// </summary>
|
||||
public List<carouseVideoVo> carouseVideoVOList { get; set; }
|
||||
public List<object> detailVideoVOList { get; set; }
|
||||
public string materialImgUrl { get; set; }
|
||||
public List<TemuOuterPackageImage> outerPackageImages { get; set; }
|
||||
@@ -44,23 +50,40 @@ namespace AllBase.Model.Result
|
||||
public TemuProductNonAuditExtAttr productNonAuditExtAttr { get; set; }
|
||||
public List<TemuProductSkc> productSkcList { get; set; }
|
||||
public List<object> goodsAdvantageLabelVOList { get; set; }
|
||||
/// <summary>
|
||||
/// 详情图
|
||||
/// </summary>
|
||||
public List<TemuGoodsLayerDecorationVO> goodsLayerDecorationVOList { get; set; }
|
||||
public List<object> goodsLayerDecorationCustomizeI18nVOList { get; set; }
|
||||
public List<object> productGuideFileI18nList { get; set; }
|
||||
public List<object> productGuideFileNewVOList { get;set; }
|
||||
public List<TemuProductImageProcessExtVO> productImageProcessExtVOList { get; set; }
|
||||
public long? productCreateTime { get; set; }
|
||||
public object productCategoryPredictList { get; set; }
|
||||
public object productAuditDraftVO { get; set; }
|
||||
public bool? isImproveSalesInfo { get; set; }
|
||||
public object productWarehouseRoute { get; set; }
|
||||
public object vehicleLibraryRelationDTOList { get; set; }
|
||||
public object canEditSkuAccessories { get; set; }
|
||||
public object canEditSizeTemplate { get; set; }
|
||||
public object skcQcAdjustmentNote { get; set; }
|
||||
public object inProcessAddSizeSpecEditTask { get; set; }
|
||||
public object productGuideFileRejectVO { get; set; }
|
||||
public List<object> inProcessEditTaskList { get; set; }
|
||||
public object productCategoryPredictList { get; set; } = null;
|
||||
public object productAuditDraftVO { get; set; } = null;
|
||||
public bool? isImproveSalesInfo { get; set; } = true;
|
||||
public object productWarehouseRoute { get; set; } = null;
|
||||
public object vehicleLibraryRelationDTOList { get; set; } = null;
|
||||
public bool? canEditSkuAccessories { get; set; } = true;
|
||||
public bool? canEditSizeTemplate { get; set; } = true;
|
||||
public object skcQcAdjustmentNote { get; set; } = null;
|
||||
public object inProcessAddSizeSpecEditTask { get; set; } = null;
|
||||
public object productGuideFileRejectVO { get; set; } = null;
|
||||
public List<object> inProcessEditTaskList { get; set; } = new List<object>();
|
||||
}
|
||||
|
||||
public class carouseVideoVo
|
||||
{
|
||||
public object productId { get; set; } // null,
|
||||
public long? supplierId { get; set; } // 634418216147215,
|
||||
public int? videoType { get; set; } // 1,
|
||||
public string vid { get; set; } // "goods-video-tag#pokis7uhk62rriiu46b472pa1azpn5ds",
|
||||
public string videoUrl { get; set; } // "https://goods-vod.kwcdn.com/goods-video/74f0787150525059c5c200cc5507e01f85d64b40gs2CV.f30.mp4",
|
||||
public object videoUrlDisplay { get; set; } // null,
|
||||
public string coverUrl { get; set; } // "https://img.kwcdn.com/product/86a8b1a323a1fc7197372617a125900c20a1a4de.temu.000001.jpeg",
|
||||
public object coverUrlDisplay { get; set; } // null,
|
||||
public int? width { get; set; } // 720,
|
||||
public int? height { get; set; } // 720,
|
||||
}
|
||||
|
||||
public class TemuTextModuleDetails
|
||||
@@ -87,8 +110,8 @@ namespace AllBase.Model.Result
|
||||
}
|
||||
public class TemuCat
|
||||
{
|
||||
public long? catId { get; set; }
|
||||
public string catName { get; set; }
|
||||
public long? catId { get; set; } = 0;
|
||||
public string catName { get; set; } = "";
|
||||
public string catEnName { get; set; }
|
||||
public string catType { get; set; }
|
||||
}
|
||||
@@ -145,7 +168,7 @@ namespace AllBase.Model.Result
|
||||
|
||||
public class TemuProductFragileLabelAttr
|
||||
{
|
||||
bool? isFragile { get; set; }
|
||||
public bool? isFragile { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductOuterPackage
|
||||
|
||||
@@ -6,7 +6,243 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result.TemuResult
|
||||
{
|
||||
public class TemuWebClientProductInfo
|
||||
public class TemuWebClientProductInfo // store
|
||||
{
|
||||
/// <summary>
|
||||
/// 有商品类目名称信息
|
||||
/// </summary>
|
||||
public List<crumbOptInfo> crumbOptList { get; set; }
|
||||
|
||||
public clientGoodsInfo goods { get; set; }
|
||||
public List<clientSkuInfo> sku { get; set; }
|
||||
/// <summary>
|
||||
/// 详情图简单列表
|
||||
/// </summary>
|
||||
public List<productDetailFlatInfo> productDetailFlatList { get; set; }
|
||||
/// <summary>
|
||||
/// 详情图完整列表
|
||||
/// </summary>
|
||||
public productDetailInfo productDetail { get; set; }
|
||||
/// <summary>
|
||||
/// 商品页面左边所有图片列表(可能是主图+sku图)
|
||||
/// </summary>
|
||||
public List<string> preloadFirstImgList { get; set; }
|
||||
public List<goodsPropertyInfo> goodsProperty { get; set; }
|
||||
}
|
||||
|
||||
public class crumbOptInfo
|
||||
{
|
||||
public string seoLinkUrl { get; set; } // "/ca-zh-Hans",
|
||||
public int? tabType { get; set; } // 0,
|
||||
public string pRec { get; set; } // "{\"offset\":\"0\",\"list_id\":\"pc_crumb_list_4bzytc\",\"g\":\"0\",\"scene_id\":\"95\",\"opt_id\":\"-100\",\"ts_req\":\"0\",\"version\":\"5\",\"search_id\":\"_IHh7Tqb8opEtWvYBgp_LRi4Ofyx4F3ZTMo65IClyYg=\",\"scene\":\"pc_crumb_list\",\"gin_fallback\":\"0\",\"opt_type\":\"0\",\"goods_source\":\"rec\",\"idx\":\"0\",\"region\":\"37\",\"no_result\":\"0\",\"cloud_env\":\"usm1\",\"ts\":\"1762746343397\"}",
|
||||
public bool? disableDup { get; set; } // false,
|
||||
public int? pattern { get; set; } // 0,
|
||||
public string linkUrl { get; set; } // "/",
|
||||
public int? optType { get; set; } // 0,
|
||||
public string optName { get; set; } // "首页",
|
||||
public int? priority { get; set; } // 0,
|
||||
public int? optId { get; set; } // -100,
|
||||
public bool? isFeatured { get; set; } // false,
|
||||
public string href { get; set; } // "/ca-zh-Hans",
|
||||
public string title { get; set; } // "首页"
|
||||
}
|
||||
|
||||
public class bestSellerModuleInfo
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class productDetailInfo
|
||||
{
|
||||
public List<floorInfo> floorList { get; set; }
|
||||
}
|
||||
|
||||
public class floorInfo
|
||||
{
|
||||
public List<productDetailFlatInfo> items { get; set; }
|
||||
public int? type { get; set; } // 1,
|
||||
/// <summary>
|
||||
/// "marginBottom": 5
|
||||
/// </summary>
|
||||
public Dictionary<string, object> style { get; set; }
|
||||
}
|
||||
|
||||
public class productDetailFlatInfo
|
||||
{
|
||||
public string url { get; set; } // "https://img.kwcdn.com/product/fancy/9084c7b6-0de8-4546-be07-be0bd8c4e6c4.jpg",
|
||||
public int? width { get; set; } // 1200,
|
||||
public int? height { get; set; } // 1200,
|
||||
public int? index { get; set; } // 0
|
||||
}
|
||||
|
||||
public class clientSkuInfo
|
||||
{
|
||||
public int? normalPrice { get; set; } // 534,
|
||||
public string normalPriceStr { get; set; } // "CA$5.34",
|
||||
public int? normalLinePrice { get; set; } // 3000,
|
||||
public string normalLinePriceStr { get; set; } // "30.00",
|
||||
public List<object> salePriceRich { get; set; }
|
||||
public List<object> linePriceRich { get; set; }
|
||||
public int? salePrice { get; set; } // 534,
|
||||
public long? skuId { get; set; } // 17601340657079,
|
||||
public long? goodsId { get; set; } // 601101753736428,
|
||||
public string thumbUrl { get; set; } // "https://img.kwcdn.com/product/open/e3b5a129022a4c0291d63bebefeda29c-goods.jpeg",
|
||||
/// <summary>
|
||||
/// 购买限量
|
||||
/// </summary>
|
||||
public int? limitQuantity { get; set; } // 99,
|
||||
public int? isOnsale { get; set; } // 1,
|
||||
public int? canSubscribe { get; set; } // 0,
|
||||
public int? subscribeStatus { get; set; } // 0,
|
||||
public List<clientSpec> specs { get; set; }
|
||||
|
||||
public string skuLimitToast { get; set; } // "该商品的最大购买限额为99。",
|
||||
public string autoTuneNumberToast { get; set; } // "此商品的最大购买限额为 99。我们已将其更新为最大可用限额。",
|
||||
public int? galleryId { get; set; } // -1,
|
||||
public string specShowImageUrl { get; set; } // "https://img.kwcdn.com/product/open/e3b5a129022a4c0291d63bebefeda29c-goods.jpeg",
|
||||
public string urlId { get; set; } // "7074627613567149799",
|
||||
/// <summary>
|
||||
/// 库存数量
|
||||
/// </summary>
|
||||
public int? stockQuantity { get; set; } // 635,
|
||||
public int? priority { get; set; } // 3,
|
||||
public object reduction { get; set; }
|
||||
public List<object> sizeDescHoverLists { get; set; }
|
||||
public object control { get; set; }
|
||||
/// <summary>
|
||||
/// "salePrice": "534",
|
||||
/// "skuModel": "CLeboY2igAQYohM=",
|
||||
/// "isOnsale": "1",
|
||||
/// "reduction": "820",
|
||||
/// "business_reduction": "820",
|
||||
/// "limitQuantity": "99",
|
||||
/// "unitMainPrice": "0",
|
||||
/// "showBestPriceRich": "0"
|
||||
/// </summary>
|
||||
public Dictionary<string, string> skuExt { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class clientSpec
|
||||
{
|
||||
public string specKey { get; set; } // "颜色",
|
||||
public string specValue { get; set; } // "Black",
|
||||
public int? specKeyId { get; set; } // 1001,
|
||||
public int? specValueId { get; set; } // 17079
|
||||
}
|
||||
|
||||
|
||||
public class clientGoodsInfo
|
||||
{
|
||||
public int? minOnSalePrice { get; set; } // 484,
|
||||
public int? maxOnSalePrice { get; set; } // 620,
|
||||
public string minToMaxPriceStr { get; set; } // "CA$4.84-CA$6.20",
|
||||
public string minOnSalePriceStr { get; set; } // "CA$4.84",
|
||||
public long? goodsId { get; set; } // 601101753736428,
|
||||
public long? mallId { get; set; } // 4494544356590,
|
||||
public string goodsName { get; set; } // "柔软宽松的针织冬季小毛帽,适合女士和男士,男女通用冬季节日礼物。6个颜色可选",
|
||||
public int? isOnsale { get; set; } // 1,
|
||||
public string thumbUrl { get; set; } // "",
|
||||
public string hdThumbUrl { get; set; } // "https://img.kwcdn.com/product/open/4374e37ce05c4587a7d05d809c622040-goods.jpeg",
|
||||
public int? status { get; set; } // 1,
|
||||
public string itemId { get; set; } // "LP3898613",
|
||||
/// <summary>
|
||||
/// "sideSalesTip": "已售 1万件, by ",
|
||||
/// "mallLogo": "https://img.kwcdn.com/supplier-public-tag/1f193485160/3d1b1933-2ae4-4414-8906-792b3a520891_300x300.jpeg",
|
||||
/// "mallName": "Hundred Treasures Pavilion",
|
||||
/// "mallSalesTip": " (10万 已售)",
|
||||
/// "seoUrl": "/mall.html?_bg_fs=1&mall_id=4494544356590&goods_id=601101753736428&sticky_type=3",
|
||||
/// "mallJumpUrl": "/mall.html?_bg_fs=1&mall_id=4494544356590&goods_id=601101753736428&sticky_type=3",
|
||||
/// "mallSalesTipNew": "(已售出10万件)",
|
||||
/// "goodsSoldTip": "已售 1万件",
|
||||
/// "providedBy": "售自"
|
||||
/// </summary>
|
||||
public Dictionary<string, string> saleInfo { get; set; }
|
||||
public string sideSalesTip { get; set; } // "已售 1万件",
|
||||
public int? isLocalGoods { get; set; } // 0,
|
||||
public List<long> iterationSku { get; set; } // [17601340657079, 17601340657080, 17601340657081, 17601340657082, 17601340657083, 17601340657084],
|
||||
public long? catId { get; set; } // 30618,
|
||||
public int? soldQuantity { get; set; } // 10000,
|
||||
public string imageUrl { get; set; } // "",
|
||||
/// <summary>
|
||||
/// 主图和sku图列表
|
||||
/// </summary>
|
||||
public List<galleryInfo> gallery { get; set; }
|
||||
public List<goodsPropertyInfo> goodsProperty { get; set; }
|
||||
public int? rows { get; set; } // 3,
|
||||
public string statusExplain { get; set; } // "NORMAL",
|
||||
public int? checkQuantity { get; set; } // 1,
|
||||
public int? sellerType { get; set; } // 0,
|
||||
public long? catId1 { get; set; } = 0; // 27011,
|
||||
public long? catId2 { get; set; } = 0; // 30327,
|
||||
public long? catId3 { get; set; } = 0; // 30603,
|
||||
public long? catId4 { get; set; } = 0; // 30607,
|
||||
public long? catId5 { get; set; } = 0;
|
||||
public long? catId6 { get; set; } = 0;
|
||||
public long? catId7 { get; set; } = 0;
|
||||
public long? catId8 { get; set; } = 0;
|
||||
public long? catId9 { get; set; } = 0;
|
||||
public long? catId10 { get; set; } = 0;
|
||||
public videoInfo video { get; set; }
|
||||
public int? soldOutSubscribeStatus { get; set; }
|
||||
/// <summary>
|
||||
/// 主图列表
|
||||
/// </summary>
|
||||
public List<galleryInfo> bannerList { get; set; }
|
||||
public List<object> detailList { get; set; }
|
||||
public List<object> customImageList { get; set; }
|
||||
public List<object> skc { get; set; }
|
||||
}
|
||||
|
||||
public class galleryInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 主图(含视频)或sku 数字下标, 主图 > 0,sku从-1开始-2,-3依次类推
|
||||
/// </summary>
|
||||
public long? id { get; set; } // 12384616100,
|
||||
public string urlId { get; set; } // "5596271214573389307",
|
||||
public string url { get; set; } // "https://img.kwcdn.com/product/open/4374e37ce05c4587a7d05d809c622040-goods.jpeg",
|
||||
public string videoUrl { get; set; } // "",
|
||||
public int? width { get; set; } // 1600,
|
||||
public int? height { get; set; } // 1600,
|
||||
/// <summary>
|
||||
/// 主图或sku图顺序数字从1开始1、2、3依次类推,主图视频为0
|
||||
/// </summary>
|
||||
public int? priority { get; set; } // 0,
|
||||
/// <summary>
|
||||
/// 1 主图或视频; -1 sku图
|
||||
/// </summary>
|
||||
public int? type { get; set; } // 1,
|
||||
public List<showTextSpecInfo> showTextSpecs { get; set; }
|
||||
public int? enableShare { get; set; } // 1,
|
||||
public videoInfo video { get; set; }
|
||||
}
|
||||
|
||||
public class videoInfo
|
||||
{
|
||||
public string url { get; set; } // "https://img.kwcdn.com/product/9f0010396fd407f18b04800a47355be2b52d04b1.temu.000001.jpeg",
|
||||
public string videoUrl { get; set; } // "https://goods-vod.kwcdn.com/goods-video/9c8a36ab13a9c0d247abda13adf3c4f08b653ba4gs2CV.f30.mp4",
|
||||
public int? height { get; set; } // 720,
|
||||
public int? width { get; set; } // 720
|
||||
}
|
||||
|
||||
public class showTextSpecInfo
|
||||
{
|
||||
public string specKey { get; set; } // "颜色",
|
||||
public string specValue { get; set; } // "深灰色",
|
||||
public int? specKeyId { get; set; } // 1001,
|
||||
public int? specValueId { get; set; } // 15071
|
||||
}
|
||||
|
||||
public class goodsPropertyInfo
|
||||
{
|
||||
public string key { get; set; } // "成分",
|
||||
public List<string> values { get; set; } // [ "100% 腈纶" ],
|
||||
public int? refPid { get; set; } // 15,
|
||||
public int? referenceId { get; set; } // 0,
|
||||
public int? important { get; set; } // 1
|
||||
public int? copyable { get; set; } // 1,
|
||||
public int? customProperty { get; set; } // 2
|
||||
}
|
||||
}
|
||||
@@ -32,8 +32,12 @@ namespace KJD_Web.BLL
|
||||
string product_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_name"))?.Replace("'", "\\'");
|
||||
string product_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json"))?.Replace("'", "\\'");
|
||||
string size_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "size_json"))?.Replace("'", "\\'");
|
||||
string original_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "original_json"))?.Replace("'", "\\'");
|
||||
string main_img = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_img"))?.Replace("'", "\\'");
|
||||
string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes"))?.Replace("'", "\\'");
|
||||
string product_get_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_get_type"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(product_get_type))
|
||||
product_get_type = "0";
|
||||
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
@@ -44,9 +48,10 @@ namespace KJD_Web.BLL
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
|
||||
sql = "insert into kjd.product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,add_time,mdy_time) " +
|
||||
sql = "insert into kjd.product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,original_json,notes,product_get_type,add_time,mdy_time) " +
|
||||
"values ('" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" +
|
||||
ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + notes + "','" +
|
||||
ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + original_json + "','" + notes + "','" +
|
||||
product_get_type + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
@@ -84,6 +89,9 @@ namespace KJD_Web.BLL
|
||||
var get_select_count = RegexUtils.GetStringQuery(ref inputData, "get_select_count")?.Replace("'", "\\'");
|
||||
var select_shop_id = RegexUtils.GetStringQuery(ref inputData, "select_shop_id")?.Replace("'", "\\'");
|
||||
var sort_field = RegexUtils.GetStringQuery(ref inputData, "sort_field")?.Replace("'", "\\'");
|
||||
var product_get_type = RegexUtils.GetStringQuery(ref inputData, "product_get_type")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(product_get_type))
|
||||
product_get_type = "0";
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
@@ -92,6 +100,8 @@ namespace KJD_Web.BLL
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "select count(id) from kjd.product p where p.is_del=0";
|
||||
if (!isDetail && product_get_type != "all")
|
||||
sql += " and p.product_get_type=" + product_get_type;
|
||||
|
||||
string where = "";
|
||||
if (!string.IsNullOrWhiteSpace(search_spu))
|
||||
@@ -123,13 +133,18 @@ namespace KJD_Web.BLL
|
||||
sql = "select * from kjd.product p where p.is_del=0";
|
||||
else if (string.IsNullOrEmpty(get_select_count))
|
||||
sql = "select p.id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words from kjd.product p where p.is_del=0";
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words," +
|
||||
"p.product_get_type from kjd.product p where p.is_del=0";
|
||||
else
|
||||
sql = "SELECT p.id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,COUNT(s.id) AS select_count " +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.product_get_type" +
|
||||
",COUNT(s.id) AS select_count " +
|
||||
"FROM kjd.product p LEFT JOIN kjd.product_select s ON p.id=s.out_product_id AND s.shop_id='" + select_shop_id + "' " +
|
||||
"WHERE p.is_del=0";
|
||||
|
||||
if (!isDetail && product_get_type != "all") // 详情必须从列表页面进入,不用限制
|
||||
sql += " and p.product_get_type=" + product_get_type;
|
||||
|
||||
//where子句
|
||||
sql += where;
|
||||
|
||||
@@ -170,6 +185,7 @@ namespace KJD_Web.BLL
|
||||
end_words = row["end_words"].ParseToString(),
|
||||
fission_words = row["fission_words"].ParseToString(),
|
||||
head_words = row["head_words"].ParseToString(),
|
||||
product_get_type = row["product_get_type"].ParseToInt(), //0母店采集 1前端直采
|
||||
};
|
||||
if (isDetail)
|
||||
{
|
||||
@@ -284,6 +300,9 @@ namespace KJD_Web.BLL
|
||||
string fission_words = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "fission_words"))?.Replace("'", "\\'");
|
||||
string head_words = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "head_words"))?.Replace("'", "\\'");
|
||||
string end_words = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "end_words"))?.Replace("'", "\\'");
|
||||
string product_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json"))?.Replace("'", "\\'");
|
||||
string size_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "size_json"))?.Replace("'", "\\'");
|
||||
string original_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "original_json"))?.Replace("'", "\\'");
|
||||
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
@@ -305,6 +324,12 @@ namespace KJD_Web.BLL
|
||||
sql += " head_words='" + head_words + "',";
|
||||
if (end_words != null)
|
||||
sql += " end_words='" + end_words + "',";
|
||||
if (product_json != null)
|
||||
sql += " product_json='" + product_json + "',";
|
||||
if (size_json != null)
|
||||
sql += " size_json='" + size_json + "',";
|
||||
if (original_json != null)
|
||||
sql += " original_json='" + original_json + "',";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " where id=" + id + ";";
|
||||
|
||||
@@ -561,7 +586,7 @@ namespace KJD_Web.BLL
|
||||
"s.sub_user_name,s.notes,s.user_notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," +
|
||||
"s.fission_product_name,s.operate_sub_sa_name,s.add_sub_sa_time," +
|
||||
"p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img," +
|
||||
"u.nick_name as operate_sub_sa_nick " +
|
||||
"p.product_get_type,u.nick_name as operate_sub_sa_nick " +
|
||||
"from kjd.product_select s left join kjd.product p on s.out_product_id=p.id " +
|
||||
"left join kjd.user u on u.user_name=s.operate_sub_sa_name " +
|
||||
"where 1=1";
|
||||
@@ -606,6 +631,7 @@ namespace KJD_Web.BLL
|
||||
operate_sub_sa_nick = row["operate_sub_sa_nick"].ToString(),
|
||||
fission_product_name = row["fission_product_name"].ToString(),
|
||||
user_notes = row["user_notes"].ToString(),
|
||||
product_get_type = row["product_get_type"].ParseToInt(),
|
||||
//product_json = row["product_json"].ToString(),
|
||||
//size_json = row["size_json"].ToString(),
|
||||
};
|
||||
@@ -987,6 +1013,7 @@ namespace KJD_Web.BLL
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
||||
bool is_random = RegexUtils.GetStringQuery(ref inputData, "is_random").ParseToBool();
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
@@ -1021,7 +1048,10 @@ namespace KJD_Web.BLL
|
||||
//where子句
|
||||
sql += where;
|
||||
|
||||
sql += " order by s.id desc";
|
||||
if (is_random)
|
||||
sql += " ORDER BY RAND(),s.id desc";
|
||||
else
|
||||
sql += " order by s.id desc";
|
||||
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
}
|
||||
|
||||
@@ -466,5 +466,24 @@ namespace KJD_Web.BLL
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string IsGetReturnPackage(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'");
|
||||
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
|
||||
|
||||
int r2 = RegexUtils.GetStringQuery(ref inputData, "r2").ParseToInt();
|
||||
string c2 = RegexUtils.GetStringQuery(ref inputData, "c2");
|
||||
|
||||
if (EncrypUtil.Encryption(r2) != c2)
|
||||
return "{\"code\":2,\"msg\":\"不合法的输入内容\"}";
|
||||
|
||||
var isGetReturn = System.Configuration.ConfigurationManager.ConnectionStrings["GetReturnPackage"]?.ConnectionString;
|
||||
return "{\"code\":200, \"is_get\":\"" + isGetReturn + "\"}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,5 +44,6 @@ namespace KJD_Web.Model
|
||||
public string fission_words { get; set; }
|
||||
public string head_words { get; set; }
|
||||
public string end_words { get; set; }
|
||||
public int product_get_type { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ namespace KJD_Web.Model
|
||||
public string main_img { get; set; }
|
||||
public string spu_id { get; set; }
|
||||
public string skc_id { get; set; }
|
||||
|
||||
public int product_get_type { get; set; }
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -78,6 +78,18 @@ namespace KJD_Web
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void is_get_return_package()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new UserManage().IsGetReturnPackage(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void change_password()
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<add name="ConnKJD" connectionString="Max Pool Size=512;Database='kjd';Data Source='nj-cynosdbmysql-grp-hl51pkfr.sql.tencentcdb.com';Port=27660;User Id='kjd';Password='Temukjd0625';Charset=utf8mb4;"/>
|
||||
<add name="UpdateVersion" connectionString="525"/>
|
||||
<add name="LowVersion" connectionString="523"/>
|
||||
<add name="GetReturnPackage" connectionString="true"/>
|
||||
<add name="UpdateExe" connectionString="http://1.13.195.131:9000/Download/Update.exe"/>
|
||||
<add name="UpdateFiles" connectionString="http://1.13.195.131:9000/Download/Update525.zip"/>
|
||||
<add name="UpdateExeChk" connectionString="324527ACE5020DCA77D65A5037718B65"/>
|
||||
|
||||
@@ -195,6 +195,12 @@
|
||||
<Compile Include="KJDForms\ProductForms\TemuAdsForm.Designer.cs">
|
||||
<DependentUpon>TemuAdsForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductForms\TemuJitForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductForms\TemuJitForm.Designer.cs">
|
||||
<DependentUpon>TemuJitForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductSelectForms\DbProductCategorySearch.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -881,6 +887,9 @@
|
||||
<EmbeddedResource Include="KJDForms\ProductForms\TemuAdsForm.resx">
|
||||
<DependentUpon>TemuAdsForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ProductForms\TemuJitForm.resx">
|
||||
<DependentUpon>TemuJitForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ProductSelectForms\DbProductCategorySearch.resx">
|
||||
<DependentUpon>DbProductCategorySearch.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+9
-5
@@ -36,7 +36,8 @@
|
||||
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("库存上传");
|
||||
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品核价");
|
||||
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("加入发货台");
|
||||
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
|
||||
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("开通Jit");
|
||||
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
treeNode3,
|
||||
@@ -44,7 +45,8 @@
|
||||
treeNode5,
|
||||
treeNode6,
|
||||
treeNode7,
|
||||
treeNode8});
|
||||
treeNode8,
|
||||
treeNode9});
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
@@ -151,10 +153,12 @@
|
||||
treeNode7.Text = "商品核价";
|
||||
treeNode8.Name = "加入发货台";
|
||||
treeNode8.Text = "加入发货台";
|
||||
treeNode9.Name = "超级权限管理";
|
||||
treeNode9.Text = "超级权限管理";
|
||||
treeNode9.Name = "开通Jit";
|
||||
treeNode9.Text = "开通Jit";
|
||||
treeNode10.Name = "超级权限管理";
|
||||
treeNode10.Text = "超级权限管理";
|
||||
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode9});
|
||||
treeNode10});
|
||||
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
|
||||
this.tv.Size = new System.Drawing.Size(140, 446);
|
||||
this.tv.TabIndex = 1;
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
public Lazy<ProductThirdSelectListManageForm> productThirdSelectListManageForm = new Lazy<ProductThirdSelectListManageForm>();
|
||||
public Lazy<AdminProductPriceCheckForm> adminProductPriceCheckForm = new Lazy<AdminProductPriceCheckForm>();
|
||||
public Lazy<JoinDeliveryFrom> joinDeliveryFrom = new Lazy<JoinDeliveryFrom>();
|
||||
public Lazy<TemuJitForm> jitForm = new Lazy<TemuJitForm>();
|
||||
|
||||
public AdminForm()
|
||||
{
|
||||
@@ -38,7 +39,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
List<string> hideName = new List<string>() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价",
|
||||
"加入发货台" };
|
||||
"加入发货台", "开通Jit" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
@@ -53,6 +54,9 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
hideName.Remove("库存上传");
|
||||
hideName.Remove("商品核价");
|
||||
hideName.Remove("加入发货台");
|
||||
#if DEBUG
|
||||
hideName.Remove("开通Jit");
|
||||
#endif
|
||||
}
|
||||
if (BaseClass.SaLevel==2)
|
||||
{
|
||||
@@ -112,6 +116,9 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
joinDeliveryFrom.Value.IsAdmin = true;
|
||||
SetForm(joinDeliveryFrom.Value);
|
||||
break;
|
||||
case "开通Jit":
|
||||
SetForm(jitForm.Value);
|
||||
break;
|
||||
}
|
||||
}));
|
||||
}).Start();
|
||||
|
||||
@@ -394,19 +394,26 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
}
|
||||
|
||||
public List<ShopLoginInfo> AdminGetServerShopLst(out int pageCount, int page = 1, int pageSize = 50)
|
||||
{
|
||||
return AdminGetServerShopLst(out pageCount, txtUserName.Text.Trim(), txtLoginName.Text.Trim(), txtNotes.Text.Trim(),
|
||||
txtShopId.Text.Trim(), txtShopName.Text.Trim(), page, pageSize);
|
||||
}
|
||||
|
||||
public List<ShopLoginInfo> AdminGetServerShopLst(out int pageCount, string search_user_name, string search_login_name, string search_notes,
|
||||
string search_id, string search_name, int page = 1, int pageSize = 50)
|
||||
{
|
||||
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
|
||||
pageCount = 1;
|
||||
|
||||
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
"&page_size=" + pageSize +
|
||||
"&search_user_name=" + txtUserName.Text.Trim() +
|
||||
"&search_login_name=" + txtLoginName.Text.Trim() +
|
||||
"&search_notes=" + txtNotes.Text.Trim() +
|
||||
"&search_id=" + txtShopId.Text.Trim() +
|
||||
"&search_name=" + txtShopName.Text.Trim();
|
||||
"&search_user_name=" + search_user_name +
|
||||
"&search_login_name=" + search_login_name +
|
||||
"&search_notes=" + search_notes +
|
||||
"&search_id=" + search_id +
|
||||
"&search_name=" + search_name;
|
||||
if (BaseClass.SaLevel > 1)
|
||||
data += "&operate_sub_sa_name=" + BaseClass.UserName;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
|
||||
+22
-22
@@ -39,8 +39,6 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnStart = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtRetryInterval = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
|
||||
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -88,7 +86,9 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtRetryInterval = new System.Windows.Forms.TextBox();
|
||||
this.btnStop = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -175,25 +175,6 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnStart.Text = "循环加入发货台";
|
||||
this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
|
||||
//
|
||||
// txtRetryInterval
|
||||
//
|
||||
this.txtRetryInterval.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtRetryInterval.Location = new System.Drawing.Point(253, -1);
|
||||
this.txtRetryInterval.Name = "txtRetryInterval";
|
||||
this.txtRetryInterval.Size = new System.Drawing.Size(47, 23);
|
||||
this.txtRetryInterval.TabIndex = 431;
|
||||
this.txtRetryInterval.Text = "5";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(179, 2);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(76, 17);
|
||||
this.label1.TabIndex = 432;
|
||||
this.label1.Text = "重试间隔(秒)";
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@@ -371,8 +352,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.pnlMsg);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.pnlMsg);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.dgvStock);
|
||||
this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1478, 462);
|
||||
@@ -789,6 +770,15 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnClear.Text = "清空结果";
|
||||
this.btnClear.Visible = false;
|
||||
//
|
||||
// txtRetryInterval
|
||||
//
|
||||
this.txtRetryInterval.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtRetryInterval.Location = new System.Drawing.Point(253, -1);
|
||||
this.txtRetryInterval.Name = "txtRetryInterval";
|
||||
this.txtRetryInterval.Size = new System.Drawing.Size(47, 23);
|
||||
this.txtRetryInterval.TabIndex = 431;
|
||||
this.txtRetryInterval.Text = "5";
|
||||
//
|
||||
// btnStop
|
||||
//
|
||||
this.btnStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -814,6 +804,16 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnStop.Text = "停止当前操作";
|
||||
this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(179, 2);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(76, 17);
|
||||
this.label1.TabIndex = 432;
|
||||
this.label1.Text = "重试间隔(秒)";
|
||||
//
|
||||
// JoinDeliveryFrom
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
|
||||
+945
@@ -0,0 +1,945 @@
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms
|
||||
{
|
||||
partial class TemuJitForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
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();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnResetExtCode = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtExtCode = new System.Windows.Forms.TextBox();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.chkSearchTime = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.dtpStartTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.btnStop = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearchPrice2 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtSkcId = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.btnEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.txtNotes = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtShopName = new System.Windows.Forms.TextBox();
|
||||
this.txtShopId = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbShopLoading = new System.Windows.Forms.PictureBox();
|
||||
this.chkSearchAllShop = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colUser = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvPriceCheck = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colProdIndex = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn();
|
||||
this.colProductId = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colProdName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSkuName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPrcie = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colCreatTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.ucGroupBoxEx1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
|
||||
this.splitContainer3.Panel1.SuspendLayout();
|
||||
this.splitContainer3.Panel2.SuspendLayout();
|
||||
this.splitContainer3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvPriceCheck)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit();
|
||||
this.splitContainer4.Panel1.SuspendLayout();
|
||||
this.splitContainer4.Panel2.SuspendLayout();
|
||||
this.splitContainer4.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer3);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1461, 571);
|
||||
this.splitContainer1.SplitterDistance = 130;
|
||||
this.splitContainer1.TabIndex = 12;
|
||||
//
|
||||
// ucGroupBoxEx1
|
||||
//
|
||||
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnResetExtCode);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtExtCode);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label12);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.chkSearchTime);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.dtpEndTime);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.dtpStartTime);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnStop);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnSearchPrice2);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtSkcId);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label7);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnEmpty);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label5);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtNotes);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label4);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtShopName);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtShopId);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label2);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label3);
|
||||
this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2);
|
||||
this.ucGroupBoxEx1.Name = "ucGroupBoxEx1";
|
||||
this.ucGroupBoxEx1.Size = new System.Drawing.Size(1456, 130);
|
||||
this.ucGroupBoxEx1.TabIndex = 399;
|
||||
this.ucGroupBoxEx1.TabStop = false;
|
||||
this.ucGroupBoxEx1.Text = "参数设置";
|
||||
//
|
||||
// btnResetExtCode
|
||||
//
|
||||
this.btnResetExtCode.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnResetExtCode.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnResetExtCode.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnResetExtCode.Location = new System.Drawing.Point(525, 44);
|
||||
this.btnResetExtCode.Name = "btnResetExtCode";
|
||||
this.btnResetExtCode.Size = new System.Drawing.Size(66, 23);
|
||||
this.btnResetExtCode.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnResetExtCode.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnResetExtCode.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnResetExtCode.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnResetExtCode.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnResetExtCode.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnResetExtCode.Style.GradientAngle = 90;
|
||||
this.btnResetExtCode.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnResetExtCode.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnResetExtCode.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnResetExtCode.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnResetExtCode.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnResetExtCode.TabIndex = 1005;
|
||||
this.btnResetExtCode.Text = "重置";
|
||||
//
|
||||
// txtExtCode
|
||||
//
|
||||
this.txtExtCode.Location = new System.Drawing.Point(340, 44);
|
||||
this.txtExtCode.Name = "txtExtCode";
|
||||
this.txtExtCode.Size = new System.Drawing.Size(182, 23);
|
||||
this.txtExtCode.TabIndex = 1003;
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(306, 47);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(44, 17);
|
||||
this.label12.TabIndex = 1004;
|
||||
this.label12.Text = "货号:";
|
||||
//
|
||||
// chkSearchTime
|
||||
//
|
||||
this.chkSearchTime.AutoSize = true;
|
||||
this.chkSearchTime.Checked = true;
|
||||
this.chkSearchTime.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkSearchTime.Location = new System.Drawing.Point(301, 74);
|
||||
this.chkSearchTime.Name = "chkSearchTime";
|
||||
this.chkSearchTime.Size = new System.Drawing.Size(15, 14);
|
||||
this.chkSearchTime.TabIndex = 1002;
|
||||
this.chkSearchTime.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// dtpEndTime
|
||||
//
|
||||
this.dtpEndTime.Location = new System.Drawing.Point(455, 71);
|
||||
this.dtpEndTime.Name = "dtpEndTime";
|
||||
this.dtpEndTime.Size = new System.Drawing.Size(136, 23);
|
||||
this.dtpEndTime.TabIndex = 1001;
|
||||
//
|
||||
// dtpStartTime
|
||||
//
|
||||
this.dtpStartTime.Location = new System.Drawing.Point(317, 71);
|
||||
this.dtpStartTime.Name = "dtpStartTime";
|
||||
this.dtpStartTime.Size = new System.Drawing.Size(136, 23);
|
||||
this.dtpStartTime.TabIndex = 1000;
|
||||
//
|
||||
// btnStop
|
||||
//
|
||||
this.btnStop.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnStop.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnStop.Location = new System.Drawing.Point(525, 98);
|
||||
this.btnStop.Name = "btnStop";
|
||||
this.btnStop.Size = new System.Drawing.Size(66, 23);
|
||||
this.btnStop.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnStop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnStop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnStop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnStop.Style.GradientAngle = 90;
|
||||
this.btnStop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnStop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnStop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnStop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnStop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnStop.TabIndex = 999;
|
||||
this.btnStop.Text = "停止读取";
|
||||
//
|
||||
// btnSearchPrice2
|
||||
//
|
||||
this.btnSearchPrice2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSearchPrice2.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearchPrice2.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSearchPrice2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearchPrice2.Location = new System.Drawing.Point(410, 98);
|
||||
this.btnSearchPrice2.Name = "btnSearchPrice2";
|
||||
this.btnSearchPrice2.Size = new System.Drawing.Size(112, 23);
|
||||
this.btnSearchPrice2.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearchPrice2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchPrice2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchPrice2.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSearchPrice2.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSearchPrice2.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSearchPrice2.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSearchPrice2.Style.GradientAngle = 90;
|
||||
this.btnSearchPrice2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearchPrice2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchPrice2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchPrice2.TabIndex = 996;
|
||||
this.btnSearchPrice2.Text = "读取待创建首单";
|
||||
this.btnSearchPrice2.Click += new System.EventHandler(this.btnSearchPrice2_Click);
|
||||
//
|
||||
// txtSkcId
|
||||
//
|
||||
this.txtSkcId.Location = new System.Drawing.Point(340, 17);
|
||||
this.txtSkcId.Name = "txtSkcId";
|
||||
this.txtSkcId.Size = new System.Drawing.Size(251, 23);
|
||||
this.txtSkcId.TabIndex = 997;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(298, 20);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(52, 17);
|
||||
this.label7.TabIndex = 998;
|
||||
this.label7.Text = "SkcId:";
|
||||
//
|
||||
// btnEmpty
|
||||
//
|
||||
this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnEmpty.Location = new System.Drawing.Point(213, 98);
|
||||
this.btnEmpty.Name = "btnEmpty";
|
||||
this.btnEmpty.Size = new System.Drawing.Size(40, 23);
|
||||
this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnEmpty.Style.GradientAngle = 90;
|
||||
this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnEmpty.TabIndex = 697;
|
||||
this.btnEmpty.Text = "重置";
|
||||
this.btnEmpty.Click += new System.EventHandler(this.btnEmpty_Click);
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.label5.Location = new System.Drawing.Point(15, 101);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(128, 17);
|
||||
this.label5.TabIndex = 685;
|
||||
this.label5.Text = "注:逗号分隔查询多店";
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
this.txtNotes.Location = new System.Drawing.Point(70, 71);
|
||||
this.txtNotes.Name = "txtNotes";
|
||||
this.txtNotes.Size = new System.Drawing.Size(183, 23);
|
||||
this.txtNotes.TabIndex = 382;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(13, 74);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(68, 17);
|
||||
this.label4.TabIndex = 383;
|
||||
this.label4.Text = "店铺分组:";
|
||||
//
|
||||
// btnRefreshShop
|
||||
//
|
||||
this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnRefreshShop.Location = new System.Drawing.Point(145, 98);
|
||||
this.btnRefreshShop.Name = "btnRefreshShop";
|
||||
this.btnRefreshShop.Size = new System.Drawing.Size(65, 23);
|
||||
this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnRefreshShop.Style.GradientAngle = 90;
|
||||
this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.TabIndex = 431;
|
||||
this.btnRefreshShop.Text = "查询/刷新";
|
||||
this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshShop_Click);
|
||||
//
|
||||
// txtShopName
|
||||
//
|
||||
this.txtShopName.Location = new System.Drawing.Point(70, 44);
|
||||
this.txtShopName.Name = "txtShopName";
|
||||
this.txtShopName.Size = new System.Drawing.Size(183, 23);
|
||||
this.txtShopName.TabIndex = 380;
|
||||
//
|
||||
// txtShopId
|
||||
//
|
||||
this.txtShopId.Location = new System.Drawing.Point(70, 17);
|
||||
this.txtShopId.Name = "txtShopId";
|
||||
this.txtShopId.Size = new System.Drawing.Size(183, 23);
|
||||
this.txtShopId.TabIndex = 378;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(26, 20);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(55, 17);
|
||||
this.label2.TabIndex = 379;
|
||||
this.label2.Text = "店铺id:";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(25, 47);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(56, 17);
|
||||
this.label3.TabIndex = 381;
|
||||
this.label3.Text = "店铺名:";
|
||||
//
|
||||
// splitContainer3
|
||||
//
|
||||
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer3.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer3.Name = "splitContainer3";
|
||||
this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer3.Panel1
|
||||
//
|
||||
this.splitContainer3.Panel1.Controls.Add(this.splitContainer2);
|
||||
//
|
||||
// splitContainer3.Panel2
|
||||
//
|
||||
this.splitContainer3.Panel2.Controls.Add(this.splitContainer4);
|
||||
this.splitContainer3.Size = new System.Drawing.Size(1461, 437);
|
||||
this.splitContainer3.SplitterDistance = 407;
|
||||
this.splitContainer3.TabIndex = 1;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbShopLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.chkSearchAllShop);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvShop);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.dgvPriceCheck);
|
||||
this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1461, 407);
|
||||
this.splitContainer2.SplitterDistance = 280;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pbShopLoading
|
||||
//
|
||||
this.pbShopLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbShopLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbShopLoading.Location = new System.Drawing.Point(115, 178);
|
||||
this.pbShopLoading.Name = "pbShopLoading";
|
||||
this.pbShopLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbShopLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbShopLoading.TabIndex = 676;
|
||||
this.pbShopLoading.TabStop = false;
|
||||
this.pbShopLoading.Visible = false;
|
||||
//
|
||||
// chkSearchAllShop
|
||||
//
|
||||
this.chkSearchAllShop.AutoSize = true;
|
||||
this.chkSearchAllShop.Location = new System.Drawing.Point(22, 43);
|
||||
this.chkSearchAllShop.Name = "chkSearchAllShop";
|
||||
this.chkSearchAllShop.Size = new System.Drawing.Size(147, 21);
|
||||
this.chkSearchAllShop.TabIndex = 710;
|
||||
this.chkSearchAllShop.Text = "二级超管查询所有店铺";
|
||||
this.chkSearchAllShop.UseVisualStyleBackColor = true;
|
||||
this.chkSearchAllShop.Visible = false;
|
||||
//
|
||||
// dgvShop
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
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,
|
||||
this.colUser,
|
||||
this.colLoginName,
|
||||
this.colShopId,
|
||||
this.colShopName,
|
||||
this.colShopNotes,
|
||||
this.colLoginStatus,
|
||||
this.colCanUse,
|
||||
this.colMessage});
|
||||
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvShop.Location = new System.Drawing.Point(4, 0);
|
||||
this.dgvShop.Name = "dgvShop";
|
||||
this.dgvShop.ReadOnly = true;
|
||||
this.dgvShop.RowHeadersWidth = 25;
|
||||
this.dgvShop.RowTemplate.Height = 23;
|
||||
this.dgvShop.Size = new System.Drawing.Size(276, 407);
|
||||
this.dgvShop.TabIndex = 6;
|
||||
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.HeaderText = "全选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSelect.Width = 28;
|
||||
//
|
||||
// colUser
|
||||
//
|
||||
this.colUser.HeaderText = "店铺账户";
|
||||
this.colUser.Name = "colUser";
|
||||
this.colUser.ReadOnly = true;
|
||||
this.colUser.Visible = false;
|
||||
//
|
||||
// colLoginName
|
||||
//
|
||||
this.colLoginName.HeaderText = "店铺登录名";
|
||||
this.colLoginName.Name = "colLoginName";
|
||||
this.colLoginName.ReadOnly = true;
|
||||
this.colLoginName.Visible = false;
|
||||
//
|
||||
// colShopId
|
||||
//
|
||||
this.colShopId.HeaderText = "店铺Id";
|
||||
this.colShopId.Name = "colShopId";
|
||||
this.colShopId.ReadOnly = true;
|
||||
this.colShopId.Visible = false;
|
||||
this.colShopId.Width = 55;
|
||||
//
|
||||
// colShopName
|
||||
//
|
||||
this.colShopName.HeaderText = "店铺名称";
|
||||
this.colShopName.Name = "colShopName";
|
||||
this.colShopName.ReadOnly = true;
|
||||
this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colShopName.Width = 70;
|
||||
//
|
||||
// colShopNotes
|
||||
//
|
||||
this.colShopNotes.HeaderText = "分组";
|
||||
this.colShopNotes.Name = "colShopNotes";
|
||||
this.colShopNotes.ReadOnly = true;
|
||||
this.colShopNotes.Width = 70;
|
||||
//
|
||||
// colLoginStatus
|
||||
//
|
||||
this.colLoginStatus.HeaderText = "状态";
|
||||
this.colLoginStatus.Name = "colLoginStatus";
|
||||
this.colLoginStatus.ReadOnly = true;
|
||||
this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colLoginStatus.Width = 38;
|
||||
//
|
||||
// colCanUse
|
||||
//
|
||||
this.colCanUse.HeaderText = "可用";
|
||||
this.colCanUse.Name = "colCanUse";
|
||||
this.colCanUse.ReadOnly = true;
|
||||
this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCanUse.Visible = false;
|
||||
this.colCanUse.Width = 28;
|
||||
//
|
||||
// colMessage
|
||||
//
|
||||
this.colMessage.HeaderText = "消息";
|
||||
this.colMessage.Name = "colMessage";
|
||||
this.colMessage.ReadOnly = true;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(547, 178);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbLoading.TabIndex = 675;
|
||||
this.pbLoading.TabStop = false;
|
||||
this.pbLoading.Visible = false;
|
||||
//
|
||||
// dgvPriceCheck
|
||||
//
|
||||
this.dgvPriceCheck.AllowUserToAddRows = false;
|
||||
this.dgvPriceCheck.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvPriceCheck.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.dgvPriceCheck.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvPriceCheck.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
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.dgvPriceCheck.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.dgvPriceCheck.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvPriceCheck.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
this.colProdIndex,
|
||||
this.colOrderId,
|
||||
this.colSupplierId,
|
||||
this.colSupplierName,
|
||||
this.colImgUrl,
|
||||
this.colProductSkcPic,
|
||||
this.colProductId,
|
||||
this.colProdSkc,
|
||||
this.colProdName,
|
||||
this.colSkuName,
|
||||
this.colExtCode,
|
||||
this.colPrcie,
|
||||
this.colCreatTime,
|
||||
this.colMsg});
|
||||
this.dgvPriceCheck.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvPriceCheck.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvPriceCheck.Name = "dgvPriceCheck";
|
||||
this.dgvPriceCheck.ReadOnly = true;
|
||||
this.dgvPriceCheck.RowHeadersWidth = 36;
|
||||
this.dgvPriceCheck.RowTemplate.Height = 23;
|
||||
this.dgvPriceCheck.Size = new System.Drawing.Size(1173, 407);
|
||||
this.dgvPriceCheck.TabIndex = 187;
|
||||
//
|
||||
// colCheck
|
||||
//
|
||||
this.colCheck.HeaderText = "选择";
|
||||
this.colCheck.Name = "colCheck";
|
||||
this.colCheck.ReadOnly = true;
|
||||
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCheck.Width = 28;
|
||||
//
|
||||
// colProdIndex
|
||||
//
|
||||
this.colProdIndex.HeaderText = "序号";
|
||||
this.colProdIndex.Name = "colProdIndex";
|
||||
this.colProdIndex.ReadOnly = true;
|
||||
this.colProdIndex.Width = 40;
|
||||
//
|
||||
// colOrderId
|
||||
//
|
||||
this.colOrderId.HeaderText = "处理单号";
|
||||
this.colOrderId.Name = "colOrderId";
|
||||
this.colOrderId.ReadOnly = true;
|
||||
this.colOrderId.Visible = false;
|
||||
//
|
||||
// colSupplierId
|
||||
//
|
||||
this.colSupplierId.HeaderText = "店铺Id";
|
||||
this.colSupplierId.Name = "colSupplierId";
|
||||
this.colSupplierId.ReadOnly = true;
|
||||
this.colSupplierId.Width = 80;
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
this.colSupplierName.Width = 90;
|
||||
//
|
||||
// colImgUrl
|
||||
//
|
||||
this.colImgUrl.HeaderText = "图片路径";
|
||||
this.colImgUrl.Name = "colImgUrl";
|
||||
this.colImgUrl.ReadOnly = true;
|
||||
this.colImgUrl.Visible = false;
|
||||
//
|
||||
// colProductSkcPic
|
||||
//
|
||||
this.colProductSkcPic.HeaderText = "Skc图片";
|
||||
this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colProductSkcPic.Name = "colProductSkcPic";
|
||||
this.colProductSkcPic.ReadOnly = true;
|
||||
this.colProductSkcPic.Width = 60;
|
||||
//
|
||||
// colProductId
|
||||
//
|
||||
this.colProductId.HeaderText = "商品Id";
|
||||
this.colProductId.Name = "colProductId";
|
||||
this.colProductId.ReadOnly = true;
|
||||
this.colProductId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colProductId.Width = 85;
|
||||
//
|
||||
// colProdSkc
|
||||
//
|
||||
this.colProdSkc.FillWeight = 150F;
|
||||
this.colProdSkc.HeaderText = "商品SKC";
|
||||
this.colProdSkc.Name = "colProdSkc";
|
||||
this.colProdSkc.ReadOnly = true;
|
||||
this.colProdSkc.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProdSkc.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colProdSkc.Width = 90;
|
||||
//
|
||||
// colProdName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProdName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colProdName.HeaderText = "标题";
|
||||
this.colProdName.Name = "colProdName";
|
||||
this.colProdName.ReadOnly = true;
|
||||
this.colProdName.Width = 140;
|
||||
//
|
||||
// colSkuName
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSkuName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colSkuName.HeaderText = "规格名称";
|
||||
this.colSkuName.Name = "colSkuName";
|
||||
this.colSkuName.ReadOnly = true;
|
||||
this.colSkuName.Width = 90;
|
||||
//
|
||||
// colExtCode
|
||||
//
|
||||
this.colExtCode.HeaderText = "货号";
|
||||
this.colExtCode.Name = "colExtCode";
|
||||
this.colExtCode.ReadOnly = true;
|
||||
this.colExtCode.Width = 160;
|
||||
//
|
||||
// colPrcie
|
||||
//
|
||||
this.colPrcie.HeaderText = "申报价";
|
||||
this.colPrcie.Name = "colPrcie";
|
||||
this.colPrcie.ReadOnly = true;
|
||||
this.colPrcie.Width = 60;
|
||||
//
|
||||
// colCreatTime
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCreatTime.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colCreatTime.HeaderText = "创建时间";
|
||||
this.colCreatTime.Name = "colCreatTime";
|
||||
this.colCreatTime.ReadOnly = true;
|
||||
this.colCreatTime.Width = 65;
|
||||
//
|
||||
// colMsg
|
||||
//
|
||||
this.colMsg.HeaderText = "状态";
|
||||
this.colMsg.Name = "colMsg";
|
||||
this.colMsg.ReadOnly = true;
|
||||
this.colMsg.Width = 160;
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer4.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer4.Name = "splitContainer4";
|
||||
//
|
||||
// splitContainer4.Panel1
|
||||
//
|
||||
this.splitContainer4.Panel1.Controls.Add(this.ucSplitPage1);
|
||||
//
|
||||
// splitContainer4.Panel2
|
||||
//
|
||||
this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
|
||||
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
|
||||
this.splitContainer4.Panel2.Controls.Add(this.statusBar);
|
||||
this.splitContainer4.Size = new System.Drawing.Size(1461, 26);
|
||||
this.splitContainer4.SplitterDistance = 282;
|
||||
this.splitContainer4.TabIndex = 3;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.ucSplitPage1.IsShowPageSize = false;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(0, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(282, 26);
|
||||
this.ucSplitPage1.TabIndex = 5;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx1.Location = new System.Drawing.Point(1056, 0);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Size = new System.Drawing.Size(115, 21);
|
||||
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelEx1.Style.GradientAngle = 90;
|
||||
this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx1.TabIndex = 668;
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Visible = false;
|
||||
//
|
||||
// btnClear
|
||||
//
|
||||
this.btnClear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnClear.Location = new System.Drawing.Point(962, 0);
|
||||
this.btnClear.Name = "btnClear";
|
||||
this.btnClear.Size = new System.Drawing.Size(90, 21);
|
||||
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.Style.GradientAngle = 90;
|
||||
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.TabIndex = 440;
|
||||
this.btnClear.Text = "清空结果";
|
||||
this.btnClear.Visible = false;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1175, 26);
|
||||
this.statusBar.TabIndex = 2;
|
||||
//
|
||||
// TemuJitForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1461, 571);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Name = "TemuJitForm";
|
||||
this.Text = "加入Jit";
|
||||
this.Load += new System.EventHandler(this.TemuJitForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.TemuJitForm_VisibleChanged);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ucGroupBoxEx1.ResumeLayout(false);
|
||||
this.ucGroupBoxEx1.PerformLayout();
|
||||
this.splitContainer3.Panel1.ResumeLayout(false);
|
||||
this.splitContainer3.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
|
||||
this.splitContainer3.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.PerformLayout();
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvPriceCheck)).EndInit();
|
||||
this.splitContainer4.Panel1.ResumeLayout(false);
|
||||
this.splitContainer4.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit();
|
||||
this.splitContainer4.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private UserComponent.UcGroupBoxEx ucGroupBoxEx1;
|
||||
private DevComponents.DotNetBar.PanelEx btnEmpty;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox txtNotes;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private DevComponents.DotNetBar.PanelEx btnRefreshShop;
|
||||
private System.Windows.Forms.TextBox txtShopName;
|
||||
private System.Windows.Forms.TextBox txtShopId;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.SplitContainer splitContainer3;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.PictureBox pbShopLoading;
|
||||
private UserComponent.DataGridViewEx dgvShop;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUser;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
|
||||
private UserComponent.UcCheckBox chkSearchAllShop;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private DevComponents.DotNetBar.PanelEx panelEx1;
|
||||
private DevComponents.DotNetBar.PanelEx btnClear;
|
||||
private UserComponent.DataGridViewEx dgvPriceCheck;
|
||||
private System.Windows.Forms.SplitContainer splitContainer4;
|
||||
private UserControls.UcSplitPage ucSplitPage1;
|
||||
private UserControls.StatusBarUserControl statusBar;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProdIndex;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOrderId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colProductId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colProdSkc;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProdName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPrcie;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCreatTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
|
||||
private DevComponents.DotNetBar.PanelEx btnResetExtCode;
|
||||
private System.Windows.Forms.TextBox txtExtCode;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private UserComponent.UcCheckBox chkSearchTime;
|
||||
private System.Windows.Forms.DateTimePicker dtpEndTime;
|
||||
private System.Windows.Forms.DateTimePicker dtpStartTime;
|
||||
private DevComponents.DotNetBar.PanelEx btnStop;
|
||||
private DevComponents.DotNetBar.PanelEx btnSearchPrice2;
|
||||
private System.Windows.Forms.TextBox txtSkcId;
|
||||
private System.Windows.Forms.Label label7;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,468 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.KJDForms.AdminForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms
|
||||
{
|
||||
public partial class TemuJitForm : Form
|
||||
{
|
||||
SetJitConfig setJitConfig = null;
|
||||
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
|
||||
public List<ShopLoginInfo> lstAdminShopInfo { get; set; } = new List<ShopLoginInfo>();
|
||||
public List<TemuCheckPriceInfo> lstCheckPriceInfo = new List<TemuCheckPriceInfo>();
|
||||
|
||||
public TemuJitForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void TemuJitForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.dgvShop.AddSelectorColumn("colSelect");
|
||||
this.dgvPriceCheck.AddSelectorColumn("colCheck");
|
||||
|
||||
this.dtpEndTime.Value = DateTime.Now.Date.AddDays(1).AddMilliseconds(-1);
|
||||
this.dtpStartTime.Value = DateTime.Now.Date.AddDays(-7);
|
||||
|
||||
setJitConfig = NaiBa.Util.Helper.ConfigHelper.LoadConfig<SetJitConfig>("set_jit_config");
|
||||
if (setJitConfig == null)
|
||||
setJitConfig = new SetJitConfig();
|
||||
this.txtNotes.Text = setJitConfig.SearchNotes;
|
||||
this.txtShopId.Text = setJitConfig.SearchShopId;
|
||||
this.txtShopName.Text = setJitConfig.SearchShopName;
|
||||
this.chkSearchAllShop.Checked = setJitConfig.SearchAllShop;
|
||||
|
||||
this.txtNotes.TextChanged += Txt_TextChanged;
|
||||
this.txtShopId.TextChanged += Txt_TextChanged;
|
||||
this.txtShopName.TextChanged += Txt_TextChanged;
|
||||
this.chkSearchAllShop.CheckedChanged += Txt_TextChanged;
|
||||
}
|
||||
|
||||
private void Txt_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
setJitConfig.SearchNotes = this.txtNotes.Text.Trim();
|
||||
setJitConfig.SearchShopId = this.txtShopId.Text.Trim();
|
||||
setJitConfig.SearchShopName = this.txtShopName.Text.Trim();
|
||||
setJitConfig.SearchAllShop = this.chkSearchAllShop.Checked;
|
||||
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("set_jit_config", setJitConfig);
|
||||
}
|
||||
|
||||
private void TemuJitForm_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Visible)
|
||||
{
|
||||
this.pbShopLoading.Visible = true;
|
||||
SearchShop(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnRefreshShop_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (this.ucSplitPage1.CurrentPage != 1)
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
else
|
||||
SearchShop(1);
|
||||
}
|
||||
private void ucSplitPage1_PageChange(object obj)
|
||||
{
|
||||
SearchShop(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
|
||||
private void btnEmpty_Click(object sender, EventArgs e)
|
||||
{
|
||||
txtNotes.Text = txtShopId.Text = txtShopName.Text = "";
|
||||
}
|
||||
|
||||
public void SearchShop(int page)
|
||||
{
|
||||
List<string> userShopIdList = dgvShop.Rows.Cast<DataGridViewRow>()
|
||||
.Where(r => r.Cells["colSelect"].Value.ParseToBool())
|
||||
.Select(r => r.Cells["colShopId"].Value.ParseToString() + r.Cells["colUser"].Value.ParseToString()).ToList();
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbShopLoading.Visible = true;
|
||||
this.dgvShop.Rows.Clear();
|
||||
lstAdminShopInfo.Clear();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbShopLoading.Visible = true;
|
||||
this.dgvShop.Rows.Clear();
|
||||
lstAdminShopInfo.Clear();
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
var list = AdminGetServerShopLst(out pageCount, page);
|
||||
lstAdminShopInfo.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
foreach (var shop in lstAdminShopInfo)
|
||||
{
|
||||
bool canUse = shop.LoginStatus2 == "国际版在线";
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowIndex = this.dgvShop.Rows.Add(
|
||||
userShopIdList.Contains(shop.ShopId + shop.UserName),
|
||||
shop.UserName,
|
||||
shop.LoginName,
|
||||
shop.ShopId,
|
||||
shop.ShopAccount,
|
||||
shop.Notes,
|
||||
canUse ? "在线" : "掉线",
|
||||
canUse,
|
||||
string.Empty
|
||||
);
|
||||
displayShopStatus(shop);
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbShopLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
public List<ShopLoginInfo> AdminGetServerShopLst(out int pageCount, int page = 1, int pageSize = 50)
|
||||
{
|
||||
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
|
||||
pageCount = 1;
|
||||
|
||||
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
|
||||
if (BaseClass.SaLevel > 1 && !chkSearchAllShop.Checked)
|
||||
url = BaseClass.BuildObjString("shop/sub_sa_get_select_prod_shop");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
"&page_size=" + pageSize +
|
||||
"&shop_ids=" + txtShopId.Text.Trim().Trim(',') +
|
||||
"&shop_names=" + txtShopName.Text.Trim().Trim(',') +
|
||||
"&search_notes=" + txtNotes.Text.Trim().Trim(',');
|
||||
if (BaseClass.SaLevel > 1 && !chkSearchAllShop.Checked)
|
||||
data += "&operate_sub_sa_name=" + BaseClass.UserName;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html)
|
||||
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
int count = BaseRegex.GetIntJson(ref html, "count");
|
||||
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
|
||||
pageCount = Math.Max(pageCount, 1);
|
||||
|
||||
return ShopBLL.DeserializationShop(html);
|
||||
}
|
||||
|
||||
void displayShopStatus(ShopLoginInfo shop)
|
||||
{
|
||||
bool canUse = shop.LoginStatus2 == "国际版在线";
|
||||
var rows = this.dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colLoginName"].Value.ParseToString() == shop?.LoginName);
|
||||
foreach (var row in rows)
|
||||
{
|
||||
row.Cells["colCanUse"].Value = canUse;
|
||||
row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
|
||||
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
|
||||
string loginName = dgvShop.Rows[e.RowIndex].Cells["colLoginName"].Value.ParseToString();
|
||||
string accountId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
|
||||
var shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "登录":
|
||||
case "状态":
|
||||
{
|
||||
AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.SaveComplete += shopLoginForm_SaveComplete;
|
||||
shopLoginForm.ShowDialog();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
private void shopLoginForm_SaveComplete(object obj)
|
||||
{
|
||||
var shop = obj as ShopLoginInfo;
|
||||
if (shop == null)
|
||||
return;
|
||||
|
||||
displayShopStatus(shop);
|
||||
}
|
||||
|
||||
private void btnSearchPrice2_Click(object sender, EventArgs e)
|
||||
{
|
||||
SearchPrice("待创建首单");
|
||||
}
|
||||
|
||||
private void SearchPrice(string type = "待创建首单")
|
||||
{
|
||||
var selectShopIdLst = this.dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true)
|
||||
.Select(r => r.Cells["colShopId"].Value.ParseToString()).Distinct().ToList();
|
||||
var shops = this.lstAdminShopInfo.Where(s => selectShopIdLst.Contains(s.ShopId)).ToList();
|
||||
if (shops.Count == 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("没有选择店铺!");
|
||||
return;
|
||||
}
|
||||
if (chkSearchTime.Checked)
|
||||
{
|
||||
if (dtpStartTime.Value.Date.AddMonths(3) < dtpEndTime.Value.Date.AddDays(1).AddMilliseconds(-1))
|
||||
{
|
||||
BaseMsgForm.ShowError("一次最多只支持查询三个月!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.dgvPriceCheck.Rows.Clear();
|
||||
this.lstCheckPriceInfo.Clear();
|
||||
this.pbLoading.Visible = true;
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
Task.Run(() =>
|
||||
{
|
||||
int shopIndex = 0;
|
||||
int totalProdIndex = 0;
|
||||
foreach (var shopId in selectShopIdLst)
|
||||
{
|
||||
shopIndex++;
|
||||
var shop = this.lstAdminShopInfo.Where(s => shopId == s.ShopId).ToList().FirstOrDefault();
|
||||
if (shop == null)
|
||||
continue;
|
||||
|
||||
AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus2 != "国际版在线")
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
displayShopStatus(shop);
|
||||
}));
|
||||
}
|
||||
int page = 0;
|
||||
int totalPage = 1;
|
||||
int prodIndex = 0;
|
||||
while (page < totalPage)
|
||||
{
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
page++;
|
||||
long startTime = 0, endTime = 0;
|
||||
if (chkSearchTime.Checked)
|
||||
{
|
||||
startTime = BaseClass.DateTimeToTimestampMilliseconds(dtpStartTime.Value.Date);
|
||||
endTime = BaseClass.DateTimeToTimestampMilliseconds(dtpEndTime.Value.Date.AddDays(1).AddMilliseconds(-1));
|
||||
}
|
||||
string searchSkcIds = txtSkcId.Text.Trim().Trim(',');
|
||||
string searchExtCodes = txtExtCode.Text.Trim().Trim(',');
|
||||
var searchRst = this.SearchForChainSupplier(shop, page, 100, searchSkcIds, searchExtCodes, type, startTime, endTime);
|
||||
if (searchRst.Contains("登录过期") || searchRst.Contains("Invalid Login State"))
|
||||
{
|
||||
AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
displayShopStatus(shop);
|
||||
}));
|
||||
}
|
||||
if (searchRst.Contains("\"success\":true"))
|
||||
{
|
||||
try
|
||||
{
|
||||
int total = BaseRegex.GetStringJson(ref searchRst, "total").ParseToInt();
|
||||
totalPage = Math.Ceiling(total / 100.0).ParseToInt();
|
||||
|
||||
var jObj = JObject.Parse(searchRst);
|
||||
var jArr = jObj["result"]["dataList"] as JArray;
|
||||
if (jArr == null)
|
||||
jArr = new JArray();
|
||||
|
||||
List<string> extCodeLst = new List<string>();
|
||||
List<TemuCheckPriceInfo> checkPriceInfoTmpLst = new List<TemuCheckPriceInfo>();
|
||||
foreach (var item in jArr)
|
||||
{
|
||||
var jStr = JsonHelper.SerializeObject(item);
|
||||
TemuCheckPriceInfo priceInfo = JsonHelper.DeserializeJsonToObject<TemuCheckPriceInfo>(jStr);
|
||||
lstCheckPriceInfo.Add(priceInfo);
|
||||
checkPriceInfoTmpLst.Add(priceInfo);
|
||||
extCodeLst.Add(priceInfo.skcList.FirstOrDefault()?.extCode);
|
||||
}
|
||||
foreach (var priceInfo in checkPriceInfoTmpLst)
|
||||
{
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
prodIndex++;
|
||||
totalProdIndex++;
|
||||
Invoke(new Action(() => {
|
||||
this.statusBar.lblTaskStatus.Text = "正在查询" + type + ",店铺:" + shop.ShopAccount + " " + prodIndex + "/" + total + " 件商品";
|
||||
this.statusBar.pgbTaskProgress.Maximum = selectShopIdLst.Count;
|
||||
this.statusBar.UpdateProgressBar(shopIndex);
|
||||
}));
|
||||
|
||||
string imgUrl = priceInfo.skcList.FirstOrDefault()?.previewImgUrlList.FirstOrDefault();
|
||||
if (imgUrl == null)
|
||||
imgUrl = "";
|
||||
imgUrl = imgUrl.Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com") + "?imageMogr2/thumbnail/60x";
|
||||
//string getImgError = "";
|
||||
//var img = GetHtml.GetUrlImg(imgUrl + "?imageMogr2/thumbnail/60x", out getImgError);
|
||||
|
||||
foreach (var reviewInfo in priceInfo.skcList.FirstOrDefault().supplierPriceReviewInfoList)
|
||||
{
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
if (reviewInfo.status == 3) //放弃调整报价,报价显示已作废
|
||||
continue;
|
||||
|
||||
string skuName = "";
|
||||
var prodSkuList = reviewInfo.productSkuList;
|
||||
if (prodSkuList != null)
|
||||
{
|
||||
foreach (var sku in prodSkuList)
|
||||
{
|
||||
foreach (var prop in sku.productPropertyList)
|
||||
{
|
||||
skuName += prop.value + ",";
|
||||
}
|
||||
skuName = skuName.TrimEnd(',') + ";";
|
||||
skuName += "\r\n";
|
||||
}
|
||||
}
|
||||
var suggestSupplyPrice = "-";
|
||||
//if (type == "待卖家确认")
|
||||
//{
|
||||
// var orderPriceRst = "店铺掉线";
|
||||
// if (shop.LoginStatus2 == "国际版在线")
|
||||
// orderPriceRst = GetCheckPrice(shop, reviewInfo.priceOrderId.ParseToString());
|
||||
// if (orderPriceRst.Contains("登录过期") || orderPriceRst.Contains("Invalid Login State"))
|
||||
// {
|
||||
// AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
// }
|
||||
// reviewInfo.suggestSupplyPrice = BaseRegex.GetIntJson(ref orderPriceRst, "suggestSupplyPrice");
|
||||
// reviewInfo.supplyPrice = BaseRegex.GetIntJson(ref orderPriceRst, "supplyPrice");
|
||||
// suggestSupplyPrice = (reviewInfo.suggestSupplyPrice / 100.0).ToString();
|
||||
// if (suggestSupplyPrice == "0")
|
||||
// suggestSupplyPrice = "获取推荐价格失败,请重试" + orderPriceRst;
|
||||
// else
|
||||
// suggestSupplyPrice += "¥";
|
||||
//}
|
||||
var reviewExtCode = priceInfo.skcList.FirstOrDefault()?.extCode;
|
||||
Thread.Sleep(Randomx.GetId(20, 50));
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowId = this.dgvPriceCheck.Rows.Add(
|
||||
false,
|
||||
totalProdIndex,
|
||||
reviewInfo.priceOrderId,
|
||||
priceInfo.supplierId,
|
||||
priceInfo.supplierName,
|
||||
imgUrl,
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
priceInfo.productId,
|
||||
priceInfo.skcList.FirstOrDefault()?.skcId,
|
||||
priceInfo.productName,
|
||||
skuName,
|
||||
reviewExtCode,
|
||||
"-", //货号价格,jit不需要
|
||||
// sku不同价的会被分成多个review,priceInfo此时为价格范围
|
||||
reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice, //priceInfo.supplierPrice
|
||||
BaseClass.StampToDateTime((priceInfo.skcList.FirstOrDefault()?.statusTime.createdTime.ParseToLong() / 1000).ParseToInt()).ToString("yy/MM/dd HH:mm:ss"),
|
||||
|
||||
""
|
||||
);
|
||||
dgvPriceCheck.Rows[rowId].Height = 60;
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowError("查询商品失败 " + ex.Message);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Invoke(new Action(() => {
|
||||
this.pbLoading.Visible = false;
|
||||
string sRst = type + " 查询结束!";
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
sRst = type + " 已取消查询!";
|
||||
BaseMsgForm.ShowInfo(sRst);
|
||||
this.statusBar.lblTaskStatus.Text = sRst;
|
||||
}));
|
||||
}, cancellationTokenSource.Token);
|
||||
}
|
||||
|
||||
|
||||
private string SearchForChainSupplier(ShopLoginInfo shop, int page, int pageSize = 100, string prodSkcIds = null, string skcExtCode = null,
|
||||
string type = "待创建首单", long startTime = 0, long endTime = 0)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/robin/searchForChainSupplier";
|
||||
string body = "";
|
||||
body = "{\"pageSize\":" + pageSize + ",\"pageNum\":" + page + ",";
|
||||
if (!string.IsNullOrEmpty(skcExtCode))
|
||||
body += "\"skcExtCodeKeyword\":\"" + skcExtCode + "\",";
|
||||
if (startTime != 0 && endTime != 0) // 查询创建时间
|
||||
body += "\"timeType\":1,\"timeBegin\":" + startTime + ",\"timeEnd\":" + endTime + ",";
|
||||
if (type == "待卖家确认")
|
||||
body += "\"priceReviewStatusList\":[1],\"secondarySelectStatusList\":[7],";
|
||||
else if (type == "待创建首单")
|
||||
body += "\"secondarySelectStatusList\":[10],";
|
||||
body += "\"supplierTodoTypeList\":[],";
|
||||
if (!string.IsNullOrEmpty(prodSkcIds))
|
||||
body += "\"productSkcIdList\":[" + prodSkcIds + "],";
|
||||
body = body.TrimEnd(',');
|
||||
body += "}";
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
}
|
||||
|
||||
public class SetJitConfig
|
||||
{
|
||||
public string SearchShopId { get; set; } = "";
|
||||
public string SearchShopName { get; set; } = "";
|
||||
public string SearchNotes { get; set; } = "";
|
||||
public bool SearchAllShop { get; set; } = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,186 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUser.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLoginName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCanUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMessage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProdIndex.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colOrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProductSkcPic.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProductId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProdName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSkuName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colPrcie.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCreatTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -30,6 +30,8 @@
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductEditNotesForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btnAuto = new DevComponents.DotNetBar.PanelEx();
|
||||
this.pnlRestore = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSkuAi = new TemuKJD.UserControls.ButtonEx();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.txtFissionWords = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
@@ -56,6 +58,8 @@
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.btnAuto);
|
||||
this.panel2.Controls.Add(this.pnlRestore);
|
||||
this.panel2.Controls.Add(this.btnSkuAi);
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.txtFissionWords);
|
||||
@@ -81,6 +85,55 @@
|
||||
this.panel2.Size = new System.Drawing.Size(464, 686);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// btnAuto
|
||||
//
|
||||
this.btnAuto.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnAuto.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnAuto.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAuto.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnAuto.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnAuto.Location = new System.Drawing.Point(348, 353);
|
||||
this.btnAuto.Name = "btnAuto";
|
||||
this.btnAuto.Size = new System.Drawing.Size(35, 23);
|
||||
this.btnAuto.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAuto.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAuto.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAuto.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnAuto.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnAuto.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnAuto.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnAuto.Style.GradientAngle = 90;
|
||||
this.btnAuto.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAuto.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAuto.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAuto.TabIndex = 439;
|
||||
this.btnAuto.Text = "自动";
|
||||
this.btnAuto.Click += new System.EventHandler(this.btnAuto_Click);
|
||||
//
|
||||
// pnlRestore
|
||||
//
|
||||
this.pnlRestore.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlRestore.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlRestore.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlRestore.Location = new System.Drawing.Point(388, 353);
|
||||
this.pnlRestore.Name = "pnlRestore";
|
||||
this.pnlRestore.Size = new System.Drawing.Size(39, 23);
|
||||
this.pnlRestore.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlRestore.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlRestore.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlRestore.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pnlRestore.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlRestore.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pnlRestore.Style.GradientAngle = 90;
|
||||
this.pnlRestore.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlRestore.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlRestore.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlRestore.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlRestore.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pnlRestore.TabIndex = 435;
|
||||
this.pnlRestore.Text = "还原";
|
||||
this.pnlRestore.Click += new System.EventHandler(this.pnlRestore_Click);
|
||||
//
|
||||
// btnSkuAi
|
||||
//
|
||||
this.btnSkuAi.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -135,25 +188,25 @@
|
||||
//
|
||||
this.txtEndWords.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtEndWords.Location = new System.Drawing.Point(291, 353);
|
||||
this.txtEndWords.Location = new System.Drawing.Point(232, 353);
|
||||
this.txtEndWords.Name = "txtEndWords";
|
||||
this.txtEndWords.Size = new System.Drawing.Size(136, 23);
|
||||
this.txtEndWords.Size = new System.Drawing.Size(111, 23);
|
||||
this.txtEndWords.TabIndex = 401;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(233, 356);
|
||||
this.label6.Location = new System.Drawing.Point(201, 356);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(56, 17);
|
||||
this.label6.Size = new System.Drawing.Size(32, 17);
|
||||
this.label6.TabIndex = 400;
|
||||
this.label6.Text = "标题后缀";
|
||||
this.label6.Text = "后缀";
|
||||
//
|
||||
// txtHeadWords
|
||||
//
|
||||
this.txtHeadWords.Location = new System.Drawing.Point(90, 353);
|
||||
this.txtHeadWords.Name = "txtHeadWords";
|
||||
this.txtHeadWords.Size = new System.Drawing.Size(136, 23);
|
||||
this.txtHeadWords.Size = new System.Drawing.Size(111, 23);
|
||||
this.txtHeadWords.TabIndex = 399;
|
||||
//
|
||||
// label5
|
||||
@@ -338,5 +391,7 @@
|
||||
private System.Windows.Forms.TextBox txtHeadWords;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private UserControls.ButtonEx btnSkuAi;
|
||||
private DevComponents.DotNetBar.PanelEx pnlRestore;
|
||||
private DevComponents.DotNetBar.PanelEx btnAuto;
|
||||
}
|
||||
}
|
||||
@@ -38,8 +38,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.txtNotes.Text = dbProd.notes;
|
||||
this.txtExtCode.Text = dbProd.ext_code;
|
||||
this.txtFissionWords.Text = dbProd.fission_words;
|
||||
this.txtHeadWords.Text = string.IsNullOrWhiteSpace(dbProd.head_words) ? "5-99个" : dbProd.head_words;
|
||||
this.txtEndWords.Text = string.IsNullOrWhiteSpace(dbProd.end_words) ? "适合不同的搭配风格" : dbProd.end_words;
|
||||
//this.txtHeadWords.Text = string.IsNullOrWhiteSpace(dbProd.head_words) ? "5-99个" : dbProd.head_words;
|
||||
//this.txtEndWords.Text = string.IsNullOrWhiteSpace(dbProd.end_words) ? "适合不同的搭配风格" : dbProd.end_words;
|
||||
this.txtHeadWords.Text = dbProd.head_words;
|
||||
this.txtEndWords.Text = dbProd.end_words;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,5 +82,17 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
DouBaoImgCefForm doubaoForm = new DouBaoImgCefForm(dbProd);
|
||||
doubaoForm.ShowDialog();
|
||||
}
|
||||
|
||||
private void btnAuto_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.txtHeadWords.Text = "5-99个";
|
||||
this.txtEndWords.Text = "适合不同的搭配风格";
|
||||
}
|
||||
|
||||
private void pnlRestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.txtHeadWords.Text = dbProd.head_words;
|
||||
this.txtEndWords.Text = dbProd.end_words;
|
||||
}
|
||||
}
|
||||
}
|
||||
+361
-41
@@ -36,8 +36,11 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
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();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductListForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.btnImportHtml = new DevComponents.DotNetBar.PanelEx();
|
||||
this.cmbSort = new System.Windows.Forms.ComboBox();
|
||||
this.btnSelect = new TemuKJD.UserControls.ButtonEx();
|
||||
this.txtNotes = new System.Windows.Forms.TextBox();
|
||||
@@ -57,6 +60,23 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.lblProdName = new System.Windows.Forms.Label();
|
||||
this.numCount = new System.Windows.Forms.NumericUpDown();
|
||||
this.dgvSelectShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSubUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.btnCancel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnAddToSelectDb = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnGetShop = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtShopName = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.txtShopId = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
@@ -71,11 +91,13 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.col_ext_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddTimes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSelectTotalCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colProdGetType = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colHeadWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEndWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colFissionWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSelectProd = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_edit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
@@ -88,6 +110,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numCount)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -102,6 +127,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnImportHtml);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.cmbSort);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnSelect);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtNotes);
|
||||
@@ -127,13 +153,37 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.splitContainer1.SplitterDistance = 53;
|
||||
this.splitContainer1.TabIndex = 1;
|
||||
//
|
||||
// btnImportHtml
|
||||
//
|
||||
this.btnImportHtml.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnImportHtml.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnImportHtml.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnImportHtml.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnImportHtml.Location = new System.Drawing.Point(1046, 14);
|
||||
this.btnImportHtml.Name = "btnImportHtml";
|
||||
this.btnImportHtml.Size = new System.Drawing.Size(91, 26);
|
||||
this.btnImportHtml.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnImportHtml.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnImportHtml.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnImportHtml.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnImportHtml.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnImportHtml.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnImportHtml.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnImportHtml.Style.GradientAngle = 90;
|
||||
this.btnImportHtml.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnImportHtml.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnImportHtml.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnImportHtml.TabIndex = 491;
|
||||
this.btnImportHtml.Text = "导入html商品";
|
||||
this.btnImportHtml.Click += new System.EventHandler(this.btnImportHtml_Click);
|
||||
//
|
||||
// cmbSort
|
||||
//
|
||||
this.cmbSort.FormattingEnabled = true;
|
||||
this.cmbSort.Items.AddRange(new object[] {
|
||||
"入库时间",
|
||||
"认领总数"});
|
||||
this.cmbSort.Location = new System.Drawing.Point(1001, 15);
|
||||
this.cmbSort.Location = new System.Drawing.Point(929, 15);
|
||||
this.cmbSort.Name = "cmbSort";
|
||||
this.cmbSort.Size = new System.Drawing.Size(79, 25);
|
||||
this.cmbSort.TabIndex = 448;
|
||||
@@ -159,15 +209,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
this.txtNotes.Location = new System.Drawing.Point(683, 16);
|
||||
this.txtNotes.Location = new System.Drawing.Point(653, 16);
|
||||
this.txtNotes.Name = "txtNotes";
|
||||
this.txtNotes.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtNotes.Size = new System.Drawing.Size(85, 23);
|
||||
this.txtNotes.TabIndex = 439;
|
||||
//
|
||||
// lblNotes
|
||||
//
|
||||
this.lblNotes.AutoSize = true;
|
||||
this.lblNotes.Location = new System.Drawing.Point(649, 19);
|
||||
this.lblNotes.Location = new System.Drawing.Point(619, 19);
|
||||
this.lblNotes.Name = "lblNotes";
|
||||
this.lblNotes.Size = new System.Drawing.Size(44, 17);
|
||||
this.lblNotes.TabIndex = 440;
|
||||
@@ -177,7 +227,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
this.txtSPU.Location = new System.Drawing.Point(44, 16);
|
||||
this.txtSPU.Name = "txtSPU";
|
||||
this.txtSPU.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtSPU.Size = new System.Drawing.Size(85, 23);
|
||||
this.txtSPU.TabIndex = 434;
|
||||
//
|
||||
// label5
|
||||
@@ -191,15 +241,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// txtSKC
|
||||
//
|
||||
this.txtSKC.Location = new System.Drawing.Point(171, 16);
|
||||
this.txtSKC.Location = new System.Drawing.Point(165, 16);
|
||||
this.txtSKC.Name = "txtSKC";
|
||||
this.txtSKC.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtSKC.Size = new System.Drawing.Size(85, 23);
|
||||
this.txtSKC.TabIndex = 432;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(138, 19);
|
||||
this.label1.Location = new System.Drawing.Point(132, 19);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(43, 17);
|
||||
this.label1.TabIndex = 433;
|
||||
@@ -210,7 +260,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(843, 14);
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(805, 14);
|
||||
this.pnlEmpty.Name = "pnlEmpty";
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(56, 26);
|
||||
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -236,7 +286,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearch.ForeColor = System.Drawing.Color.White;
|
||||
this.btnSearch.Location = new System.Drawing.Point(782, 14);
|
||||
this.btnSearch.Location = new System.Drawing.Point(744, 14);
|
||||
this.btnSearch.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(56, 26);
|
||||
@@ -247,15 +297,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// txtExtCode
|
||||
//
|
||||
this.txtExtCode.Location = new System.Drawing.Point(555, 16);
|
||||
this.txtExtCode.Location = new System.Drawing.Point(531, 16);
|
||||
this.txtExtCode.Name = "txtExtCode";
|
||||
this.txtExtCode.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtExtCode.Size = new System.Drawing.Size(85, 23);
|
||||
this.txtExtCode.TabIndex = 429;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(521, 19);
|
||||
this.label4.Location = new System.Drawing.Point(497, 19);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(44, 17);
|
||||
this.label4.TabIndex = 430;
|
||||
@@ -263,15 +313,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// txtProdName
|
||||
//
|
||||
this.txtProdName.Location = new System.Drawing.Point(427, 16);
|
||||
this.txtProdName.Location = new System.Drawing.Point(409, 16);
|
||||
this.txtProdName.Name = "txtProdName";
|
||||
this.txtProdName.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtProdName.Size = new System.Drawing.Size(85, 23);
|
||||
this.txtProdName.TabIndex = 427;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(393, 19);
|
||||
this.label3.Location = new System.Drawing.Point(375, 19);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(44, 17);
|
||||
this.label3.TabIndex = 428;
|
||||
@@ -279,15 +329,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// txtCat
|
||||
//
|
||||
this.txtCat.Location = new System.Drawing.Point(299, 16);
|
||||
this.txtCat.Location = new System.Drawing.Point(287, 16);
|
||||
this.txtCat.Name = "txtCat";
|
||||
this.txtCat.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtCat.Size = new System.Drawing.Size(85, 23);
|
||||
this.txtCat.TabIndex = 425;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(265, 19);
|
||||
this.label2.Location = new System.Drawing.Point(253, 19);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(44, 17);
|
||||
this.label2.TabIndex = 426;
|
||||
@@ -296,7 +346,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(944, 19);
|
||||
this.label6.Location = new System.Drawing.Point(872, 19);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(68, 17);
|
||||
this.label6.TabIndex = 449;
|
||||
@@ -313,6 +363,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.panel2);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvDbProduct);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
@@ -335,15 +386,59 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.pbLoading.TabIndex = 7;
|
||||
this.pbLoading.TabStop = false;
|
||||
//
|
||||
// dgvDbProduct
|
||||
// panel2
|
||||
//
|
||||
this.dgvDbProduct.AllowUserToAddRows = false;
|
||||
this.dgvDbProduct.AllowUserToDeleteRows = false;
|
||||
this.panel2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.Controls.Add(this.lblProdName);
|
||||
this.panel2.Controls.Add(this.numCount);
|
||||
this.panel2.Controls.Add(this.dgvSelectShop);
|
||||
this.panel2.Controls.Add(this.btnCancel);
|
||||
this.panel2.Controls.Add(this.btnAddToSelectDb);
|
||||
this.panel2.Controls.Add(this.btnGetShop);
|
||||
this.panel2.Controls.Add(this.txtShopName);
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.txtShopId);
|
||||
this.panel2.Controls.Add(this.label8);
|
||||
this.panel2.Location = new System.Drawing.Point(406, 54);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(467, 246);
|
||||
this.panel2.TabIndex = 8;
|
||||
this.panel2.Visible = false;
|
||||
//
|
||||
// lblProdName
|
||||
//
|
||||
this.lblProdName.Location = new System.Drawing.Point(363, 46);
|
||||
this.lblProdName.Name = "lblProdName";
|
||||
this.lblProdName.Size = new System.Drawing.Size(90, 123);
|
||||
this.lblProdName.TabIndex = 515;
|
||||
this.lblProdName.Text = "商品名称";
|
||||
//
|
||||
// numCount
|
||||
//
|
||||
this.numCount.Location = new System.Drawing.Point(363, 175);
|
||||
this.numCount.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numCount.Name = "numCount";
|
||||
this.numCount.Size = new System.Drawing.Size(91, 23);
|
||||
this.numCount.TabIndex = 505;
|
||||
this.numCount.Value = new decimal(new int[] {
|
||||
100,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// dgvSelectShop
|
||||
//
|
||||
this.dgvSelectShop.AllowUserToAddRows = false;
|
||||
this.dgvSelectShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.dgvSelectShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvSelectShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
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)));
|
||||
@@ -351,7 +446,190 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvDbProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvSelectShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvSelectShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
this.colUserName,
|
||||
this.colSubUserName,
|
||||
this.colShopId,
|
||||
this.colShopName,
|
||||
this.colShopNotes});
|
||||
this.dgvSelectShop.Location = new System.Drawing.Point(19, 46);
|
||||
this.dgvSelectShop.Name = "dgvSelectShop";
|
||||
this.dgvSelectShop.ReadOnly = true;
|
||||
this.dgvSelectShop.RowHeadersWidth = 28;
|
||||
this.dgvSelectShop.RowTemplate.Height = 23;
|
||||
this.dgvSelectShop.Size = new System.Drawing.Size(338, 184);
|
||||
this.dgvSelectShop.TabIndex = 504;
|
||||
this.dgvSelectShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectShop_CellContentClick);
|
||||
//
|
||||
// colCheck
|
||||
//
|
||||
this.colCheck.HeaderText = "选择";
|
||||
this.colCheck.MinimumWidth = 6;
|
||||
this.colCheck.Name = "colCheck";
|
||||
this.colCheck.ReadOnly = true;
|
||||
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCheck.Width = 30;
|
||||
//
|
||||
// colUserName
|
||||
//
|
||||
this.colUserName.HeaderText = "用户名称";
|
||||
this.colUserName.MinimumWidth = 6;
|
||||
this.colUserName.Name = "colUserName";
|
||||
this.colUserName.ReadOnly = true;
|
||||
this.colUserName.Visible = false;
|
||||
this.colUserName.Width = 125;
|
||||
//
|
||||
// colSubUserName
|
||||
//
|
||||
this.colSubUserName.HeaderText = "子账户名称";
|
||||
this.colSubUserName.Name = "colSubUserName";
|
||||
this.colSubUserName.ReadOnly = true;
|
||||
this.colSubUserName.Visible = false;
|
||||
this.colSubUserName.Width = 150;
|
||||
//
|
||||
// colShopId
|
||||
//
|
||||
this.colShopId.HeaderText = "店铺Id";
|
||||
this.colShopId.Name = "colShopId";
|
||||
this.colShopId.ReadOnly = true;
|
||||
//
|
||||
// colShopName
|
||||
//
|
||||
this.colShopName.HeaderText = "店铺名称";
|
||||
this.colShopName.Name = "colShopName";
|
||||
this.colShopName.ReadOnly = true;
|
||||
//
|
||||
// colShopNotes
|
||||
//
|
||||
this.colShopNotes.HeaderText = "店铺备注";
|
||||
this.colShopNotes.Name = "colShopNotes";
|
||||
this.colShopNotes.ReadOnly = true;
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnCancel.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnCancel.Location = new System.Drawing.Point(411, 204);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(42, 26);
|
||||
this.btnCancel.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnCancel.Style.GradientAngle = 90;
|
||||
this.btnCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnCancel.TabIndex = 503;
|
||||
this.btnCancel.Text = "关闭";
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// btnAddToSelectDb
|
||||
//
|
||||
this.btnAddToSelectDb.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnAddToSelectDb.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAddToSelectDb.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnAddToSelectDb.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnAddToSelectDb.Location = new System.Drawing.Point(363, 204);
|
||||
this.btnAddToSelectDb.Name = "btnAddToSelectDb";
|
||||
this.btnAddToSelectDb.Size = new System.Drawing.Size(42, 26);
|
||||
this.btnAddToSelectDb.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddToSelectDb.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToSelectDb.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToSelectDb.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnAddToSelectDb.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnAddToSelectDb.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnAddToSelectDb.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnAddToSelectDb.Style.GradientAngle = 90;
|
||||
this.btnAddToSelectDb.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddToSelectDb.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToSelectDb.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddToSelectDb.TabIndex = 499;
|
||||
this.btnAddToSelectDb.Text = "直传";
|
||||
this.btnAddToSelectDb.Click += new System.EventHandler(this.btnAddToSelectDb_Click);
|
||||
//
|
||||
// btnGetShop
|
||||
//
|
||||
this.btnGetShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnGetShop.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnGetShop.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnGetShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnGetShop.Location = new System.Drawing.Point(411, 11);
|
||||
this.btnGetShop.Name = "btnGetShop";
|
||||
this.btnGetShop.Size = new System.Drawing.Size(42, 26);
|
||||
this.btnGetShop.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnGetShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnGetShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnGetShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnGetShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnGetShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnGetShop.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnGetShop.Style.GradientAngle = 90;
|
||||
this.btnGetShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnGetShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnGetShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnGetShop.TabIndex = 495;
|
||||
this.btnGetShop.Text = "查找";
|
||||
this.btnGetShop.Click += new System.EventHandler(this.btnGetShop_Click);
|
||||
//
|
||||
// txtShopName
|
||||
//
|
||||
this.txtShopName.Location = new System.Drawing.Point(263, 13);
|
||||
this.txtShopName.Name = "txtShopName";
|
||||
this.txtShopName.Size = new System.Drawing.Size(142, 23);
|
||||
this.txtShopName.TabIndex = 433;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(206, 16);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(68, 17);
|
||||
this.label7.TabIndex = 434;
|
||||
this.label7.Text = "店铺名称:";
|
||||
//
|
||||
// txtShopId
|
||||
//
|
||||
this.txtShopId.Location = new System.Drawing.Point(61, 13);
|
||||
this.txtShopId.Name = "txtShopId";
|
||||
this.txtShopId.Size = new System.Drawing.Size(142, 23);
|
||||
this.txtShopId.TabIndex = 431;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(16, 16);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(56, 17);
|
||||
this.label8.TabIndex = 432;
|
||||
this.label8.Text = "店铺Id:";
|
||||
//
|
||||
// dgvDbProduct
|
||||
//
|
||||
this.dgvDbProduct.AllowUserToAddRows = false;
|
||||
this.dgvDbProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
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.dgvDbProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.dgvDbProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvDbProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -365,11 +643,13 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.col_ext_code,
|
||||
this.colAddTimes,
|
||||
this.colSelectTotalCount,
|
||||
this.colProdGetType,
|
||||
this.col_notes,
|
||||
this.colHeadWords,
|
||||
this.colEndWords,
|
||||
this.colFissionWords,
|
||||
this.colAddTime,
|
||||
this.colSelectProd,
|
||||
this.col_edit,
|
||||
this.col_delete,
|
||||
this.col_select_product});
|
||||
@@ -426,9 +706,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// col_product_name
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_product_name.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.col_product_name.FillWeight = 180F;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_product_name.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.col_product_name.FillWeight = 160F;
|
||||
this.col_product_name.HeaderText = "标题";
|
||||
this.col_product_name.Name = "col_product_name";
|
||||
this.col_product_name.ReadOnly = true;
|
||||
@@ -490,18 +770,25 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.colSelectTotalCount.Name = "colSelectTotalCount";
|
||||
this.colSelectTotalCount.ReadOnly = true;
|
||||
//
|
||||
// colProdGetType
|
||||
//
|
||||
this.colProdGetType.FillWeight = 60F;
|
||||
this.colProdGetType.HeaderText = "采集来源";
|
||||
this.colProdGetType.Name = "colProdGetType";
|
||||
this.colProdGetType.ReadOnly = true;
|
||||
//
|
||||
// col_notes
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_notes.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_notes.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.col_notes.HeaderText = "备注";
|
||||
this.col_notes.Name = "col_notes";
|
||||
this.col_notes.ReadOnly = true;
|
||||
//
|
||||
// colHeadWords
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colHeadWords.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colHeadWords.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colHeadWords.HeaderText = "标题前缀";
|
||||
this.colHeadWords.Name = "colHeadWords";
|
||||
this.colHeadWords.ReadOnly = true;
|
||||
@@ -509,8 +796,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// colEndWords
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colEndWords.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colEndWords.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.colEndWords.HeaderText = "标题后缀";
|
||||
this.colEndWords.Name = "colEndWords";
|
||||
this.colEndWords.ReadOnly = true;
|
||||
@@ -518,8 +805,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// colFissionWords
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colFissionWords.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colFissionWords.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.colFissionWords.HeaderText = "裂变词";
|
||||
this.colFissionWords.Name = "colFissionWords";
|
||||
this.colFissionWords.ReadOnly = true;
|
||||
@@ -531,6 +818,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
//
|
||||
// colSelectProd
|
||||
//
|
||||
this.colSelectProd.FillWeight = 60F;
|
||||
this.colSelectProd.HeaderText = "商品直传";
|
||||
this.colSelectProd.Name = "colSelectProd";
|
||||
this.colSelectProd.ReadOnly = true;
|
||||
this.colSelectProd.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelectProd.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// col_edit
|
||||
//
|
||||
this.col_edit.FillWeight = 60F;
|
||||
@@ -542,14 +838,14 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// col_delete
|
||||
//
|
||||
this.col_delete.FillWeight = 40F;
|
||||
this.col_delete.FillWeight = 38F;
|
||||
this.col_delete.HeaderText = "删除";
|
||||
this.col_delete.Name = "col_delete";
|
||||
this.col_delete.ReadOnly = true;
|
||||
//
|
||||
// col_select_product
|
||||
//
|
||||
this.col_select_product.FillWeight = 40F;
|
||||
this.col_select_product.FillWeight = 38F;
|
||||
this.col_select_product.HeaderText = "认领";
|
||||
this.col_select_product.Name = "col_select_product";
|
||||
this.col_select_product.ReadOnly = true;
|
||||
@@ -579,6 +875,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numCount)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
@@ -609,6 +909,24 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
private UserControls.ButtonEx btnSelect;
|
||||
private System.Windows.Forms.ComboBox cmbSort;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private DevComponents.DotNetBar.PanelEx btnImportHtml;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.TextBox txtShopName;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox txtShopId;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private DevComponents.DotNetBar.PanelEx btnGetShop;
|
||||
private DevComponents.DotNetBar.PanelEx btnCancel;
|
||||
private DevComponents.DotNetBar.PanelEx btnAddToSelectDb;
|
||||
private UserComponent.DataGridViewEx dgvSelectShop;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubUserName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
|
||||
private System.Windows.Forms.NumericUpDown numCount;
|
||||
private System.Windows.Forms.Label lblProdName;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_product_name;
|
||||
@@ -620,11 +938,13 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_ext_code;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTimes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectTotalCount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProdGetType;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_notes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colHeadWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colEndWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colFissionWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSelectProd;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_edit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_delete;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_select_product;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using AllBase.Model.Result.TemuResult;
|
||||
using NaiBa.Util.Extension;
|
||||
using NaiBa.Util.Winform.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -13,9 +13,11 @@ using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.KJDForms.ToolForms;
|
||||
using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
@@ -24,8 +26,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
public partial class DbProductListForm : LRBaseForm
|
||||
{
|
||||
ShopLoginInfo shop = null;
|
||||
|
||||
ShopLoginInfo shop = null; // 单店认领
|
||||
List<ShopLoginInfo> lstAdminShopInfo = new List<ShopLoginInfo>(); // 服务端直传店铺列表
|
||||
List<KJDDBProduct> lstTemuDbProduct = new List<KJDDBProduct>();
|
||||
|
||||
public DbProductListForm()
|
||||
@@ -48,9 +50,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.dgvDbProduct.Columns["colHeadWords"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colEndWords"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colFissionWords"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colSelectProd"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colProdGetType"].Visible = true;
|
||||
//this.dgvDbProduct.Columns["col_notes"].Visible = true;
|
||||
//this.lblNotes.Visible = true;
|
||||
//this.txtNotes.Visible = true;
|
||||
this.btnImportHtml.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -59,9 +64,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.dgvDbProduct.Columns["colHeadWords"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colEndWords"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colFissionWords"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colSelectProd"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colProdGetType"].Visible = false;
|
||||
//this.dgvDbProduct.Columns["col_notes"].Visible = false;
|
||||
//this.lblNotes.Visible = false;
|
||||
//this.txtNotes.Visible = false;
|
||||
this.btnImportHtml.Visible = false;
|
||||
}
|
||||
|
||||
btnSelect.Visible = false;
|
||||
@@ -76,6 +84,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
this.ucSplitPage1.PageChange += UcSplitPage1_PageChange;
|
||||
this.dgvDbProduct.AddSelectorColumn("colSelect");
|
||||
this.dgvDbProduct.AddImgColumn("colMainImg", "colImgUrl");
|
||||
}
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
@@ -110,14 +119,14 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
lstTemuDbProduct.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
if (defaultBitmap == null)
|
||||
defaultBitmap = new Bitmap(80, 80);
|
||||
// 获取Bitmap的Graphics对象
|
||||
using (Graphics g = Graphics.FromImage(defaultBitmap))
|
||||
{
|
||||
// 清除整个Bitmap为蓝色
|
||||
g.Clear(Color.White);
|
||||
}
|
||||
//if (defaultBitmap == null)
|
||||
// defaultBitmap = new Bitmap(80, 80);
|
||||
//// 获取Bitmap的Graphics对象
|
||||
//using (Graphics g = Graphics.FromImage(defaultBitmap))
|
||||
//{
|
||||
// // 清除整个Bitmap为白色
|
||||
// g.Clear(Color.White);
|
||||
//}
|
||||
foreach (var prod in lstTemuDbProduct)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
@@ -126,19 +135,21 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
false,
|
||||
prod.id,
|
||||
prod.product_name,
|
||||
prod?.main_img?.Replace("https", "http"),
|
||||
defaultBitmap, // prod.main_img,
|
||||
prod?.main_img?.Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com"),
|
||||
DataGridViewExtension.defaultBitmap, // prod.main_img,
|
||||
prod.spu_id,
|
||||
prod.skc_id,
|
||||
prod.cat_name,
|
||||
prod.ext_code,
|
||||
prod.select_count,
|
||||
prod.select_total_count,
|
||||
prod.product_get_type == 0 ? "母店采集" : "前端直采",
|
||||
prod.notes,
|
||||
prod.head_words,
|
||||
prod.end_words,
|
||||
prod.fission_words,
|
||||
prod.add_time,
|
||||
"商品直传",
|
||||
"编辑",
|
||||
"删除",
|
||||
"认领");
|
||||
@@ -149,68 +160,17 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ShowDgvImg();
|
||||
this.pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
Bitmap defaultBitmap = null;
|
||||
void ShowDgvImg()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
foreach (DataGridViewRow row in this.dgvDbProduct.Rows)
|
||||
{
|
||||
if (row.Index > 0 && row.Cells["colMainImg"].Displayed == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMainImg"].Value = defaultBitmap;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (row.Cells["colMainImg"].Value != null && row.Cells["colMainImg"].Value != defaultBitmap)
|
||||
continue;
|
||||
|
||||
Image image = null;
|
||||
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
|
||||
string getImgError = "";
|
||||
if (!string.IsNullOrWhiteSpace(imgUrl))
|
||||
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
|
||||
if (!string.IsNullOrEmpty(getImgError))
|
||||
//BaseMsgForm.ShowError("图片加载失败 " + getImgError);
|
||||
image = TemuKJD.Properties.Resources.errpic;
|
||||
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMainImg"].Value = image;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public List<KJDDBProduct> GetProductList(out int pageCount, int page = 1, int pageSize = 200)
|
||||
{
|
||||
List<KJDDBProduct> list = new List<KJDDBProduct>();
|
||||
pageCount = 1;
|
||||
|
||||
var url = BaseClass.BuildObjString("product/get_product_list");
|
||||
if(shop!=null && shop.DbId.ParseToInt()!=0 )
|
||||
url = BaseClass.BuildObjString("product/get_product_list");
|
||||
var data = "";
|
||||
|
||||
Invoke(new Action(() =>
|
||||
@@ -229,6 +189,11 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
data += "&get_select_count=true";
|
||||
data += "&select_shop_id=" + shop.ShopId;
|
||||
}
|
||||
else if (BaseClass.SaLevel == 1) // 店铺非空管理状态允许查看后台采集和前端采集的所有商品
|
||||
{
|
||||
data += "&product_get_type=all";
|
||||
}
|
||||
|
||||
if (this.cmbSort.Text == "认领总数")
|
||||
{
|
||||
data += "&sort_field=select_total_count";
|
||||
@@ -323,7 +288,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
imgFrom.ShowDialog();
|
||||
break;
|
||||
case "认领":
|
||||
Task.Run(() => { SelectProduct(new KJDDBProduct[] { dbProduct }); });
|
||||
Task.Run(() => { SelectProduct(shop, new KJDDBProduct[] { dbProduct }); });
|
||||
break;
|
||||
case "商品直传":
|
||||
panel2.Visible = true;
|
||||
panel2.Tag = dbProduct;
|
||||
lblProdName.Text = dbProduct.product_name;
|
||||
break;
|
||||
case "":
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
@@ -333,9 +303,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectProduct(KJDDBProduct[] prods)
|
||||
/// <summary>
|
||||
/// 商品认领或者直传
|
||||
/// </summary>
|
||||
/// <param name="prods"></param>
|
||||
/// <param name="prodSelectCount">商品上传(直传)次数</param>
|
||||
/// <param name="isDbToDb">数据直传</param>
|
||||
private void SelectProduct(ShopLoginInfo selectShop, KJDDBProduct[] prods, int prodSelectCount = 1, bool isDbToDb = false)
|
||||
{
|
||||
if (shop == null)
|
||||
if (selectShop == null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺不能为空!");
|
||||
return;
|
||||
@@ -350,7 +326,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在认领...";
|
||||
this.statusBar.pgbTaskProgress.Maximum = prods.Length;
|
||||
this.statusBar.pgbTaskProgress.Maximum = prods.Length * prodSelectCount;
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
}));
|
||||
|
||||
@@ -358,19 +334,22 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
foreach (var prod in prods)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
|
||||
}));
|
||||
|
||||
if (prod == null)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + prodSelectCount);
|
||||
}));
|
||||
errorMsg += "prod null; ";
|
||||
continue;
|
||||
}
|
||||
|
||||
if (shop.AddProductRemaining <=0)
|
||||
if (selectShop.AddProductRemaining <= 0 && !isDbToDb) // 管理员发起的数据直传不消耗次数
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + prodSelectCount);
|
||||
}));
|
||||
if (!errorMsg.Contains("本月商品认领限额已用完"))
|
||||
errorMsg += " 本月商品认领限额已用完,请下个月再操作!";
|
||||
continue;
|
||||
@@ -378,41 +357,52 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
try
|
||||
{
|
||||
var fissionProductName = GetFissionProductName(prod);
|
||||
|
||||
var url = BaseClass.BuildObjString("product/add_user_select_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&out_product_id=" + prod.id +
|
||||
"&shop_id=" + shop.ShopId +
|
||||
"&shop_account=" + shop.ShopAccount +
|
||||
"&main_user_name=" + shop.UserName +
|
||||
"&sub_user_name=" + shop.SubUserName +
|
||||
"&add_product_remaining=" + shop.AddProductRemaining +
|
||||
"&add_fission_product_name=" + GetHtml.UrlEncodeUtf8(fissionProductName) +
|
||||
"&status=待上传";
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
for (int i = 0; i < prodSelectCount; i++)
|
||||
{
|
||||
errorMsg += prod.spu_id + " " + BaseRegex.GetStringJson(ref html, "msg") + "; ";
|
||||
}
|
||||
else
|
||||
{
|
||||
prod.select_count++;
|
||||
prod.select_total_count++;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var row = this.dgvDbProduct.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["col_db_id"].Value.ParseToInt() == prod.id);
|
||||
if (row != null)
|
||||
{
|
||||
row.Cells["colAddTimes"].Value = prod.select_count;
|
||||
row.Cells["colSelectTotalCount"].Value = prod.select_total_count;
|
||||
}
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
|
||||
}));
|
||||
shop.AddProductRemaining = shop.AddProductRemaining - 1;
|
||||
|
||||
var fissionProductName = GetFissionProductName(prod);
|
||||
|
||||
var url = BaseClass.BuildObjString("product/add_user_select_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&out_product_id=" + prod.id +
|
||||
"&shop_id=" + selectShop.ShopId +
|
||||
"&shop_account=" + selectShop.ShopAccount +
|
||||
"&main_user_name=" + selectShop.UserName +
|
||||
"&sub_user_name=" + selectShop.SubUserName;
|
||||
if (!isDbToDb) // 管理员发起的数据直传不消耗次数,不计算认领次数
|
||||
data += "&add_product_remaining=" + selectShop.AddProductRemaining;
|
||||
data += "&add_fission_product_name=" + GetHtml.UrlEncodeUtf8(fissionProductName) +
|
||||
"&status=待上传";
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
errorMsg += prod.spu_id + " " + BaseRegex.GetStringJson(ref html, "msg") + "; ";
|
||||
}
|
||||
else
|
||||
{
|
||||
prod.select_count++;
|
||||
prod.select_total_count++;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var row = this.dgvDbProduct.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["col_db_id"].Value.ParseToInt() == prod.id);
|
||||
if (row != null)
|
||||
{
|
||||
row.Cells["colAddTimes"].Value = prod.select_count;
|
||||
row.Cells["colSelectTotalCount"].Value = prod.select_total_count;
|
||||
}
|
||||
}));
|
||||
if (!isDbToDb) // 管理员发起的数据直传不消耗次数,不计算认领次数
|
||||
selectShop.AddProductRemaining = selectShop.AddProductRemaining - 1;
|
||||
}
|
||||
Thread.Sleep(50);
|
||||
}
|
||||
}
|
||||
catch (Exception ex) {
|
||||
@@ -520,7 +510,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
this.btnSelect.Enabled = false;
|
||||
Task.Run(() => {
|
||||
SelectProduct(prodList);
|
||||
SelectProduct(shop, prodList);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.btnSelect.Enabled = true;
|
||||
@@ -535,7 +525,574 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
private void dgvDbProduct_Scroll(object sender, ScrollEventArgs e)
|
||||
{
|
||||
ShowDgvImg();
|
||||
}
|
||||
|
||||
private void btnImportHtml_Click(object sender, EventArgs e)
|
||||
{
|
||||
var result = ImportHtmlProd();
|
||||
if (result)
|
||||
SearchDbProd(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
|
||||
bool ImportHtmlProd()
|
||||
{
|
||||
bool rst = true;
|
||||
bool IsOperate = true;
|
||||
this.btnImportHtml.Enabled = false;
|
||||
//string text = "请导入保存为html的temu商品文件";
|
||||
//BaseMsgForm.ShowInfo(text, "", FormLevel.LARGE);
|
||||
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
openFileDialog.Filter = "html文件(*.html)|*.html";
|
||||
openFileDialog.RestoreDirectory = true;
|
||||
openFileDialog.FilterIndex = 1;
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(openFileDialog.FileName, System.Text.Encoding.UTF8))
|
||||
{
|
||||
string fileName = openFileDialog.FileName;
|
||||
string importStr = sr.ReadToEnd().Trim();;
|
||||
try
|
||||
{
|
||||
// 通用格式
|
||||
if (importStr.Contains("window.__CHUNK_DATA__={};window.rawData=") &&
|
||||
importStr.Contains(";document.dispatchEvent(new Event('XRenderInitialPropsLoaded'));"))
|
||||
{
|
||||
var jsonStr = importStr.Substring(importStr.IndexOf("window.__CHUNK_DATA__={};window.rawData=") + "window.__CHUNK_DATA__={};window.rawData=".Length);
|
||||
jsonStr = jsonStr.Substring(0, jsonStr.IndexOf(";document.dispatchEvent(new Event('XRenderInitialPropsLoaded'));"));
|
||||
var jObj = JObject.Parse(jsonStr);
|
||||
var storeStr = JsonHelper.SerializeObject(jObj["store"]);
|
||||
var clientProductInfo = JsonHelper.DeserializeJsonToObject<TemuWebClientProductInfo>(storeStr);
|
||||
SaveClientProduct(clientProductInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowConfirm("未找到temu商品信息,请重新保存html后导入");
|
||||
rst = false;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowConfirm("导入temu商品信息错误:" + ex.Message);
|
||||
rst = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.btnImportHtml.Enabled = true;
|
||||
return rst;
|
||||
}
|
||||
|
||||
void SaveClientProduct(TemuWebClientProductInfo clientProdInfo)
|
||||
{
|
||||
TemuDetailProductInfo product = new TemuDetailProductInfo();
|
||||
product.canEditSizeTemplate = true;
|
||||
product.canEditSkuAccessories = true;
|
||||
product.carouselImageI18nVOList = new List<object>();
|
||||
product.carouselImageUrls = new List<string>();
|
||||
foreach (var item in clientProdInfo.goods.bannerList)
|
||||
{
|
||||
product.carouselImageUrls.Add(item.url);
|
||||
}
|
||||
product.carouseVideoVOList = new List<carouseVideoVo>(); // todo: 查看带视频的商品主图如何上传
|
||||
foreach (var item in clientProdInfo.goods.bannerList)
|
||||
{
|
||||
if (item.video != null)
|
||||
{
|
||||
string abc = "abcdefghijklmnoqprstuvwxyz123456789";
|
||||
string strVid = "";
|
||||
while(strVid.Length < 32)
|
||||
{
|
||||
strVid += abc[Randomx.GetId(abc.Length)];
|
||||
}
|
||||
product.carouseVideoVOList.Add(new carouseVideoVo()
|
||||
{
|
||||
coverUrl = item.video.url,
|
||||
videoType = 1,
|
||||
height = item.video.height,
|
||||
width = item.video.width,
|
||||
productId = null,
|
||||
supplierId = clientProdInfo.goods.mallId,
|
||||
coverUrlDisplay = null,
|
||||
//vid = "goods-video-tag#pokis7uhk62rriiu46b472pa1azpn5ds",
|
||||
//vid = "goods-video-tag#" + strVid,
|
||||
videoUrl = item.video.videoUrl,
|
||||
videoUrlDisplay = null,
|
||||
});
|
||||
}
|
||||
}
|
||||
product.categories = new TemuCategories();
|
||||
product.categories.cat1 = new TemuCat() { catId = clientProdInfo.goods.catId1.ParseToLong() };
|
||||
product.categories.cat2 = new TemuCat() { catId = clientProdInfo.goods.catId2.ParseToLong() };
|
||||
product.categories.cat3 = new TemuCat() { catId = clientProdInfo.goods.catId3.ParseToLong() };
|
||||
product.categories.cat4 = new TemuCat() { catId = clientProdInfo.goods.catId4.ParseToLong() };
|
||||
product.categories.cat5 = new TemuCat() { catId = clientProdInfo.goods.catId5.ParseToLong() };
|
||||
product.categories.cat6 = new TemuCat() { catId = clientProdInfo.goods.catId6.ParseToLong() };
|
||||
product.categories.cat7 = new TemuCat() { catId = clientProdInfo.goods.catId7.ParseToLong() };
|
||||
product.categories.cat8 = new TemuCat() { catId = clientProdInfo.goods.catId8.ParseToLong() };
|
||||
product.categories.cat9 = new TemuCat() { catId = clientProdInfo.goods.catId9.ParseToLong() };
|
||||
product.categories.cat10 = new TemuCat() { catId = clientProdInfo.goods.catId10.ParseToLong() };
|
||||
var catId = clientProdInfo.goods.catId.ParseToLong();
|
||||
if (product.categories.cat1.catId == 0 || product.categories.cat1.catId == catId)
|
||||
product.categories.cat1.catId = catId;
|
||||
else if (product.categories.cat2.catId == 0 || product.categories.cat2.catId == catId)
|
||||
product.categories.cat2.catId = catId;
|
||||
else if (product.categories.cat3.catId == 0 || product.categories.cat3.catId == catId)
|
||||
product.categories.cat3.catId = catId;
|
||||
else if (product.categories.cat4.catId == 0 || product.categories.cat4.catId == catId)
|
||||
product.categories.cat4.catId = catId;
|
||||
else if (product.categories.cat5.catId == 0 || product.categories.cat5.catId == catId)
|
||||
product.categories.cat5.catId = catId;
|
||||
else if (product.categories.cat6.catId == 0 || product.categories.cat6.catId == catId)
|
||||
product.categories.cat6.catId = catId;
|
||||
else if (product.categories.cat7.catId == 0 || product.categories.cat7.catId == catId)
|
||||
product.categories.cat7.catId = catId;
|
||||
else if (product.categories.cat8.catId == 0 || product.categories.cat8.catId == catId)
|
||||
product.categories.cat8.catId = catId;
|
||||
else if (product.categories.cat9.catId == 0 || product.categories.cat9.catId == catId)
|
||||
product.categories.cat9.catId = catId;
|
||||
else if (product.categories.cat10.catId == 0 || product.categories.cat10.catId == catId)
|
||||
product.categories.cat10.catId = catId;
|
||||
product.detailVideoVOList = new List<object>();
|
||||
product.editTaskSupportI18nLanguages = null;
|
||||
product.goodsAdvantageLabelVOList = new List<object>();
|
||||
product.goodsI18nList = new List<object>();
|
||||
product.goodsId = clientProdInfo.goods.goodsId;
|
||||
product.goodsLayerDecorationCustomizeI18nVOList = new List<object>();
|
||||
product.goodsLayerDecorationVOList = new List<TemuGoodsLayerDecorationVO>(); // 详情图
|
||||
foreach (var floorItem in clientProdInfo.productDetail.floorList)
|
||||
{
|
||||
//if (floorItem.type != 1)
|
||||
// continue;
|
||||
|
||||
TemuGoodsLayerDecorationVO goodsLayerDecoration = new TemuGoodsLayerDecorationVO
|
||||
{
|
||||
floorId = null,
|
||||
lang = "zh",
|
||||
key = "DecImage",
|
||||
//type = item.type == 1 ? "image" : "",
|
||||
type = "image",
|
||||
priority = 0,
|
||||
contentList = new List<TemuContent>(),
|
||||
};
|
||||
foreach (var subItem in floorItem.items)
|
||||
{
|
||||
goodsLayerDecoration.contentList.Add(new TemuContent()
|
||||
{
|
||||
height = subItem.height,
|
||||
width = subItem.width,
|
||||
imgUrl = subItem.url,
|
||||
text = "",
|
||||
});
|
||||
}
|
||||
product.goodsLayerDecorationVOList.Add(goodsLayerDecoration);
|
||||
}
|
||||
//productDetailFlatList
|
||||
product.goodsModelList = null;
|
||||
product.guideFilePageImages = new List<object>();
|
||||
product.imageLanguageList = null;
|
||||
product.inProcessAddSizeSpecEditTask = null;
|
||||
product.inProcessEditTaskList = new List<object>();
|
||||
product.isImproveSalesInfo = true;
|
||||
product.mainParentSpecIds = new List<object>();
|
||||
product.materialImgUrl = clientProdInfo.goods.hdThumbUrl;
|
||||
if (string.IsNullOrEmpty(product.materialImgUrl))
|
||||
product.materialImgUrl = clientProdInfo.goods.thumbUrl;
|
||||
if (string.IsNullOrEmpty(product.materialImgUrl))
|
||||
product.materialImgUrl = product.carouselImageUrls.FirstOrDefault();
|
||||
product.outerPackageImages = new List<TemuOuterPackageImage>(); // 获取不到图片,填第一张主图又会报错,此处不填,到上货时上传第一张主图
|
||||
//product.outerPackageImages.Add(new TemuOuterPackageImage()
|
||||
//{
|
||||
// imageUrl = product.carouselImageUrls.FirstOrDefault(),
|
||||
// signedImageUrl = product.carouselImageUrls.FirstOrDefault(),
|
||||
//});
|
||||
product.productAuditDraftVO = null;
|
||||
product.productCategoryPredictList = null;
|
||||
product.productCreateTime = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now); // 此处获取不到上架时间,直接填写导入时间。
|
||||
product.productGuideFileI18nList = new List<object>();
|
||||
product.productGuideFileNewVOList = new List<object>();
|
||||
product.productGuideFileRejectVO = null;
|
||||
product.productI18nList = new List<object>();
|
||||
product.productId = clientProdInfo.goods.goodsId; // 此处获取不到productId,直接填前台goodsId
|
||||
product.productImageProcessExtVOList = new List<TemuProductImageProcessExtVO>(); // 这个数据好像没用,暂时不填
|
||||
product.productLocalExtAttr = new TemuProductLocalExtAttr() { materialMultiLanguages = new List<object>() };
|
||||
product.productName = clientProdInfo.goods.goodsName;
|
||||
product.productNonAuditExtAttr = new TemuProductNonAuditExtAttr()
|
||||
{
|
||||
california65WarningInfoVO = new TemuCalifornia65WarningInfoVO() { california65ChemicalNames = null, california65WarningType = null },
|
||||
cosmeticInfoVO = new TemuCosmeticInfoVO() { propertyInfoList = null },
|
||||
productCatManagement = null,
|
||||
};
|
||||
product.productPropertyList = new List<TemuProductProperty>();
|
||||
foreach(var prop in clientProdInfo.goodsProperty)
|
||||
{
|
||||
foreach (var propVal in prop.values)
|
||||
{
|
||||
product.productPropertyList.Add(new TemuProductProperty() // todo: 上货的时候根据 refPid propName propValue 去匹配vid、pid等
|
||||
{
|
||||
refPid = prop.refPid,
|
||||
propName = prop.key,
|
||||
propValue = propVal,
|
||||
valueUnit = "",
|
||||
valueExtendInfo = "",
|
||||
numberInputValue = "",
|
||||
pid = null,
|
||||
templatePid = null,
|
||||
vid = null,
|
||||
});
|
||||
}
|
||||
}
|
||||
product.productSaleExtAttr = new TemuProductSaleExtAttr();
|
||||
product.productSkcList = new List<TemuProductSkc>();
|
||||
TemuProductSkc skcInfo = new TemuProductSkc();
|
||||
product.productSkcList.Add(skcInfo);
|
||||
skcInfo.bomId = null;
|
||||
skcInfo.colorImageUrl = null;
|
||||
skcInfo.extCode = clientProdInfo.goods.itemId;
|
||||
skcInfo.matchSelected = true;
|
||||
skcInfo.previewImgUrls = product.carouselImageUrls.Take(1).ToList();
|
||||
skcInfo.productSkcCarouselImageI18nVOList = new List<object>();
|
||||
skcInfo.productSkcId = clientProdInfo.goods.goodsId; // 此处获取不到SkcId,直接填前台goodsId
|
||||
skcInfo.productSkcImageExtList = new List<TemuProductSkcImageExt>();
|
||||
skcInfo.productSkcImageExtList.Add(new TemuProductSkcImageExt()
|
||||
{
|
||||
imgUrl = skcInfo.previewImgUrls.FirstOrDefault(),
|
||||
imgTag = 0,
|
||||
isOcr = null,
|
||||
});
|
||||
skcInfo.productSkcImageProcessExtVOList = new List<TemuProductSkcImageExt>();
|
||||
skcInfo.productSkcImageProcessExtVOList.Add(new TemuProductSkcImageExt()
|
||||
{
|
||||
imgUrl = skcInfo.previewImgUrls.FirstOrDefault(),
|
||||
imgTag = 0,
|
||||
isOcr = null,
|
||||
});
|
||||
skcInfo.productSkcSpecList = new List<TemuProductSkcSpec>();
|
||||
skcInfo.productSkcSpecList.Add(new TemuProductSkcSpec
|
||||
{
|
||||
parentSpecId = 0,
|
||||
parentSpecName = "",
|
||||
specId = 0,
|
||||
specName = "",
|
||||
unitSpecName = null,
|
||||
});
|
||||
skcInfo.productSkcWhExtAttr = new TemuProductSkcWhExtAttr() { isBasePlate = 0, };
|
||||
skcInfo.productSkuList = new List<TemuProductSku>();
|
||||
foreach (var sku in clientProdInfo.sku)
|
||||
{
|
||||
TemuProductSku skuInfo = new TemuProductSku();
|
||||
skcInfo.productSkuList.Add(skuInfo);
|
||||
skuInfo.currencyType = "CNY";
|
||||
skuInfo.extCode = sku.skuExt.Keys.Contains("skuModel") ? sku.skuExt["skuModel"] : "";
|
||||
skuInfo.productSkuId = sku.skuId;
|
||||
skuInfo.productSkuImageProcessExtVOList = new List<TemuProductSkuImageProcessExtVO>();
|
||||
skuInfo.productSkuImageProcessExtVOList.Add(new TemuProductSkuImageProcessExtVO()
|
||||
{
|
||||
imgTag = 0,
|
||||
imgUrl = sku.thumbUrl,
|
||||
isOcr = false
|
||||
});
|
||||
skuInfo.productSkuMultiPack = new TemuProductSkuMultiPack()
|
||||
{
|
||||
skuClassification = 1,
|
||||
numberOfPieces = 1,
|
||||
pieceUnitCode = 1,
|
||||
individuallyPacked = null,
|
||||
mixedType = null,
|
||||
numberOfPiecesNew = null,
|
||||
pieceNewUnitCode = null,
|
||||
productSkuNetContent = null,
|
||||
totalNetContent = null,
|
||||
};
|
||||
skuInfo.productSkuNonAuditExtAttr = null;
|
||||
skuInfo.productSkuQuantity = null;
|
||||
skuInfo.productSkuSaleExtAttr = new TemuProductSkuSaleExtAttr()
|
||||
{
|
||||
productSkuAccessories = new TemuProductSkuAccessories() { productSkuAccessories = new List<object>() },
|
||||
productSkuNetContent = new TemuProductSkuNetContent(),
|
||||
};
|
||||
skuInfo.productSkuSensitiveApprove = new TemuProductSkuSensitiveApprove
|
||||
{
|
||||
productSkuId = sku.skuId,
|
||||
sensitiveCateProblem = false,
|
||||
sensitiveLimitProblem = false,
|
||||
};
|
||||
skuInfo.productSkuSpecList = new List<TemuProductSkuSpec>();
|
||||
foreach(var spec in sku.specs)
|
||||
{
|
||||
skuInfo.productSkuSpecList.Add(new TemuProductSkuSpec()
|
||||
{
|
||||
parentSpecId = spec.specKeyId,
|
||||
parentSpecName = spec.specKey,
|
||||
specId = spec.specValueId,
|
||||
specName = spec.specValue,
|
||||
unitSpecName = null,
|
||||
});
|
||||
}
|
||||
skuInfo.productSkuSuggestedPrice = new TemuProductSkuSuggestedPrice()
|
||||
{
|
||||
specialSuggestedPrice = "NA",
|
||||
};
|
||||
skuInfo.productSkuThumbUrlI18nVOList = new List<object>();
|
||||
skuInfo.productSkuUsSuggestedPrice = new TemuProductSkuUsSuggestedPrice();
|
||||
skuInfo.productSkuWhExtAttr = new TemuProductSkuWhExtAttr()
|
||||
{
|
||||
productSkuVolume = new TemuProductSkuVolume()
|
||||
{
|
||||
len = 300,
|
||||
width = 200,
|
||||
height = 100,
|
||||
},
|
||||
productSkuWeight = new TemuProductSkuWeight()
|
||||
{
|
||||
value = 500000,
|
||||
},
|
||||
productSkuBarCodes = new List<object>(),
|
||||
productSkuSensitiveAttr = new TemuProductSkuSensitiveAttr()
|
||||
{
|
||||
isForce2Normal = false,
|
||||
force2NormalTypes = null,
|
||||
isSensitive = 0,
|
||||
sensitiveList = new List<object>(),
|
||||
sensitiveTypes = new List<object>(),
|
||||
},
|
||||
productSkuSensitiveLimit = new TemuProductSkuSensitiveLimit(),
|
||||
};
|
||||
skuInfo.siteReferPriceList = null;
|
||||
skuInfo.siteSupplierPrices = null;
|
||||
skuInfo.supplierPrice = (sku.salePrice * GetExchangeRate(sku.normalPriceStr.ParseToString())).ParseToInt();
|
||||
skuInfo.thumbUrl = sku.thumbUrl;
|
||||
}
|
||||
skcInfo.skcStatus = 11;
|
||||
product.productSpecPropertyVOS = new List<TemuProductSpecPropertyVO>(); // 此处如果不填商品无法提交到未发布
|
||||
foreach (var sku in clientProdInfo.sku)
|
||||
{
|
||||
foreach (var spec in sku.specs)
|
||||
{
|
||||
if (product.productSpecPropertyVOS.Any(s => s.specId == spec.specValueId && s.parentSpecId == spec.specKeyId))
|
||||
continue;
|
||||
|
||||
product.productSpecPropertyVOS.Add(new TemuProductSpecPropertyVO()
|
||||
{
|
||||
parentSpecId = spec.specKeyId,
|
||||
//parentSpecName = spec.specKey,
|
||||
specId = spec.specValueId,
|
||||
//specName = spec.specValue,
|
||||
vid = 0,
|
||||
refPid = 0,
|
||||
pid = 0,
|
||||
templatePid = 0,
|
||||
propName = spec.specKey,
|
||||
propValue = spec.specValue,
|
||||
valueUnit = "",
|
||||
valueGroupId = 0,
|
||||
valueGroupName = "",
|
||||
valueExtendInfo = "",
|
||||
numberInputValue = "",
|
||||
});
|
||||
}
|
||||
}
|
||||
product.productType = 1;
|
||||
product.productWarehouseRoute = null;
|
||||
product.productWhExtAttr = new TemuProductWhExtAttr()
|
||||
{
|
||||
outerGoodsUrl = "",
|
||||
productCatConfig = null,
|
||||
productFragileLabelAttr = new TemuProductFragileLabelAttr() { isFragile = false, },
|
||||
sensitiveTransNormalFiles = new List<object>(),
|
||||
// 包装形状和包装类型
|
||||
productOuterPackage = new TemuProductOuterPackage() { packageShape = 0, packageType = 0, },
|
||||
// 商品产地 6广东 31浙江
|
||||
productOrigin = new TemuProductOrigin() { countryName = "China", countryShortName = "CN", region2Id = 43000000000006, },
|
||||
productOriginCertFiles = new List<object>(),
|
||||
copyFromProductId = null,
|
||||
personalizationSwitch = null,
|
||||
newProductCatMisplace = new TemuNewProductCatMisplace() { feedback = null, matchMisplace = false, recCategoriesList = new List<object>(), },
|
||||
semiManagedSiteMode = null,
|
||||
};
|
||||
product.showSizeTemplateIds = null;
|
||||
product.sizeTemplateId = null;
|
||||
product.sizeTemplateIds = null;
|
||||
product.skcQcAdjustmentNote = null;
|
||||
product.sourceType = 0;
|
||||
product.supplierId = clientProdInfo.goods.mallId;
|
||||
product.supplierSourceType = 1000;
|
||||
product.temuSupplier = true;
|
||||
product.vehicleLibraryRelationDTOList = null;
|
||||
|
||||
|
||||
string result = JsonHelper.SerializeObject(product);
|
||||
string sizeRst = "";
|
||||
|
||||
|
||||
// 读取数据库是否有相同商品
|
||||
var url = BaseClass.BuildObjString("product/get_product_list");
|
||||
var data = "";
|
||||
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&page=" + 1 +
|
||||
"&page_size=" + 1;
|
||||
data += "&search_spu=" + product?.productId;
|
||||
if (BaseClass.SaLevel == 1) // 店铺非空管理状态允许查看后台采集和前端采集的所有商品
|
||||
{
|
||||
data += "&product_get_type=all";
|
||||
}
|
||||
//data += "&search_skc=" + product?.productSkcList?.FirstOrDefault()?.productSkcId;
|
||||
|
||||
int dbId = 0;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (!string.IsNullOrEmpty(html) && html.Contains("\"code\":200"))
|
||||
{
|
||||
dbId = BaseRegex.GetIntJson(ref html, "id");
|
||||
}
|
||||
|
||||
if (dbId > 0 && BaseMsgForm.ShowConfirm("数据库已存在相同ID的商品,是否覆盖?(选择否新增一条数据)").DialogResult == DialogResult.OK)
|
||||
{
|
||||
url = BaseClass.BuildObjString("product/mdy_db_product");
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&db_id=" + dbId;
|
||||
data += "&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8);
|
||||
data += "&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8);
|
||||
data += "&original_json=" + HttpUtility.UrlEncode(JsonHelper.SerializeObject(clientProdInfo), Encoding.UTF8);
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
string msg = "商品保存失败!请检查html文件:" + BaseRegex.GetStringJson(ref html, "msg");
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowInfo("选品商品保存成功!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
url = BaseClass.BuildObjString("product/add_product");
|
||||
data = Work.UserLogin.GetSignaturex() +
|
||||
"&spu_id=" + product?.productId +
|
||||
"&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId +
|
||||
"&cat_id=" + clientProdInfo.goods.catId.ParseToLong() +
|
||||
"&cat_name=" + HttpUtility.UrlEncode(clientProdInfo.crumbOptList.LastOrDefault()?.title, Encoding.UTF8) +
|
||||
"&ext_code=" + HttpUtility.UrlEncode(product?.productSkcList?.FirstOrDefault()?.extCode, Encoding.UTF8) +
|
||||
"&product_name=" + HttpUtility.UrlEncode(product?.productName, Encoding.UTF8) +
|
||||
"&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8) +
|
||||
"&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) +
|
||||
"&original_json=" + HttpUtility.UrlEncode(JsonHelper.SerializeObject(clientProdInfo), Encoding.UTF8) +
|
||||
"&main_img=" + HttpUtility.UrlEncode(product?.carouselImageUrls?.FirstOrDefault(), Encoding.UTF8) +
|
||||
"&product_get_type=1"; // 0母店采集 1前端直采 不填默认0
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
string msg = "商品保存失败!请检查html文件:" + BaseRegex.GetStringJson(ref html, "msg");
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowInfo("选品商品保存成功!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
decimal GetExchangeRate(string inputStr)
|
||||
{
|
||||
if (inputStr.StartsWith("CA$"))
|
||||
return 5.1m;
|
||||
if (inputStr.StartsWith("US$"))
|
||||
return 7.1m;
|
||||
return 1;
|
||||
}
|
||||
|
||||
private void dgvSelectShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
|
||||
string headerText = dgvSelectShop.Columns[e.ColumnIndex].HeaderText;
|
||||
if (headerText == "选择")
|
||||
{
|
||||
foreach (DataGridViewRow row in dgvSelectShop.Rows)
|
||||
{
|
||||
row.Cells["colCheck"].Value = false;
|
||||
}
|
||||
dgvSelectShop.Rows[e.RowIndex].Cells["colCheck"].Value = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
panel2.Visible = false;
|
||||
}
|
||||
|
||||
private void btnGetShop_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvSelectShop.Rows.Clear();
|
||||
this.lstAdminShopInfo.Clear();
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
var list = AdminForms.AdminShopListForm.Instance.AdminGetServerShopLst(out pageCount, "", "", "",
|
||||
txtShopId.Text.Trim(), txtShopName.Text.Trim(), 1, 10);
|
||||
lstAdminShopInfo.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
foreach (var shop in lstAdminShopInfo)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowIndex = this.dgvSelectShop.Rows.Add(
|
||||
false,
|
||||
shop.UserName,
|
||||
shop.SubUserName,
|
||||
shop.ShopId,
|
||||
shop.ShopAccount,
|
||||
shop.Notes);
|
||||
if (rowIndex == 0)
|
||||
{
|
||||
this.dgvSelectShop.Rows[rowIndex].Cells["colCheck"].Value = true;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
private void btnAddToSelectDb_Click(object sender, EventArgs e)
|
||||
{
|
||||
KJDDBProduct dbProduct = panel2.Tag as KJDDBProduct;
|
||||
if (dbProduct == null)
|
||||
return;
|
||||
var selectShopId = this.dgvSelectShop.Rows.Cast<DataGridViewRow>()
|
||||
.FirstOrDefault(r => r.Cells["colCheck"].Value.ParseToBool() == true)?.Cells["colShopId"].Value.ParseToString();
|
||||
var selectShop = lstAdminShopInfo.FirstOrDefault(s => s.ShopId == selectShopId);
|
||||
if (!string.IsNullOrEmpty(selectShopId) && selectShop != null)
|
||||
{
|
||||
this.btnSelect.Enabled = false;
|
||||
Task.Run(() => {
|
||||
SelectProduct(selectShop, new KJDDBProduct[] { dbProduct }, numCount.Value.ParseToInt(), true);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.btnSelect.Enabled = true;
|
||||
}));
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowError("未选择店铺!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,6 +117,24 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSubUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -150,6 +168,9 @@
|
||||
<metadata name="colSelectTotalCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProdGetType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_notes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -165,6 +186,9 @@
|
||||
<metadata name="colAddTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelectProd.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_edit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
+91
-79
@@ -37,8 +37,11 @@
|
||||
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();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListManageForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.txtNotChangeMainImg = new System.Windows.Forms.TextBox();
|
||||
this.chkNotChangeMainImg = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.chkAiSkuAndMainImg = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.chkLongTitle = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.chkSameExtcodeRandomMainImg = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
@@ -130,6 +133,7 @@
|
||||
this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colImportCookies = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colProdGetType = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -150,8 +154,6 @@
|
||||
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.chkNotChangeMainImg = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.txtNotChangeMainImg = new System.Windows.Forms.TextBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -235,6 +237,31 @@
|
||||
this.splitContainer1.SplitterDistance = 125;
|
||||
this.splitContainer1.TabIndex = 2;
|
||||
//
|
||||
// txtNotChangeMainImg
|
||||
//
|
||||
this.txtNotChangeMainImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtNotChangeMainImg.Location = new System.Drawing.Point(1440, 97);
|
||||
this.txtNotChangeMainImg.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtNotChangeMainImg.Name = "txtNotChangeMainImg";
|
||||
this.txtNotChangeMainImg.ReadOnly = true;
|
||||
this.txtNotChangeMainImg.Size = new System.Drawing.Size(36, 23);
|
||||
this.txtNotChangeMainImg.TabIndex = 700;
|
||||
this.txtNotChangeMainImg.Text = "5";
|
||||
//
|
||||
// chkNotChangeMainImg
|
||||
//
|
||||
this.chkNotChangeMainImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.chkNotChangeMainImg.AutoSize = true;
|
||||
this.chkNotChangeMainImg.Checked = true;
|
||||
this.chkNotChangeMainImg.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkNotChangeMainImg.Location = new System.Drawing.Point(1410, 98);
|
||||
this.chkNotChangeMainImg.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.chkNotChangeMainImg.Name = "chkNotChangeMainImg";
|
||||
this.chkNotChangeMainImg.Size = new System.Drawing.Size(151, 21);
|
||||
this.chkNotChangeMainImg.TabIndex = 699;
|
||||
this.chkNotChangeMainImg.Text = "第 张主图不替换";
|
||||
this.chkNotChangeMainImg.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// chkAiSkuAndMainImg
|
||||
//
|
||||
this.chkAiSkuAndMainImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -856,7 +883,7 @@
|
||||
"核价成功",
|
||||
"核价成功(重复)",
|
||||
"重复"});
|
||||
this.cmbNotes.Location = new System.Drawing.Point(917, 5);
|
||||
this.cmbNotes.Location = new System.Drawing.Point(917, 8);
|
||||
this.cmbNotes.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.cmbNotes.Name = "cmbNotes";
|
||||
this.cmbNotes.Size = new System.Drawing.Size(65, 25);
|
||||
@@ -881,7 +908,7 @@
|
||||
"已上传",
|
||||
"草稿箱",
|
||||
"全部"});
|
||||
this.cmbStatus.Location = new System.Drawing.Point(814, 5);
|
||||
this.cmbStatus.Location = new System.Drawing.Point(814, 8);
|
||||
this.cmbStatus.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.cmbStatus.Name = "cmbStatus";
|
||||
this.cmbStatus.Size = new System.Drawing.Size(65, 25);
|
||||
@@ -1248,7 +1275,7 @@
|
||||
"全部",
|
||||
"重上",
|
||||
"已买"});
|
||||
this.cmbUserNotes.Location = new System.Drawing.Point(1044, 5);
|
||||
this.cmbUserNotes.Location = new System.Drawing.Point(1044, 8);
|
||||
this.cmbUserNotes.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.cmbUserNotes.Name = "cmbUserNotes";
|
||||
this.cmbUserNotes.Size = new System.Drawing.Size(65, 25);
|
||||
@@ -1500,6 +1527,7 @@
|
||||
this.colLogin,
|
||||
this.colImportCookies,
|
||||
this.colCopyCookies,
|
||||
this.colProdGetType,
|
||||
this.colSpuId,
|
||||
this.colSkcId,
|
||||
this.colImgUrl,
|
||||
@@ -1551,14 +1579,15 @@
|
||||
this.colSupplierId.HeaderText = "店铺Id";
|
||||
this.colSupplierId.Name = "colSupplierId";
|
||||
this.colSupplierId.ReadOnly = true;
|
||||
this.colSupplierId.Width = 120;
|
||||
this.colSupplierId.Width = 110;
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
this.colSupplierName.Width = 110;
|
||||
//
|
||||
// colInShop
|
||||
//
|
||||
@@ -1576,21 +1605,28 @@
|
||||
//
|
||||
// colImportCookies
|
||||
//
|
||||
this.colImportCookies.HeaderText = "导入Cookie";
|
||||
this.colImportCookies.HeaderText = "导入Cook";
|
||||
this.colImportCookies.Name = "colImportCookies";
|
||||
this.colImportCookies.ReadOnly = true;
|
||||
this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colImportCookies.Width = 80;
|
||||
this.colImportCookies.Width = 70;
|
||||
//
|
||||
// colCopyCookies
|
||||
//
|
||||
this.colCopyCookies.HeaderText = "复制Cookie";
|
||||
this.colCopyCookies.HeaderText = "复制Cook";
|
||||
this.colCopyCookies.Name = "colCopyCookies";
|
||||
this.colCopyCookies.ReadOnly = true;
|
||||
this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCopyCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCopyCookies.Width = 80;
|
||||
this.colCopyCookies.Width = 70;
|
||||
//
|
||||
// colProdGetType
|
||||
//
|
||||
this.colProdGetType.HeaderText = "商品来源";
|
||||
this.colProdGetType.Name = "colProdGetType";
|
||||
this.colProdGetType.ReadOnly = true;
|
||||
this.colProdGetType.Width = 65;
|
||||
//
|
||||
// colSpuId
|
||||
//
|
||||
@@ -1628,28 +1664,28 @@
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
this.colProductName.Width = 160;
|
||||
this.colProductName.Width = 150;
|
||||
//
|
||||
// colProductCat
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colProductCat.HeaderText = "商品类目";
|
||||
this.colProductCat.Name = "colProductCat";
|
||||
this.colProductCat.ReadOnly = true;
|
||||
this.colProductCat.Width = 72;
|
||||
this.colProductCat.Width = 70;
|
||||
//
|
||||
// colExtCode
|
||||
//
|
||||
this.colExtCode.HeaderText = "商品货号";
|
||||
this.colExtCode.Name = "colExtCode";
|
||||
this.colExtCode.ReadOnly = true;
|
||||
this.colExtCode.Width = 125;
|
||||
this.colExtCode.Width = 122;
|
||||
//
|
||||
// colStatus
|
||||
//
|
||||
@@ -1669,21 +1705,21 @@
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colAddTime.HeaderText = "认领时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
this.colAddTime.Width = 65;
|
||||
this.colAddTime.Width = 63;
|
||||
//
|
||||
// colMdyTime
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colMdyTime.HeaderText = "上传时间";
|
||||
this.colMdyTime.Name = "colMdyTime";
|
||||
this.colMdyTime.ReadOnly = true;
|
||||
this.colMdyTime.Width = 65;
|
||||
this.colMdyTime.Width = 63;
|
||||
//
|
||||
// colSubSa
|
||||
//
|
||||
@@ -1694,8 +1730,8 @@
|
||||
//
|
||||
// colSubSaNick
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.colSubSaNick.HeaderText = "二级超管";
|
||||
this.colSubSaNick.Name = "colSubSaNick";
|
||||
this.colSubSaNick.ReadOnly = true;
|
||||
@@ -1710,8 +1746,8 @@
|
||||
//
|
||||
// colNotes
|
||||
//
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colNotes.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colNotes.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.colNotes.HeaderText = "备注";
|
||||
this.colNotes.Name = "colNotes";
|
||||
this.colNotes.ReadOnly = true;
|
||||
@@ -1764,31 +1800,6 @@
|
||||
this.statusBar.Size = new System.Drawing.Size(1558, 25);
|
||||
this.statusBar.TabIndex = 5;
|
||||
//
|
||||
// chkNotChangeMainImg
|
||||
//
|
||||
this.chkNotChangeMainImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.chkNotChangeMainImg.AutoSize = true;
|
||||
this.chkNotChangeMainImg.Checked = true;
|
||||
this.chkNotChangeMainImg.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chkNotChangeMainImg.Location = new System.Drawing.Point(1410, 98);
|
||||
this.chkNotChangeMainImg.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.chkNotChangeMainImg.Name = "chkNotChangeMainImg";
|
||||
this.chkNotChangeMainImg.Size = new System.Drawing.Size(151, 21);
|
||||
this.chkNotChangeMainImg.TabIndex = 699;
|
||||
this.chkNotChangeMainImg.Text = "第 张主图不替换";
|
||||
this.chkNotChangeMainImg.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// txtNotChangeMainImg
|
||||
//
|
||||
this.txtNotChangeMainImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtNotChangeMainImg.Location = new System.Drawing.Point(1440, 97);
|
||||
this.txtNotChangeMainImg.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtNotChangeMainImg.Name = "txtNotChangeMainImg";
|
||||
this.txtNotChangeMainImg.ReadOnly = true;
|
||||
this.txtNotChangeMainImg.Size = new System.Drawing.Size(36, 23);
|
||||
this.txtNotChangeMainImg.TabIndex = 700;
|
||||
this.txtNotChangeMainImg.Text = "5";
|
||||
//
|
||||
// DbProductSelectListManageForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -1881,32 +1892,6 @@
|
||||
private UserComponent.UcCheckBox chkFission;
|
||||
private System.Windows.Forms.ComboBox cmbUserNotes;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colInShop;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLogin;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colImportCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSpuId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSkcId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDraftId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserNotes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEditNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.ComboBox cmbNotes;
|
||||
private DevComponents.DotNetBar.PanelEx btnDel;
|
||||
@@ -1953,5 +1938,32 @@
|
||||
private DevComponents.DotNetBar.PanelEx pnlError;
|
||||
private UserComponent.UcCheckBox chkNotChangeMainImg;
|
||||
private System.Windows.Forms.TextBox txtNotChangeMainImg;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colInShop;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLogin;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colImportCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProdGetType;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSpuId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSkcId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDraftId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserNotes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEditNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
|
||||
}
|
||||
}
|
||||
@@ -121,6 +121,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
this.ucSplitPage1.PageChange += UcSplitPage1_PageChange;
|
||||
this.dgvSelectProduct.AddSelectorColumn("colSelect");
|
||||
this.dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl");
|
||||
|
||||
dgvSelectProduct.Columns["colSubSaNick"].Visible = false;
|
||||
dgvSelectProduct.Columns["colDelete"].Visible = false;
|
||||
@@ -202,14 +203,14 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
var shopIdLst = list.Select(p => p.shop_id).Distinct().ToList();
|
||||
shopLst = ShopBLL.AdminGetServerShopLstByIds(shopIdLst);
|
||||
|
||||
if (defaultBitmap == null)
|
||||
defaultBitmap = new Bitmap(80, 80);
|
||||
// 获取Bitmap的Graphics对象
|
||||
using (Graphics g = Graphics.FromImage(defaultBitmap))
|
||||
{
|
||||
// 清除整个Bitmap为蓝色
|
||||
g.Clear(Color.White);
|
||||
}
|
||||
//if (defaultBitmap == null)
|
||||
// defaultBitmap = new Bitmap(80, 80);
|
||||
//// 获取Bitmap的Graphics对象
|
||||
//using (Graphics g = Graphics.FromImage(defaultBitmap))
|
||||
//{
|
||||
// // 清除整个Bitmap为白色
|
||||
// g.Clear(Color.White);
|
||||
//}
|
||||
foreach (var prodSelect in lstAdminTemuDBProductSelect)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
@@ -223,10 +224,11 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
shopLst.FirstOrDefault(s=>s.ShopId == prodSelect.shop_id)?.LoginStatus2 == "国际版在线" ? "在线" : "登录",
|
||||
"导入Cookie",
|
||||
"复制Cookie",
|
||||
prodSelect.product_get_type == 0 ? "母店采集" : "前端直采",
|
||||
prodSelect.spu_id,
|
||||
prodSelect.skc_id,
|
||||
prodSelect.main_img.Replace("https:","http:"),
|
||||
defaultBitmap,//prod.main_img,
|
||||
prodSelect.main_img.Replace("https://","http://").Replace("img.kwcdn.com", "img.cdnfe.com"),
|
||||
DataGridViewExtension.defaultBitmap,//prod.main_img,
|
||||
prodSelect.fission_product_name,
|
||||
prodSelect.cat_name,
|
||||
prodSelect.ext_code,
|
||||
@@ -248,63 +250,13 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ShowDgvImg();
|
||||
this.pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
Bitmap defaultBitmap = null;
|
||||
void ShowDgvImg()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
foreach (DataGridViewRow row in this.dgvSelectProduct.Rows)
|
||||
{
|
||||
if (row.Index > 0 && row.Cells["colProductSkcPic"].Displayed == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colProductSkcPic"].Value = defaultBitmap;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (row.Cells["colProductSkcPic"].Value != null && row.Cells["colProductSkcPic"].Value != defaultBitmap)
|
||||
continue;
|
||||
|
||||
Image image = null;
|
||||
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
|
||||
string getImgError = "";
|
||||
if (!string.IsNullOrWhiteSpace(imgUrl))
|
||||
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
|
||||
if (!string.IsNullOrEmpty(getImgError))
|
||||
//BaseMsgForm.ShowError("图片加载失败 " + getImgError);
|
||||
image = TemuKJD.Properties.Resources.errpic;
|
||||
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colProductSkcPic"].Value = image;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void dgvSelectProduct_Scroll(object sender, ScrollEventArgs e)
|
||||
{
|
||||
ShowDgvImg();
|
||||
}
|
||||
|
||||
public List<TemuDBProductSelect> GetSelectProductList(out int pageCount, int page = 1, int pageSize = 50)
|
||||
@@ -476,6 +428,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
break;
|
||||
|
||||
case "导入Cookie":
|
||||
case "导入Cook":
|
||||
{
|
||||
var shop = GetShop(shopId);
|
||||
ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa, "国内版");
|
||||
@@ -484,6 +437,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
}
|
||||
break;
|
||||
case "复制Cookie":
|
||||
case "复制Cook":
|
||||
{
|
||||
var shop = GetShop(shopId);
|
||||
string cookJs = "";
|
||||
@@ -961,6 +915,36 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
return "上传失败 " + html;
|
||||
}
|
||||
|
||||
if (dbProd.product_get_type == 1)
|
||||
{
|
||||
var catRst = GetCatPathList(shop, prodParam.productDraftId.ParseToString(), catId.ParseToString());
|
||||
if (catRst.Contains("\"success\":true"))
|
||||
{
|
||||
var regex = BaseRegex.GetMatchRegex(ref catRst, "\\\"catId\\\":\\d{1,10}");
|
||||
if (regex.Count > 0)
|
||||
{
|
||||
var cats = regex.Cast<Match>().Select(m => m.Value.ParseToString().Replace("\"catId\":", "").ParseToLong()).ToList();
|
||||
if (!cats.Any(c => c <= 0))
|
||||
{
|
||||
while (cats.Count < 10)
|
||||
cats.Add(0);
|
||||
|
||||
prodParam.cat1Id = cats[0];
|
||||
prodParam.cat2Id = cats[1];
|
||||
prodParam.cat3Id = cats[2];
|
||||
prodParam.cat4Id = cats[3];
|
||||
prodParam.cat5Id = cats[4];
|
||||
prodParam.cat6Id = cats[5];
|
||||
prodParam.cat7Id = cats[6];
|
||||
prodParam.cat8Id = cats[7];
|
||||
prodParam.cat9Id = cats[8];
|
||||
prodParam.cat10Id = cats[9];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查询获取商品属性模板
|
||||
List<TemuCategoryTemplateInfo> categoryTemplateList = new List<TemuCategoryTemplateInfo>();
|
||||
var propTemplateRst = QueryCategoryTemplate(shop, prodParam.productDraftId.ParseToString(), catId.ParseToString());
|
||||
if (propTemplateRst.Contains("\"success\":true"))
|
||||
@@ -1067,7 +1051,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
};
|
||||
goodsLayerDecorationItem.contentList.Add(contentItem);
|
||||
}
|
||||
prodParam.goodsLayerDecorationReqs.Add(goodsLayerDecorationItem);
|
||||
if (goodsLayerDecorationItem != null && !(goodsLayerDecorationItem.contentList?.FirstOrDefault()?.imgUrl).ParseToString().IsNullOrEmpty())
|
||||
prodParam.goodsLayerDecorationReqs.Add(goodsLayerDecorationItem);
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < prodParam.goodsLayerDecorationReqs.Count; i++)
|
||||
{
|
||||
prodParam.goodsLayerDecorationReqs[i].priority = i;
|
||||
}
|
||||
prodParam.goodsModelReqs = prodInfo.goodsModelList != null ? prodInfo.goodsModelList : new List<object>();
|
||||
prodParam.materialImgUrl = prodInfo.materialImgUrl;
|
||||
@@ -1080,15 +1072,45 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
prodInfo.productLocalExtAttr.materialMultiLanguages : new List<object>();
|
||||
prodParam.personalizationSwitch = prodInfo.productWhExtAttr.personalizationSwitch.ParseToInt();
|
||||
|
||||
var carouseVideoVOList = JsonHelper.SerializeObject(prodInfo.carouseVideoVOList);
|
||||
prodParam.productCarouseVideoReqList = JsonHelper.DeserializeJsonToList<productCarouseVideoReqItem>(carouseVideoVOList);
|
||||
// 主图视频
|
||||
var videoList = new List<carouseVideoVo>();
|
||||
if (prodInfo.carouseVideoVOList != null)
|
||||
{
|
||||
videoList = prodInfo.carouseVideoVOList.ToList();
|
||||
foreach(var video in videoList)
|
||||
{
|
||||
if (video.vid.IsNullOrEmpty() && !video.videoUrl.IsNullOrEmpty() && !video.coverUrl.IsNullOrEmpty())
|
||||
{
|
||||
var downloadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads\\Video");
|
||||
if (!Directory.Exists(downloadPath))
|
||||
Directory.CreateDirectory(downloadPath);
|
||||
var videoUrl = video.videoUrl.Replace("https://", "http://").Replace("goods-vod.kwcdn.com", "goods-vod.cdnfe.com");
|
||||
var extName = videoUrl.Split('.').LastOrDefault();
|
||||
var videoFullName = downloadPath + "\\MainVideo." + extName;
|
||||
if (GetHtml.DownloadFile(videoUrl, videoFullName))
|
||||
{
|
||||
var mainVideoRst = UploadMainVideo(shop, prodParam.productDraftId.ParseToString(), videoFullName);
|
||||
if (mainVideoRst.Contains("\"success\":false"))
|
||||
return mainVideoRst;
|
||||
video.videoUrl = BaseRegex.GetStringJson(ref mainVideoRst, "url");
|
||||
video.vid = BaseRegex.GetStringJson(ref mainVideoRst, "vid");
|
||||
video.coverUrl = BaseRegex.GetStringJson(ref mainVideoRst, "cover");
|
||||
}
|
||||
}
|
||||
}
|
||||
videoList = videoList.Where(v => !v.vid.IsNullOrEmpty()).ToList();
|
||||
}
|
||||
var carouseVideoVOListStr = JsonHelper.SerializeObject(videoList);
|
||||
prodParam.productCarouseVideoReqList = JsonHelper.DeserializeJsonToList<productCarouseVideoReqItem>(carouseVideoVOListStr);
|
||||
if (prodParam.productCarouseVideoReqList == null)
|
||||
prodParam.productCarouseVideoReqList = new List<productCarouseVideoReqItem>();
|
||||
//此处打开商品编辑详情无法获取到,如何查询存疑
|
||||
//此处打开商品编辑详情无法获取到,如何查询存疑,暂时手动填写
|
||||
prodParam.productComplianceStatementReq = new ProductComplianceStatementReq
|
||||
{
|
||||
protocolVersion = "V1.0",
|
||||
protocolUrl = "https://bdl.cdnfe.com/upload_bdl/seller-protocol/00f56a69-7bee-4768-8cef-e1682ffd58e3.html",
|
||||
//protocolVersion = "V1.0",
|
||||
//protocolUrl = "https://bdl.cdnfe.com/upload_bdl/seller-protocol/00f56a69-7bee-4768-8cef-e1682ffd58e3.html",
|
||||
protocolVersion = "V2.0",
|
||||
protocolUrl = "https://dl.kwcdn.com/seller-public-file-us-tag/2079f603b6/56888d17d8166a6700c9f3e82972e813.html",
|
||||
};
|
||||
prodParam.productDetailVideoReqList = prodInfo.detailVideoVOList;
|
||||
prodParam.productGuideFileI18nReqs = prodInfo.productGuideFileI18nList;
|
||||
@@ -1205,6 +1227,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
};
|
||||
//内容存疑
|
||||
prodParam.productOriginCertFileReqs = new List<object>();
|
||||
//产品包装图
|
||||
prodParam.productOuterPackageImageReqs = new List<ProductOuterPackageImageReqsItem>();
|
||||
foreach (var picInfo in prodInfo.outerPackageImages)
|
||||
{
|
||||
@@ -1213,6 +1236,24 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
imageUrl = picInfo.imageUrl,
|
||||
});
|
||||
}
|
||||
//如果原商品采集源没有包装图,主图第一张转包装图
|
||||
if (prodParam.productOuterPackageImageReqs.Count == 0)
|
||||
{
|
||||
//var downloadPath = Application.StartupPath + "\\temp\\downloads\\image";
|
||||
var downloadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads\\Image");
|
||||
if (!Directory.Exists(downloadPath))
|
||||
Directory.CreateDirectory(downloadPath);
|
||||
var imgUrl = prodParam.carouselImageUrls.FirstOrDefault().ParseToString().Replace("https://", "http://").Replace("img.kwcdn.com", "img.cdnfe.com");
|
||||
var extName = imgUrl.Split('.').LastOrDefault();
|
||||
var imgFullName = downloadPath + "\\PackageImage." + extName;
|
||||
if (GetHtml.DownloadFile(imgUrl, imgFullName))
|
||||
{
|
||||
var packageImgUrl = UploadOuterPackageImg(shop, prodParam.productDraftId.ParseToString(), imgFullName);
|
||||
if (packageImgUrl.Contains("\"success\":false"))
|
||||
return packageImgUrl;
|
||||
prodParam.productOuterPackageImageReqs.Add(new ProductOuterPackageImageReqsItem() { imageUrl = packageImgUrl, });
|
||||
}
|
||||
}
|
||||
prodParam.productOuterPackageReq = new ProductOuterPackageReq()
|
||||
{
|
||||
packageShape = prodInfo.productWhExtAttr.productOuterPackage.packageShape,
|
||||
@@ -1221,7 +1262,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
prodParam.productPropertyReqs = new List<ProductPropertyReqsItem>();
|
||||
foreach (var propInfo in prodInfo.productPropertyList)
|
||||
{
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
var propReqsItem = new ProductPropertyReqsItem
|
||||
{
|
||||
numberInputValue = propInfo.numberInputValue,
|
||||
pid = propInfo.pid,
|
||||
@@ -1232,57 +1273,100 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
valueExtendInfo = propInfo.valueExtendInfo,
|
||||
valueUnit = propInfo.valueUnit,
|
||||
vid = propInfo.vid,
|
||||
});
|
||||
};
|
||||
// 客户端采集的数据 产地、商品编号等信息的refPid为空不放在后台商品属性
|
||||
if (propReqsItem.refPid != null)
|
||||
prodParam.productPropertyReqs.Add(propReqsItem);
|
||||
}
|
||||
if (prodParam.productPropertyReqs.Any(p => p.propValue == "织物" && p.propName == "鞋面材料") &&
|
||||
!prodParam.productPropertyReqs.Any(p => p.propName == "织物材质成分"))
|
||||
foreach(var prop in prodParam.productPropertyReqs)
|
||||
{
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
if (prop.pid.IsNullOrEmpty())
|
||||
{
|
||||
valueUnit = "",
|
||||
propValue = "人造纤维",
|
||||
propName = "织物材质成分",
|
||||
refPid = 7550,
|
||||
vid = 329529,
|
||||
controlType = 1,
|
||||
pid = 2335,
|
||||
templatePid = 1580208,
|
||||
valueExtendInfo = ""
|
||||
});
|
||||
var propTemp = categoryTemplateList.FirstOrDefault(p => p.refPid == prop.refPid);
|
||||
if (propTemp != null)
|
||||
{
|
||||
if (propTemp.templatePid == 882613) // 成分(带%的参数)
|
||||
{
|
||||
}
|
||||
prop.pid = propTemp.pid;
|
||||
prop.templatePid = propTemp.templatePid;
|
||||
prop.valueUnit = propTemp.valueUnit.FirstOrDefault().ParseToString();
|
||||
if (prop.propValue.Contains("%"))
|
||||
{
|
||||
prop.valueUnit = "%";
|
||||
|
||||
// 获取成分百分比
|
||||
string propValueStr = prop.propValue;
|
||||
var regex = BaseRegex.GetMatchRegex(ref propValueStr, "\\d{1,3}(\\.\\d{1,2})?%");
|
||||
string numberValue = BaseRegex.GetMatchRegex(ref propValueStr, "\\d{1,3}%")[0]?.Groups[0]?.Value;
|
||||
if (!string.IsNullOrEmpty(numberValue))
|
||||
{
|
||||
prop.propValue = propValueStr.Replace(numberValue, "").Trim();
|
||||
prop.numberInputValue = numberValue.Replace("%", "");
|
||||
}
|
||||
}
|
||||
if (propTemp.values != null)
|
||||
prop.vid = (propTemp.values.FirstOrDefault(v => v.value == prop.propValue)?.vid).ParseToLong();
|
||||
//if (prop.vid == null)
|
||||
// prop.vid = 0;
|
||||
prop.valueExtendInfo = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
var prop = categoryTemplateList.FirstOrDefault(p => p.name.Contains("内里是否加绒"));
|
||||
if (prop != null && prop.required == true && !prodParam.productPropertyReqs.Any(p => p.propName == prop.name))
|
||||
prodParam.productPropertyReqs.RemoveAll(p => p.vid == null);
|
||||
// 处理特殊情况
|
||||
if (1 == 1)
|
||||
{
|
||||
if (lstExtCodeFleeceInShoes.Contains(dbProd.ext_code) ||
|
||||
lstExtCodeFleeceInShoes.Any(c => (dbProd.ext_code.Contains("-" + c))))
|
||||
if (prodParam.productPropertyReqs.Any(p => p.propValue == "织物" && p.propName == "鞋面材料") &&
|
||||
!prodParam.productPropertyReqs.Any(p => p.propName == "织物材质成分"))
|
||||
{
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
{
|
||||
valueUnit = "",
|
||||
propValue = "是",
|
||||
propName = "内里是否加绒",
|
||||
refPid = prop.refPid.ParseToLong(),
|
||||
vid = 404104,
|
||||
propValue = "人造纤维",
|
||||
propName = "织物材质成分",
|
||||
refPid = 7550,
|
||||
vid = 329529,
|
||||
controlType = 1,
|
||||
pid = prop.pid.ParseToLong(),
|
||||
templatePid = prop.templatePid,
|
||||
pid = 2335,
|
||||
templatePid = 1580208,
|
||||
valueExtendInfo = ""
|
||||
});
|
||||
}
|
||||
else
|
||||
var propTemp = categoryTemplateList.FirstOrDefault(p => p.name.Contains("内里是否加绒"));
|
||||
if (propTemp != null && propTemp.required == true && !prodParam.productPropertyReqs.Any(p => p.propName == propTemp.name))
|
||||
{
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
if (lstExtCodeFleeceInShoes.Contains(dbProd.ext_code) ||
|
||||
lstExtCodeFleeceInShoes.Any(c => (dbProd.ext_code.Contains("-" + c))))
|
||||
{
|
||||
valueUnit = "",
|
||||
propValue = "否",
|
||||
propName = "内里是否加绒",
|
||||
refPid = prop.refPid.ParseToLong(),
|
||||
vid = 404105,
|
||||
controlType = 1,
|
||||
pid = prop.pid.ParseToLong(),
|
||||
templatePid = prop.templatePid,
|
||||
valueExtendInfo = ""
|
||||
});
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
{
|
||||
valueUnit = "",
|
||||
propValue = "是",
|
||||
propName = "内里是否加绒",
|
||||
refPid = propTemp.refPid.ParseToLong(),
|
||||
vid = 404104,
|
||||
controlType = 1,
|
||||
pid = propTemp.pid.ParseToLong(),
|
||||
templatePid = propTemp.templatePid,
|
||||
valueExtendInfo = ""
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
{
|
||||
valueUnit = "",
|
||||
propValue = "否",
|
||||
propName = "内里是否加绒",
|
||||
refPid = propTemp.refPid.ParseToLong(),
|
||||
vid = 404105,
|
||||
controlType = 1,
|
||||
pid = propTemp.pid.ParseToLong(),
|
||||
templatePid = propTemp.templatePid,
|
||||
valueExtendInfo = ""
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
prodParam.productSaleExtAttrReq = new ProductSaleExtAttrReq
|
||||
@@ -1331,13 +1415,14 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
skcItem.mainProductSkuSpecReqs = new List<MainProductSkuSpecReqsItem>();
|
||||
foreach (var skuSpecInfo in skcInfo.productSkcSpecList)
|
||||
{
|
||||
skcItem.mainProductSkuSpecReqs.Add(new MainProductSkuSpecReqsItem
|
||||
var specReqsItem = new MainProductSkuSpecReqsItem
|
||||
{
|
||||
parentSpecId = skuSpecInfo.parentSpecId,
|
||||
parentSpecName = skuSpecInfo.parentSpecName,
|
||||
specId = skuSpecInfo.specId,
|
||||
specName = skuSpecInfo.specName,
|
||||
});
|
||||
};
|
||||
skcItem.mainProductSkuSpecReqs.Add(specReqsItem);
|
||||
}
|
||||
skcItem.previewImgUrls = skcInfo.previewImgUrls;
|
||||
skcItem.productSkcCarouselImageI18nReqs = skcInfo.productSkcCarouselImageI18nVOList;
|
||||
@@ -1456,6 +1541,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuMultiPack.totalNetContent)),
|
||||
individuallyPacked = skuInfo.productSkuMultiPack.individuallyPacked,
|
||||
};
|
||||
if (skuItem.productSkuMultiPackReq.productSkuNetContentReq == null)
|
||||
skuItem.productSkuMultiPackReq.productSkuNetContentReq = new ProductSkuNetContentReq();
|
||||
if (skuItem.productSkuMultiPackReq.totalNetContent == null)
|
||||
skuItem.productSkuMultiPackReq.totalNetContent = new ProductSkuNetContentReq();
|
||||
// 如果母店为多件但没有指定是否独立包装,强制指定非独立包装
|
||||
var packReq = skuItem.productSkuMultiPackReq as ProductSkuMultiPackReq2;
|
||||
if (packReq.skuClassification > 1 && packReq.individuallyPacked == null)
|
||||
@@ -1490,8 +1579,26 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
parentSpecName = skuSpecInfo.parentSpecName,
|
||||
specId = skuSpecInfo.specId,
|
||||
specName = skuSpecInfo.specName,
|
||||
vid = prodParam.productSpecPropertyReqs.FirstOrDefault(p => p.specId == skuSpecInfo.specId)?.vid,
|
||||
vid = prodParam.productSpecPropertyReqs.FirstOrDefault(p => p.specId == skuSpecInfo.specId)?.vid, //可以不填
|
||||
};
|
||||
if (dbProd.product_get_type == 1) // 直采商品重新生成sku
|
||||
{
|
||||
string draftId = prodParam.productDraftId.ParseToString();
|
||||
string parentSpecId = skuSpecItem.parentSpecId.ParseToString();
|
||||
var rst = QueryOrAddSpec(shop, draftId, parentSpecId, skuSpecItem.specName);
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
if (rst.Contains("\"success\":true"))
|
||||
{
|
||||
long specId = BaseRegex.GetLongJson(ref rst, "specId");
|
||||
if (specId > 0)
|
||||
{
|
||||
skuSpecItem.specId = specId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//前后缀映射
|
||||
if (skuSpecInfo.parentSpecName == "颜色" && skuNameDic[skuSpecItem.specName] != skuSpecItem.specName)
|
||||
{
|
||||
@@ -1624,7 +1731,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
aiSkuImgInfo = aiImgInfoDic[skuInfo.productSkuSpecList[0].specId.ParseToString()];
|
||||
else
|
||||
{
|
||||
var aiSkuImgLst = DouBaoImgCefForm.GetSkuImgList(prodInfo.productId.ParseToString(), skuInfo.productSkuSpecList[0].specId.ParseToString());
|
||||
string productId = prodInfo.productId.ParseToString();
|
||||
string specId = skuInfo.productSkuSpecList[0].specId.ParseToString();
|
||||
var aiSkuImgLst = DouBaoImgCefForm.GetSkuImgList(productId, specId, 5, true);
|
||||
if (aiSkuImgLst.Count > 0)
|
||||
{
|
||||
aiImgInfoList.AddRange(aiSkuImgLst);
|
||||
@@ -2201,13 +2310,19 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传自定义图片
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="productDraftId"></param>
|
||||
/// <returns></returns>
|
||||
string GetCustomImg(ShopLoginInfo shop, string productDraftId)
|
||||
{
|
||||
var sImgPath = this.lstCustomImg[Randomx.GetId(lstCustomImg.Count)];
|
||||
if (dicCustomImg.Keys.Contains(sImgPath))
|
||||
return dicCustomImg[sImgPath];
|
||||
|
||||
var md5CheckRst = CheckImgMd5(shop, productDraftId, "", BaseClass.GetFileMd5(sImgPath));
|
||||
var md5CheckRst = CheckImgMd5(shop, productDraftId, BaseClass.GetFileMd5(sImgPath));
|
||||
if (!md5CheckRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref md5CheckRst, "errorMsg");
|
||||
@@ -2215,12 +2330,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
error = BaseRegex.GetStringJson(ref md5CheckRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败 " + error + "\"}";
|
||||
"\"errMsg\":\"草稿箱上传失败,初始化图片上传失败 " + error + "\"}";
|
||||
}
|
||||
var materialId = BaseRegex.GetStringJson(ref md5CheckRst, "id");
|
||||
if (string.IsNullOrEmpty(materialId))
|
||||
{
|
||||
var imgUpSignRst = GetImgUpSign(shop, productDraftId);
|
||||
var imgUpSignRst = GetUploadSign(shop, productDraftId);
|
||||
string signature = BaseRegex.GetStringJson(ref imgUpSignRst, "signature");
|
||||
if (string.IsNullOrEmpty(signature))
|
||||
{
|
||||
@@ -2234,7 +2349,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
var uploadImgRst = UploadImage(shop, productDraftId, sImgPath, signature);
|
||||
var imgUrl = BaseRegex.GetStringJson(ref uploadImgRst, "url");
|
||||
|
||||
if (string.IsNullOrEmpty(signature))
|
||||
if (string.IsNullOrEmpty(imgUrl))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref uploadImgRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
@@ -2251,7 +2366,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
var existImgRst = this.GetExistImg(shop, productDraftId, materialId);
|
||||
string imgUrl = BaseRegex.GetStringJson(ref existImgRst, "imgUrl");
|
||||
if (string.IsNullOrEmpty(materialId))
|
||||
if (string.IsNullOrEmpty(imgUrl))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref existImgRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
@@ -2266,6 +2381,147 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传外包装图片
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="productDraftId"></param>
|
||||
/// <param name="sImgPath"></param>
|
||||
/// <returns></returns>
|
||||
string UploadOuterPackageImg(ShopLoginInfo shop, string productDraftId, string sImgPath)
|
||||
{
|
||||
var imgUpSignRst = GetUploadSign(shop, productDraftId, "product-material-private-tag");
|
||||
string signature = BaseRegex.GetStringJson(ref imgUpSignRst, "signature");
|
||||
if (string.IsNullOrEmpty(signature))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref imgUpSignRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref imgUpSignRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,获取图片上传signature失败 " + error + "\"}";
|
||||
}
|
||||
var uploadImgRst = UploadImage(shop, productDraftId, sImgPath, signature, "product-material-private-tag");
|
||||
var imgUrl = BaseRegex.GetStringJson(ref uploadImgRst, "url");
|
||||
|
||||
if (string.IsNullOrEmpty(imgUrl))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref uploadImgRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref uploadImgRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,上传图片失败 " + error + "\"}";
|
||||
}
|
||||
|
||||
return imgUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传主图视频
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="productDraftId"></param>
|
||||
/// <param name="sVideoPath"></param>
|
||||
/// <returns></returns>
|
||||
string UploadMainVideo(ShopLoginInfo shop, string productDraftId, string sVideoPath)
|
||||
{
|
||||
var fileMd5 = BaseClass.GetFileMd5(sVideoPath).ToLower();
|
||||
var md5CheckRst = CheckImgMd5(shop, productDraftId, fileMd5, 0);
|
||||
if (!md5CheckRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref md5CheckRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref md5CheckRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,初始化视频上传失败 " + error + "\"}";
|
||||
}
|
||||
var videoId = BaseRegex.GetStringJson(ref md5CheckRst, "id");
|
||||
if (string.IsNullOrEmpty(videoId))
|
||||
{
|
||||
if (sVideoPath == null)
|
||||
sVideoPath = "";
|
||||
string fileName = sVideoPath.Split('\\').LastOrDefault();
|
||||
var createMRst = CreateMaterial(shop, productDraftId, fileName, fileMd5);
|
||||
if (!createMRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref createMRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref createMRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,新建上传视频失败 " + error + "\"}";
|
||||
}
|
||||
videoId = BaseRegex.GetStringJson(ref createMRst, "id");
|
||||
|
||||
var imgUpSignRst = GetUploadSign(shop, productDraftId, "goods-video-tag");
|
||||
string signature = BaseRegex.GetStringJson(ref imgUpSignRst, "signature");
|
||||
if (string.IsNullOrEmpty(signature))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref imgUpSignRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref imgUpSignRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,获取视频上传签名失败 " + error + "\"}";
|
||||
}
|
||||
var uploadImgRst = UploadFile(shop, productDraftId, sVideoPath, signature, fileMd5);
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
var videoBaseUrl = BaseRegex.GetStringJson(ref uploadImgRst, "url");
|
||||
if (string.IsNullOrEmpty(videoBaseUrl))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref videoBaseUrl, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref videoBaseUrl, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,视频文件上传失败 " + error + "\"}";
|
||||
}
|
||||
|
||||
var editVideoRst = EditMaterial(shop, productDraftId, videoId, videoBaseUrl, fileName.Split('.').FirstOrDefault().ParseToString());
|
||||
if (!editVideoRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref editVideoRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref editVideoRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,编辑上传视频失败 " + error + "\"}";
|
||||
}
|
||||
}
|
||||
var videoUrl = "";
|
||||
var vId = "";
|
||||
var videoCover = "";
|
||||
for (int i = 0; i < 20; i++)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
var existVideoRst = GetExistVideo(shop, productDraftId, videoId);
|
||||
if (!existVideoRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref existVideoRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = BaseRegex.GetStringJson(ref existVideoRst, "error_msg");
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,获取上传视频结果失败 " + error + "\"}";
|
||||
}
|
||||
|
||||
videoUrl = BaseRegex.GetStringJson(ref existVideoRst, "destMaterialUrl");
|
||||
vId = BaseRegex.GetStringJson(ref existVideoRst, "vid");
|
||||
videoCover = BaseRegex.GetStringJson(ref existVideoRst, "firstImageUrl");
|
||||
if (!string.IsNullOrEmpty(videoUrl) && !string.IsNullOrEmpty(vId) && !string.IsNullOrEmpty(videoCover))
|
||||
break;
|
||||
}
|
||||
if (string.IsNullOrEmpty(videoUrl) || string.IsNullOrEmpty(vId))
|
||||
{
|
||||
return "{\"success\":false,\"status\":\"未上传\"," +
|
||||
"\"productDraftId\":\"" + productDraftId + "\"," +
|
||||
"\"errMsg\":\"草稿箱上传失败,获取上传视频结果失败\"}";
|
||||
}
|
||||
return "{\"url\":\"" + videoUrl + "\",\"vid\":\"" + vId + "\",\"cover\":\"" + videoCover + "\"}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传主图或sku等的Ai图片
|
||||
/// </summary>
|
||||
@@ -2276,7 +2532,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
/// <returns></returns>
|
||||
string UploadAiSkuImg(ShopLoginInfo shop, string productDraftId, string imgBase64, string imgMd5)
|
||||
{
|
||||
var md5CheckRst = CheckImgMd5(shop, productDraftId, "", imgMd5);
|
||||
var md5CheckRst = CheckImgMd5(shop, productDraftId, imgMd5.ToLower());
|
||||
if (!md5CheckRst.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref md5CheckRst, "errorMsg");
|
||||
@@ -2289,7 +2545,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
var materialId = BaseRegex.GetStringJson(ref md5CheckRst, "id");
|
||||
if (string.IsNullOrEmpty(materialId))
|
||||
{
|
||||
var imgUpSignRst = GetImgUpSign(shop, productDraftId);
|
||||
var imgUpSignRst = GetUploadSign(shop, productDraftId);
|
||||
string signature = BaseRegex.GetStringJson(ref imgUpSignRst, "signature");
|
||||
if (string.IsNullOrEmpty(signature))
|
||||
{
|
||||
@@ -2335,7 +2591,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
var uploadImgRst = UploadImage(shop, productDraftId, sImgPath, signature);
|
||||
var imgUrl = BaseRegex.GetStringJson(ref uploadImgRst, "url");
|
||||
|
||||
if (string.IsNullOrEmpty(signature))
|
||||
if (string.IsNullOrEmpty(imgUrl))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref uploadImgRst, "errorMsg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
@@ -2364,6 +2620,23 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
}
|
||||
}
|
||||
|
||||
private string CreateMaterial(ShopLoginInfo shop, string draftId, string materialName, string materialMd5)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/phoenix-mms/material/create";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
string body = @"{""folderId"":0,""createDetailList"":[{""materialType"":0,""materialMd5"":""" + materialMd5 + @""",""materialName"":""" +
|
||||
materialName + @"""}]}";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
private string EditMaterial(ShopLoginInfo shop, string draftId, string materialId, string materialUrl, string materialName)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/phoenix-mms/material/edit";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
string body = @"{""id"":" + materialId + @",""url"":""" + materialUrl + @""",""materialName"":""" + materialName +
|
||||
@""",""uploadStatus"":1,""materialType"":0}";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string AddDraft(ShopLoginInfo shop, string catId)
|
||||
{
|
||||
//string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/add";
|
||||
@@ -2374,6 +2647,14 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetCatPathList(ShopLoginInfo shop, string draftId, string catId)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/anniston-agent-seller/category/path/list";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
string body = @"{""catIds"":[" + catId + @"],""showCatEnName"":true}";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string CreateSizeSpec(ShopLoginInfo shop, string draftId, TemuSizeSpecParam sizeParam)
|
||||
{
|
||||
//string url = "https://seller.kuajingmaihuo.com/bg-anniston-mms/sizespec/createSizeSpec";
|
||||
@@ -2434,10 +2715,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string CheckImgMd5(ShopLoginInfo shop, string draftId, string parentSpecId, string fileMd5)
|
||||
private string CheckImgMd5(ShopLoginInfo shop, string draftId, string fileMd5, int materialType = 1) // 1图片 0视频
|
||||
{
|
||||
string url = "https://agentseller.temu.com/phoenix-mms/material/queryByMd5";
|
||||
string body = @"{""materialType"":1,""md5IdList"":[""" + fileMd5 + @"""]}";
|
||||
string body = @"{""materialType"":" + materialType + @",""md5IdList"":[""" + fileMd5 + @"""]}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
@@ -2454,29 +2735,47 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
""materialIdList"":[" + materialId + @"],""folderId"":0,""minMaterialHeight"":800,""minMaterialWidth"":800,""maxMaterialSize"":2097152,
|
||||
""proportion"":""1:1"",""proportionList"":[""1:1""],""badTagList"":[""ZH_HANS""]}";
|
||||
|
||||
body = "{\"pageInfo\":{\"pageNo\":1,\"pageSize\":50},\"uploadStatusList\":[3],\"materialIdList\":[250822757735044],\"folderId\":0,\"minMaterialHeight\":800,\"minMaterialWidth\":800,\"maxMaterialSize\":2097152,\"proportion\":\"1:1\",\"proportionList\":[\"1:1\"],\"badTagList\":[\"ZH_HANS\"]}";
|
||||
//body = "{\"pageInfo\":{\"pageNo\":1,\"pageSize\":50},\"uploadStatusList\":[3],\"materialIdList\":[250822757735044],\"folderId\":0,\"minMaterialHeight\":800,\"minMaterialWidth\":800,\"maxMaterialSize\":2097152,\"proportion\":\"1:1\",\"proportionList\":[\"1:1\"],\"badTagList\":[\"ZH_HANS\"]}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetImgUpSign(ShopLoginInfo shop, string draftId)
|
||||
private string GetExistVideo(ShopLoginInfo shop, string draftId, string materialId)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/general_auth/get_signature?sdk_version=js-0.0.49&tag_name=product-material-tag&scene_id=agent-seller";
|
||||
string body = @"{""bucket_tag"":""product-material-tag""}";
|
||||
string url = "https://agentseller.temu.com/phoenix-mms/material/pageQuery";
|
||||
string body = @"{""pageInfo"":{""pageNo"":1,""pageSize"":1},""videoIdList"":[" + materialId + @"]}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="draftId"></param>
|
||||
/// <param name="bucket_tag">product-material-tag 商品图片; product-material-private-tag 商品包装图</param>
|
||||
/// <returns></returns>
|
||||
private string GetUploadSign(ShopLoginInfo shop, string draftId, string bucket_tag = "product-material-tag")
|
||||
{
|
||||
string url = "https://agentseller.temu.com/general_auth/get_signature?sdk_version=js-0.0.49&tag_name=" + bucket_tag + "&scene_id=agent-seller";
|
||||
string body = @"{""bucket_tag"":""" + bucket_tag + @"""}";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
if (bucket_tag == "product-material-private-tag" || bucket_tag == "goods-video-tag")
|
||||
refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string UploadImage(ShopLoginInfo shop, string draftId, string fileFullName, string uploadSign)
|
||||
private string UploadImage(ShopLoginInfo shop, string draftId, string fileFullName, string uploadSign, string tag_name = "product-material-tag")
|
||||
{
|
||||
if (fileFullName == null)
|
||||
fileFullName = "";
|
||||
string fileName = fileFullName.Split('\\').LastOrDefault();
|
||||
string url = "https://agentseller.temu.com/api/galerie/v3/store_image?sdk_version=js-0.0.49&tag_name=product-material-tag";
|
||||
string url = "https://agentseller.temu.com/api/galerie/v3/store_image?sdk_version=js-0.0.49&tag_name=" + tag_name;
|
||||
string boundary = "----WebKitFormBoundarybJAaZCwJYanqPxhq";
|
||||
string body = @"------WebKitFormBoundarybJAaZCwJYanqPxhq
|
||||
Content-Disposition: form-data; name=""url_width_height""
|
||||
@@ -2495,10 +2794,49 @@ Content-Disposition: form-data; name=""upload_sign""
|
||||
";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
if (tag_name == "product-material-private-tag")
|
||||
refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
|
||||
return HttpResponseBLL.PostResponseUpload(shop, url, body, refere, boundary);
|
||||
}
|
||||
|
||||
private string UploadFile(ShopLoginInfo shop, string draftId, string fileFullName, string uploadSign, string fileMd5, string tag_name = "goods-video-tag")
|
||||
{
|
||||
string abc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
||||
string boundaryRandom = "";
|
||||
while (boundaryRandom.Length < 16)
|
||||
boundaryRandom += abc[Randomx.GetId(abc.Length)];
|
||||
if (fileFullName == null)
|
||||
fileFullName = "";
|
||||
string fileName = fileFullName.Split('\\').LastOrDefault();
|
||||
string url = "https://agentseller.temu.com/api/galerie/v1/store_video?sdk_version=js-0.0.49&tag_name=" + tag_name;
|
||||
string boundary = "----WebKitFormBoundaryeZuqpVO6jYOF5Y6S";
|
||||
//boundary = "----WebKitFormBoundary" + boundaryRandom;
|
||||
string body = @"--" + boundary + @"
|
||||
Content-Disposition: form-data; name=""file""; filename=""" + fileName + @"""
|
||||
Content-Type: video/mp4
|
||||
|
||||
<!>" + fileFullName + @"<!>
|
||||
--" + boundary + @"
|
||||
Content-Disposition: form-data; name=""create_media""
|
||||
|
||||
true
|
||||
--" + boundary + @"
|
||||
Content-Disposition: form-data; name=""content_md5""
|
||||
|
||||
" + fileMd5 + @"
|
||||
--" + boundary + @"
|
||||
Content-Disposition: form-data; name=""sign""
|
||||
|
||||
" + uploadSign + @"
|
||||
--" + boundary + @"--
|
||||
";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=8873526416&from=productDraftList";
|
||||
|
||||
var result = HttpResponseBLL.PostResponseUpload(shop, url, body, refere, boundary);
|
||||
return result;
|
||||
}
|
||||
|
||||
private string translate(ShopLoginInfo shop, string text)
|
||||
{
|
||||
string url = "https://fanyi.baidu.com/ait/text/translate";
|
||||
|
||||
@@ -141,6 +141,9 @@
|
||||
<metadata name="colCopyCookies.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProdGetType.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSpuId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
+41
-38
@@ -39,6 +39,7 @@
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductThirdSelectListManageForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
@@ -1475,6 +1476,8 @@
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
@@ -1548,8 +1551,8 @@
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
@@ -1557,8 +1560,8 @@
|
||||
//
|
||||
// colProductCat
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colProductCat.HeaderText = "商品类目";
|
||||
this.colProductCat.Name = "colProductCat";
|
||||
this.colProductCat.ReadOnly = true;
|
||||
@@ -1591,8 +1594,8 @@
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.colAddTime.HeaderText = "添加时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
@@ -1600,8 +1603,8 @@
|
||||
//
|
||||
// colMdyTime
|
||||
//
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.colMdyTime.HeaderText = "上传时间";
|
||||
this.colMdyTime.Name = "colMdyTime";
|
||||
this.colMdyTime.ReadOnly = true;
|
||||
@@ -1616,8 +1619,8 @@
|
||||
//
|
||||
// colSubSaNick
|
||||
//
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.colSubSaNick.HeaderText = "二级超管";
|
||||
this.colSubSaNick.Name = "colSubSaNick";
|
||||
this.colSubSaNick.ReadOnly = true;
|
||||
@@ -1632,8 +1635,8 @@
|
||||
//
|
||||
// colNotes
|
||||
//
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colNotes.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colNotes.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.colNotes.HeaderText = "备注";
|
||||
this.colNotes.Name = "colNotes";
|
||||
this.colNotes.ReadOnly = true;
|
||||
@@ -1783,32 +1786,6 @@
|
||||
private System.Windows.Forms.ComboBox cmbNotes;
|
||||
private System.Windows.Forms.ComboBox cmbStatus;
|
||||
private DevComponents.DotNetBar.PanelEx btnDel;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colInShop;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLogin;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colImportCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSpuId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSkcId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductName;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colProductCat;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDraftId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserNotes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEditNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
|
||||
private DevComponents.DotNetBar.PanelEx btnExport;
|
||||
private DevComponents.DotNetBar.PanelEx btnStop;
|
||||
private System.Windows.Forms.Label label21;
|
||||
@@ -1846,5 +1823,31 @@
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colToPorductPage;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colToDraftPage;
|
||||
private UserComponent.UcCheckBox chkSkuRandomLetter;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colInShop;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colLogin;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colImportCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSpuId;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colSkcId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductName;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colProductCat;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDraftId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserNotes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEditNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
|
||||
}
|
||||
}
|
||||
@@ -975,11 +975,13 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
prodParam.productCarouseVideoReqList = JsonHelper.DeserializeJsonToList<productCarouseVideoReqItem>(carouseVideoVOList);
|
||||
if (prodParam.productCarouseVideoReqList == null)
|
||||
prodParam.productCarouseVideoReqList = new List<productCarouseVideoReqItem>();
|
||||
//此处打开商品编辑详情无法获取到,如何查询存疑
|
||||
//此处打开商品编辑详情无法获取到,如何查询存疑,暂时手动填写
|
||||
prodParam.productComplianceStatementReq = new ProductComplianceStatementReq
|
||||
{
|
||||
protocolVersion = "V1.0",
|
||||
protocolUrl = "https://bdl.cdnfe.com/upload_bdl/seller-protocol/00f56a69-7bee-4768-8cef-e1682ffd58e3.html",
|
||||
//protocolVersion = "V1.0",
|
||||
//protocolUrl = "https://bdl.cdnfe.com/upload_bdl/seller-protocol/00f56a69-7bee-4768-8cef-e1682ffd58e3.html",
|
||||
protocolVersion = "V2.0",
|
||||
protocolUrl = "https://dl.kwcdn.com/seller-public-file-us-tag/2079f603b6/56888d17d8166a6700c9f3e82972e813.html",
|
||||
};
|
||||
prodParam.productDetailVideoReqList = prodInfo.detailVideoVOList;
|
||||
prodParam.productGuideFileI18nReqs = prodInfo.productGuideFileI18nList;
|
||||
|
||||
@@ -83,6 +83,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
{
|
||||
endTime = this.dtpEndDate.Value.Date.AddDays(1);
|
||||
startTime = endTime.AddMonths(-1);
|
||||
startTime = endTime.AddDays(-20);
|
||||
}
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
var t = Task.Run(() =>
|
||||
@@ -430,7 +431,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
string postData = JsonHelper.SerializeObject(packageParam);
|
||||
//634418210534062 测试店铺
|
||||
html = ReturnPackagePostResponse(shop, url2, postData, referer2, timestamp.ParseToString(), sign);
|
||||
Thread.Sleep(Randomx.GetId(60));
|
||||
Thread.Sleep(Randomx.GetId(150));
|
||||
string rst = "";
|
||||
if (html.Contains("\"code\":200"))
|
||||
{
|
||||
|
||||
+21
-6
@@ -115,27 +115,42 @@ namespace TemuKJD
|
||||
ReturnPackageDetailForm retrunPackageForm = new ReturnPackageDetailForm(null);
|
||||
retrunPackageForm.Show();
|
||||
retrunPackageForm.Hide();
|
||||
Dictionary<ShopLoginInfo, string> dicUpReturn = new Dictionary<ShopLoginInfo, string>();
|
||||
Dictionary<string, string> dicGetReturnPackDate = NaiBa.Util.Helper.ConfigHelper.LoadConfig<Dictionary<string, string>>("get_return_package_date");
|
||||
if (dicGetReturnPackDate == null)
|
||||
dicGetReturnPackDate = new Dictionary<string, string>();
|
||||
|
||||
while (true)
|
||||
{
|
||||
#if DEBUG
|
||||
#else
|
||||
//#if DEBUG
|
||||
//#else
|
||||
var url = BaseClass.BuildObjString("user/is_get_return_package");
|
||||
var data = Work.UserLogin.GetSignaturex();
|
||||
|
||||
int r2 = DateTime.Now.Millisecond;
|
||||
data += "&r2=" + r2;
|
||||
data += "&c2=" + Work.UserLogin.Encryption(r2);
|
||||
string rstHtml = GetHtml.PostUtf8(url, data);
|
||||
var isGet = BaseRegex.GetStringJson(ref rstHtml, "is_get").ParseToBool();
|
||||
|
||||
foreach (var shop in GlobalConfig.ShopLoginList)
|
||||
{
|
||||
if (!isGet)
|
||||
break;
|
||||
|
||||
if (string.IsNullOrEmpty(shop.ShopId))
|
||||
continue;
|
||||
|
||||
if (dicUpReturn.Keys.Contains(shop) && dicUpReturn[shop] == DateTime.Now.ToString("yyyyMMdd")) //今日已获取过
|
||||
if (dicGetReturnPackDate.Keys.Contains(shop.ShopId) && dicGetReturnPackDate[shop.ShopId] == DateTime.Now.ToString("yyyyMMdd")) //今日已获取过
|
||||
continue;
|
||||
|
||||
var rst = retrunPackageForm.GetReturnPackage(shop, true); // 后台读取退货信息
|
||||
if (rst == false && shop.LoginStatus == "登录成功" && shop.LoginStatus2 == "国际版在线")
|
||||
{
|
||||
dicUpReturn[shop] = DateTime.Now.ToString("yyyyMMdd");
|
||||
dicGetReturnPackDate[shop.ShopId] = DateTime.Now.ToString("yyyyMMdd");
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig<Dictionary<string, string>>("get_return_package_date", dicGetReturnPackDate);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
//#endif
|
||||
#if DEBUG
|
||||
for (int i = 0; i < 360; i++)
|
||||
{
|
||||
|
||||
@@ -197,12 +197,17 @@ namespace TemuKJD.ToolForms
|
||||
}
|
||||
|
||||
|
||||
public static List<AiSkuImgInfo> GetSkuImgList(string prodId, string specId)
|
||||
public static List<AiSkuImgInfo> GetSkuImgList(string prodId, string specId, int pageSize = 50, bool isRandom = false)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("product/get_sku_image_list");
|
||||
var data = UserLogin.GetSignaturex();
|
||||
data += "&search_product_id=" + prodId;
|
||||
data += "&search_spec_id=" + specId;
|
||||
data += "&page_size=" + pageSize;
|
||||
if (isRandom)
|
||||
{
|
||||
data += "&is_random=true";
|
||||
}
|
||||
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
|
||||
Reference in new issue
Block a user