diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index 5c37c50..033d01b 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -286,7 +286,10 @@ + + + diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index d4d3c0d..78187d3 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1006; + public static int VersionCount = 1009; //public static int VersionCount = 613; /// diff --git a/AllBase/Model/Result/PDDResult/PddBuyerOrderInfoLite.cs b/AllBase/Model/Result/PDDResult/PddBuyerOrderInfoLite.cs index 5a0a472..cad1f9d 100644 --- a/AllBase/Model/Result/PDDResult/PddBuyerOrderInfoLite.cs +++ b/AllBase/Model/Result/PDDResult/PddBuyerOrderInfoLite.cs @@ -60,7 +60,10 @@ namespace AllBase.Model.Result.PDDResult } } public string sendStatus { get; set; } = ""; - //public string refundStatus { get; set; } = ""; + /// + /// 微信退款单状态 + /// + public string wxRefundStatus { get; set; } = ""; public string buyerId { get; set; } // 买手Id public string buyerName { get; set; } // 买手名称 diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index 08a1d57..f667b4a 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -200,6 +200,19 @@ namespace AllBase.Model.Result public DateTime? jit_expire_time { get; set; } + /// + /// 过期时间戳,单位秒 + /// + public int? expire_time { get; set; } + + public bool is_shop_expire + { + get + { + return BaseClass.UserAuthority.Contains("积分用户") && BaseClass.DateTimeToTimestampSeconds(DateTime.Now) > expire_time.ParseToInt(); + } + } + public string CurrentProdId { get; set; } } @@ -266,6 +279,10 @@ namespace AllBase.Model.Result /// 用户(JIT推单)授权金额 /// public decimal? authorized_amount { get; set; } + /// + /// 店铺积分 + /// + public int points { get; set; } } public class ShopSubAccountInfo : SubAccountInfo diff --git a/AllBase/Model/Result/TemuProductResult.cs b/AllBase/Model/Result/TemuProductResult.cs deleted file mode 100644 index 93865d3..0000000 --- a/AllBase/Model/Result/TemuProductResult.cs +++ /dev/null @@ -1,1309 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace AllBase.Model.AutoResult -{ - public class Cat1 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// 服装、鞋靴和珠宝饰品 - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat2 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// 女士时尚 - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat3 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// 女士饰品 - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat4 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// 女士项链 - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat5 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// 女士时尚吊坠项链 - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat6 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat7 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat8 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat9 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Cat10 - { - /// - /// - /// - public long? catId { get; set; } - /// - /// - /// - public object catName { get; set; } - /// - /// - /// - public object catEnName { get; set; } - /// - /// - /// - public object catType { get; set; } - } - - public class Categories - { - /// - /// - /// - public Cat1 cat1 { get; set; } - /// - /// - /// - public Cat2 cat2 { get; set; } - /// - /// - /// - public Cat3 cat3 { get; set; } - /// - /// - /// - public Cat4 cat4 { get; set; } - /// - /// - /// - public Cat5 cat5 { get; set; } - /// - /// - /// - public Cat6 cat6 { get; set; } - /// - /// - /// - public Cat7 cat7 { get; set; } - /// - /// - /// - public Cat8 cat8 { get; set; } - /// - /// - /// - public Cat9 cat9 { get; set; } - /// - /// - /// - public Cat10 cat10 { get; set; } - /// - /// - /// - public long? catType { get; set; } - } - - public class OuterPackageImagesItem - { - /// - /// - /// - public object imageUrl { get; set; } - /// - /// - /// - public object signedImageUrl { get; set; } - } - - public class ProductPropertyListItem - { - /// - /// - /// - public long? templatePid { get; set; } - /// - /// - /// - public long? pid { get; set; } - /// - /// - /// - public long? refPid { get; set; } - /// - /// 风格 - /// - public object propName { get; set; } - /// - /// - /// - public long? vid { get; set; } - /// - /// 优雅 - /// - public object propValue { get; set; } - /// - /// - /// - public object valueUnit { get; set; } - /// - /// - /// - public object valueExtendInfo { get; set; } - /// - /// - /// - public object numberInputValue { get; set; } - } - - public class ProductFragileLabelAttr - { - /// - /// - /// - public object isFragile { get; set; } - } - - public class ProductOuterPackage - { - /// - /// - /// - public long? packageShape { get; set; } - /// - /// - /// - public long? packageType { get; set; } - } - - public class ProductOrigin - { - /// - /// - /// - public object countryShortName { get; set; } - /// - /// - /// - public object countryName { get; set; } - /// - /// - /// - public long? region2Id { get; set; } - } - - public class NewProductCatMisplace - { - /// - /// - /// - public object matchMisplace { get; set; } - /// - /// - /// - public List recCategoriesList { get; set; } - /// - /// - /// - public object feedback { get; set; } - } - - public class ProductWhExtAttr - { - /// - /// - /// - public object outerGoodsUrl { get; set; } - /// - /// - /// - public object productCatConfig { get; set; } - /// - /// - /// - public ProductFragileLabelAttr productFragileLabelAttr { get; set; } - /// - /// - /// - public List sensitiveTransNormalFiles { get; set; } - /// - /// - /// - public ProductOuterPackage productOuterPackage { get; set; } - /// - /// - /// - public ProductOrigin productOrigin { get; set; } - /// - /// - /// - public List productOriginCertFiles { get; set; } - /// - /// - /// - public object copyFromProductId { get; set; } - /// - /// - /// - public object personalizationSwitch { get; set; } - /// - /// - /// - public NewProductCatMisplace newProductCatMisplace { get; set; } - /// - /// - /// - public object semiManagedSiteMode { get; set; } - } - - public class ProductLocalExtAttr - { - /// - /// - /// - public List materialMultiLanguages { get; set; } - } - - public class ProductSaleExtAttr - { - /// - /// - /// - public object bodyShape { get; set; } - /// - /// - /// - public object inventoryRegion { get; set; } - /// - /// - /// - public object isManorGift { get; set; } - /// - /// - /// - public object productSemiManaged { get; set; } - /// - /// - /// - public object productShipment { get; set; } - /// - /// - /// - public object productCustomizationTechnology { get; set; } - /// - /// - /// - public object productAssembleInfo { get; set; } - /// - /// - /// - public object productNoCharger { get; set; } - /// - /// - /// - public object productSecondHand { get; set; } - } - - public class CosmeticInfoVO - { - /// - /// - /// - public object propertyInfoList { get; set; } - } - - public class California65WarningInfoVO - { - /// - /// - /// - public object california65WarningType { get; set; } - /// - /// - /// - public object california65ChemicalNames { get; set; } - } - - public class ProductNonAuditExtAttr - { - /// - /// - /// - public CosmeticInfoVO cosmeticInfoVO { get; set; } - /// - /// - /// - public object productCatManagement { get; set; } - /// - /// - /// - public California65WarningInfoVO california65WarningInfoVO { get; set; } - } - - public class ProductSkcSpecListItem - { - /// - /// - /// - public long? parentSpecId { get; set; } - /// - /// - /// - public object parentSpecName { get; set; } - /// - /// - /// - public long? specId { get; set; } - /// - /// - /// - public object specName { get; set; } - /// - /// - /// - public object unitSpecName { get; set; } - } - - public class ProductSkcImageExtListItem - { - /// - /// - /// - public object imgUrl { get; set; } - /// - /// - /// - public long? imgTag { get; set; } - /// - /// - /// - public object isOcr { get; set; } - } - - public class ProductSkcImageProcessExtVOListItem - { - /// - /// - /// - public object imgUrl { get; set; } - /// - /// - /// - public long? imgTag { get; set; } - /// - /// - /// - public object isOcr { get; set; } - } - - public class ProductSkcWhExtAttr - { - /// - /// - /// - public long? isBasePlate { get; set; } - } - - public class ProductSkuSpecListItem - { - /// - /// - /// - public long? parentSpecId { get; set; } - /// - /// 颜色 - /// - public object parentSpecName { get; set; } - /// - /// - /// - public long? specId { get; set; } - /// - /// - /// - public object specName { get; set; } - /// - /// - /// - public object unitSpecName { get; set; } - } - - public class ProductSkuVolume - { - /// - /// - /// - public long? len { get; set; } - /// - /// - /// - public long? width { get; set; } - /// - /// - /// - public long? height { get; set; } - /// - /// - /// - public object inputLen { get; set; } - /// - /// - /// - public object inputWidth { get; set; } - /// - /// - /// - public object inputHeight { get; set; } - /// - /// - /// - public object inputUnit { get; set; } - } - - public class ProductSkuWeight - { - /// - /// - /// - public long? value { get; set; } - /// - /// - /// - public object inputValue { get; set; } - /// - /// - /// - public object inputUnit { get; set; } - } - - public class ProductSkuSensitiveAttr - { - /// - /// - /// - public long? isSensitive { get; set; } - /// - /// - /// - public List sensitiveTypes { get; set; } - /// - /// - /// - public List sensitiveList { get; set; } - /// - /// - /// - public object isForce2Normal { get; set; } - /// - /// - /// - public object force2NormalTypes { get; set; } - } - - public class ProductSkuSensitiveLimit - { - /// - /// - /// - public object maxBatteryCapacity { get; set; } - /// - /// - /// - public object maxLiquidCapacity { get; set; } - /// - /// - /// - public object maxKnifeLength { get; set; } - /// - /// - /// - public object maxBatteryCapacityHp { get; set; } - /// - /// - /// - public object maxLiquidCapacityHp { get; set; } - /// - /// - /// - public object maxKnifeLengthHp { get; set; } - /// - /// - /// - public object knifeTipAngle { get; set; } - } - - public class ProductSkuWhExtAttr - { - /// - /// - /// - public ProductSkuVolume productSkuVolume { get; set; } - /// - /// - /// - public ProductSkuWeight productSkuWeight { get; set; } - /// - /// - /// - public object productSkuVolumeLabel { get; set; } - /// - /// - /// - public object productSkuWmsVolume { get; set; } - /// - /// - /// - public object productSkuWmsWeight { get; set; } - /// - /// - /// - public object productSkuWmsVolumeLabel { get; set; } - /// - /// - /// - public List productSkuBarCodes { get; set; } - /// - /// - /// - public ProductSkuSensitiveAttr productSkuSensitiveAttr { get; set; } - /// - /// - /// - public ProductSkuSensitiveLimit productSkuSensitiveLimit { get; set; } - /// - /// - /// - public object productSkuFragileLabelAttr { get; set; } - /// - /// - /// - public object latestShippingModeEditRecord { get; set; } - /// - /// - /// - public object productSkuSameReference { get; set; } - } - - public class ProductSkuAccessories - { - /// - /// - /// - public List productSkuAccessories { get; set; } - } - - public class ProductSkuSaleExtAttr - { - /// - /// - /// - public object productSkuCustomizationTmpl { get; set; } - /// - /// - /// - public object productSkuShippingMode { get; set; } - /// - /// - /// - public ProductSkuAccessories productSkuAccessories { get; set; } - /// - /// - /// - public object productSkuIndividuallyPacked { get; set; } - /// - /// - /// - public ProductSkuNetContent productSkuNetContent { get; set; } - /// - /// - /// - public object productSkuStockDisplayOption { get; set; } - } - - public class ProductSkuSuggestedPrice - { - /// - /// - /// - public object suggestedPrice { get; set; } - /// - /// - /// - public object specialSuggestedPrice { get; set; } - /// - /// - /// - public object suggestedPriceCurrencyType { get; set; } - /// - /// - /// - public object suggestedPriceProveFiles { get; set; } - } - - public class ProductSkuUsSuggestedPrice - { - /// - /// - /// - public object suggestedPrice { get; set; } - /// - /// - /// - public object specialSuggestedPrice { get; set; } - /// - /// - /// - public object suggestedPriceCurrencyType { get; set; } - /// - /// - /// - public object suggestedPriceProveFiles { get; set; } - } - - public class ProductSkuNetContent - { - /// - /// - /// - public object netContentNumber { get; set; } - /// - /// - /// - public object netContentUnitCode { get; set; } - } - - public class ProductSkuMultiPack - { - /// - /// - /// - public long? skuClassification { get; set; } - /// - /// - /// - public long? numberOfPieces { get; set; } - /// - /// - /// - public long? pieceUnitCode { get; set; } - /// - /// - /// - public object individuallyPacked { get; set; } - /// - /// - /// - public ProductSkuNetContent productSkuNetContent { get; set; } - } - - public class ProductSkuImageProcessExtVOListItem - { - /// - /// - /// - public object imgUrl { get; set; } - /// - /// - /// - public long? imgTag { get; set; } - /// - /// - /// - public object isOcr { get; set; } - } - - public class ProductSkuSensitiveApprove - { - /// - /// - /// - public long? productSkuId { get; set; } - /// - /// - /// - public object sensitiveCateProblem { get; set; } - /// - /// - /// - public object sensitiveLimitProblem { get; set; } - } - - public class ProductSkuListItem - { - /// - /// - /// - public long? productSkuId { get; set; } - /// - /// - /// - public object thumbUrl { get; set; } - /// - /// - /// - public List productSkuThumbUrlI18nVOList { get; set; } - /// - /// - /// - public List productSkuSpecList { get; set; } - /// - /// - /// - public object currencyType { get; set; } - /// - /// - /// - public long? supplierPrice { get; set; } - /// - /// - /// - public object siteSupplierPrices { get; set; } - /// - /// - /// - public object siteReferPriceList { get; set; } - /// - /// - /// - public object extCode { get; set; } - /// - /// - /// - public ProductSkuWhExtAttr productSkuWhExtAttr { get; set; } - /// - /// - /// - public ProductSkuSaleExtAttr productSkuSaleExtAttr { get; set; } - /// - /// - /// - public object productSkuNonAuditExtAttr { get; set; } - /// - /// - /// - public ProductSkuSuggestedPrice productSkuSuggestedPrice { get; set; } - /// - /// - /// - public ProductSkuUsSuggestedPrice productSkuUsSuggestedPrice { get; set; } - /// - /// - /// - public ProductSkuMultiPack productSkuMultiPack { get; set; } - /// - /// - /// - public List productSkuImageProcessExtVOList { get; set; } - /// - /// - /// - public object productSkuQuantity { get; set; } - /// - /// - /// - public ProductSkuSensitiveApprove productSkuSensitiveApprove { get; set; } - } - - public class ProductSkcListItem - { - /// - /// - /// - public long? productSkcId { get; set; } - /// - /// - /// - public object extCode { get; set; } - /// - /// - /// - public List productSkcSpecList { get; set; } - /// - /// - /// - public List previewImgUrls { get; set; } - /// - /// - /// - public List productSkcCarouselImageI18nVOList { get; set; } - /// - /// - /// - public object colorImageUrl { get; set; } - /// - /// - /// - public List productSkcImageExtList { get; set; } - /// - /// - /// - public List productSkcImageProcessExtVOList { get; set; } - /// - /// - /// - public ProductSkcWhExtAttr productSkcWhExtAttr { get; set; } - /// - /// - /// - public List productSkuList { get; set; } - /// - /// - /// - public long? skcStatus { get; set; } - /// - /// - /// - public object matchSelected { get; set; } - /// - /// - /// - public object bomId { get; set; } - } - - public class TextModuleDetails - { - /// - /// - /// - public object fontSize { get; set; } - /// - /// - /// - public object fontColor { get; set; } - /// - /// - /// - public object fontFamily { get; set; } - /// - /// - /// - public object align { get; set; } - /// - /// - /// - public object backgroundColor { get; set; } - } - - public class ContentListItem - { - /// - /// - /// - public object imgUrl { get; set; } - /// - /// - /// - public long? height { get; set; } - /// - /// - /// - public long? width { get; set; } - /// - /// - /// - public object text { get; set; } - /// - /// - /// - public TextModuleDetails textModuleDetails { get; set; } - } - - public class GoodsLayerDecorationVOListItem - { - /// - /// - /// - public object lang { get; set; } - /// - /// - /// - public long? floorId { get; set; } - /// - /// - /// - public object key { get; set; } - /// - /// - /// - public object type { get; set; } - /// - /// - /// - public long? priority { get; set; } - /// - /// - /// - public List contentList { get; set; } - } - - public class ProductImageProcessExtVOListItem - { - /// - /// - /// - public object imgUrl { get; set; } - /// - /// - /// - public long? imgTag { get; set; } - /// - /// - /// - public object isOcr { get; set; } - } - - public class TemuProductResult - { - /// - /// - /// - public Categories categories { get; set; } - /// - /// - /// - public long? supplierId { get; set; } - /// - /// - /// - public long? productId { get; set; } - /// - /// - /// - public long? goodsId { get; set; } - /// - /// 心形蛇链吊坠项链-送给她的完美结婚礼物,蛇骨链,时尚珠宝礼物,女士、青少年爱情项链,厚爱情项链吊坠,母亲节项链,爱心项链女式青少年厚实爱心项链吊坠母亲节项链,适合情人节、圣诞节、母亲节、周年纪念、生日、派对、感恩节、日常穿着,适合七个不同的搭配风格 - /// - public object productName { get; set; } - /// - /// - /// - public List productI18nList { get; set; } - /// - /// - /// - public List goodsI18nList { get; set; } - /// - /// - /// - public object editTaskSupportI18nLanguages { get; set; } - /// - /// - /// - public long? productType { get; set; } - /// - /// - /// - public long? sourceType { get; set; } - /// - /// - /// - public long? supplierSourceType { get; set; } - /// - /// - /// - public object temuSupplier { get; set; } - /// - /// - /// - public List mainParentSpecIds { get; set; } - /// - /// - /// - public object sizeTemplateId { get; set; } - /// - /// - /// - public object sizeTemplateIds { get; set; } - /// - /// - /// - public object showSizeTemplateIds { get; set; } - /// - /// - /// - public object imageLanguageList { get; set; } - /// - /// - /// - public List carouselImageUrls { get; set; } - /// - /// - /// - public List guideFilePageImages { get; set; } - /// - /// - /// - public List carouselImageI18nVOList { get; set; } - /// - /// - /// - public List carouseVideoVOList { get; set; } - /// - /// - /// - public List detailVideoVOList { get; set; } - /// - /// - /// - public object materialImgUrl { get; set; } - /// - /// - /// - public List outerPackageImages { get; set; } - /// - /// - /// - public object goodsModelList { get; set; } - /// - /// - /// - public List productPropertyList { get; set; } - /// - /// - /// - public List productSpecPropertyVOS { get; set; } - /// - /// - /// - public ProductWhExtAttr productWhExtAttr { get; set; } - /// - /// - /// - public ProductLocalExtAttr productLocalExtAttr { get; set; } - /// - /// - /// - public ProductSaleExtAttr productSaleExtAttr { get; set; } - /// - /// - /// - public ProductNonAuditExtAttr productNonAuditExtAttr { get; set; } - /// - /// - /// - public List productSkcList { get; set; } - /// - /// - /// - public List goodsAdvantageLabelVOList { get; set; } - /// - /// - /// - public List goodsLayerDecorationVOList { get; set; } - /// - /// - /// - public List goodsLayerDecorationCustomizeI18nVOList { get; set; } - /// - /// - /// - public List productGuideFileI18nList { get; set; } - /// - /// - /// - public List productGuideFileNewVOList { get; set; } - /// - /// - /// - public List productImageProcessExtVOList { get; set; } - /// - /// - /// - public long? productCreateTime { get; set; } - /// - /// - /// - public object productCategoryPredictList { get; set; } - /// - /// - /// - public object productAuditDraftVO { get; set; } - /// - /// - /// - public object 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 inProcessEditTaskList { get; set; } - } - -} diff --git a/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs new file mode 100644 index 0000000..d4084f2 --- /dev/null +++ b/AllBase/Model/Result/WXResult/WxOptimizeOrderAfterSaleInfo.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.WXResult +{ + public class WxOptimizeOrderAfterSaleInfo + { + public string shopId { get; set; } + public string shopName { get; set; } + + public AfterSaleOrderInfo orderInfo { get; set; } + public string reason { get; set; } // "生锈/弯曲变形/钝化不锋利" + + } + + public class AfterSaleOrderInfo + { + public string name { get; set; } // "短马尾假发女低扎梨花卷绑带式仿真长发蓬松慵懒新中式发饰假辫子", + public string skuName { get; set; } // "丝带慵懒感低马尾-短款30cm-棕黑色", + public string spuId { get; set; } // "10000723851835", + public string orderId { get; set; } // "3735828805942909440", + public string price { get; set; } // "2424", + public string createTime { get; set; } // "1775941648", + public int? productCnt { get; set; } // 1, + public string imgUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69b60bf70007c5d80d671bd6d9478e0b000000a100004f50", + public string skuCode { get; set; } // "2032028553182519297", + public string skuThumbUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69b60bf70007c5d80d671bd6d9478e0b000000a100004f50" + public string coverageBillOrder { get; set; } + } +} diff --git a/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs new file mode 100644 index 0000000..a6780d2 --- /dev/null +++ b/AllBase/Model/Result/WXResult/WxOptimizeOrderWayBillInfo.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.WXResult +{ + public class WxOptimizeOrderWayBillInfo + { + public WayBillOrderInfo orderInfo { get; set; } + public string waybillId { get; set; } // "JT4157662637789", + public string realPickupTime { get; set; } // "1776764623", + public string pickupDuration { get; set; } // "98460", + public WayBillDelivery delivery { get; set; } + public string payTime { get; set; } // "1776666163" + } + + public class WayBillDelivery + { + public string deliveryId { get; set; } // "JTSD", + public string deliveryName { get; set; } // "极兔速递", + public string imgUrl { get; set; } // "https://res.wx.qq.com/shop/public/c73723c2-efb3-4c5e-84e9-77b43c0ade05.pic.jpg" + + } + + public class WayBillOrderInfo + { + public string name { get; set; } // "短马尾假发女低扎梨花卷绑带式仿真长发蓬松慵懒新中式发饰假辫子", + public string skuName { get; set; } // "丝带慵懒感低马尾-短款30cm-棕黑色", + public string spuId { get; set; } // "10000723851835", + public string orderId { get; set; } // "3735828805942909440", + public string price { get; set; } // "2424", + public int? productCnt { get; set; } // 1, + public string imgUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69b60bf70007c5d80d671bd6d9478e0b000000a100004f50", + public string skuCode { get; set; } // "2032028553182519297", + public string skuThumbUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69b60bf70007c5d80d671bd6d9478e0b000000a100004f50" + + + } +} diff --git a/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs b/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs new file mode 100644 index 0000000..7905d5c --- /dev/null +++ b/AllBase/Model/Result/WXResult/WxOptimizeProductEvaluationInfo.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.WXResult +{ + public class WxOptimizeProductEvaluationInfo + { + public string productEvaluationId { get; set; } // "53890834526", + public OptimizeEvaluationInfo evaluationInfo { get; set; } + public EvaluationProductInfo productInfo { get; set; } + + public OperationInfo operationInfo { get; set; } + public ComplaintInfo complaint { get; set; } + public ReplyInfo replyInfo { get; set; } + } + + public class ReplyInfo + { + public bool? canReply { get; set; } // false, + public string replyWording { get; set; } // "发布已超过30天,不可回复", + public string replyClass { get; set; } // "" + + } + + public class ComplaintInfo + { + public int? isSupportComplaint { get; set; } // 1, + public int? complaintStatus { get; set; } // 0, + public string complaintUuid { get; set; } // "", + public string jumpUrl { get; set; } // "", + public int? complaintWordStatus { get; set; } // 2 + + } + + public class OperationInfo + { + public string evaluationWording { get; set; } // "一般", + public int? canReplyExpireTime { get; set; } // 1775879104, + public int? canReply { get; set; } // 1, + public int? attitudeType { get; set; } // 2, + public string attitudeName { get; set; } // "不够好" + + } + + public class EvaluationProductInfo + { + public string productId { get; set; } // "10000463687558", + public string skuId { get; set; } // "7315410466", + public string spuName { get; set; } // "巧克力味圆形小饼干整箱独立包装宿舍休闲小吃零食品", + public string skuName { get; set; } // "巧克力の小黑饼358克*1箱", + public string imgUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/689d3eec000ad249066bef109cb91715000000a100004f50" + + } + + public class OptimizeEvaluationInfo + { + public int? evaluationStar { get; set; } // 3 + public string buyerNickname { get; set; } // "远***", + public string buyerHeadimgurl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/6389af6b000f38e013f251a1b434b00b000000a100004f50", + public FirstEvaluationInfo firstEvaluationInfo { get; set; } + public OptimizeEvaluationBuyer buyer { get; set; } + public OptimizeEvaluationLike like { get; set; } + } + + public class OptimizeEvaluationLike + { + public string countDescription { get; set; } // "0" + } + + public class OptimizeEvaluationBuyer + { + public OptimizeEvaluationIdentity identity { get; set; } + } + + public class OptimizeEvaluationIdentity + { + public int? type { get; set; } // 1, + public string nickname { get; set; } // "远电", + public string headimgurl { get; set; } // "https://wx.qlogo.cn/mmhead/9M0PhLTmTIcaqokDrmVaeicynnnjic5H56wKCGxtPO3CfLyJTDAnhDjA" + + } + + public class FirstEvaluationInfo + { + public BuyerEvaluationInfo buyerEvaluationInfo { get; set; } + } + + public class BuyerEvaluationInfo + { + public string content { get; set; } // "前几天买了这个饼干,结果收到货是五片口香糖,电话咨询老板说寄错了,重新寄过来,又等几天到现在都没有消息!", + public int? createTime{get;set;} // 1773287104, + public int? isAnonymous { get; set; } // 1, + public List imgUrl { get; set; } // [ "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SZ/reserved/69b236b3000a233f38faea9a156aeaa0000000a000004f50" ], + public int? autoEvaluation { get; set; } // 0, + public AuditInfo auditInfo { get; set; } // { "status": 1 }, + public int? contentType { get; set; } // 0, + public string defaultContent { get; set; } // "" + } + + public class AuditInfo + { + public int? status { get; set; } // 1 + } +} diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs index 9153719..0ef9517 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs @@ -22,6 +22,12 @@ namespace KJD_Web.BLL.BXX { if (!string.IsNullOrEmpty(inputData)) { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'"); var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); int r2 = 0; @@ -50,7 +56,7 @@ namespace KJD_Web.BLL.BXX //obj1["redirect_uri"] = "http%3A%2F%2Fpo.e57.cn%2Flogin%3Fsource%3Dpdd_code"; obj1["redirect_uri"] = "http%3A%2F%2Fpo.e57.cn%2Flogin%3Fsource%3Dpdd_code_pixiu"; obj1["is_current"] = false; - jArr.Add(obj1); + //jArr.Add(obj1); JObject obj2 = new JObject(); obj2["describe"] = "小红椒商品管理"; @@ -262,7 +268,13 @@ namespace KJD_Web.BLL.BXX var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes"); var search_name = RegexUtils.GetStringQuery(ref inputData, "search_name"); var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); - var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", ""); + + // 特殊处理一下修复客户端店铺导入没有立即登录导致的cookie串的bug + //var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", ""); + var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids"); + if (shop_ids == "''") + shop_ids = "999999999999999"; + shop_ids = shop_ids?.Replace("'", ""); if (!string.IsNullOrWhiteSpace(shop_ids)) { List shopIdLst = shop_ids.Split(',').ToList(); @@ -763,7 +775,7 @@ namespace KJD_Web.BLL.BXX string shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); string mall_id = RegexUtils.GetStringQuery(ref inputData, "mall_id"); string shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); - string group_name = RegexUtils.GetStringQuery(ref inputData, "group_name"); + string group_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "group_name")); string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -818,14 +830,14 @@ namespace KJD_Web.BLL.BXX string login_name = RegexUtils.GetStringQuery(ref inputData, "login_name"); string login_pass = RegexUtils.GetStringQuery(ref inputData, "login_pass"); string sub_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_user_name")); - string cookie = RegexUtils.GetStringQuery(ref inputData, "cookie"); - string cookie2 = RegexUtils.GetStringQuery(ref inputData, "cookie2"); + //string cookie = RegexUtils.GetStringQuery(ref inputData, "cookie"); + //string cookie2 = RegexUtils.GetStringQuery(ref inputData, "cookie2"); string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents"); string new_shop_id = RegexUtils.GetStringQuery(ref inputData, "new_shop_id"); string old_shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); string mall_id = RegexUtils.GetStringQuery(ref inputData, "mall_id"); string shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); - string group_name = RegexUtils.GetStringQuery(ref inputData, "group_name"); + string group_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "group_name")); string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); string login_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "login_status")); @@ -846,10 +858,10 @@ namespace KJD_Web.BLL.BXX string sql = "update bxx.shop set"; if (login_pass != null) sql += " login_pass='" + login_pass + "',"; - if (cookie != null) - sql += " cookie='" + cookie + "',"; - if (cookie2 != null) - sql += " cookie2='" + cookie2 + "',"; + //if (cookie != null) + // sql += " cookie='" + cookie + "',"; + //if (cookie2 != null) + // sql += " cookie2='" + cookie2 + "',"; if (anti_contents != null) sql += " anti_contents='" + anti_contents + "',"; if (new_shop_id != null) @@ -929,7 +941,7 @@ namespace KJD_Web.BLL.BXX int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); - if (string.IsNullOrEmpty(login_name)) + if (string.IsNullOrWhiteSpace(login_name)) { return "{\"code\":500,\"msg\":\"店铺没有登录名\"}"; } diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs index 8e84e59..caa208a 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs @@ -96,12 +96,9 @@ namespace KJD_Web.BLL.WXXD } else { - sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.anti_contents,s.openid,s.shop_id,s.shop_account,s.sub_user_name," + - "s.user_name,s.company_name,s.notes,s.group_name,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month," + - "s.add_time,s.mdy_time,s.add_sub_sa_time,s.operate_sub_sa_name"; - //sql += " FROM wxxd.shop s WHERE 1=1"; - sql += " FROM wxxd.shop s LEFT JOIN wxxd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1"; - + sql = "SELECT s.*,se.expire_time‌ FROM wxxd.shop s" + + " LEFT JOIN wxxd.shop_expire se ON s.shop_id=se.shop_id" + + " WHERE 1=1"; sql += where; // where 子句 sql += " ORDER BY s.id DESC"; @@ -137,6 +134,7 @@ namespace KJD_Web.BLL.WXXD openid = row["openid"].ParseToString(), group_name = row["group_name"].ParseToString(), add_time = row["add_time"].IsNullOrEmpty() ? DateTime.MinValue : Convert.ToDateTime(row["add_time"]), + expire_time = row["expire_time"].IsNullOrEmpty() ? null : (int?)row["expire_time"].ParseToInt(), }; shopList.Add(shop); } diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs index 5538902..869ef45 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs @@ -1,5 +1,6 @@ using KJD_Web.Model; using KJD_Web.Utils; +using Mysqlx.Crud; using NaiBa.Util.Extension; using System; using System.Collections.Generic; @@ -8,16 +9,32 @@ using System.Linq; using System.Net; using System.Reflection; using System.Web; +using System.Web.Security; using System.Web.UI.WebControls; namespace KJD_Web.BLL.WXXD { public class WXUserManage { + public static bool GetSign(string signData) + { + if (string.IsNullOrEmpty(signData)) { return false; } + + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref signData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref signData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return false; + return true; + } + public string CheckUserLogin(string inputData) { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'"); var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); @@ -30,8 +47,9 @@ namespace KJD_Web.BLL.WXXD string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); - string sql = "select * from wxxd.user where user_name='" - + mobile + "' and password='" + password + "'"; + string sql = "select u.*,uu.authority as main_authority " + + "FROM wxxd.user u LEFT JOIN wxxd.user uu ON uu.user_name=u.parent_user_name where u.user_name='" + + mobile + "' and u.password='" + password + "'"; var dt = mySql.ExecuteDataTable(sql); mySql.Close(); @@ -52,8 +70,22 @@ namespace KJD_Web.BLL.WXXD is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", + points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, }; - + var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; + // 子账号积分用户权限跟随 + if (user.group_id != "3") + { + var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + if (!main_authority.Contains("积分用户")) + { + user.authority = string.Join(",", userAuthLst.Remove("积分用户")); + } + else if (!user.authority.Contains("积分用户")) + { + user.authority = (user.authority + "," + "积分用户").Trim(','); + } + } if (string.IsNullOrEmpty(user.company_name)) { user.company_name = "-"; @@ -71,6 +103,9 @@ namespace KJD_Web.BLL.WXXD { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var parent_user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_nick_name"))?.Replace("'", "\\'"); var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_name"))?.Replace("'", "\\'"); @@ -114,6 +149,9 @@ namespace KJD_Web.BLL.WXXD { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); var password = RegexUtils.GetStringQuery(ref inputData, "password"); var group = RegexUtils.GetStringQuery(ref inputData, "group"); @@ -164,6 +202,9 @@ namespace KJD_Web.BLL.WXXD { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var id = RegexUtils.GetStringQuery(ref inputData, "id")?.Replace("'", "\\'"); var parent_user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_nick_name"))?.Replace("'", "\\'"); @@ -212,11 +253,13 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"输入为空\"}"; } - public string DelUser(string inputData) { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); var id = RegexUtils.GetStringQuery(ref inputData, "id"); int r2 = 0; @@ -243,6 +286,9 @@ namespace KJD_Web.BLL.WXXD { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'"); var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); @@ -254,16 +300,17 @@ namespace KJD_Web.BLL.WXXD string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); //string sql = "select * from wxxd.user where group_id=3"; - string sql = "select * from wxxd.user where 1=1"; + string sql = "select u.*,uu.authority as main_authority from wxxd.user u " + + "LEFT JOIN wxxd.user uu ON uu.user_name=u.parent_user_name WHERE 1=1"; if (!string.IsNullOrEmpty(group_id)) - sql += " and group_id=" + group_id; + sql += " and u.group_id=" + group_id; if (!string.IsNullOrEmpty(sa_level)) - sql += " and sa_level=" + sa_level; + sql += " and u.sa_level=" + sa_level; if (!string.IsNullOrEmpty(search)) - sql += " and (user_name like '%" + search + - "%' or nick_name like '%" + search + - "%' or company_name like '%" + search + "%')"; - sql += " order by id desc"; + sql += " and (u.user_name like '%" + search + + "%' or u.nick_name like '%" + search + + "%' or u.company_name like '%" + search + "%')"; + sql += " order by u.id desc"; var dt = mySql.ExecuteDataTable(sql); mySql.Close(); @@ -288,7 +335,22 @@ namespace KJD_Web.BLL.WXXD is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, sa_level = row.Table.Columns.Contains("sa_level") ? row["sa_level"].ParseToInt() : 0, authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", + points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, }; + var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; + // 子账号积分用户权限跟随 + if (user.group_id != "3") + { + var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + if (!main_authority.Contains("积分用户")) + { + user.authority = string.Join(",", userAuthLst.Remove("积分用户")); + } + else if (!user.authority.Contains("积分用户")) + { + user.authority = (user.authority + "," + "积分用户").Trim(','); + } + } if (string.IsNullOrEmpty(user.mobile)) { user.mobile = row["user_name"].ToString(); @@ -306,6 +368,9 @@ namespace KJD_Web.BLL.WXXD { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_nick_name"))?.Replace("'", "\\'"); var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'"); var mobile = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_mobile"))?.Replace("'", "\\'"); @@ -349,6 +414,9 @@ namespace KJD_Web.BLL.WXXD { if (!string.IsNullOrEmpty(inputData)) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var id = RegexUtils.GetStringQuery(ref inputData, "id")?.Replace("'", "\\'"); var nick_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_nick_name"))?.Replace("'", "\\'"); var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'"); @@ -406,14 +474,140 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + public string UpdateUserPointsTest(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var id = RegexUtils.GetStringQuery(ref inputData, "id")?.Replace("'", "\\'"); + var delta_points = RegexUtils.GetStringQuery(ref inputData, "delta_points")?.Replace("'", "\\'"); + int r2 = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = ""; + //sql = "select * from wxxd.user where parent_user_name='" + // + user_name + "'"; + sql = "update wxxd.user set"; + if (!string.IsNullOrEmpty(delta_points)) + sql += " points=points+" + delta_points.ParseToInt() + ","; + sql = sql.TrimEnd(','); + sql += " where id=" + id + ""; + + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + /// + /// 增加或减少用户积分 + /// + /// + /// + public string UpdateUserPoints(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "update_user_name"))?.Replace("'", "\\'"); + var user_nick = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "update_user_nick"))?.Replace("'", "\\'"); + var delta_points = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delta_points"))?.ParseToInt(); + var option_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "option_type"))?.Replace("'", "\\'"); + var operator_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_type"))?.Replace("'", "\\'"); + var operator_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_name"))?.Replace("'", "\\'"); + var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'"); + var shop_account = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_account"))?.Replace("'", "\\'"); + + if (string.IsNullOrEmpty(user_name) || string.IsNullOrEmpty(user_nick)) + { + return "{\"code\":500,\"msg\":\"充值对象不能为空\"}"; + } + if (delta_points.IsNullOrZero()) + { + return "{\"code\":500,\"msg\":\"充值金额不合法\"}"; + } + if (string.IsNullOrEmpty(option_type) || string.IsNullOrEmpty(operator_type) || string.IsNullOrEmpty(operator_name)) + { + return "{\"code\":500,\"msg\":\"操作或操作者信息不合法\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + mySql.Close(); + //////string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + //////MysqlUtils mySql = new MysqlUtils(conn); + //////string sql = ""; + //////sql += " START TRANSACTION"; + //////sql += " SELECT * FROM wxxd.user WHERE user_name='" + user_name + "' FOR UPDATE;"; + //////sql += " INSERT INTO wxxd.user_points_record(user_name,user_nick,points,option_type,operator_type,operator_name,shop_id,shop_account)"; + //////sql += " VALUES()"; + //////sql += " UPDATE wxxd.user SET points = points + delta_points"; + + ////////INSERT INTO TableB(column1, column2) + ////////SELECT A.column1, 'some_value' AS column2 + ////////FROM TableA A + ////////WHERE A.value > 100; + + //////sql = "select points from wxxd.user where user_name='" + user_name + "'"; + //////var rst1 = mySql.ExecuteFirstInt(sql); + + + //sql = "UPDATE wxxd.user SET"; + //if (option_type == "充值") + // sql += " points=points+" + delta_points.ParseToInt() + ","; + //else + // sql += " points=points-" + delta_points.ParseToInt() + ","; + //sql = sql.TrimEnd(','); + //sql += " where id=" + id + ""; + //- + //if (!string.IsNullOrEmpty(notes)) + // sql += " notes='" + notes + "',"; + //if (!string.IsNullOrEmpty(sa_level)) + // sql += " sa_level=" + sa_level + ","; + //if (authority != null) + // sql += " authority='" + authority + "',"; + //sql = sql.TrimEnd(','); + //sql += " where id=" + id + ""; + + //var rst = mySql.ExecuteNonQuery(sql); + //mySql.Close(); + //if (rst) + //{ + // return "{\"code\":200,\"msg\":\"success\"}"; + //} + //else + //{ + // return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + //} + return "{\"code\":200,\"msg\":\"success\"}"; + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } public string ChangePassword(string inputData) { + if (!GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var userName = RegexUtils.GetStringJson(ref inputData, "user_name")?.Replace("'", "\\'"); var password = RegexUtils.GetStringJson(ref inputData, "password")?.Replace("'", "\\'"); var newPassword = RegexUtils.GetStringJson(ref inputData, "new_password")?.Replace("'", "\\'"); + if (string.IsNullOrWhiteSpace(userName) || string.IsNullOrWhiteSpace(password) || string.IsNullOrWhiteSpace(newPassword)) + { + return "{\"code\":500,\"msg\":\"输入不能为空\"}"; + } + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["Conn"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); string sql = "select user_id,password from pepdtp.user where user_id='" @@ -445,8 +639,16 @@ namespace KJD_Web.BLL.WXXD } } + /// + /// temu退回包裹的密钥 + /// public string return_package_secret_key { get; set; } = "aaMETt2bPe6YHzZ1ojbC+6wOvgtwehqc6A+/Rz+pCUU="; + /// + /// temu退回包裹的签名 + /// + /// + /// public string GetPackageSign(string inputData) { if (!string.IsNullOrEmpty(inputData)) diff --git a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs index ae9586f..e7faad5 100644 --- a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs +++ b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs @@ -67,6 +67,7 @@ namespace KJD_Web.Model.ShopModel /// public string ad_login_status { get; set; } public DateTime? jit_expire_time { get; set; } + public int? expire_time { get; set; } public DateTime? add_time { get; set; } } diff --git a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs index 3986339..ddf19da 100644 --- a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs +++ b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs @@ -62,5 +62,9 @@ namespace KJD_Web.Model /// 用户的功能操作权限 /// public string authority { get; set; } + /// + /// 用户积分点数 + /// + public int points { get; set; } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/Utils/MySqlUtils.cs b/KJDService/KJD_WebService/Utils/MySqlUtils.cs index a3e3f32..27cae30 100644 --- a/KJDService/KJD_WebService/Utils/MySqlUtils.cs +++ b/KJDService/KJD_WebService/Utils/MySqlUtils.cs @@ -68,6 +68,11 @@ namespace KJD_Web.Utils ConnTo(); } + public void BeginTransaction() + { + Conn.BeginTransaction(); + } + /// /// 去掉SQL中的特殊字符 /// @@ -329,9 +334,9 @@ namespace KJD_Web.Utils /// /// /// - public int ExecuteFirstInt(string SqlString) + public int ExecuteFirstInt(string SqlString, MySqlParameter[] parms = null) { - string id = ExecuteFirst(SqlString, null); + string id = ExecuteFirst(SqlString, parms); int i; int.TryParse(id, out i); return i; @@ -659,16 +664,22 @@ namespace KJD_Web.Utils cmd.CommandTimeout = TimeOut; } + public MySqlTransaction Transaction { get; set; } = null; + /// /// 连接数据库 /// - private void ConnTo() + private void ConnTo(bool isTransaction = false) { Close(); try { Conn = new MySqlConnection(ConnString); Conn.Open(); + if (isTransaction) + { + Conn.BeginTransaction(); + } } catch (Exception e) { diff --git a/TEMUKJD/BLL/Pdd/PddApiHelper.cs b/TEMUKJD/BLL/Pdd/PddApiHelper.cs index ff68c59..7848950 100644 --- a/TEMUKJD/BLL/Pdd/PddApiHelper.cs +++ b/TEMUKJD/BLL/Pdd/PddApiHelper.cs @@ -19,6 +19,9 @@ namespace TemuKJD.BLL.PddApi { if (isForceRefresh || (shop.AuthUpdateTime <= DateTime.Now.AddDays(-1) && shop.AuthExpiresTime <= DateTime.Now)) { + if (!GlobalConfig.PddClentInfoList.Any(c => c.client_id == PddApi.clientId_pi_xiu_guan_jia)) + return; + string errStr = ""; var authInfo = PddApiHelper.GetE57ShopPddToken(shop, out errStr); if (errStr.IsNullOrEmpty() || (shop.AuthUpdateTime <= DateTime.Now.AddDays(-1) && shop.AuthExpiresTime <= DateTime.Now)) @@ -104,6 +107,7 @@ namespace TemuKJD.BLL.PddApi { var dataStr = JsonHelper.SerializeObject(JsonHelper.JObjectParse(html)["data"]); var serverApiAuthList = JsonHelper.DeserializeJsonToList(dataStr); + serverApiAuthList = serverApiAuthList.Where(a => GlobalConfig.PddClentInfoList.Any(c => c.client_id == a.AppKey)).ToList(); foreach (var serverAuth in serverApiAuthList) { var shop = shopList.FirstOrDefault(s => s.ShopId == serverAuth.ShopId); diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index cb6f7aa..f28246f 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -274,6 +274,12 @@ WXFinderSquareForm.cs + + Form + + + WXShopOptimizeForm.cs + Form @@ -1316,6 +1322,9 @@ WXProductForm.cs + + WXShopOptimizeForm.cs + WXShopMultiLoginForm.cs diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs index d596d2f..695ab43 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs @@ -701,7 +701,10 @@ namespace TemuKJD.PDDForms.AdminForms } if (html.Contains("\"code\":200") || html.Contains("已存在")) + { successCount++; + CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } else failCount++; Thread.Sleep(100); diff --git a/TEMUKJD/PDDForms/ProductForms/WXProdViolationManage.cs b/TEMUKJD/PDDForms/ProductForms/WXProdViolationManage.cs index 15e326c..e1a3c53 100644 --- a/TEMUKJD/PDDForms/ProductForms/WXProdViolationManage.cs +++ b/TEMUKJD/PDDForms/ProductForms/WXProdViolationManage.cs @@ -71,6 +71,7 @@ namespace TemuKJD.PDDForms.ProductForms string sVioInfo = JsonHelper.SerializeObject(jObj); var punishUuid = BaseRegex.GetStringJson(ref sVioInfo, "punishUuid"); var punishReason = BaseRegex.GetStringJson(ref sVioInfo, "punishReason"); + var punishTime = BaseClass.StampToDateTime(BaseRegex.GetIntJson(ref sVioInfo, "punishTime")); var productId = BaseRegex.GetStringJson(ref sVioInfo, "productId"); var productDesc = BaseRegex.GetStringJson(ref sVioInfo, "productDesc"); //相似同款低质商品 不当使用他人权利 @@ -82,7 +83,7 @@ namespace TemuKJD.PDDForms.ProductForms var url = BaseClass.BuildPDDObjString("product/mdy_violation_prod"); var data = UserLogin.GetSignaturex(); data += "&wx_safe_status=违规商品"; - data += "¬es=" + ("违规轮询-" + shop.ShopId + "-" + punishUuid + "-" + punishReason).Trim(); + data += "¬es=" + GetHtml.UrlEncodeUtf8(("违规轮询-" + shop.ShopId + "-" + punishUuid + "-" + punishReason + "-" + punishTime.ToString("yy/MM/dd HH:mm")).Trim()); data += "&product_name=" + productDesc; var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs index 4c27082..93021a7 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs @@ -8685,6 +8685,7 @@ Content-Type: image/jpeg continue; } + randomShopLst.Clear(); randomShopLst.AddRange(GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId) && s.LoginStatus == "登录成功")); if (randomShopLst.Count == 0) { @@ -8865,7 +8866,7 @@ Content-Type: image/jpeg var rw = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); if (rw != null) - row.Cells["colSelect"].Value = false; + rw.Cells["colSelect"].Value = false; })); continue; } @@ -9225,7 +9226,11 @@ Content-Type: image/jpeg if (panel2.Controls.Contains(cefWebBrowser)) { panel2.Controls.Remove(cefWebBrowser); - cefWebBrowser.Dispose(); + Task.Run(() => + { + Thread.Sleep(60000); + Invoke(new Action(() => { cefWebBrowser.Dispose(); })); + }); shop.Chat = null; } })); @@ -9446,7 +9451,11 @@ Content-Type: image/jpeg if (panel2.Controls.Contains(cefWebBrowser)) { panel2.Controls.Remove(cefWebBrowser); - cefWebBrowser.Dispose(); + Task.Run(() => + { + Thread.Sleep(60000); + Invoke(new Action(() => { cefWebBrowser.Dispose(); })); + }); shop.Chat = null; } })); @@ -9558,6 +9567,8 @@ Content-Type: image/jpeg for (int i = 0; i < prodRstObj["goods_property_list"].Count(); i++) { var propObj = JObject.Parse(JsonHelper.SerializeObject(prodRstObj["goods_property_list"][i])); + //if (propObj["vid"].ParseToInt() == 0) + // continue; propObj["value"] = propObj["vvalue"]; propObj["value_unit"] = propObj["punit"]; propObj.Remove("vvalue"); @@ -9936,13 +9947,24 @@ Content-Type: image/jpeg #region 生成属性规格id if (dbProd.product_get_type_text == "厂商直采") { - var apiGetPddSpecIdRst = ApiGetPddSpecId(shop, prodInfo, addPriceSkuInfoLst, cell); + // 接口获取到的spec可能和模拟提交的商品spec不符合,尽量使用模拟提交的spec + prodInfo.detail.cat_id = prodRstObj["cat_id"].ParseToInt(); + var specNameDic = new Dictionary(); + for (int i = 0; i < 1 && i < prodRstObj["sku_list"].Count(); i++) + { + var skuObj = JObject.Parse(JsonHelper.SerializeObject(prodRstObj["sku_list"][i])); + foreach (var specObj in skuObj["spec"]) + { + specNameDic[specObj["parent_id"].ParseToLong()] = specObj["parent_name"].ParseToString(); + } + } + var apiGetPddSpecIdRst = ApiGetPddSpecId(shop, prodInfo, addPriceSkuInfoLst, cell, specNameDic); if (!apiGetPddSpecIdRst.IsNullOrEmpty() && apiGetPddSpecIdRst != "success") return apiGetPddSpecIdRst; } #endregion - #region // 添加一个多件sku,库存设置为0 + #region 添加一个多件sku,库存设置为0 if (chkMultiPcsSku.Checked) { var addMulitPcsSkuRst = AddMulitPcsSku(shop, addPriceSkuInfoLst, skuFakeSpecNameDic1); @@ -9953,12 +9975,39 @@ Content-Type: image/jpeg #region 拼接sku,计算最高价格和最低价格 var skuApiString = ""; - var apiGetSkuRst = ApiGetPddSku(ref skuApiString, shop, addPriceSkuInfoLst, fakeImg, skuFakeSpecNameDic1, skuFakeSpecNameDic2, cell); + var apiGetSkuRst = ApiGetPddSku(ref skuApiString, shop, addPriceSkuInfoLst, fakeImg, skuFakeSpecNameDic1, skuFakeSpecNameDic2, cell, true); if (!apiGetSkuRst.IsNullOrEmpty() && apiGetSkuRst != "success") return apiGetSkuRst; pddApi.Data["sku_list"] = "[" + skuApiString.Trim(',') + "]"; #endregion + #region 按原商品拼接sku语句,作废 + string skuStr = ""; + if (1 == 1) + { + for (int i = 0; i < prodRstObj["sku_list"].Count(); i++) + { + var skuObj = JObject.Parse(JsonHelper.SerializeObject(prodRstObj["sku_list"][i])); + skuObj["sku_properties"] = skuObj["sku_property_list"]; + skuObj["quantity"] = 0; + string spec = ""; + foreach (var specObj in skuObj["spec"]) + { + spec += "," + specObj["spec_id"].ParseToString(); + } + spec = spec.Trim(','); + skuObj["spec_id_list"] = "[" + spec + "]"; + skuObj.Remove("sku_property_list"); + //skuObj.Remove("sku_properties"); + skuObj.Remove("spec"); + skuStr += JsonHelper.SerializeObject(skuObj) + ","; + } + skuStr = skuStr.Trim(','); + if (1 == 2) + pddApi.Data["sku_list"] = "[" + skuStr + "]"; + } + #endregion + #region 计算转换列表内是否有符合条件的转换商品 var addPriceSkuInfoMinPrice = addPriceSkuInfoLst.Min(s => s.price); var addPriceSkuInfoMaxPrice = addPriceSkuInfoLst.Max(s => s.price); @@ -9978,7 +10027,6 @@ Content-Type: image/jpeg } }; - Invoke(new Action(() => { if (cell != null) @@ -10027,7 +10075,7 @@ Content-Type: image/jpeg /// /// /// - private string ApiGetPddSpecId(ShopLoginInfo shop, PDDProductInfo prodInfo, List addPriceSkuInfoLst, DataGridViewCell cell) + private string ApiGetPddSpecId(ShopLoginInfo shop, PDDProductInfo prodInfo, List addPriceSkuInfoLst, DataGridViewCell cell, Dictionary specNameDic = null) { PddApi PddGoodsSpecGetApi = new PddApi(shop); PddGoodsSpecGetApi.Data["cat_id"] = prodInfo.detail.cat_id; @@ -10040,7 +10088,8 @@ Content-Type: image/jpeg return "初始化Sku属性失败 " + errMsg; } - Dictionary specNameDic = new Dictionary(); + if (specNameDic == null) + specNameDic = new Dictionary(); foreach (var jObj in JsonHelper.JObjectParse(PddGoodsSpecGetApiRst)["goods_spec_get_response"]["goods_spec_list"]) { string specStr = JsonHelper.SerializeObject(jObj); @@ -10196,7 +10245,7 @@ Content-Type: image/jpeg } private string ApiGetPddSku(ref string skuApiString, ShopLoginInfo shop, List addPriceSkuInfoLst, Image fakeImg, - Dictionary skuFakeSpecNameDic1, Dictionary skuFakeSpecNameDic2, DataGridViewCell cell) + Dictionary skuFakeSpecNameDic1, Dictionary skuFakeSpecNameDic2, DataGridViewCell cell, bool isEdit = false) { Dictionary skuImgDic = new Dictionary(); // 拼接sku,计算最高价格和最低价格 @@ -10261,11 +10310,49 @@ Content-Type: image/jpeg int weight = addPriceSkuInfoLst[i].weight.IsNullOrZero() ? 1000 : addPriceSkuInfoLst[i].weight.ParseToInt(); - skuApiString += ",{\"is_onsale\":" + addPriceSkuInfoLst[i].is_onsale + ",\"limit_quantity\":" + addPriceSkuInfoLst[i].limit_quantity + - ",\"price\":\"" + addPriceSkuInfoLst[i].price + "\",\"weight\":" + weight + ",\"multi_price\":\"" + addPriceSkuInfoLst[i].multi_price + - "\",\"thumb_url\":\"" + thumb_url + "\",\"out_sku_sn\":\"" + addPriceSkuInfoLst[i].out_sku_sn + - "\",\"quantity\":" + addPriceSkuInfoLst[i].quantity + ",\"spec_id_list\":\"[" + spec + "]\"}"; + //skuApiString += ",{\"is_onsale\":" + addPriceSkuInfoLst[i].is_onsale + ",\"limit_quantity\":" + addPriceSkuInfoLst[i].limit_quantity + + // ",\"price\":\"" + addPriceSkuInfoLst[i].price + "\",\"weight\":" + weight + ",\"multi_price\":\"" + addPriceSkuInfoLst[i].multi_price + + // "\",\"thumb_url\":\"" + thumb_url + "\",\"out_sku_sn\":\"" + addPriceSkuInfoLst[i].out_sku_sn + + // "\",\"quantity\":" + addPriceSkuInfoLst[i].quantity + ",\"spec_id_list\":\"[" + spec + "]\"}"; + var skuApiObj = new JObject(); + skuApiObj["is_onsale"] = addPriceSkuInfoLst[i].is_onsale; + skuApiObj["limit_quantity"] = addPriceSkuInfoLst[i].limit_quantity; + skuApiObj["multi_price"] = addPriceSkuInfoLst[i].multi_price; + skuApiObj["price"] = addPriceSkuInfoLst[i].price; + skuApiObj["weight"] = weight; + skuApiObj["thumb_url"] = thumb_url; + skuApiObj["out_sku_sn"] = addPriceSkuInfoLst[i].out_sku_sn; + skuApiObj["quantity"] = addPriceSkuInfoLst[i].quantity; + skuApiObj["spec_id_list"] = "[" + spec + "]"; + if (isEdit) + { + skuApiObj["sku_id"] = null; + + //skuApiObj.RemoveAll(); + //skuApiObj["out_sku_sn"] = addPriceSkuInfoLst[i].out_sku_sn; + //skuApiObj["multi_price"] = addPriceSkuInfoLst[i].multi_price; + //skuApiObj["thumb_url"] = thumb_url; + //skuApiObj["quantity"] = addPriceSkuInfoLst[i].quantity; + //skuApiObj["sku_pre_sale_time"] = 0; + //skuApiObj["reserve_quantity"] = 0; + //skuApiObj["length"] = null; + //skuApiObj["weight"] = 0; + //skuApiObj["sku_id"] = null; + //skuApiObj["oversea_sku"] = new JObject(); + //skuApiObj["oversea_sku"]["record_id_list"] = null; + //skuApiObj["oversea_sku"]["measurement_code"] = null; + //skuApiObj["oversea_sku"]["measurement_unit"] = null; + //skuApiObj["oversea_sku"]["specifications"] = null; + //skuApiObj["oversea_sku"]["taxation"] = null; + //skuApiObj["is_onsale"] = addPriceSkuInfoLst[i].is_onsale; + //skuApiObj["out_source_sku_id"] = null; + //skuApiObj["price"] = addPriceSkuInfoLst[i].price; + //skuApiObj["limit_quantity"] = 999999; + //skuApiObj["sku_properties"] = null; + //skuApiObj["spec_id_list"] = "[" + spec + "]"; + } + skuApiString += "," + JsonHelper.SerializeObject(skuApiObj); } return "success"; } diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs index 65c7726..02d9110 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs @@ -55,6 +55,8 @@ this.btnRefreshAuth = new TemuKJD.UserControls.ButtonEx(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMallId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,6 +72,8 @@ this.colLoginStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colBuyApi = new System.Windows.Forms.DataGridViewLinkColumn(); this.colBindApi = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colBuyOrderApi = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colBindOrderApi = new System.Windows.Forms.DataGridViewLinkColumn(); this.colGotoShop = new System.Windows.Forms.DataGridViewLinkColumn(); this.colShopOperate = new System.Windows.Forms.DataGridViewLinkColumn(); this.colRelogin = new System.Windows.Forms.DataGridViewLinkColumn(); @@ -81,8 +85,6 @@ this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -459,6 +461,8 @@ this.colLoginStatus, this.colBuyApi, this.colBindApi, + this.colBuyOrderApi, + this.colBindOrderApi, this.colGotoShop, this.colShopOperate, this.colRelogin, @@ -480,6 +484,31 @@ this.dgvShop.TabIndex = 5; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // + // chkAutoDrag + // + this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.chkAutoDrag.AutoSize = true; + this.chkAutoDrag.BackColor = System.Drawing.Color.White; + this.chkAutoDrag.Location = new System.Drawing.Point(1108, 2); + this.chkAutoDrag.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.Visible = false; + this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; + 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, -1); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1264, 29); + this.statusBar.TabIndex = 1; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -578,23 +607,39 @@ // colBuyApi // this.colBuyApi.FillWeight = 46F; - this.colBuyApi.HeaderText = "购买授权"; + this.colBuyApi.HeaderText = "上传Api"; this.colBuyApi.Name = "colBuyApi"; this.colBuyApi.ReadOnly = true; // // colBindApi // - this.colBindApi.FillWeight = 46F; - this.colBindApi.HeaderText = "绑定授权"; + this.colBindApi.FillWeight = 48F; + this.colBindApi.HeaderText = "上传授权"; this.colBindApi.Name = "colBindApi"; this.colBindApi.ReadOnly = true; this.colBindApi.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colBindApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; // + // colBuyOrderApi + // + this.colBuyOrderApi.FillWeight = 46F; + this.colBuyOrderApi.HeaderText = "订单Api"; + this.colBuyOrderApi.Name = "colBuyOrderApi"; + this.colBuyOrderApi.ReadOnly = true; + this.colBuyOrderApi.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colBuyOrderApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // colBindOrderApi + // + this.colBindOrderApi.FillWeight = 48F; + this.colBindOrderApi.HeaderText = "订单授权"; + this.colBindOrderApi.Name = "colBindOrderApi"; + this.colBindOrderApi.ReadOnly = true; + // // colGotoShop // - this.colGotoShop.FillWeight = 46F; - this.colGotoShop.HeaderText = "进入店铺"; + this.colGotoShop.FillWeight = 38F; + this.colGotoShop.HeaderText = "进店"; this.colGotoShop.Name = "colGotoShop"; this.colGotoShop.ReadOnly = true; this.colGotoShop.Resizable = System.Windows.Forms.DataGridViewTriState.True; @@ -612,7 +657,7 @@ // // colRelogin // - this.colRelogin.FillWeight = 40F; + this.colRelogin.FillWeight = 38F; this.colRelogin.HeaderText = "登录"; this.colRelogin.Name = "colRelogin"; this.colRelogin.ReadOnly = true; @@ -677,7 +722,7 @@ // // colEdit // - this.colEdit.FillWeight = 46F; + this.colEdit.FillWeight = 38F; this.colEdit.HeaderText = "编辑"; this.colEdit.Name = "colEdit"; this.colEdit.ReadOnly = true; @@ -686,36 +731,11 @@ // // colDelete // - this.colDelete.FillWeight = 46F; + this.colDelete.FillWeight = 38F; this.colDelete.HeaderText = "删除"; this.colDelete.Name = "colDelete"; this.colDelete.ReadOnly = true; // - // chkAutoDrag - // - this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkAutoDrag.AutoSize = true; - this.chkAutoDrag.BackColor = System.Drawing.Color.White; - this.chkAutoDrag.Location = new System.Drawing.Point(1108, 2); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.Visible = false; - this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; - 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, -1); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1264, 29); - this.statusBar.TabIndex = 1; - // // PDDShopListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -777,6 +797,7 @@ private UserControls.ButtonEx btnRefreshShop; private System.Windows.Forms.ComboBox cmbNotes; private UserComponent.UcCheckBox chkUsePddWorkbanch; + public UserControls.ButtonEx btnOpenOrder; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colMallId; @@ -792,6 +813,8 @@ private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus; private System.Windows.Forms.DataGridViewLinkColumn colBuyApi; private System.Windows.Forms.DataGridViewLinkColumn colBindApi; + private System.Windows.Forms.DataGridViewLinkColumn colBuyOrderApi; + private System.Windows.Forms.DataGridViewLinkColumn colBindOrderApi; private System.Windows.Forms.DataGridViewLinkColumn colGotoShop; private System.Windows.Forms.DataGridViewLinkColumn colShopOperate; private System.Windows.Forms.DataGridViewLinkColumn colRelogin; @@ -803,6 +826,5 @@ private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies; private System.Windows.Forms.DataGridViewLinkColumn colEdit; private System.Windows.Forms.DataGridViewLinkColumn colDelete; - public UserControls.ButtonEx btnOpenOrder; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs index 3e771b7..87c1202 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs @@ -485,6 +485,8 @@ namespace TemuKJD.PDDForms.ShopForms "", "购买授权", "绑定授权", + "购买授权", + "绑定授权", "进入", "检测", string.IsNullOrWhiteSpace(param.LoginStatus) ? "未登录" : param.LoginStatus.Trim(), @@ -759,7 +761,8 @@ namespace TemuKJD.PDDForms.ShopForms switch (headerText) { case "检测": - //CheckShopLoginAsync(new string[] { loginName }); + //CheckShopLoginAsync(new string[] { loginName }); + case "进店": case "进入店铺": IsOperate = true; { @@ -839,7 +842,7 @@ namespace TemuKJD.PDDForms.ShopForms } IsOperate = false; break; - case "购买授权": + case "上传Api": { var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true); if (currentPddClient != null) @@ -855,7 +858,7 @@ namespace TemuKJD.PDDForms.ShopForms } } break; - case "绑定授权": + case "上传授权": { var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true); if (currentPddClient != null) @@ -874,6 +877,36 @@ namespace TemuKJD.PDDForms.ShopForms } } break; + case "订单Api": + { + var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true); + if (currentPddClient != null) + { + PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop); + shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/service-detail?detailId=84862"; + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; + shopLoginForm.ShowDialog(); + btnRefreshCookie_Click(null, null); + } + } + break; + case "订单授权": + { + var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true); + if (currentPddClient != null) + { + PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop); + shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/auth?client_id=" + PddApi.clientId_pi_xiu_guan_jia + + "&redirect_uri=" + GetHtml.UrlEncodeUtf8("http://po.e57.cn/login?source=pdd_code_pixiu") + "&response_type=code"; + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.AuthClientId = currentPddClient.client_id; + shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; + shopLoginForm.ShowDialog(); + btnRefreshCookie_Click(null, null); + } + } + break; //case "多重登录": // IsOperate = true; // ShopLoginForm shopMultiLoginForm = new ShopLoginForm(shop); @@ -932,7 +965,7 @@ namespace TemuKJD.PDDForms.ShopForms this.btnCheck.Enabled = false; var t = Task.Run(() => { - UpdateShop(); + //UpdateShop(); CheckShopListLogin(shopNameList.Distinct().ToArray()); RefreshDataGridView(false); }); @@ -1181,7 +1214,7 @@ function setCookie(name, value, daysToLive, path, domain, secure, httpOnly, same if (shop == null) shop = new ShopLoginInfo(); PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop); - shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.openType = EnumOpenType.order_login; shopLoginForm.WindowState = FormWindowState.Maximized; shopLoginForm.txtUserName.ReadOnly = false; shopLoginForm.txtPassWord.ReadOnly = false; diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.resx b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.resx index 17efd7b..610ece9 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.resx +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.resx @@ -162,6 +162,12 @@ True + + True + + + True + True diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs index cc55b38..3025dcf 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs @@ -36,6 +36,7 @@ namespace TemuKJD.PDDForms.ShopForms login, manage, refresh_cookie, + order_login, } public partial class PDDShopLoginForm : BaseGeneralForm { @@ -515,7 +516,19 @@ namespace TemuKJD.PDDForms.ShopForms txtAddress.Text = e.Address; })); } - if (e.Address == "https://po.e57.cn/login?redirect=%2Findex" && shop != null && !string.IsNullOrEmpty(shop.LoginName)) + if (e.Address == "https://po.e57.cn/login?redirect=%2Findex" && openType == EnumOpenType.manage) + { + Task.Run(() => + { + Thread.Sleep(2000); + Invoke(new Action(() => + { + if (this.Created && !this.IsDisposed && !this.Disposing) + this.Close(); + })); + }); + } + if (e.Address == "https://po.e57.cn/login?redirect=%2Findex" && openType == EnumOpenType.order_login && shop != null && !string.IsNullOrEmpty(shop.LoginName)) { Task.Run(() => { @@ -670,7 +683,8 @@ namespace TemuKJD.PDDForms.ShopForms if (this.Created && !this.Disposing && !this.IsDisposed) Invoke(new Action(() => { - try { this.TitleText = "店铺登录 - " + GetAntiContentsTimes; } catch { return; } + if (this.Created && !this.Disposing && !this.IsDisposed) + try { this.TitleText = "店铺登录 - " + GetAntiContentsTimes; } catch { return; } })); shop.AntiContents.Add(antiContent); while (shop.AntiContents.Count > 100) diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs index 0a734a9..6a49b7a 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs @@ -30,10 +30,12 @@ namespace TemuKJD.WXForms.AdminForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - 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 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(); this.splitContainer5 = new System.Windows.Forms.SplitContainer(); + this.chkShopPoints = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkWXShowProdGetFromType = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label7 = new System.Windows.Forms.Label(); this.chkWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components); this.cmbSaLevel = new System.Windows.Forms.ComboBox(); @@ -79,11 +81,11 @@ namespace TemuKJD.WXForms.AdminForms this.colSaLevel = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSaLevelName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colAuthority = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPoints = new System.Windows.Forms.DataGridViewLinkColumn(); this.colAddShop = new System.Windows.Forms.DataGridViewLinkColumn(); this.editColumn = new System.Windows.Forms.DataGridViewLinkColumn(); this.deleteColumn = new System.Windows.Forms.DataGridViewLinkColumn(); this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx(); - this.chkWXShowProdGetFromType = new TemuKJD.UserComponent.UcCheckBox(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit(); this.splitContainer5.Panel1.SuspendLayout(); this.splitContainer5.Panel2.SuspendLayout(); @@ -106,6 +108,7 @@ namespace TemuKJD.WXForms.AdminForms // splitContainer5.Panel1 // this.splitContainer5.Panel1.BackColor = System.Drawing.Color.WhiteSmoke; + this.splitContainer5.Panel1.Controls.Add(this.chkShopPoints); this.splitContainer5.Panel1.Controls.Add(this.chkWXShowProdGetFromType); this.splitContainer5.Panel1.Controls.Add(this.label7); this.splitContainer5.Panel1.Controls.Add(this.chkWXComplateProd); @@ -144,11 +147,29 @@ namespace TemuKJD.WXForms.AdminForms // this.splitContainer5.Panel2.Controls.Add(this.splitContainer1); this.splitContainer5.Panel2.Padding = new System.Windows.Forms.Padding(0, 5, 5, 5); - this.splitContainer5.Size = new System.Drawing.Size(1376, 527); + this.splitContainer5.Size = new System.Drawing.Size(1376, 563); this.splitContainer5.SplitterDistance = 357; this.splitContainer5.SplitterWidth = 1; this.splitContainer5.TabIndex = 3; // + // chkShopPoints + // + this.chkShopPoints.Location = new System.Drawing.Point(112, 419); + this.chkShopPoints.Name = "chkShopPoints"; + this.chkShopPoints.Size = new System.Drawing.Size(68, 21); + this.chkShopPoints.TabIndex = 811; + this.chkShopPoints.Text = "积分用户"; + this.chkShopPoints.UseVisualStyleBackColor = true; + // + // chkWXShowProdGetFromType + // + this.chkWXShowProdGetFromType.Location = new System.Drawing.Point(192, 395); + this.chkWXShowProdGetFromType.Name = "chkWXShowProdGetFromType"; + this.chkWXShowProdGetFromType.Size = new System.Drawing.Size(68, 21); + this.chkWXShowProdGetFromType.TabIndex = 810; + this.chkWXShowProdGetFromType.Text = "货源选择"; + this.chkWXShowProdGetFromType.UseVisualStyleBackColor = true; + // // label7 // this.label7.AutoSize = true; @@ -277,7 +298,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label1.AutoSize = true; this.label1.ForeColor = System.Drawing.SystemColors.ButtonShadow; - this.label1.Location = new System.Drawing.Point(56, 475); + this.label1.Location = new System.Drawing.Point(56, 493); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(212, 17); this.label1.TabIndex = 37; @@ -306,7 +327,7 @@ namespace TemuKJD.WXForms.AdminForms this.btnCancel.Cursor = System.Windows.Forms.Cursors.Hand; this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnCancel.ForeColor = System.Drawing.Color.White; - this.btnCancel.Location = new System.Drawing.Point(59, 430); + this.btnCancel.Location = new System.Drawing.Point(59, 455); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(86, 25); this.btnCancel.TabIndex = 35; @@ -322,7 +343,7 @@ namespace TemuKJD.WXForms.AdminForms this.btnOpUser.Cursor = System.Windows.Forms.Cursors.Hand; this.btnOpUser.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOpUser.ForeColor = System.Drawing.Color.White; - this.btnOpUser.Location = new System.Drawing.Point(174, 430); + this.btnOpUser.Location = new System.Drawing.Point(174, 455); this.btnOpUser.Name = "btnOpUser"; this.btnOpUser.Size = new System.Drawing.Size(86, 25); this.btnOpUser.TabIndex = 34; @@ -500,28 +521,28 @@ namespace TemuKJD.WXForms.AdminForms // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.btnExportShopErp); - this.splitContainer1.Size = new System.Drawing.Size(1013, 517); - this.splitContainer1.SplitterDistance = 486; + this.splitContainer1.Size = new System.Drawing.Size(1013, 553); + this.splitContainer1.SplitterDistance = 522; this.splitContainer1.TabIndex = 2; // // dgvUser // this.dgvUser.AllowUserToAddRows = false; this.dgvUser.AllowUserToDeleteRows = false; - dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); - this.dgvUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); + this.dgvUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this.dgvUser.AutoRowNumber = true; this.dgvUser.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.dgvUser.BackgroundColor = System.Drawing.Color.White; this.dgvUser.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5; + 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.dgvUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.dgvUser.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvUser.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.UserIdColumn, @@ -535,17 +556,18 @@ namespace TemuKJD.WXForms.AdminForms this.colSaLevel, this.colSaLevelName, this.colAuthority, + this.colPoints, this.colAddShop, this.editColumn, this.deleteColumn}); - dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvUser.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvUser.DefaultCellStyle = dataGridViewCellStyle3; this.dgvUser.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvUser.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229))))); this.dgvUser.Location = new System.Drawing.Point(0, 0); @@ -553,7 +575,7 @@ namespace TemuKJD.WXForms.AdminForms this.dgvUser.Name = "dgvUser"; this.dgvUser.ReadOnly = true; this.dgvUser.RowTemplate.Height = 23; - this.dgvUser.Size = new System.Drawing.Size(1013, 486); + this.dgvUser.Size = new System.Drawing.Size(1013, 522); this.dgvUser.TabIndex = 1; this.dgvUser.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvUser_CellContentClick); // @@ -627,6 +649,15 @@ namespace TemuKJD.WXForms.AdminForms this.colAuthority.Name = "colAuthority"; this.colAuthority.ReadOnly = true; // + // colPoints + // + this.colPoints.FillWeight = 60F; + this.colPoints.HeaderText = "积分点数"; + this.colPoints.Name = "colPoints"; + this.colPoints.ReadOnly = true; + this.colPoints.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colPoints.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // // colAddShop // this.colAddShop.FillWeight = 60F; @@ -677,24 +708,15 @@ namespace TemuKJD.WXForms.AdminForms this.btnExportShopErp.Visible = false; this.btnExportShopErp.Click += new System.EventHandler(this.btnExportShopErp_Click); // - // chkWXShowProdGetFromType - // - this.chkWXShowProdGetFromType.Location = new System.Drawing.Point(192, 395); - this.chkWXShowProdGetFromType.Name = "chkWXShowProdGetFromType"; - this.chkWXShowProdGetFromType.Size = new System.Drawing.Size(68, 21); - this.chkWXShowProdGetFromType.TabIndex = 810; - this.chkWXShowProdGetFromType.Text = "货源选择"; - this.chkWXShowProdGetFromType.UseVisualStyleBackColor = true; - // // WXAdminAccountForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1376, 527); + this.ClientSize = new System.Drawing.Size(1376, 563); this.Controls.Add(this.splitContainer5); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.KeyPreview = true; this.Name = "WXAdminAccountForm"; - this.Text = "AccountForm"; + this.Text = "微信小店用户管理"; this.Load += new System.EventHandler(this.MainAccountForm_Load); this.VisibleChanged += new System.EventHandler(this.MainAccountForm_VisibleChanged); this.splitContainer5.Panel1.ResumeLayout(false); @@ -749,6 +771,7 @@ namespace TemuKJD.WXForms.AdminForms private System.Windows.Forms.Label label7; private UserComponent.UcCheckBox chkWXComplateProd; private DevComponents.DotNetBar.PanelEx btnExportShopErp; + private UserComponent.UcCheckBox chkWXShowProdGetFromType; private System.Windows.Forms.DataGridViewTextBoxColumn UserIdColumn; private System.Windows.Forms.DataGridViewTextBoxColumn UserNickNameColumn; private System.Windows.Forms.DataGridViewTextBoxColumn mobileColumn; @@ -760,9 +783,10 @@ namespace TemuKJD.WXForms.AdminForms private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevel; private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevelName; private System.Windows.Forms.DataGridViewTextBoxColumn colAuthority; + private System.Windows.Forms.DataGridViewLinkColumn colPoints; private System.Windows.Forms.DataGridViewLinkColumn colAddShop; private System.Windows.Forms.DataGridViewLinkColumn editColumn; private System.Windows.Forms.DataGridViewLinkColumn deleteColumn; - private UserComponent.UcCheckBox chkWXShowProdGetFromType; + private UserComponent.UcCheckBox chkShopPoints; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs index 05eb793..1f6f471 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs @@ -81,6 +81,8 @@ namespace TemuKJD.WXForms.AdminForms authority += "微信回采,"; if (chkWXShowProdGetFromType.Checked) authority += "货源选择,"; + if (chkShopPoints.Checked) + authority += "积分用户,"; data.Append("&authority=" + authority.Trim(',')); string url = BaseClass.BuildObjString("user/add_user"); @@ -162,6 +164,7 @@ namespace TemuKJD.WXForms.AdminForms user.sa_level, user.sa_level_name, user.authority, + user.group_id == "3" ? user.points.ToString() : "", user.group_id == "3" ? "添加店铺" : "", "编辑", "删除"); @@ -188,6 +191,7 @@ namespace TemuKJD.WXForms.AdminForms cmbSaLevel.Text = "普通用户"; chkWXComplateProd.Checked = false; chkWXShowProdGetFromType.Checked = false; + chkShopPoints.Checked = false; } private void btnRefresh_Click(object sender, EventArgs e) @@ -220,7 +224,7 @@ namespace TemuKJD.WXForms.AdminForms btnCancel.Visible = true; cmbSaLevel.Text = saLevelName; chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text); - chkWXShowProdGetFromType.Checked = authority.Contains(chkWXShowProdGetFromType.Text); + chkShopPoints.Checked = authority.Contains(chkShopPoints.Text); } if (columname == "删除") { diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx index e098ea8..9ea553f 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx @@ -150,6 +150,9 @@ True + + True + True diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.Designer.cs b/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.Designer.cs index c5d7e95..d8433b3 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.Designer.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.Designer.cs @@ -986,8 +986,8 @@ namespace TemuKJD.WXForms.AdminForms this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; this.Name = "WXAdminShopListForm"; - this.Text = "AdminShopForm"; - this.TitleText = "AdminShopForm"; + this.Text = "微信小店店铺列表"; + this.TitleText = "微信小店店铺列表"; this.Load += new System.EventHandler(this.AdminShopForm_Load); this.VisibleChanged += new System.EventHandler(this.AdminShopForm_VisibleChanged); this.Controls.SetChildIndex(this.panel3, 0); diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs index 5866a0a..8406db8 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs @@ -726,7 +726,10 @@ namespace TemuKJD.WXForms.AdminForms } if (html.Contains("\"code\":200") || html.Contains("已存在")) + { successCount++; + CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } else failCount++; Thread.Sleep(100); diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 05b53b9..200ae0c 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -569,6 +569,8 @@ namespace TemuKJD.WXForms.ProductForms { if (shopEntity == null) return; + if (shopEntity.is_shop_expire) + return; if (selectShopId == null) selectShopId = new List(); @@ -3849,7 +3851,12 @@ namespace TemuKJD.WXForms.ProductForms { var error = BaseRegex.GetStringJson(ref uploadDraftRst, "msg"); if (string.IsNullOrEmpty(error)) - error = uploadDraftRst; + { + if(uploadDraftRst.Contains("\"errcode\":9401043")) + error = "sku价格异常,请检查加价比例"; + else + error = uploadDraftRst; + } var draftId = BaseRegex.GetStringJson(ref uploadDraftRst, "productId").ParseToLong(); return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"草稿保存失败 " + GetHtml.UrlEncodeUtf8(error) + "\"}"; } diff --git a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs index 54a7568..4d1cbb9 100644 --- a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs @@ -351,6 +351,8 @@ namespace TemuKJD.WXForms.ProductForms { if (shopEntity == null) return; + if (shopEntity.is_shop_expire) + return; if (selectShopId == null) selectShopId = new List(); diff --git a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs index 1c87104..6a01392 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs @@ -295,6 +295,8 @@ namespace TemuKJD.WXForms.ProductForms { if (shopEntity == null) return; + if (shopEntity.is_shop_expire) + return; if (selectShopId == null) selectShopId = new List(); diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs index e908664..e0917b9 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs @@ -354,6 +354,8 @@ namespace TemuKJD.WXForms.ProductForms { if (shopEntity == null) return; + if (shopEntity.is_shop_expire) + return; if (selectShopId == null) selectShopId = new List(); @@ -822,7 +824,7 @@ namespace TemuKJD.WXForms.ProductForms { if (shopRow != null) { - shopRow.Cells["colOpResult"].Value = error; + shopRow.Cells["colMessage"].Value = error; } })); break; diff --git a/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs index 76ac5dd..728a5f4 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs @@ -293,6 +293,8 @@ namespace TemuKJD.WXForms.ProductForms { if (shopEntity == null) return; + if (shopEntity.is_shop_expire) + return; if (selectShopId == null) selectShopId = new List(); diff --git a/TEMUKJD/WXForms/ShopForms/WXShopForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopForm.Designer.cs index 3cf0751..c1d2b32 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopForm.Designer.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopForm.Designer.cs @@ -31,10 +31,12 @@ System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表"); System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("子账号管理"); System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("店铺经营统计"); - System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { + System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("店铺优化"); + System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, - treeNode3}); + treeNode3, + treeNode4}); this.panel1 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel(); @@ -131,10 +133,12 @@ treeNode2.Text = "子账号管理"; treeNode3.Name = "店铺经营统计"; treeNode3.Text = "店铺经营统计"; - treeNode4.Name = "店铺管理"; - treeNode4.Text = "店铺管理"; + treeNode4.Name = "店铺优化"; + treeNode4.Text = "店铺优化"; + treeNode5.Name = "店铺管理"; + treeNode5.Text = "店铺管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode4}); + treeNode5}); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.Size = new System.Drawing.Size(140, 461); this.tv.TabIndex = 1; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopForm.cs index 9e83657..5951bb3 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopForm.cs @@ -22,6 +22,7 @@ namespace TemuKJD.WXForms.ShopForms public Lazy shopListForm = new Lazy(); public Lazy sbuAccountForm = new Lazy(); public Lazy shopStatisticsForm = new Lazy(); + public Lazy shopOptimizeForm = new Lazy(); public WXShopForm() @@ -33,7 +34,7 @@ namespace TemuKJD.WXForms.ShopForms tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" }; + List hideName = new List() { "店铺优化", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" }; if (BaseClass.GroupId == 3) { @@ -72,6 +73,9 @@ namespace TemuKJD.WXForms.ShopForms case "店铺经营统计": SetForm(shopStatisticsForm.Value); break; + case "店铺优化": + SetForm(shopOptimizeForm.Value); + break; } })); }).Start(); diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs index b9a96aa..ac752a5 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs @@ -59,11 +59,14 @@ this.pbLoading = new System.Windows.Forms.PictureBox(); this.btnImport = new TemuKJD.UserControls.ButtonEx(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopAccount = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExpireTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colGroupName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCookie = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -86,8 +89,6 @@ this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -130,7 +131,7 @@ // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4); - this.splitContainer1.Size = new System.Drawing.Size(1264, 622); + this.splitContainer1.Size = new System.Drawing.Size(1394, 622); this.splitContainer1.SplitterDistance = 46; this.splitContainer1.TabIndex = 33; // @@ -146,7 +147,7 @@ this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.RowCount = 1; this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel2.Size = new System.Drawing.Size(1264, 46); + this.tableLayoutPanel2.Size = new System.Drawing.Size(1394, 46); this.tableLayoutPanel2.TabIndex = 37; // // panel5 @@ -154,7 +155,7 @@ this.panel5.Controls.Add(this.btnCheck); this.panel5.Controls.Add(this.btnEdit); this.panel5.Controls.Add(this.btnLoginSelect); - this.panel5.Location = new System.Drawing.Point(1012, 3); + this.panel5.Location = new System.Drawing.Point(1142, 3); this.panel5.Name = "panel5"; this.panel5.Size = new System.Drawing.Size(249, 40); this.panel5.TabIndex = 1; @@ -235,7 +236,7 @@ this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; this.panel4.Location = new System.Drawing.Point(3, 3); this.panel4.Name = "panel4"; - this.panel4.Size = new System.Drawing.Size(1003, 40); + this.panel4.Size = new System.Drawing.Size(1133, 40); this.panel4.TabIndex = 0; // // tableLayoutPanel1 @@ -277,7 +278,7 @@ this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 1; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(637, 40); + this.tableLayoutPanel1.Size = new System.Drawing.Size(767, 40); this.tableLayoutPanel1.TabIndex = 375; // // cmbGroup @@ -288,10 +289,10 @@ this.cmbGroup.DropDownWidth = 1; this.cmbGroup.FormattingEnabled = true; this.cmbGroup.IntegralHeight = false; - this.cmbGroup.Location = new System.Drawing.Point(307, 8); + this.cmbGroup.Location = new System.Drawing.Point(385, 8); this.cmbGroup.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbGroup.Name = "cmbGroup"; - this.cmbGroup.Size = new System.Drawing.Size(48, 25); + this.cmbGroup.Size = new System.Drawing.Size(74, 25); this.cmbGroup.TabIndex = 803; this.cmbGroup.Text = "全部"; // @@ -314,10 +315,10 @@ this.cmbNotes.DropDownWidth = 1; this.cmbNotes.FormattingEnabled = true; this.cmbNotes.IntegralHeight = false; - this.cmbNotes.Location = new System.Drawing.Point(224, 8); + this.cmbNotes.Location = new System.Drawing.Point(276, 8); this.cmbNotes.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbNotes.Name = "cmbNotes"; - this.cmbNotes.Size = new System.Drawing.Size(48, 25); + this.cmbNotes.Size = new System.Drawing.Size(74, 25); this.cmbNotes.TabIndex = 413; this.cmbNotes.Text = "全部"; // @@ -327,14 +328,14 @@ this.txtShopId.Location = new System.Drawing.Point(46, 8); this.txtShopId.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.txtShopId.Name = "txtShopId"; - this.txtShopId.Size = new System.Drawing.Size(48, 23); + this.txtShopId.Size = new System.Drawing.Size(74, 23); this.txtShopId.TabIndex = 372; // // label3 // this.label3.Anchor = System.Windows.Forms.AnchorStyles.None; this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(97, 11); + this.label3.Location = new System.Drawing.Point(123, 11); this.label3.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(44, 17); @@ -344,17 +345,17 @@ // txtShopName // this.txtShopName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtShopName.Location = new System.Drawing.Point(141, 8); + this.txtShopName.Location = new System.Drawing.Point(167, 8); this.txtShopName.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.txtShopName.Name = "txtShopName"; - this.txtShopName.Size = new System.Drawing.Size(48, 23); + this.txtShopName.Size = new System.Drawing.Size(74, 23); this.txtShopName.TabIndex = 374; // // label4 // this.label4.Anchor = System.Windows.Forms.AnchorStyles.None; this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(192, 11); + this.label4.Location = new System.Drawing.Point(244, 11); this.label4.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(32, 17); @@ -368,7 +369,7 @@ 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(452, 8); + this.btnRefreshShop.Location = new System.Drawing.Point(582, 8); this.btnRefreshShop.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.btnRefreshShop.Name = "btnRefreshShop"; this.btnRefreshShop.Size = new System.Drawing.Size(60, 23); @@ -393,7 +394,7 @@ 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(576, 8); + this.pnlEmpty.Location = new System.Drawing.Point(706, 8); this.pnlEmpty.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.pnlEmpty.Name = "pnlEmpty"; this.pnlEmpty.Size = new System.Drawing.Size(60, 23); @@ -420,7 +421,7 @@ this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearch.Location = new System.Drawing.Point(514, 8); + this.btnSearch.Location = new System.Drawing.Point(644, 8); this.btnSearch.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(60, 23); @@ -447,10 +448,10 @@ this.cmbSubAccount.DropDownWidth = 1; this.cmbSubAccount.FormattingEnabled = true; this.cmbSubAccount.IntegralHeight = false; - this.cmbSubAccount.Location = new System.Drawing.Point(402, 8); + this.cmbSubAccount.Location = new System.Drawing.Point(506, 8); this.cmbSubAccount.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbSubAccount.Name = "cmbSubAccount"; - this.cmbSubAccount.Size = new System.Drawing.Size(48, 25); + this.cmbSubAccount.Size = new System.Drawing.Size(74, 25); this.cmbSubAccount.TabIndex = 415; this.cmbSubAccount.Text = "全部"; // @@ -458,7 +459,7 @@ // this.label5.Anchor = System.Windows.Forms.AnchorStyles.None; this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(358, 11); + this.label5.Location = new System.Drawing.Point(462, 11); this.label5.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(44, 17); @@ -469,7 +470,7 @@ // this.label6.Anchor = System.Windows.Forms.AnchorStyles.None; this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(275, 11); + this.label6.Location = new System.Drawing.Point(353, 11); this.label6.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(32, 17); @@ -484,7 +485,7 @@ this.btnOpenOrder.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnOpenOrder.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnOpenOrder.ForeColor = System.Drawing.Color.White; - this.btnOpenOrder.Location = new System.Drawing.Point(882, 9); + this.btnOpenOrder.Location = new System.Drawing.Point(1012, 9); this.btnOpenOrder.Margin = new System.Windows.Forms.Padding(2); this.btnOpenOrder.Name = "btnOpenOrder"; this.btnOpenOrder.Size = new System.Drawing.Size(119, 25); @@ -531,7 +532,7 @@ // this.splitContainer2.Panel2.Controls.Add(this.chkAutoDrag); this.splitContainer2.Panel2.Controls.Add(this.statusBar); - this.splitContainer2.Size = new System.Drawing.Size(1264, 572); + this.splitContainer2.Size = new System.Drawing.Size(1394, 572); this.splitContainer2.SplitterDistance = 540; this.splitContainer2.TabIndex = 0; // @@ -556,7 +557,7 @@ // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(607, 245); + this.pbLoading.Location = new System.Drawing.Point(672, 245); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -605,6 +606,7 @@ this.colShopId, this.colShopAccount, this.colAddTime, + this.colExpireTime, this.colNotes, this.colGroupName, this.colCookie, @@ -633,10 +635,35 @@ this.dgvShop.Name = "dgvShop"; this.dgvShop.ReadOnly = true; this.dgvShop.RowTemplate.Height = 23; - this.dgvShop.Size = new System.Drawing.Size(1256, 540); + this.dgvShop.Size = new System.Drawing.Size(1386, 540); this.dgvShop.TabIndex = 5; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // + // chkAutoDrag + // + this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.chkAutoDrag.AutoSize = true; + this.chkAutoDrag.BackColor = System.Drawing.Color.White; + this.chkAutoDrag.Location = new System.Drawing.Point(1238, 2); + this.chkAutoDrag.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.Visible = false; + this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; + 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, -1); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1394, 29); + this.statusBar.TabIndex = 1; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -675,6 +702,14 @@ this.colAddTime.Name = "colAddTime"; this.colAddTime.ReadOnly = true; // + // colExpireTime + // + this.colExpireTime.FillWeight = 70F; + this.colExpireTime.HeaderText = "到期时间"; + this.colExpireTime.Name = "colExpireTime"; + this.colExpireTime.ReadOnly = true; + this.colExpireTime.Visible = false; + // // colNotes // this.colNotes.FillWeight = 90F; @@ -743,7 +778,7 @@ // // colGotoShop // - this.colGotoShop.FillWeight = 46F; + this.colGotoShop.FillWeight = 50F; this.colGotoShop.HeaderText = "进入店铺"; this.colGotoShop.Name = "colGotoShop"; this.colGotoShop.ReadOnly = true; @@ -762,7 +797,7 @@ // // colRelogin // - this.colRelogin.FillWeight = 46F; + this.colRelogin.FillWeight = 40F; this.colRelogin.HeaderText = "登录"; this.colRelogin.Name = "colRelogin"; this.colRelogin.ReadOnly = true; @@ -845,7 +880,7 @@ // // colEdit // - this.colEdit.FillWeight = 46F; + this.colEdit.FillWeight = 40F; this.colEdit.HeaderText = "编辑"; this.colEdit.Name = "colEdit"; this.colEdit.ReadOnly = true; @@ -854,41 +889,16 @@ // // colDelete // - this.colDelete.FillWeight = 46F; + this.colDelete.FillWeight = 40F; this.colDelete.HeaderText = "删除"; this.colDelete.Name = "colDelete"; this.colDelete.ReadOnly = true; // - // chkAutoDrag - // - this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkAutoDrag.AutoSize = true; - this.chkAutoDrag.BackColor = System.Drawing.Color.White; - this.chkAutoDrag.Location = new System.Drawing.Point(1108, 2); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.Visible = false; - this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; - 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, -1); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1264, 29); - this.statusBar.TabIndex = 1; - // // WXShopListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.BackColor = System.Drawing.Color.White; - this.ClientSize = new System.Drawing.Size(1264, 622); + this.ClientSize = new System.Drawing.Size(1394, 622); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.label1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); @@ -957,6 +967,7 @@ private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; private System.Windows.Forms.DataGridViewTextBoxColumn colShopAccount; private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colExpireTime; private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; private System.Windows.Forms.DataGridViewTextBoxColumn colGroupName; private System.Windows.Forms.DataGridViewTextBoxColumn colCookie; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs index d8f9f44..7747308 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs @@ -7,6 +7,7 @@ using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; +using System.Drawing; using System.Globalization; using System.IO; using System.Linq; @@ -541,6 +542,7 @@ namespace TemuKJD.WXForms.ShopForms param.ShopId, param.ShopAccount, param.AddTime.ToString("yy-MM-dd HH:mm"), + param.is_shop_expire ? "已过期" : BaseClass.StampToDateTime(param.expire_time.ParseToInt()).ToString("yy-MM-dd HH:mm"), param.Notes, param.GroupName, param.Cookies, @@ -568,6 +570,8 @@ namespace TemuKJD.WXForms.ShopForms // help to scroll to latest checked dgvShop.CurrentCell = this.dgvShop.Rows[rowIndex].Cells[2]; } + dgvr = this.dgvShop.Rows[rowIndex]; + dgvr.Cells["colExpireTime"].Style.ForeColor = dgvr.Cells["colExpireTime"].Value.ParseToString() == "已过期" ? Color.Red : Color.Blue; } })); } @@ -593,6 +597,7 @@ namespace TemuKJD.WXForms.ShopForms dgvr.Cells["colBuyAccount"].Value = param.BuyAccount; dgvr.Cells["colChatAccount"].Value = param.ChatAccount; dgvr.Cells["colRelogin"].Value = string.IsNullOrWhiteSpace(param.LoginStatus) ? "未登录" : param.LoginStatus.Trim(); + dgvr.Cells["colExpireTime"].Value = param.is_shop_expire ? "已过期" : BaseClass.StampToDateTime(param.expire_time.ParseToInt()).ToString("yy-MM-dd HH:mm"); } /// @@ -728,6 +733,8 @@ namespace TemuKJD.WXForms.ShopForms this.btnAddShop.Visible = false; //this.btnEdit.Visible = false; } + if (BaseClass.UserAuthority.Contains("积分用户")) + this.dgvShop.Columns["colExpireTime"].Visible = true; this.dgvShop.AddSelectorColumn("colSelect"); this.chkAutoDrag.Checked = GlobalConfig.TemuShopSettingParam.IsAutoDragLogin; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.resx b/TEMUKJD/WXForms/ShopForms/WXShopListForm.resx index d940f44..7e4ccef 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.resx +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.resx @@ -132,6 +132,9 @@ True + + True + True diff --git a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs new file mode 100644 index 0000000..0d3e720 --- /dev/null +++ b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.Designer.cs @@ -0,0 +1,1421 @@ + +using TemuKJD.PDDForms.ProductSelectForms; + +namespace TemuKJD.WXForms.ShopForms +{ + partial class WXShopOptimizeForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + 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 dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnCancel = new DevComponents.DotNetBar.PanelEx(); + this.btnSearch = new DevComponents.DotNetBar.PanelEx(); + this.panelEx6 = new DevComponents.DotNetBar.PanelEx(); + this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx(); + this.btnSelectOnline = new DevComponents.DotNetBar.PanelEx(); + this.btnAddUnSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnReverse = new DevComponents.DotNetBar.PanelEx(); + this.cmbFilterShopNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.btnAddSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnEmptyShop = new DevComponents.DotNetBar.PanelEx(); + this.btnFilterShop = new DevComponents.DotNetBar.PanelEx(); + this.label16 = new System.Windows.Forms.Label(); + this.txtFilterShopName = new System.Windows.Forms.TextBox(); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.label17 = new System.Windows.Forms.Label(); + this.pbLoadingShop = new System.Windows.Forms.PictureBox(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colShopLoginName = 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.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colApi = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.pictureBox3 = new TemuKJD.UserComponent.UcTabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.panel1 = new System.Windows.Forms.Panel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.dgvData1 = new TemuKJD.UserComponent.DataGridViewEx(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.mainPanel = new System.Windows.Forms.Panel(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + this.dgvData3 = new TemuKJD.UserComponent.DataGridViewEx(); + this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); + this.colSkuFakeImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSkuFakeImg = new System.Windows.Forms.DataGridViewImageColumn(); + this.colProductName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductCat = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCouponNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.colDgv1Check = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colDgv1ShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1ShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1ShopLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDgv1InShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDgv1ImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1Img = new System.Windows.Forms.DataGridViewImageColumn(); + this.colDgv1SpuId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1ProductName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1Spec = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1OutSn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1OrderSn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1OrderTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDgv1AfterSaleReason = new System.Windows.Forms.DataGridViewTextBoxColumn(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx3.SuspendLayout(); + this.ucGroupBoxEx1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + this.pictureBox3.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvData1)).BeginInit(); + this.tabPage3.SuspendLayout(); + this.mainPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvData3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(4, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx3); + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.pbLoadingShop); + this.splitContainer1.Panel2.Controls.Add(this.dgvShop); + this.splitContainer1.Size = new System.Drawing.Size(346, 529); + this.splitContainer1.SplitterDistance = 165; + this.splitContainer1.TabIndex = 11; + // + // ucGroupBoxEx3 + // + this.ucGroupBoxEx3.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.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx3.Controls.Add(this.btnCancel); + this.ucGroupBoxEx3.Controls.Add(this.btnSearch); + this.ucGroupBoxEx3.Controls.Add(this.panelEx6); + this.ucGroupBoxEx3.Location = new System.Drawing.Point(157, 2); + this.ucGroupBoxEx3.Name = "ucGroupBoxEx3"; + this.ucGroupBoxEx3.Size = new System.Drawing.Size(190, 165); + this.ucGroupBoxEx3.TabIndex = 668; + this.ucGroupBoxEx3.TabStop = false; + this.ucGroupBoxEx3.Text = "查询"; + // + // 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(24, 100); + this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(142, 23); + 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 = 859; + this.btnCancel.Text = "取消查询"; + // + // btnSearch + // + this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch.Location = new System.Drawing.Point(24, 60); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(142, 23); + this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearch.Style.GradientAngle = 90; + this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.TabIndex = 855; + this.btnSearch.Text = "查询选中店铺"; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // panelEx6 + // + this.panelEx6.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx6.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx6.Location = new System.Drawing.Point(288, 127); + this.panelEx6.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.panelEx6.Name = "panelEx6"; + this.panelEx6.Size = new System.Drawing.Size(58, 25); + this.panelEx6.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx6.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx6.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx6.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx6.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx6.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx6.Style.GradientAngle = 90; + this.panelEx6.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx6.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx6.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx6.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx6.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx6.TabIndex = 848; + this.panelEx6.Text = "停止查询"; + this.panelEx6.Click += new System.EventHandler(this.btnStop_Click); + // + // ucGroupBoxEx1 + // + this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + 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.btnSelectOffline); + this.ucGroupBoxEx1.Controls.Add(this.btnSelectOnline); + this.ucGroupBoxEx1.Controls.Add(this.btnAddUnSelect); + this.ucGroupBoxEx1.Controls.Add(this.btnReverse); + this.ucGroupBoxEx1.Controls.Add(this.cmbFilterShopNotes); + this.ucGroupBoxEx1.Controls.Add(this.btnAddSelect); + this.ucGroupBoxEx1.Controls.Add(this.btnEmptyShop); + this.ucGroupBoxEx1.Controls.Add(this.btnFilterShop); + this.ucGroupBoxEx1.Controls.Add(this.label16); + this.ucGroupBoxEx1.Controls.Add(this.txtFilterShopName); + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop); + this.ucGroupBoxEx1.Controls.Add(this.label17); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(-2, 2); + this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; + this.ucGroupBoxEx1.Size = new System.Drawing.Size(160, 165); + this.ucGroupBoxEx1.TabIndex = 399; + this.ucGroupBoxEx1.TabStop = false; + this.ucGroupBoxEx1.Text = "店铺筛选"; + // + // btnSelectOffline + // + this.btnSelectOffline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelectOffline.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelectOffline.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelectOffline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelectOffline.Location = new System.Drawing.Point(61, 137); + this.btnSelectOffline.Name = "btnSelectOffline"; + this.btnSelectOffline.Size = new System.Drawing.Size(50, 20); + this.btnSelectOffline.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOffline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOffline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOffline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelectOffline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelectOffline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelectOffline.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelectOffline.Style.GradientAngle = 90; + this.btnSelectOffline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOffline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOffline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOffline.TabIndex = 772; + this.btnSelectOffline.Text = "选掉线"; + this.btnSelectOffline.Click += new System.EventHandler(this.btnSelectOffline_Click); + // + // btnSelectOnline + // + this.btnSelectOnline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelectOnline.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelectOnline.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelectOnline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelectOnline.Location = new System.Drawing.Point(9, 137); + this.btnSelectOnline.Name = "btnSelectOnline"; + this.btnSelectOnline.Size = new System.Drawing.Size(50, 20); + this.btnSelectOnline.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOnline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOnline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOnline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelectOnline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelectOnline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelectOnline.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelectOnline.Style.GradientAngle = 90; + this.btnSelectOnline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOnline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOnline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOnline.TabIndex = 768; + this.btnSelectOnline.Text = "选在线"; + this.btnSelectOnline.Click += new System.EventHandler(this.btnSelectOnline_Click); + // + // btnAddUnSelect + // + this.btnAddUnSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddUnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddUnSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddUnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddUnSelect.Location = new System.Drawing.Point(81, 115); + this.btnAddUnSelect.Name = "btnAddUnSelect"; + this.btnAddUnSelect.Size = new System.Drawing.Size(70, 20); + this.btnAddUnSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUnSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddUnSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddUnSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddUnSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddUnSelect.Style.GradientAngle = 90; + this.btnAddUnSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUnSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.TabIndex = 746; + this.btnAddUnSelect.Text = "弃选条件"; + this.btnAddUnSelect.Click += new System.EventHandler(this.btnAddUnSelect_Click); + // + // btnReverse + // + this.btnReverse.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnReverse.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnReverse.DisabledBackColor = System.Drawing.Color.Empty; + this.btnReverse.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnReverse.Location = new System.Drawing.Point(113, 137); + this.btnReverse.Name = "btnReverse"; + this.btnReverse.Size = new System.Drawing.Size(38, 20); + this.btnReverse.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnReverse.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReverse.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReverse.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnReverse.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnReverse.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnReverse.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnReverse.Style.GradientAngle = 90; + this.btnReverse.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnReverse.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReverse.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReverse.TabIndex = 726; + this.btnReverse.Text = "反选"; + this.btnReverse.Click += new System.EventHandler(this.btnReverse_Click); + // + // cmbFilterShopNotes + // + this.cmbFilterShopNotes.DefaultText = "全部"; + this.cmbFilterShopNotes.DropDownHeight = 1; + this.cmbFilterShopNotes.DropDownWidth = 1; + this.cmbFilterShopNotes.FormattingEnabled = true; + this.cmbFilterShopNotes.IntegralHeight = false; + this.cmbFilterShopNotes.Location = new System.Drawing.Point(38, 66); + this.cmbFilterShopNotes.Name = "cmbFilterShopNotes"; + this.cmbFilterShopNotes.Size = new System.Drawing.Size(113, 25); + this.cmbFilterShopNotes.TabIndex = 442; + this.cmbFilterShopNotes.Text = "全部"; + // + // btnAddSelect + // + this.btnAddSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddSelect.Location = new System.Drawing.Point(9, 115); + this.btnAddSelect.Name = "btnAddSelect"; + this.btnAddSelect.Size = new System.Drawing.Size(70, 20); + this.btnAddSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddSelect.Style.GradientAngle = 90; + this.btnAddSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddSelect.TabIndex = 742; + this.btnAddSelect.Text = "选中条件"; + this.btnAddSelect.Click += new System.EventHandler(this.btnAddSelect_Click); + // + // btnEmptyShop + // + this.btnEmptyShop.CanvasColor = System.Drawing.SystemColors.Control; + this.btnEmptyShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEmptyShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEmptyShop.Location = new System.Drawing.Point(113, 93); + this.btnEmptyShop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnEmptyShop.Name = "btnEmptyShop"; + this.btnEmptyShop.Size = new System.Drawing.Size(38, 20); + this.btnEmptyShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnEmptyShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnEmptyShop.Style.GradientAngle = 90; + this.btnEmptyShop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnEmptyShop.TabIndex = 713; + this.btnEmptyShop.Text = "清空"; + this.btnEmptyShop.Click += new System.EventHandler(this.btnEmptyShop_Click); + // + // btnFilterShop + // + this.btnFilterShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFilterShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFilterShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFilterShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFilterShop.Location = new System.Drawing.Point(9, 93); + this.btnFilterShop.Name = "btnFilterShop"; + this.btnFilterShop.Size = new System.Drawing.Size(102, 20); + this.btnFilterShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnFilterShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnFilterShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnFilterShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnFilterShop.Style.GradientAngle = 90; + this.btnFilterShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFilterShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFilterShop.TabIndex = 703; + this.btnFilterShop.Text = "过滤店铺"; + this.btnFilterShop.Click += new System.EventHandler(this.btnFilterShop_Click); + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(7, 70); + this.label16.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(32, 17); + this.label16.TabIndex = 697; + this.label16.Text = "备注"; + // + // txtFilterShopName + // + this.txtFilterShopName.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtFilterShopName.Location = new System.Drawing.Point(38, 39); + this.txtFilterShopName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtFilterShopName.Name = "txtFilterShopName"; + this.txtFilterShopName.Size = new System.Drawing.Size(113, 25); + this.txtFilterShopName.TabIndex = 653; + // + // 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(9, 17); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(142, 20); + 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); + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(7, 43); + this.label17.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(32, 17); + this.label17.TabIndex = 699; + this.label17.Text = "名称"; + // + // pbLoadingShop + // + this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoadingShop.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoadingShop.Location = new System.Drawing.Point(146, 155); + this.pbLoadingShop.Name = "pbLoadingShop"; + this.pbLoadingShop.Size = new System.Drawing.Size(50, 50); + this.pbLoadingShop.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoadingShop.TabIndex = 189; + this.pbLoadingShop.TabStop = false; + this.pbLoadingShop.Visible = false; + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvShop.AutoRowNumber = true; + this.dgvShop.BackgroundColor = System.Drawing.Color.White; + this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + 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.colShopLoginName, + this.colShopId, + this.colShopName, + this.colShopNotes, + this.colSelectProduct, + this.colLoginStatus, + this.colApi, + this.colCanUse, + this.colUploadCount, + this.colOnSaleNum, + this.colRemaining, + this.colMessage}); + this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShop.Location = new System.Drawing.Point(0, 0); + this.dgvShop.MultiSelectCheckBox = true; + this.dgvShop.Name = "dgvShop"; + this.dgvShop.ReadOnly = true; + this.dgvShop.RowHeadersWidth = 25; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(346, 360); + 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; + // + // colShopLoginName + // + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.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.FillWeight = 150F; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 75; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 75; + // + // colSelectProduct + // + this.colSelectProduct.HeaderText = "选择商品"; + this.colSelectProduct.Name = "colSelectProduct"; + this.colSelectProduct.ReadOnly = true; + this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelectProduct.Visible = false; + this.colSelectProduct.Width = 62; + // + // 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; + // + // colApi + // + this.colApi.HeaderText = "Api"; + this.colApi.Name = "colApi"; + this.colApi.ReadOnly = true; + this.colApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colApi.Visible = false; + this.colApi.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; + // + // colUploadCount + // + this.colUploadCount.HeaderText = "已传"; + this.colUploadCount.Name = "colUploadCount"; + this.colUploadCount.ReadOnly = true; + this.colUploadCount.Visible = false; + this.colUploadCount.Width = 38; + // + // colOnSaleNum + // + this.colOnSaleNum.HeaderText = "在售"; + this.colOnSaleNum.Name = "colOnSaleNum"; + this.colOnSaleNum.ReadOnly = true; + this.colOnSaleNum.Visible = false; + this.colOnSaleNum.Width = 38; + // + // colRemaining + // + this.colRemaining.HeaderText = "月限额"; + this.colRemaining.Name = "colRemaining"; + this.colRemaining.ReadOnly = true; + this.colRemaining.Visible = false; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; + // + // 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.splitContainer1); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 4); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.pictureBox3); + this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload); + this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.splitContainer2.Size = new System.Drawing.Size(1412, 533); + this.splitContainer2.SplitterDistance = 350; + this.splitContainer2.TabIndex = 0; + // + // pictureBox3 + // + this.pictureBox3.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251))))); + this.pictureBox3.Controls.Add(this.tabPage1); + this.pictureBox3.Controls.Add(this.tabPage2); + this.pictureBox3.Controls.Add(this.tabPage3); + this.pictureBox3.Controls.Add(this.tabPage4); + this.pictureBox3.Controls.Add(this.tabPage5); + this.pictureBox3.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.pictureBox3.ItemSize = new System.Drawing.Size(73, 36); + this.pictureBox3.Location = new System.Drawing.Point(0, 0); + this.pictureBox3.Name = "pictureBox3"; + this.pictureBox3.SelectedIndex = 0; + this.pictureBox3.ShowCloseButton = false; + this.pictureBox3.Size = new System.Drawing.Size(1054, 533); + this.pictureBox3.TabIndex = 781; + this.pictureBox3.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pictureBox3.TabSelectTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pictureBox3.TabTextColor = System.Drawing.Color.Gray; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.panel1); + this.tabPage1.Location = new System.Drawing.Point(2, 40); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Size = new System.Drawing.Size(1048, 489); + this.tabPage1.TabIndex = 4; + this.tabPage1.Text = " 品质退款 "; + this.tabPage1.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Controls.Add(this.dgvData1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(1048, 489); + this.panel1.TabIndex = 2; + // + // pictureBox1 + // + this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pictureBox1.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pictureBox1.Location = new System.Drawing.Point(499, 219); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(50, 50); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 780; + this.pictureBox1.TabStop = false; + this.pictureBox1.Visible = false; + // + // dgvData1 + // + this.dgvData1.AllowUserToAddRows = false; + this.dgvData1.AllowUserToDeleteRows = false; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvData1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvData1.AutoRowNumber = true; + this.dgvData1.BackgroundColor = System.Drawing.Color.White; + this.dgvData1.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.dgvData1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.dgvData1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvData1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colDgv1Check, + this.colDgv1ShopId, + this.colDgv1ShopName, + this.colDgv1ShopLogin, + this.colDgv1InShop, + this.colDgv1ImgUrl, + this.colDgv1Img, + this.colDgv1SpuId, + this.colDgv1ProductName, + this.colDgv1Spec, + this.colDgv1OutSn, + this.colDgv1OrderSn, + this.colDgv1OrderTime, + this.colDgv1AfterSaleReason}); + this.dgvData1.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvData1.Location = new System.Drawing.Point(0, 0); + this.dgvData1.MultiSelectCheckBox = true; + this.dgvData1.Name = "dgvData1"; + this.dgvData1.ReadOnly = true; + this.dgvData1.RowTemplate.Height = 23; + this.dgvData1.Size = new System.Drawing.Size(1048, 489); + this.dgvData1.TabIndex = 187; + this.dgvData1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvData1_CellContentClick); + // + // tabPage2 + // + this.tabPage2.Location = new System.Drawing.Point(2, 40); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Size = new System.Drawing.Size(1048, 489); + this.tabPage2.TabIndex = 5; + this.tabPage2.Text = " 订单评价 "; + this.tabPage2.UseVisualStyleBackColor = true; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.mainPanel); + this.tabPage3.Location = new System.Drawing.Point(2, 40); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Size = new System.Drawing.Size(1048, 489); + this.tabPage3.TabIndex = 1; + this.tabPage3.Text = " 揽收不达标 "; + this.tabPage3.UseVisualStyleBackColor = true; + // + // mainPanel + // + this.mainPanel.Controls.Add(this.pbLoading); + this.mainPanel.Controls.Add(this.dgvData3); + this.mainPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.mainPanel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.mainPanel.Location = new System.Drawing.Point(0, 0); + this.mainPanel.Name = "mainPanel"; + this.mainPanel.Size = new System.Drawing.Size(1048, 489); + this.mainPanel.TabIndex = 1; + // + // 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(505, 219); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 780; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // dgvData3 + // + this.dgvData3.AllowUserToAddRows = false; + this.dgvData3.AllowUserToDeleteRows = false; + dataGridViewCellStyle10.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvData3.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle10; + this.dgvData3.AutoRowNumber = true; + this.dgvData3.BackgroundColor = System.Drawing.Color.White; + this.dgvData3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvData3.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle11; + this.dgvData3.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvData3.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colCheck, + this.colSupplierId, + this.colSupplierName, + this.colLogin, + this.colInShop, + this.colSpuId, + this.colSkcId, + this.colDraftId, + this.colImgUrl, + this.colProductSkcPic, + this.colSkuFakeImgUrl, + this.colSkuFakeImg, + this.colProductName, + this.colProductCat, + this.colExtCode, + this.colPrice, + this.colSoldNum, + this.colMsg, + this.colNotes, + this.colUserNotes, + this.ColDelete, + this.colAddTime, + this.colCouponNum, + this.colOpResult}); + this.dgvData3.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvData3.Location = new System.Drawing.Point(0, 0); + this.dgvData3.MultiSelectCheckBox = true; + this.dgvData3.Name = "dgvData3"; + this.dgvData3.ReadOnly = true; + this.dgvData3.RowTemplate.Height = 23; + this.dgvData3.Size = new System.Drawing.Size(1048, 489); + this.dgvData3.TabIndex = 187; + this.dgvData3.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); + // + // colCheck + // + this.colCheck.Frozen = true; + 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 = 30; + // + // colSupplierId + // + this.colSupplierId.Frozen = true; + this.colSupplierId.HeaderText = "店铺Id"; + this.colSupplierId.Name = "colSupplierId"; + this.colSupplierId.ReadOnly = true; + // + // colSupplierName + // + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle12; + this.colSupplierName.Frozen = true; + this.colSupplierName.HeaderText = "店铺名称"; + this.colSupplierName.Name = "colSupplierName"; + this.colSupplierName.ReadOnly = true; + // + // colLogin + // + this.colLogin.HeaderText = "登录"; + this.colLogin.Name = "colLogin"; + this.colLogin.ReadOnly = true; + this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLogin.Width = 40; + // + // colInShop + // + this.colInShop.HeaderText = "进店"; + this.colInShop.Name = "colInShop"; + this.colInShop.ReadOnly = true; + this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colInShop.Width = 40; + // + // colSpuId + // + this.colSpuId.HeaderText = "源商品ID"; + this.colSpuId.Name = "colSpuId"; + this.colSpuId.ReadOnly = true; + this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSpuId.Visible = false; + // + // colSkcId + // + this.colSkcId.FillWeight = 150F; + this.colSkcId.HeaderText = "商品SKC"; + this.colSkcId.Name = "colSkcId"; + this.colSkcId.ReadOnly = true; + this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkcId.Visible = false; + this.colSkcId.Width = 80; + // + // colDraftId + // + this.colDraftId.HeaderText = "商品Id"; + this.colDraftId.Name = "colDraftId"; + this.colDraftId.ReadOnly = true; + this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.colDraftId.Width = 120; + // + // colImgUrl + // + this.colImgUrl.HeaderText = "图片地址"; + this.colImgUrl.Name = "colImgUrl"; + this.colImgUrl.ReadOnly = true; + this.colImgUrl.Visible = false; + // + // colProductSkcPic + // + this.colProductSkcPic.HeaderText = "图片"; + this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colProductSkcPic.Name = "colProductSkcPic"; + this.colProductSkcPic.ReadOnly = true; + this.colProductSkcPic.Width = 60; + // + // colSkuFakeImgUrl + // + this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址"; + this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl"; + this.colSkuFakeImgUrl.ReadOnly = true; + this.colSkuFakeImgUrl.Visible = false; + // + // colSkuFakeImg + // + this.colSkuFakeImg.HeaderText = "SKU替换图"; + this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colSkuFakeImg.Name = "colSkuFakeImg"; + this.colSkuFakeImg.ReadOnly = true; + this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkuFakeImg.Visible = false; + this.colSkuFakeImg.Width = 60; + // + // colProductName + // + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle13; + this.colProductName.HeaderText = "商品标题"; + this.colProductName.Name = "colProductName"; + this.colProductName.ReadOnly = true; + this.colProductName.Width = 150; + // + // colProductCat + // + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductCat.DefaultCellStyle = dataGridViewCellStyle14; + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 90; + // + // colExtCode + // + this.colExtCode.HeaderText = "商品货号"; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + this.colExtCode.Width = 145; + // + // colPrice + // + this.colPrice.HeaderText = "价格"; + this.colPrice.Name = "colPrice"; + this.colPrice.ReadOnly = true; + this.colPrice.Width = 60; + // + // colSoldNum + // + this.colSoldNum.HeaderText = "销量"; + this.colSoldNum.Name = "colSoldNum"; + this.colSoldNum.ReadOnly = true; + this.colSoldNum.Width = 60; + // + // colMsg + // + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // + // colNotes + // + this.colNotes.HeaderText = "上传备注"; + this.colNotes.Name = "colNotes"; + this.colNotes.ReadOnly = true; + this.colNotes.Visible = false; + // + // colUserNotes + // + this.colUserNotes.HeaderText = "重上/已买"; + this.colUserNotes.Name = "colUserNotes"; + this.colUserNotes.ReadOnly = true; + this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUserNotes.Visible = false; + this.colUserNotes.Width = 75; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + this.ColDelete.Visible = false; + this.ColDelete.Width = 75; + // + // colAddTime + // + dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colAddTime.DefaultCellStyle = dataGridViewCellStyle15; + this.colAddTime.HeaderText = "上架时间"; + this.colAddTime.Name = "colAddTime"; + this.colAddTime.ReadOnly = true; + this.colAddTime.Width = 80; + // + // colCouponNum + // + this.colCouponNum.HeaderText = "生效券数量"; + this.colCouponNum.Name = "colCouponNum"; + this.colCouponNum.ReadOnly = true; + this.colCouponNum.Visible = false; + this.colCouponNum.Width = 90; + // + // colOpResult + // + this.colOpResult.HeaderText = "操作结果"; + this.colOpResult.Name = "colOpResult"; + this.colOpResult.ReadOnly = true; + this.colOpResult.Width = 260; + // + // tabPage4 + // + this.tabPage4.Location = new System.Drawing.Point(2, 40); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Size = new System.Drawing.Size(1048, 489); + this.tabPage4.TabIndex = 2; + this.tabPage4.Text = " 配送不达标 "; + this.tabPage4.UseVisualStyleBackColor = true; + // + // tabPage5 + // + this.tabPage5.Location = new System.Drawing.Point(2, 40); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Size = new System.Drawing.Size(1048, 489); + this.tabPage5.TabIndex = 3; + this.tabPage5.Text = " 物流负向反馈 "; + this.tabPage5.UseVisualStyleBackColor = true; + // + // chkTestNoAuditUpload + // + this.chkTestNoAuditUpload.AutoSize = true; + this.chkTestNoAuditUpload.Location = new System.Drawing.Point(1094, 35); + this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload"; + this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21); + this.chkTestNoAuditUpload.TabIndex = 779; + this.chkTestNoAuditUpload.Text = "测试免审提交商品"; + this.chkTestNoAuditUpload.UseVisualStyleBackColor = true; + this.chkTestNoAuditUpload.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(1412, 27); + this.statusBar.TabIndex = 2; + // + // 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.statusBar); + this.splitContainer3.Size = new System.Drawing.Size(1412, 564); + this.splitContainer3.SplitterDistance = 533; + this.splitContainer3.TabIndex = 3; + // + // colDgv1Check + // + this.colDgv1Check.Frozen = true; + this.colDgv1Check.HeaderText = "选择"; + this.colDgv1Check.Name = "colDgv1Check"; + this.colDgv1Check.ReadOnly = true; + this.colDgv1Check.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1Check.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colDgv1Check.Width = 30; + // + // colDgv1ShopId + // + this.colDgv1ShopId.Frozen = true; + this.colDgv1ShopId.HeaderText = "店铺Id"; + this.colDgv1ShopId.Name = "colDgv1ShopId"; + this.colDgv1ShopId.ReadOnly = true; + // + // colDgv1ShopName + // + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1ShopName.DefaultCellStyle = dataGridViewCellStyle5; + this.colDgv1ShopName.Frozen = true; + this.colDgv1ShopName.HeaderText = "店铺名称"; + this.colDgv1ShopName.Name = "colDgv1ShopName"; + this.colDgv1ShopName.ReadOnly = true; + // + // colDgv1ShopLogin + // + this.colDgv1ShopLogin.HeaderText = "登录"; + this.colDgv1ShopLogin.Name = "colDgv1ShopLogin"; + this.colDgv1ShopLogin.ReadOnly = true; + this.colDgv1ShopLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1ShopLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colDgv1ShopLogin.Width = 40; + // + // colDgv1InShop + // + this.colDgv1InShop.HeaderText = "进店"; + this.colDgv1InShop.Name = "colDgv1InShop"; + this.colDgv1InShop.ReadOnly = true; + this.colDgv1InShop.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1InShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colDgv1InShop.Width = 40; + // + // colDgv1ImgUrl + // + this.colDgv1ImgUrl.HeaderText = "图片地址"; + this.colDgv1ImgUrl.Name = "colDgv1ImgUrl"; + this.colDgv1ImgUrl.ReadOnly = true; + this.colDgv1ImgUrl.Visible = false; + // + // colDgv1Img + // + this.colDgv1Img.HeaderText = "图片"; + this.colDgv1Img.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colDgv1Img.Name = "colDgv1Img"; + this.colDgv1Img.ReadOnly = true; + this.colDgv1Img.Width = 60; + // + // colDgv1SpuId + // + this.colDgv1SpuId.HeaderText = "商品Id"; + this.colDgv1SpuId.Name = "colDgv1SpuId"; + this.colDgv1SpuId.ReadOnly = true; + this.colDgv1SpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1SpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.colDgv1SpuId.Width = 110; + // + // colDgv1ProductName + // + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1ProductName.DefaultCellStyle = dataGridViewCellStyle6; + this.colDgv1ProductName.HeaderText = "商品标题"; + this.colDgv1ProductName.Name = "colDgv1ProductName"; + this.colDgv1ProductName.ReadOnly = true; + this.colDgv1ProductName.Width = 180; + // + // colDgv1Spec + // + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1Spec.DefaultCellStyle = dataGridViewCellStyle7; + this.colDgv1Spec.HeaderText = "商品规格"; + this.colDgv1Spec.Name = "colDgv1Spec"; + this.colDgv1Spec.ReadOnly = true; + this.colDgv1Spec.Width = 145; + // + // colDgv1OutSn + // + this.colDgv1OutSn.HeaderText = "sku编码"; + this.colDgv1OutSn.Name = "colDgv1OutSn"; + this.colDgv1OutSn.ReadOnly = true; + this.colDgv1OutSn.Visible = false; + this.colDgv1OutSn.Width = 150; + // + // colDgv1OrderSn + // + this.colDgv1OrderSn.HeaderText = "订单号"; + this.colDgv1OrderSn.Name = "colDgv1OrderSn"; + this.colDgv1OrderSn.ReadOnly = true; + this.colDgv1OrderSn.Width = 150; + // + // colDgv1OrderTime + // + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1OrderTime.DefaultCellStyle = dataGridViewCellStyle8; + this.colDgv1OrderTime.HeaderText = "下单时间"; + this.colDgv1OrderTime.Name = "colDgv1OrderTime"; + this.colDgv1OrderTime.ReadOnly = true; + this.colDgv1OrderTime.Width = 75; + // + // colDgv1AfterSaleReason + // + dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colDgv1AfterSaleReason.DefaultCellStyle = dataGridViewCellStyle9; + this.colDgv1AfterSaleReason.HeaderText = "退款原因"; + this.colDgv1AfterSaleReason.Name = "colDgv1AfterSaleReason"; + this.colDgv1AfterSaleReason.ReadOnly = true; + this.colDgv1AfterSaleReason.Width = 150; + // + // WXShopOptimizeForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1412, 564); + this.Controls.Add(this.splitContainer3); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.KeyPreview = true; + this.Name = "WXShopOptimizeForm"; + this.Text = "店铺优化"; + this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); + this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx3.ResumeLayout(false); + this.ucGroupBoxEx1.ResumeLayout(false); + this.ucGroupBoxEx1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + this.splitContainer2.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + this.pictureBox3.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvData1)).EndInit(); + this.tabPage3.ResumeLayout(false); + this.mainPanel.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvData3)).EndInit(); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private UserComponent.UcGroupBoxEx ucGroupBoxEx1; + private DevComponents.DotNetBar.PanelEx btnRefreshShop; + private System.Windows.Forms.SplitContainer splitContainer2; + private UserComponent.DataGridViewEx dgvShop; + private UserComponent.DataGridViewEx dgvData3; + private UserControls.StatusBarUserControl statusBar; + private UserComponent.UcCheckBox chkTestNoAuditUpload; + private System.Windows.Forms.PictureBox pbLoadingShop; + private System.Windows.Forms.PictureBox pbLoading; + private System.Windows.Forms.TextBox txtFilterShopName; + private DevComponents.DotNetBar.PanelEx btnFilterShop; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Label label16; + private DevComponents.DotNetBar.PanelEx btnEmptyShop; + private UserComponent.UcComboBoxMutiSelect cmbFilterShopNotes; + private DevComponents.DotNetBar.PanelEx btnReverse; + private DevComponents.DotNetBar.PanelEx btnAddUnSelect; + private DevComponents.DotNetBar.PanelEx btnAddSelect; + private DevComponents.DotNetBar.PanelEx btnSelectOffline; + private DevComponents.DotNetBar.PanelEx btnSelectOnline; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct; + private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewLinkColumn colApi; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colUploadCount; + private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + private UserComponent.UcGroupBoxEx ucGroupBoxEx3; + private DevComponents.DotNetBar.PanelEx panelEx6; + private UserComponent.UcTabControl pictureBox3; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.Panel mainPanel; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; + private System.Windows.Forms.DataGridViewLinkColumn colLogin; + private System.Windows.Forms.DataGridViewLinkColumn colInShop; + private System.Windows.Forms.DataGridViewLinkColumn colSpuId; + private System.Windows.Forms.DataGridViewLinkColumn colSkcId; + private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; + private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuFakeImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colSkuFakeImg; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductName; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; + private System.Windows.Forms.DataGridViewLinkColumn colUserNotes; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colCouponNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.PictureBox pictureBox1; + private UserComponent.DataGridViewEx dgvData1; + private DevComponents.DotNetBar.PanelEx btnCancel; + private DevComponents.DotNetBar.PanelEx btnSearch; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.DataGridViewCheckBoxColumn colDgv1Check; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1ShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1ShopName; + private System.Windows.Forms.DataGridViewLinkColumn colDgv1ShopLogin; + private System.Windows.Forms.DataGridViewLinkColumn colDgv1InShop; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1ImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colDgv1Img; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1SpuId; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1ProductName; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1Spec; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1OutSn; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1OrderSn; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1OrderTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colDgv1AfterSaleReason; + } +} \ No newline at end of file diff --git a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs new file mode 100644 index 0000000..5bb66c9 --- /dev/null +++ b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.cs @@ -0,0 +1,628 @@ +using AllBase; +using AllBase.Helper; +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.IO; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.Extension; +using TemuKJD.BaseForms; +using TemuKJD.ToolForms; +using Work; +using TemuKJD.BLL; +using System.Text.RegularExpressions; +using TemuKJD.PDDForms.ProductSelectForms; +using TemuKJD.WXForms.ShopForms; +using AllBase.Model.Result.PDDResult; +using AllBase.Model.Param.WXParam; +using AllBase.Model.Result.WXResult; +using Newtonsoft.Json; +using NaiBa.Util; +using AllBase.Model.Config; +using TemuKJD.WXForms.ProductForms; + +namespace TemuKJD.WXForms.ShopForms +{ + public partial class WXShopOptimizeForm : BaseForm + { + public CancellationTokenSource cancellationTokenSource { get; set; } = null; + public bool IsLoadComplate { get; set; } = false; + + bool isInit = false; + CheckBox chkSelectAll = null; + public Dictionary dicCheckedShopId = new Dictionary(); + public string pdd_product_cates = ""; + + ConcurrentList lstWxOptimizeOrderAfterSaleInfo = new ConcurrentList(); + ConcurrentList lstWxOptimizeProductEvaluationInfo = new ConcurrentList(); + + public WXShopOptimizeForm() + { + InitializeComponent(); + } + + private void UserSelectDbProductForm_Load(object sender, EventArgs e) + { + dicCheckedShopId = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_checked_shop_dic"); + if (dicCheckedShopId == null) + dicCheckedShopId = new Dictionary(); + + chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false); + dgvShop.Columns["colSelect"].HeaderText = ""; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + + dgvData1.AddSelectorColumn("colDgv1Check"); + dgvData1.AddImgColumn("colDgv1Img", "colDgv1ImgUrl"); + + IsLoadComplate = true; + } + + private void chkSelectAll_CheckedChanged(object sender, EventArgs e) + { + if (!chkSelectAll.Checked) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + row.Cells["colSelect"].Value = false; + } + } + else + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if(row.Visible == true) + row.Cells["colSelect"].Value = true; + } + } + + foreach (var r in dgvShop.Rows.Cast()) + { + dicCheckedShopId[r.Cells["colShopId"].Value.ParseToString()] = r.Cells["colSelect"].Value.ParseToBool(); + } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId); + } + + private void btnRefreshShop_Click(object sender, EventArgs e) + { + pbLoadingShop.Visible = true; + RefreshShopLogin(); + } + + private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) + { + if (Visible == true) + { + RefreshShopLogin(); + + if (!isInit) + { + Task.Run(() => + { + foreach (var shop in GlobalConfig.ShopLoginList) + { + } + + }); + } + + isInit = true; + } + } + + private void RefreshShopLogin() + { + // 店铺Id + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + // 获取被删除的店铺 + List dgvRowList = dgvShop.Rows.Cast().Where(row + => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList(); + // 更新被删除的店铺列表 + foreach (var row in dgvRowList) + { + dgvShop.Rows.Remove(row); + } + // 绑定其他店铺(含新导入的店铺) + foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList) + { + if (!string.IsNullOrEmpty(shopEntity.ShopId)) + BindShop(shopEntity, selectIds); + } + cmbFilterShopNotes.Items.Clear(); + //cmbFilterShopNotes.Items.Add(""); + foreach (var note in GlobalConfig.ShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct()) + { + cmbFilterShopNotes.Items.Add(note); + } + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null, string msg = "") + { + if (shopEntity == null) + return; + if (shopEntity.is_shop_expire) + return; + if (selectShopId == null) + selectShopId = new List(); + + bool canUse = shopEntity.LoginStatus == "登录成功"; + //canUse = true; // 内部库不需要校验登录状态 + var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt(); + if (row == null) + { + this.dgvShop.Rows.Add( + //!isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse), + dicCheckedShopId.Keys.Contains(shopEntity.ShopId) && dicCheckedShopId[shopEntity.ShopId] == true, + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.Notes, + "选择商品", + canUse ? "在线" : "掉线", + "", //lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期", + canUse, + shopEntity.AddProductRemaining, + "", + msg + ); + } + else + { + row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse); + row.Cells["colShopLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopName"].Value = shopEntity.ShopAccount; + row.Cells["colShopNotes"].Value = shopEntity.Notes; + row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线"; + row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red; + row.Cells["colCanUse"].Value = canUse; + row.Cells["colApi"].Value = ""; //lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期"; + row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining; + row.Cells["colMessage"].Value = msg; + } + + displayAuthStatus(shopEntity); + } + + void displayAuthStatus(ShopLoginInfo shop) + { + var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId); + foreach (var row in rows) + { + bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线"; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + canUse = row.Cells["colApi"].Value.ParseToString() == "可用"; + (row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : 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 columnName = dgvShop.Columns[e.ColumnIndex].Name; + string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString(); + string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString()); + var row = dgvShop.Rows[e.RowIndex]; + switch (columnName) + { + case "colSelect": + //if (row.Cells["colCanUse"].Value.ParseToBool()) + { + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + + chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged; + if (dgvShop.Rows.Cast().All(r => r.Cells["colSelect"].Value.ParseToBool())) + chkSelectAll.Checked = true; + else + chkSelectAll.Checked = false; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + } + //else + { + //BaseMsgForm.ShowInfo("店铺未登录!"); + } + + dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId); + break; + case "colLoginStatus": + { + if (WXShopListForm.Instance == null) + WXShopListForm.Instance = new WXShopListForm(); + WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + //shopLoginForm.prodUserSelectForm = this; + if (shop.LoginStatus != "登录成功") + { + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + else + { + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.Show(); + } + } + break; + case "colApi": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139"; + shopLoginForm.Show(); + } + break; + } + } + + private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvData3.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvData3.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString(); + var shopId = dgvData3.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + var draftId = dgvData3.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + + switch (headerText) + { + case "删除": + break; + case "登录": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + //shopLoginForm.prodUserSelectForm = this; + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + break; + case "进店": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus == "登录成功") + { + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home"; + shopLoginForm.Show(); + } + else + { + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + } + break; + case "图片": + { + ShowImgForm imgFrom = new ShowImgForm(dgvData3.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + } + case "SKU替换图": + { + ShowImgForm imgFrom = new ShowImgForm(dgvData3.Rows[e.RowIndex].Cells["colSkuFakeImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + } + case "": + dgvData3.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvData3.Rows[e.RowIndex].Cells["colCheck"].Value; + break; + default: + break; + } + } + + private void btnStop_Click(object sender, EventArgs e) + { + if (this.cancellationTokenSource != null) + this.cancellationTokenSource.Cancel(); + } + + private void btnFilterShop_Click(object sender, EventArgs e) + { + foreach(DataGridViewRow row in dgvShop.Rows) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim())) + { + row.Visible = false; + row.Cells["colSelect"].Value = false; + continue; + } + if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) + { + row.Visible = false; + row.Cells["colSelect"].Value = false; + continue; + } + row.Visible = true; + } + } + + private void btnEmptyShop_Click(object sender, EventArgs e) + { + txtFilterShopName.Text = ""; + cmbFilterShopNotes.Text = "全部"; + btnFilterShop_Click(null, null); + } + + private void btnReverse_Click(object sender, EventArgs e) + { + foreach(DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + } + } + + private void btnAddSelect_Click(object sender, EventArgs e) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) && + (string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))) + { + row.Cells["colSelect"].Value = true; + } + } + } + } + + private void btnAddUnSelect_Click(object sender, EventArgs e) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) && + (string.IsNullOrWhiteSpace(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))) + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSelectOnline_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线") + { + row.Cells["colSelect"].Value = true; + } + else + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSelectOffline_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线") + { + row.Cells["colSelect"].Value = true; + } + else + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSearch_Click(object sender, EventArgs e) + { + var lstShopId = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (lstShopId.Count == 0) + { + BaseMsgForm.ShowInfo("请选择店铺!"); + return; + } + + btnSearch.Enabled = false; + pictureBox1.Visible = true; + cancellationTokenSource = new CancellationTokenSource(); + dgvData1.Rows.Clear(); + lstWxOptimizeOrderAfterSaleInfo.Clear(); + Task.Run(() => + { + List shopLst = GlobalConfig.ShopLoginList.Where(s => lstShopId.Contains(s.ShopId)).ToList(); + foreach (var shop in shopLst) + { + SearchData1(shop); + } + Invoke(new Action(() => + { + if (cancellationTokenSource.IsCancellationRequested) + { + this.statusBar.lblTaskStatus.Text = "品质退款查询完毕 " + this.statusBar.lblTaskStatus.Text; + BaseMsgForm.ShowInfo("品质退款查询完毕"); + } + else + { + this.statusBar.lblTaskStatus.Text = "品质退款查询完毕"; + BaseMsgForm.ShowInfo("品质退款查询完毕"); + } + pictureBox1.Visible = false; + btnSearch.Enabled = true; + })); + }, cancellationTokenSource.Token).ContinueWith(delegate + { + + }, cancellationTokenSource.Token); + } + + public void SearchData1(ShopLoginInfo shop) + { + if (shop.LoginStatus != "登录成功") + { + return; + } + + int page = 0; + int totalPage = 1; + int pageSize = 50; + int startTime = BaseClass.DateTimeToTimestampSeconds(DateTime.Now.Date.AddDays(-30)); + int endTime = BaseClass.DateTimeToTimestampSeconds(DateTime.Now.Date) - 1; + while (page < totalPage) + { + page++; + + if (cancellationTokenSource.IsCancellationRequested) + break; + + var getData1 = ShopOptimize.GetProductRefundOrder(shop, page, startTime, endTime); + Thread.Sleep(Randomx.GetId(300, 600)); + if (!getData1.Contains("\"code\":0")) + { + var error = BaseRegex.GetStringJson(ref getData1, "msg"); + if (string.IsNullOrEmpty(error)) + error = getData1; + + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + var shopIdLst = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + Invoke(new Action(() => { BindShop(shop, shopIdLst, "店铺掉线"); })); + } + else + { + Invoke(new Action(() => + { + var shopRow = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); + if (shopRow != null) + shopRow.Cells["colMessage"].Value = error; + })); + } + break; + } + + try + { + var prodObjs = JsonHelper.JObjectParse(getData1); + if (page == 1) + { + var totalNum = prodObjs["total"].ParseToInt(); + totalPage = Math.Ceiling(1m * totalNum / pageSize).ParseToInt(); + } + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在查询品质退款,店铺:" + shop.ShopAccount + " " + page + "/" + totalPage; + })); + foreach (JObject refundOrderObj in prodObjs["data"]) + { + var oStr = JsonHelper.SerializeObject(refundOrderObj); + var refundOrder = JsonHelper.DeserializeJsonToObject(oStr); + if (lstWxOptimizeOrderAfterSaleInfo.Any(o => o.orderInfo.orderId == refundOrder.orderInfo.orderId)) + continue; + refundOrder.shopId = shop.ShopId; + refundOrder.shopName = shop.ShopAccount; + + lstWxOptimizeOrderAfterSaleInfo.Add(refundOrder); + Invoke(new Action(() => + { + var rowIndex = this.dgvData1.Rows.Add( + false, + shop.ShopId, + shop.ShopAccount, + "登录", + "进店", + refundOrder.orderInfo.imgUrl, + DataGridViewExtension.defaultBitmap, + refundOrder.orderInfo.spuId, + refundOrder.orderInfo.name, + refundOrder.orderInfo.skuName, + refundOrder.orderInfo.skuCode, + refundOrder.orderInfo.orderId, + BaseClass.StampToDateTime(refundOrder.orderInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"), + refundOrder.reason); + + dgvData1.Rows[rowIndex].Height = 60; + })); + } + } + catch (Exception ex) + { + Invoke(new Action(() => + { + var shopRow = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); + if (shopRow != null) + shopRow.Cells["colMessage"].Value = ex.Message; + })); + } + } + } + + private void dgvData1_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + } + } + + public static class ShopOptimize + { + public static string GetProductRefundOrder(ShopLoginInfo shop, int pageId, int beginTick, int endTick) + { + string url = "https://store.weixin.qq.com/shop-faas/statistic/dsr/product/refund/order?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/setting/ratedetail?type=product&key=productQualityRatio_30d&detail=product"; + string body = @"{""page"":" + pageId + @",""pageSize"":20,""beginTs"":" + beginTick + @",""endTs"":" + endTick + @"}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + } +} diff --git a/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx new file mode 100644 index 0000000..e883bdb --- /dev/null +++ b/TEMUKJD/WXForms/ShopForms/WXShopOptimizeForm.resx @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.Designer.cs b/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.Designer.cs index e2086a8..e15789d 100644 --- a/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.Designer.cs +++ b/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.Designer.cs @@ -44,6 +44,7 @@ namespace TemuKJD.WXForms.TalkForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BuyerOrderListForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.chkAutoAfterSale = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnStopStop = new DevComponents.DotNetBar.PanelEx(); this.chkPause = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnCheck = new DevComponents.DotNetBar.PanelEx(); @@ -66,14 +67,6 @@ namespace TemuKJD.WXForms.TalkForms this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.dgvBuyer = new TemuKJD.UserComponent.DataGridViewEx(); - this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.colBuyerId = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.dgvBuyerName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colBuyerNick = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colVisit = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.splitContainer3 = new System.Windows.Forms.SplitContainer(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); @@ -115,7 +108,14 @@ namespace TemuKJD.WXForms.TalkForms this.chkOnlyShowCurrentShop = new TemuKJD.UserComponent.UcCheckBox(this.components); this.lblCurrentShop = new System.Windows.Forms.Label(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.chkAutoAfterSale = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colBuyerId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colBuyerName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colBuyerNick = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colVisit = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -166,6 +166,16 @@ namespace TemuKJD.WXForms.TalkForms this.splitContainer1.SplitterDistance = 90; this.splitContainer1.TabIndex = 1; // + // chkAutoAfterSale + // + this.chkAutoAfterSale.Location = new System.Drawing.Point(242, 64); + this.chkAutoAfterSale.Name = "chkAutoAfterSale"; + this.chkAutoAfterSale.Size = new System.Drawing.Size(113, 21); + this.chkAutoAfterSale.TabIndex = 953; + this.chkAutoAfterSale.Text = "未发货单自动售后"; + this.chkAutoAfterSale.UseVisualStyleBackColor = true; + this.chkAutoAfterSale.CheckedChanged += new System.EventHandler(this.chkAutoAfterSale_CheckedChanged); + // // btnStopStop // this.btnStopStop.CanvasColor = System.Drawing.SystemColors.Control; @@ -490,7 +500,7 @@ namespace TemuKJD.WXForms.TalkForms this.dgvBuyer.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSelect, this.colBuyerId, - this.dgvBuyerName, + this.colBuyerName, this.colBuyerNick, this.colShopNotes, this.colVisit, @@ -507,70 +517,6 @@ namespace TemuKJD.WXForms.TalkForms this.dgvBuyer.TabIndex = 7; this.dgvBuyer.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; - // - // colBuyerId - // - this.colBuyerId.HeaderText = "买手Id"; - this.colBuyerId.Name = "colBuyerId"; - this.colBuyerId.ReadOnly = true; - this.colBuyerId.Visible = false; - this.colBuyerId.Width = 55; - // - // dgvBuyerName - // - this.dgvBuyerName.FillWeight = 150F; - this.dgvBuyerName.HeaderText = "买手名称"; - this.dgvBuyerName.Name = "dgvBuyerName"; - this.dgvBuyerName.ReadOnly = true; - this.dgvBuyerName.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.dgvBuyerName.Visible = false; - this.dgvBuyerName.Width = 80; - // - // colBuyerNick - // - this.colBuyerNick.HeaderText = "买手昵称"; - this.colBuyerNick.Name = "colBuyerNick"; - this.colBuyerNick.ReadOnly = true; - this.colBuyerNick.Width = 80; - // - // colShopNotes - // - this.colShopNotes.HeaderText = "备注"; - this.colShopNotes.Name = "colShopNotes"; - this.colShopNotes.ReadOnly = true; - this.colShopNotes.Width = 80; - // - // colVisit - // - this.colVisit.HeaderText = "访问"; - this.colVisit.Name = "colVisit"; - this.colVisit.ReadOnly = true; - this.colVisit.Visible = false; - this.colVisit.Width = 38; - // - // 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; - // - // colMessage - // - this.colMessage.HeaderText = "消息"; - this.colMessage.Name = "colMessage"; - this.colMessage.ReadOnly = true; - // // splitContainer2 // this.splitContainer2.BackColor = System.Drawing.Color.White; @@ -1156,15 +1102,69 @@ namespace TemuKJD.WXForms.TalkForms this.statusBar.Size = new System.Drawing.Size(1438, 25); this.statusBar.TabIndex = 5; // - // chkAutoAfterSale + // colSelect // - this.chkAutoAfterSale.Location = new System.Drawing.Point(242, 64); - this.chkAutoAfterSale.Name = "chkAutoAfterSale"; - this.chkAutoAfterSale.Size = new System.Drawing.Size(113, 21); - this.chkAutoAfterSale.TabIndex = 953; - this.chkAutoAfterSale.Text = "未发货单自动售后"; - this.chkAutoAfterSale.UseVisualStyleBackColor = true; - this.chkAutoAfterSale.CheckedChanged += new System.EventHandler(this.chkAutoAfterSale_CheckedChanged); + 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; + // + // colBuyerId + // + this.colBuyerId.HeaderText = "买手Id"; + this.colBuyerId.Name = "colBuyerId"; + this.colBuyerId.ReadOnly = true; + this.colBuyerId.Visible = false; + this.colBuyerId.Width = 55; + // + // colBuyerName + // + this.colBuyerName.FillWeight = 150F; + this.colBuyerName.HeaderText = "买手名称"; + this.colBuyerName.Name = "colBuyerName"; + this.colBuyerName.ReadOnly = true; + this.colBuyerName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colBuyerName.Visible = false; + this.colBuyerName.Width = 80; + // + // colBuyerNick + // + this.colBuyerNick.HeaderText = "买手昵称"; + this.colBuyerNick.Name = "colBuyerNick"; + this.colBuyerNick.ReadOnly = true; + this.colBuyerNick.Width = 80; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 80; + // + // colVisit + // + this.colVisit.HeaderText = "访问"; + this.colVisit.Name = "colVisit"; + this.colVisit.ReadOnly = true; + this.colVisit.Visible = false; + this.colVisit.Width = 38; + // + // 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; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; // // BuyerOrderListForm // @@ -1250,14 +1250,6 @@ namespace TemuKJD.WXForms.TalkForms private System.Windows.Forms.DataGridViewLinkColumn colEdit; private DevComponents.DotNetBar.PanelEx btnRefresh; private DevComponents.DotNetBar.PanelEx btnCheck; - private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; - private System.Windows.Forms.DataGridViewTextBoxColumn colBuyerId; - private System.Windows.Forms.DataGridViewTextBoxColumn dgvBuyerName; - private System.Windows.Forms.DataGridViewTextBoxColumn colBuyerNick; - private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; - private System.Windows.Forms.DataGridViewLinkColumn colVisit; - private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; - private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; private UserComponent.DataGridViewEx dgvPddBuyerOrder; private DevComponents.DotNetBar.PanelEx panelEx3; private DevComponents.DotNetBar.PanelEx panelEx2; @@ -1285,5 +1277,13 @@ namespace TemuKJD.WXForms.TalkForms private System.Windows.Forms.DataGridViewLinkColumn colSend; private System.Windows.Forms.DataGridViewLinkColumn colAfterSale; private UserComponent.UcCheckBox chkAutoAfterSale; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colBuyerId; + private System.Windows.Forms.DataGridViewTextBoxColumn colBuyerName; + private System.Windows.Forms.DataGridViewTextBoxColumn colBuyerNick; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colVisit; + private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.cs b/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.cs index 9f630cf..9494af4 100644 --- a/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.cs +++ b/TEMUKJD/WXForms/TalkForms/BuyerOrderListForm.cs @@ -198,12 +198,17 @@ namespace TemuKJD.WXForms.TalkForms } else if (order.order_status_prompt.Contains("退款成功") || order.order_status_prompt.Contains("交易已取消")) { - row.Cells["colOMsg"].Value = "[退]" + row.Cells["colOMsg"].Value.ParseToString(); + row.Cells["colOMsg"].Value = "[已退]" + row.Cells["colOMsg"].Value.ParseToString(); row.Cells["colOMsg"].Style.ForeColor = Color.Gray; } else if (order.after_sales != null) { - row.Cells["colOMsg"].Value = "[待退]" + row.Cells["colOMsg"].Value.ParseToString(); + row.Cells["colOMsg"].Value = "[退货中]" + row.Cells["colOMsg"].Value.ParseToString(); + row.Cells["colOMsg"].Style.ForeColor = Color.DeepSkyBlue; + } + else if (!string.IsNullOrEmpty(order.wxRefundStatus)) + { + row.Cells["colOMsg"].Value = "[" + order.wxRefundStatus + "]" + row.Cells["colOMsg"].Value.ParseToString(); row.Cells["colOMsg"].Style.ForeColor = Color.Red; } else @@ -546,8 +551,8 @@ namespace TemuKJD.WXForms.TalkForms { row.Cells["colSelect"].Value = selectIds.Contains(buyer.buyer_id); row.Cells["colBuyerId"].Value = buyer.buyer_id; - row.Cells["dgvBuyerName"].Value = buyer.buyer_name; - row.Cells["dgvBuyerNick"].Value = buyer.buyer_nick; + row.Cells["colBuyerName"].Value = buyer.buyer_name; + row.Cells["colBuyerNick"].Value = buyer.buyer_nick; row.Cells["colShopNotes"].Value = buyer.notes; row.Cells["colBuyerId"].Value = buyer.buyer_id; row.Cells["colLoginStatus"].Value = buyer.status; @@ -1141,7 +1146,7 @@ namespace TemuKJD.WXForms.TalkForms if (order == null) continue; - //order.refundStatus = order.order_status_prompt.Contains("待发货") ? "待退款" : "待退货"; + order.wxRefundStatus = order.order_status_prompt.Contains("待发货") ? "待退款" : "待退货"; NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite); Invoke(new Action(() => {