diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 4df9bd4..d25bd7f 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1176; + public static int VersionCount = 1180; public static string MainPath = "29wx"; //public static string MainPath = "29wx"; //public static string MainPath = "29pdd"; @@ -318,6 +318,7 @@ namespace AllBase public static string UserAuthority = ""; public static string ParentAuthority = ""; public static int Points = 0; + public static int ShopPointsPerMonth = 30; public static decimal? AuthorizedAmount = null; /// /// 注册昵称 diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index c75fa88..7f5e525 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -141,7 +141,7 @@ namespace AllBase.Model.Result /// /// 子账户列表(抖店用) /// - public List ShopSubAccountList { get; } = new List(); + public List ShopSubAccountList { get; } = new List(); public int OnlineProductCount { get; set; } = -1; public int OfflineProductCount { get; set; } = -1; @@ -232,7 +232,7 @@ namespace AllBase.Model.Result public string ApiAuthStatus { get; set; } = "未授权"; } - public class SubAccountInfo + public class UserAccountInfo { public int id { get; set; } public string user_name { get; set; } @@ -287,9 +287,13 @@ namespace AllBase.Model.Result /// 用户积分 /// public int points { get; set; } + /// + /// 店铺每续费一个月需要的积分 + /// + public int shop_points_per_month { get; set; } } - public class ShopSubAccountInfo : SubAccountInfo + public class UserSubAccountInfo : UserAccountInfo { public string shop_login_name { get; set; } public string sub_user_id { get { return id.ToString(); } set { id = value.ParseToInt(); } } diff --git a/AllBase/Model/Result/WXResult/WXGetEditProductInfoLite.cs b/AllBase/Model/Result/WXResult/WXGetEditProductInfoLite.cs index 2fd3e70..058170c 100644 --- a/AllBase/Model/Result/WXResult/WXGetEditProductInfoLite.cs +++ b/AllBase/Model/Result/WXResult/WXGetEditProductInfoLite.cs @@ -28,8 +28,8 @@ namespace AllBase.Model.Result.WXResult public string countyName { get; set; } // "肥西县", public string detailInfo { get; set; } // "蜀山区长江西路某某号某某单元", public string telNumber { get; set; } // "18388888888", - public int? lat { get; set; } // 0, - public int? lng { get; set; } // 0 + public decimal? lat { get; set; } // 0, + public decimal? lng { get; set; } // 0 } public class WXProductInfo diff --git a/AllBase/Model/Result/WXResult/WXLiveObjectInfo.cs b/AllBase/Model/Result/WXResult/WXLiveObjectInfo.cs index 9039b6c..c0fb77c 100644 --- a/AllBase/Model/Result/WXResult/WXLiveObjectInfo.cs +++ b/AllBase/Model/Result/WXResult/WXLiveObjectInfo.cs @@ -40,6 +40,9 @@ namespace AllBase.Model.Result.WXResult public int? total { get; set; } // 14 } + /// + /// 直播带货 + /// public class WXLiveProduct { public string spuId { get; set; } // "10000272708183", @@ -55,4 +58,41 @@ namespace AllBase.Model.Result.WXResult public string spuQrCode { get; set; } // "https://liteapp.weixin.qq.com/q/ABMNbs?shopId=10000272708183&p_page_type=qr", public string spuBindTalentUin { get; set; } // "1" } + + public class WXFeedObjectInfoResult + { + public int? code { get; set; } // 0 + public List list { get; set; } + public int? total { get; set; } // 1 + } + + /// + /// 短视频带货商品 + /// + public class WXFeedObjectInfo + { + public string objectId { get; set; } // "14934758934552381684", + public string feedObjectDescription { get; set; } // "一家四口三刷秦皇岛渔岛,吃住玩交通全攻略来啦!二胎亲子游玩全干货!#渔岛海洋度假区 #在渔岛五一解锁海外同款度假体验 #渔岛·渤海湾海边版奈良 #渔岛刷新海边度假认知 #秦皇岛旅游攻略\n", + public string feedObjectImg { get; set; } // "https://finder.video.qq.com/251/20304/stodownload?encfilekey=rjD5jyTuFrIpZ2ibE8T7YmwgiahniaXswqzbxOalG0a5M7Rs3tS4iaibJRL1NMOYpQDzxOVlHjvCfeNQXJGSo552ERqgXoR4YTA4gsqPbDm3cZdzicib75L2ehOfw&token=KkOFht0mCXmGhX87SMcE4kGEckB9ezJmdIalWbx8ztDia9gMrKGykBPNMibBm7TtAkNibEsDrPprfsJFsyXHSUxHTC91qSSUvQXmcM8FiaqwkT01pzsPC3nZtiaMsUwg6ibPx9gxyd1EtN4MU6Q0K7G4GOATGt2BeiauiarwHDr6GaicWw5vUM09k0xyxSSWz7UJiagFH4z4sdjSCS4ic0yVU3muXMq7g&bizid=1023&dotrans=0&hy=SH&idx=1&m=&uzid=1&wxampicformat=503&picformat=200", + public string feedObjectStartTime { get; set; } // "1780362002", + public string feedShortUrl { get; set; } // "https://weixin.qq.com/sph/AeWh6St8E", + public string spuId { get; set; } // "15000023413538", + public string spuName { get; set; } // "度假豪华标准间 1晚套餐", + public string spuPrice { get; set; } // "55900", + public string spuImgUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/6a1701d10004ce421a75246d127c0d15000000a100004f50?imageView2/1/w/800/h/800/q/50", + public string spuAppid { get; set; } // "wx50368c20c5ca83b4", + public string spuShopNickname { get; set; } // "携程旅行网", + public string spuShopHeadimgUrl { get; set; } // "http://mmbiz.qpic.cn/sz_mmbiz_png/3ArQz03du0D9V4DKibibic8OUSezicteSoOH1Rvg5TharHxMwZwD65Ohm2S80kP0XYr8iaib4P3hOftp6cZdevIcxKLA/0?wx_fmt=png/0", + public string spuSrcId { get; set; } // "14000756924433", + public string spuMonthSales { get; set; } // "0", + public string spuStatus { get; set; } // "4", + public string spuQrCode { get; set; } // "https://mp.weixin.qq.com/a/~~6yqyngkRqkA~fRMB5Fct7gwPDzUWrLze8g~~", + public string spuBindTalentUin { get; set; } // "1", + public string finderxshortvideoPayGmv { get; set; } // "0", + public string finderxshortvideoFavoriteCnt { get; set; } // "2", + public string finderxshortvideoCommentCnt { get; set; } // "0", + public string finderxshortvideoShareCnt { get; set; } // "1", + public string finderxshortvideoLikeCnt { get; set; } // "2", + public string shortvideoPayGmvRange { get; set; } // "0" + } } diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs index f8d7a03..67f886a 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs @@ -701,9 +701,9 @@ namespace KJD_Web.BLL.BXX if (!string.IsNullOrEmpty(has_wx_cat)) { if (has_wx_cat.ToLower() == "true") - where += " and wx_cat_leaf is NOT NULL"; + where += " and wx_cat_leaf is NOT NULL and wx_cat_3 IS NOT NULL"; else - where += " and wx_cat_leaf is NULL"; + where += " and (wx_cat_leaf is NULL OR wx_cat_3 IS NULL)"; } if (!string.IsNullOrEmpty(send_to_out_server)) where += " and send_to_out_server=" + send_to_out_server; @@ -721,10 +721,10 @@ namespace KJD_Web.BLL.BXX // where += " and wx_cat_leaf IS NOT NULL and send_to_out_server=1 and delivery_fee_set=1 and after_sale_set=1 and distribution_set=1"; //else // where += " and (wx_cat_leaf IS NULL or send_to_out_server=0 or delivery_fee_set=0 or after_sale_set=0 or distribution_set=0)"; - if (is_supplier_prod_ok == "1" || is_supplier_prod_ok == "已设置") - where += " and wx_cat_leaf IS NOT NULL and send_to_out_server=1 and distribution_set=1"; + if (is_supplier_prod_ok == "1" || is_supplier_prod_ok == "是" || is_supplier_prod_ok == "已设置") + where += " and wx_cat_leaf IS NOT NULL and send_to_out_server IN (1,127) and distribution_set IN (1,127)"; else - where += " and (wx_cat_leaf IS NULL or send_to_out_server!=1 or distribution_set=0)"; + where += " and (wx_cat_leaf IS NULL or send_to_out_server NOT IN (1,127) or distribution_set NOT IN (1,127))"; } if (!string.IsNullOrEmpty(real_coid)) { @@ -1296,7 +1296,7 @@ namespace KJD_Web.BLL.BXX string sql = "SELECT DISTINCT p.group FROM `bxx`.`product` p where p.is_del=0"; - string where = ""; + string where = " AND p.group NOT LIKE '用户%'"; if (!string.IsNullOrEmpty(product_get_type)) where += " and p.product_get_type in ('" + product_get_type.Replace(",", "','") + "')"; if (!string.IsNullOrEmpty(add_user_name)) @@ -1644,9 +1644,9 @@ namespace KJD_Web.BLL.BXX if (!string.IsNullOrEmpty(is_supplier_prod_ok)) { if (is_supplier_prod_ok == "1" || is_supplier_prod_ok == "是" || is_supplier_prod_ok == "已设置") - where += " and wx_cat_leaf IS NOT NULL and send_to_out_server=1 and distribution_set=1"; + where += " AND wx_cat_leaf IS NOT NULL AND send_to_out_server IN (1,127) and distribution_set IN (1,127)"; else - where += " and (wx_cat_leaf IS NULL or send_to_out_server!=1 or distribution_set=0)"; + where += " AND (wx_cat_leaf IS NULL OR send_to_out_server NOT IN (1,127) OR distribution_set NOT IN (1,127))"; } if (!add_days_less.IsNullOrZero()) { diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs index c414801..0f0a232 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs @@ -91,6 +91,7 @@ namespace KJD_Web.BLL.WXXD authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", parent_user_name = row["parent_user_name"].ToString(), points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, + shop_points_per_month = row.Table.Columns.Contains("shop_points_per_month") ? row["shop_points_per_month"].ParseToInt() : 30, }; var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; // 子账号积分用户权限跟随 @@ -164,8 +165,8 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":500,\"msg\":\"用户名已存在\"}"; } - sql = "insert into wxxd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,parent_user_name,authority,add_time,mdy_time) " + - "values ('" + nick_name + "','" + user_name + "','" + mobile + "','" + password + "','" + card_id + "','" + + sql = "INSERT into wxxd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,parent_user_name,authority,add_time,mdy_time) " + + "VALUES ('" + nick_name + "','" + user_name + "','" + mobile + "','" + password + "','" + card_id + "','" + group_id + "','" + company_name + "','" + notes + "','" + parent_user_name + "','" + authority + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; @@ -328,6 +329,11 @@ namespace KJD_Web.BLL.WXXD var group_id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'"); var search = RegexUtils.GetStringQuery(ref inputData, "search")?.Replace("'", "\\'"); var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); + var search_user_name = RegexUtils.GetStringQuery(ref inputData, "search_user_name")?.Replace("'", "\\'"); + var search_nick_name = RegexUtils.GetStringQuery(ref inputData, "search_nick_name")?.Replace("'", "\\'"); + var search_company_name = RegexUtils.GetStringQuery(ref inputData, "search_company_name")?.Replace("'", "\\'"); + var search_authoritys_and = RegexUtils.GetStringQuery(ref inputData, "search_authoritys_and")?.Replace("'", "\\'"); + var search_authoritys_or = RegexUtils.GetStringQuery(ref inputData, "search_authoritys_or")?.Replace("'", "\\'"); int r2 = 0; int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); @@ -336,15 +342,47 @@ namespace KJD_Web.BLL.WXXD //string sql = "select * from wxxd.user where group_id=3"; 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"; + string where = ""; if (!string.IsNullOrEmpty(group_id)) - sql += " and u.group_id=" + group_id; + where += " AND u.group_id=" + group_id; if (!string.IsNullOrEmpty(sa_level)) - sql += " and u.sa_level=" + sa_level; + where += " AND u.sa_level=" + sa_level; + if (!string.IsNullOrEmpty(search_user_name)) + where += " AND u.user_name like '%" + search_user_name + "%'"; + if (!string.IsNullOrEmpty(search_nick_name)) + where += " AND u.nick_name like '%" + search_nick_name + "%'"; + if (!string.IsNullOrEmpty(search_company_name)) + where += " AND u.company_name like '%" + search_company_name + "%'"; + if (!string.IsNullOrEmpty(search_authoritys_and)) + { + var search_authority_list = search_authoritys_and.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Distinct().ToList(); + foreach (var auth in search_authority_list) + { + where += " AND u.authority like '%" + auth + "%'"; + } + } + if (!string.IsNullOrEmpty(search_authoritys_or)) + { + where += " AND ("; + var search_authority_list = search_authoritys_or.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Distinct().ToList(); + int index = 0; + foreach (var auth in search_authority_list) + { + if (index == 0) + where += " u.authority like '%" + auth + "%'"; + else + where += " or u.authority like '%" + auth + "%'"; + index++; + } + where += " )"; + } + if (!string.IsNullOrEmpty(search)) - sql += " and (u.user_name like '%" + search + + where += " AND (u.user_name like '%" + search + "%' or u.nick_name like '%" + search + "%' or u.company_name like '%" + search + "%')"; - sql += " order by u.id desc"; + sql += where; + sql += " ORDER BY u.id desc"; var dt = mySql.ExecuteDataTable(sql); mySql.Close(); @@ -370,6 +408,7 @@ namespace KJD_Web.BLL.WXXD 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, + shop_points_per_month = row.Table.Columns.Contains("shop_points_per_month") ? row["shop_points_per_month"].ParseToInt() : 30, }; var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; // 子账号积分用户权限跟随 @@ -416,8 +455,10 @@ namespace KJD_Web.BLL.WXXD var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); var authority = RegexUtils.GetStringQuery(ref inputData, "authority")?.Replace("'", "\\'"); - int r2 = 0; - int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + var shop_points_per_month = RegexUtils.GetStringQuery(ref inputData, "shop_points_per_month")?.Replace("'", "\\'"); + if (shop_points_per_month.ParseToInt() <= 30) // 充值用户月积分消耗点数,最小30 + shop_points_per_month = "30"; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); @@ -430,9 +471,10 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":500,\"msg\":\"用户名已存在\"}"; } - sql = "insert into wxxd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,sa_level,authority,add_time,mdy_time) " + + sql = "insert into wxxd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,sa_level,authority," + + "shop_points_per_month,add_time,mdy_time) " + "values ('" + nick_name + "','" + user_name + "','" + mobile + "','" + password + "','" + card_id + "','" + - group_id + "','" + company_name + "','" + notes + "'," + sa_level + ",'" + authority + "','" + + group_id + "','" + company_name + "','" + notes + "'," + sa_level + ",'" + authority + "'," + shop_points_per_month + ",'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; var rst = mySql.ExecuteNonQuery(sql); @@ -463,8 +505,7 @@ namespace KJD_Web.BLL.WXXD var notes = RegexUtils.GetStringQuery(ref inputData, "notes")?.Replace("'", "\\'"); var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); var authority = RegexUtils.GetStringQuery(ref inputData, "authority")?.Replace("'", "\\'"); - int r2 = 0; - int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + var shop_points_per_month = RegexUtils.GetStringQuery(ref inputData, "shop_points_per_month")?.Replace("'", "\\'"); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); @@ -492,6 +533,8 @@ namespace KJD_Web.BLL.WXXD sql += " sa_level=" + sa_level + ","; if (authority != null) sql += " authority='" + authority + "',"; + if (shop_points_per_month != null) + sql += " shop_points_per_month=" + shop_points_per_month + ","; sql = sql.TrimEnd(','); sql += " where id=" + id + ""; @@ -614,6 +657,7 @@ namespace KJD_Web.BLL.WXXD string sql; int userPoints = 0; int newUserPoints = 0; + int shopPointsPerMonth = 30; #region 计算是否余额不足 sql = "SELECT points FROM `wxxd`.`user` WHERE user_name='" + user_name + "'"; @@ -627,11 +671,21 @@ namespace KJD_Web.BLL.WXXD } if (option_type == "续费") { - if (delta_points <= 0 || delta_points % 30 > 0) + sql = "SELECT shop_points_per_month FROM `wxxd`.`user` WHERE user_name='" + user_name + "'"; + shopPointsPerMonth = mySql.ExecuteFirstInt(sql); // 店铺续费一个月的点数,默认30,可以设置为其他值 + if (!string.IsNullOrEmpty(mySql.Message)) { mySql.RollBack(); mySql.Close(); - return "{\"code\":501,\"msg\":\"续费点数必须是30的整倍数\"}"; + return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; + } + shopPointsPerMonth = Math.Max(30, shopPointsPerMonth); + + if (delta_points <= 0 || delta_points % shopPointsPerMonth > 0) + { + mySql.RollBack(); + mySql.Close(); + return "{\"code\":501,\"msg\":\"续费点数必须是" + shopPointsPerMonth + "的整倍数\"}"; } else if (userPoints < delta_points) { @@ -709,7 +763,7 @@ namespace KJD_Web.BLL.WXXD if (expireTime == 0) { - newExpireTime = TimeUtils.DateTimeToTimestampSeconds(DateTime.Now.AddMonths(delta_points.ParseToInt() / 30)); + newExpireTime = TimeUtils.DateTimeToTimestampSeconds(DateTime.Now.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth)); sql = " INSERT INTO `wxxd`.`user_points_shop_expire` (shop_id,expire_time‌)" + " VALUES ('" + shop_id + "'," + newExpireTime + ");"; } @@ -717,9 +771,9 @@ namespace KJD_Web.BLL.WXXD { DateTime expireDateTime = TimeUtils.StampToDateTime(expireTime); if (expireDateTime < DateTime.Now) - expireDateTime = DateTime.Now.AddMonths(delta_points.ParseToInt() / 30); + expireDateTime = DateTime.Now.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth); else - expireDateTime = expireDateTime.AddMonths(delta_points.ParseToInt() / 30); + expireDateTime = expireDateTime.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth); newExpireTime = TimeUtils.DateTimeToTimestampSeconds(expireDateTime); sql = "UPDATE `wxxd`.`user_points_shop_expire` set expire_time‌=" + newExpireTime + " WHERE shop_id='" + shop_id + "' AND expire_time‌=" + expireTime; diff --git a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs index 559ef7a..28145a3 100644 --- a/KJDService/KJD_WebService/Model/UserLoginResultParam.cs +++ b/KJDService/KJD_WebService/Model/UserLoginResultParam.cs @@ -70,5 +70,9 @@ namespace KJD_Web.Model /// 用户积分点数 /// public int points { get; set; } + /// + /// 单店铺续费1个月消耗的点数 + /// + public int shop_points_per_month { get; set; } } } \ No newline at end of file diff --git a/TEMUKJD/BLL/Wx/WxPlatformRecommendProdManage.cs b/TEMUKJD/BLL/Wx/WxPlatformRecommendProdManage.cs index cee2daf..563d734 100644 --- a/TEMUKJD/BLL/Wx/WxPlatformRecommendProdManage.cs +++ b/TEMUKJD/BLL/Wx/WxPlatformRecommendProdManage.cs @@ -363,11 +363,12 @@ namespace TemuKJD.BLL.Wx var prodIdLst = wxProdObjList.Select(p => p["productId"].ParseToString()).ToList(); if (prodIdLst.Count == 0) { - // 取到商品页,直接跳出 + // 取到无商品页,直接跳出 i = 999999; break; } - var prodMetricRst = getProductMetricList(shop, prodIdLst, i + 1); + //var prodMetricRst = getProductMetricList(shop, prodIdLst, i + 1); + var prodMetricRst = getProductMetricList(shop, prodIdLst); if (!prodMetricRst.Contains("\"code\":0")) { WXShopListForm.CheckShopLogin(shop); @@ -392,9 +393,10 @@ namespace TemuKJD.BLL.Wx List recommendProds = new List(); foreach (var wxProdObj in wxProdObjList) { - WXPlatformRecommendProdInfo recommendProd = new WXPlatformRecommendProdInfo(); var prodStr = JsonHelper.SerializeObject(wxProdObj); var productMetricStr = JsonHelper.SerializeObject(productMetric); + + WXPlatformRecommendProdInfo recommendProd = new WXPlatformRecommendProdInfo(); recommendProd.product_id = wxProdObj["productId"].ParseToString(); recommendProd.title = wxProdObj["title"].ParseToString(); var ViewUvCnt = productMetric.rowsMap @@ -643,11 +645,11 @@ namespace TemuKJD.BLL.Wx return result; } - public static string searchProductWithSaleStatus(ShopLoginInfo shop, int pageNum = 1, int pageSize = 50) + public static string searchProductWithSaleStatus(ShopLoginInfo shop, int pageNum = 1, int pageSize = 50, int status = 5) { // 在售 string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=" + pageSize + - "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&fromProductManager=1&pageNum=" + pageNum + "&status[]=5&sortType=6"; + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&fromProductManager=1&pageNum=" + pageNum + "&status[]=" + status + "&sortType=6"; // 全部商品 //string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=" + pageSize + // "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&fromProductManager=1&pageNum=" + pageNum + "&status[]=-1&sortType=6"; diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index ba3a4e7..6c7422b 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -173,10 +173,10 @@ JstBanPlatformForm.cs - + Form - + WXUserCollectAuthProdEditNotesForm.cs @@ -276,6 +276,12 @@ VDianUploadProductForm.cs + + Form + + + WXAdminAccountSelectForm.cs + Form @@ -1327,7 +1333,7 @@ JstBanPlatformForm.cs - + WXUserCollectAuthProdEditNotesForm.cs @@ -1378,6 +1384,9 @@ VDianUploadProductForm.cs + + WXAdminAccountSelectForm.cs + WXAdminSetTopUpQrCodeForm.cs diff --git a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs index 8484f65..cc3c866 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminAccountForm.cs @@ -17,7 +17,7 @@ namespace TemuKJD.KJDForms.AdminForms { public partial class AdminAccountForm : BaseForm { - public static List AllUsers { get; set; } = new List(); + public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; @@ -127,7 +127,7 @@ namespace TemuKJD.KJDForms.AdminForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs index 9a035bd..c5457dd 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopAddSubSaForm.cs @@ -19,7 +19,7 @@ namespace TemuKJD.KJDForms.AdminForms { List lstShopLoginName = new List(); - List lstSubSa = new List(); + List lstSubSa = new List(); public AdminShopAddSubSaForm(List ShopSelectIds = null) { InitializeComponent(); @@ -79,7 +79,7 @@ namespace TemuKJD.KJDForms.AdminForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectSetSubSaForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectSetSubSaForm.cs index a7b87ba..dce3d5f 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectSetSubSaForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectSetSubSaForm.cs @@ -28,7 +28,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms List lstDbProdSelect = new List(); SetSubSaType setSubSaType; - List lstSubSa = new List(); + List lstSubSa = new List(); public DbProductSelectSetSubSaForm(List dbProdSelectLst, SetSubSaType type = SetSubSaType.DbProduct) { InitializeComponent(); @@ -145,7 +145,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs index ec1a6d0..3b35b49 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs @@ -855,7 +855,7 @@ namespace TemuKJD.KJDForms.ShopForms //if (result?.Contains("\"code\":200") == true) //{ // var jObj = JObject.Parse(result); - // List shopSubAccountList = JsonHelper.DeserializeJsonToList(jObj["data"].ToString()); + // List shopSubAccountList = JsonHelper.DeserializeJsonToList(jObj["data"].ToString()); // foreach (var shop in GlobalConfig.DouShopLoginList) // { // shop.ShopSubAccountList.Clear(); @@ -867,7 +867,7 @@ namespace TemuKJD.KJDForms.ShopForms shop.ShopSubAccountList.Clear(); if (!string.IsNullOrWhiteSpace(shop.SubUserName)) { - ShopSubAccountInfo subAccount = new ShopSubAccountInfo(); + UserSubAccountInfo subAccount = new UserSubAccountInfo(); subAccount.sub_user_name = shop.SubUserName; subAccount.user_name = shop.SubUserName; subAccount.shop_login_name = shop.LoginName; diff --git a/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs b/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs index c550ec3..9d39d83 100644 --- a/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/SubAccountListForm.cs @@ -16,7 +16,7 @@ namespace TemuKJD.KJDForms.ShopForms { public partial class SubAccountListForm : BaseForm { - public static List AllUsers { get; set; } = new List(); + public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; public SubAccountListForm() @@ -120,7 +120,7 @@ namespace TemuKJD.KJDForms.ShopForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/KJDForms/ShopForms/SubAccountShopEditForm.cs b/TEMUKJD/KJDForms/ShopForms/SubAccountShopEditForm.cs index f8e27d1..4526f63 100644 --- a/TEMUKJD/KJDForms/ShopForms/SubAccountShopEditForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/SubAccountShopEditForm.cs @@ -17,9 +17,9 @@ namespace TemuKJD.KJDForms.ShopForms public partial class SubAccountShopEditForm : BaseGeneralForm { ShopLoginInfo shop = null; - public List AllSubAccountList { get; set; } = new List(); - public List ShopSubAccountList { get; set; } = new List(); - public List NotShopSubAccountList { get; set; } = new List(); + public List AllSubAccountList { get; set; } = new List(); + public List ShopSubAccountList { get; set; } = new List(); + public List NotShopSubAccountList { get; set; } = new List(); public SubAccountShopEditForm(ShopLoginInfo _shop) { InitializeComponent(); @@ -51,7 +51,7 @@ namespace TemuKJD.KJDForms.ShopForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); @@ -134,8 +134,8 @@ namespace TemuKJD.KJDForms.ShopForms private void btnOk_Click(object sender, EventArgs e) { - List AddUsers = new List(); - List DeleteUsers = new List(); + List AddUsers = new List(); + List DeleteUsers = new List(); foreach (Control c in this.flpNotSubAccount.Controls) { var co = c as UcSubAccount; diff --git a/TEMUKJD/KJDForms/ShopForms/UcSubAccount.cs b/TEMUKJD/KJDForms/ShopForms/UcSubAccount.cs index 084127d..f57af1b 100644 --- a/TEMUKJD/KJDForms/ShopForms/UcSubAccount.cs +++ b/TEMUKJD/KJDForms/ShopForms/UcSubAccount.cs @@ -13,14 +13,14 @@ namespace TemuKJD.KJDForms.ShopForms { public partial class UcSubAccount : UserControl { - public ShopSubAccountInfo subAccount = null; + public UserSubAccountInfo subAccount = null; public delegate void SubAcountDelegate(object obj); public event SubAcountDelegate AddSubAcountEvent; public event SubAcountDelegate RemoveSubAcountEvent; - public UcSubAccount(ShopSubAccountInfo _subAccount, bool isNotShopSubAccount = true) + public UcSubAccount(UserSubAccountInfo _subAccount, bool isNotShopSubAccount = true) { InitializeComponent(); subAccount = _subAccount; diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminAccountForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminAccountForm.cs index 279f5d8..1096760 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminAccountForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminAccountForm.cs @@ -17,7 +17,7 @@ namespace TemuKJD.PDDForms.AdminForms public partial class PDDAdminAccountForm : BaseForm { - public static List AllUsers { get; set; } = new List(); + public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; @@ -134,7 +134,7 @@ namespace TemuKJD.PDDForms.AdminForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopAddSubSaForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopAddSubSaForm.cs index 1da9142..91d1ffd 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopAddSubSaForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopAddSubSaForm.cs @@ -19,7 +19,7 @@ namespace TemuKJD.PDDForms.AdminForms { List lstShopLoginName = new List(); - List lstSubSa = new List(); + List lstSubSa = new List(); public PDDAdminShopAddSubSaForm(List ShopSelectIds = null) { InitializeComponent(); @@ -79,7 +79,7 @@ namespace TemuKJD.PDDForms.AdminForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs index 695ab43..74ca05c 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs @@ -27,7 +27,7 @@ namespace TemuKJD.PDDForms.AdminForms public partial class PDDAdminShopListForm : BaseForm { static PDDAdminShopListForm inst = null; - public SubAccountInfo UserAccountInfo { get; set; } = null; + public UserAccountInfo UserAccountInfo { get; set; } = null; public static PDDAdminShopListForm Instance { get { if (inst == null) inst = new PDDAdminShopListForm(); return inst; } diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs index d21d393..0bbfe07 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs @@ -91,7 +91,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dtpStart = new System.Windows.Forms.DateTimePicker(); this.chkTime = new TemuKJD.UserComponent.UcCheckBox(this.components); this.cmbCat2 = new System.Windows.Forms.ComboBox(); - this.chkNoUserProduct = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label16 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.txtSecretStyleCode = new System.Windows.Forms.TextBox(); @@ -127,7 +126,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSearch = new DevComponents.DotNetBar.PanelEx(); this.label11 = new System.Windows.Forms.Label(); this.cmbSpProdType = new System.Windows.Forms.ComboBox(); + this.panel1 = new System.Windows.Forms.Panel(); this.chkWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkNoUserProduct = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkPullAfterPush = new TemuKJD.UserComponent.UcCheckBox(this.components); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); @@ -178,6 +179,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn(); this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.btnAddUserProd = new DevComponents.DotNetBar.PanelEx(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -189,6 +191,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tabPage2.SuspendLayout(); this.flowLayoutPanel1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); + this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); this.splitContainer2.Panel1.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout(); @@ -247,6 +250,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // tabPage1 // + this.tabPage1.Controls.Add(this.btnAddUserProd); this.tabPage1.Controls.Add(this.btnTitleFission); this.tabPage1.Controls.Add(this.btnSetGroup); this.tabPage1.Controls.Add(this.btnDelSelect); @@ -270,7 +274,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnTitleFission.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnTitleFission.Location = new System.Drawing.Point(6, 13); this.btnTitleFission.Name = "btnTitleFission"; - this.btnTitleFission.Size = new System.Drawing.Size(82, 25); + this.btnTitleFission.Size = new System.Drawing.Size(96, 25); this.btnTitleFission.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnTitleFission.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnTitleFission.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -293,7 +297,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSetGroup.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSetGroup.DisabledBackColor = System.Drawing.Color.Empty; this.btnSetGroup.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSetGroup.Location = new System.Drawing.Point(208, 13); + this.btnSetGroup.Location = new System.Drawing.Point(216, 13); this.btnSetGroup.Name = "btnSetGroup"; this.btnSetGroup.Size = new System.Drawing.Size(84, 25); this.btnSetGroup.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -340,7 +344,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.cmbGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.cmbGroup.FormattingEnabled = true; - this.cmbGroup.Location = new System.Drawing.Point(114, 13); + this.cmbGroup.Location = new System.Drawing.Point(122, 13); this.cmbGroup.Name = "cmbGroup"; this.cmbGroup.Size = new System.Drawing.Size(92, 25); this.cmbGroup.TabIndex = 640; @@ -354,7 +358,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms "安全商品", "违规商品", "未校验"}); - this.cmbSetWxSafe.Location = new System.Drawing.Point(114, 41); + this.cmbSetWxSafe.Location = new System.Drawing.Point(122, 41); this.cmbSetWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSetWxSafe.Name = "cmbSetWxSafe"; this.cmbSetWxSafe.Size = new System.Drawing.Size(92, 25); @@ -367,7 +371,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSetWxSafe.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSetWxSafe.DisabledBackColor = System.Drawing.Color.Empty; this.btnSetWxSafe.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSetWxSafe.Location = new System.Drawing.Point(208, 41); + this.btnSetWxSafe.Location = new System.Drawing.Point(216, 41); this.btnSetWxSafe.Name = "btnSetWxSafe"; this.btnSetWxSafe.Size = new System.Drawing.Size(84, 25); this.btnSetWxSafe.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -826,7 +830,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.Controls.Add(this.dtpStart, 9, 2); this.tableLayoutPanel1.Controls.Add(this.chkTime, 8, 2); this.tableLayoutPanel1.Controls.Add(this.cmbCat2, 5, 2); - this.tableLayoutPanel1.Controls.Add(this.chkNoUserProduct, 15, 2); this.tableLayoutPanel1.Controls.Add(this.label16, 0, 1); this.tableLayoutPanel1.Controls.Add(this.label1, 0, 2); this.tableLayoutPanel1.Controls.Add(this.txtSecretStyleCode, 5, 0); @@ -862,7 +865,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.Controls.Add(this.btnSearch, 16, 0); this.tableLayoutPanel1.Controls.Add(this.label11, 14, 0); this.tableLayoutPanel1.Controls.Add(this.cmbSpProdType, 15, 0); - this.tableLayoutPanel1.Controls.Add(this.chkWXComplateProd, 13, 2); + this.tableLayoutPanel1.Controls.Add(this.panel1, 13, 2); this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 4); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 3; @@ -870,7 +873,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33445F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33112F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(900, 105); + this.tableLayoutPanel1.Size = new System.Drawing.Size(908, 105); this.tableLayoutPanel1.TabIndex = 679; // // cmbHasFission @@ -881,17 +884,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms "", "是", "否"}); - this.cmbHasFission.Location = new System.Drawing.Point(794, 42); + this.cmbHasFission.Location = new System.Drawing.Point(801, 42); this.cmbHasFission.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbHasFission.Name = "cmbHasFission"; - this.cmbHasFission.Size = new System.Drawing.Size(48, 25); + this.cmbHasFission.Size = new System.Drawing.Size(49, 25); this.cmbHasFission.TabIndex = 981; // // label20 // this.label20.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label20.AutoSize = true; - this.label20.Location = new System.Drawing.Point(738, 44); + this.label20.Location = new System.Drawing.Point(745, 44); this.label20.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label20.Name = "label20"; this.label20.Size = new System.Drawing.Size(56, 17); @@ -901,16 +904,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtViewUvMin // this.txtViewUvMin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtViewUvMin.Location = new System.Drawing.Point(684, 41); + this.txtViewUvMin.Location = new System.Drawing.Point(690, 41); this.txtViewUvMin.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtViewUvMin.Name = "txtViewUvMin"; - this.txtViewUvMin.Size = new System.Drawing.Size(48, 23); + this.txtViewUvMin.Size = new System.Drawing.Size(49, 23); this.txtViewUvMin.TabIndex = 980; // // chkViewUvMin // this.chkViewUvMin.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkViewUvMin.Location = new System.Drawing.Point(625, 42); + this.chkViewUvMin.Location = new System.Drawing.Point(631, 42); this.chkViewUvMin.Name = "chkViewUvMin"; this.chkViewUvMin.Size = new System.Drawing.Size(56, 21); this.chkViewUvMin.TabIndex = 978; @@ -925,17 +928,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms "", "是", "否"}); - this.cmbPddRelation.Location = new System.Drawing.Point(684, 7); + this.cmbPddRelation.Location = new System.Drawing.Point(690, 7); this.cmbPddRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbPddRelation.Name = "cmbPddRelation"; - this.cmbPddRelation.Size = new System.Drawing.Size(48, 25); + this.cmbPddRelation.Size = new System.Drawing.Size(49, 25); this.cmbPddRelation.TabIndex = 805; // // label19 // this.label19.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label19.AutoSize = true; - this.label19.Location = new System.Drawing.Point(628, 9); + this.label19.Location = new System.Drawing.Point(634, 9); this.label19.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label19.Name = "label19"; this.label19.Size = new System.Drawing.Size(56, 17); @@ -948,10 +951,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.SetColumnSpan(this.dtpEnd, 2); this.dtpEnd.CustomFormat = "yyyy-MM-dd HH:mm"; this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dtpEnd.Location = new System.Drawing.Point(571, 76); + this.dtpEnd.Location = new System.Drawing.Point(576, 76); this.dtpEnd.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.dtpEnd.Name = "dtpEnd"; - this.dtpEnd.Size = new System.Drawing.Size(110, 23); + this.dtpEnd.Size = new System.Drawing.Size(111, 23); this.dtpEnd.TabIndex = 979; // // dtpStart @@ -960,16 +963,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.SetColumnSpan(this.dtpStart, 2); this.dtpStart.CustomFormat = "yyyy-MM-dd HH:mm"; this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dtpStart.Location = new System.Drawing.Point(461, 76); + this.dtpStart.Location = new System.Drawing.Point(465, 76); this.dtpStart.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.dtpStart.Name = "dtpStart"; - this.dtpStart.Size = new System.Drawing.Size(107, 23); + this.dtpStart.Size = new System.Drawing.Size(108, 23); this.dtpStart.TabIndex = 978; // // chkTime // this.chkTime.Anchor = System.Windows.Forms.AnchorStyles.None; - this.chkTime.Location = new System.Drawing.Point(393, 77); + this.chkTime.Location = new System.Drawing.Point(397, 77); this.chkTime.Name = "chkTime"; this.chkTime.Size = new System.Drawing.Size(65, 21); this.chkTime.TabIndex = 977; @@ -980,28 +983,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat2.FormattingEnabled = true; - this.cmbCat2.Location = new System.Drawing.Point(246, 77); + this.cmbCat2.Location = new System.Drawing.Point(248, 77); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(48, 25); + this.cmbCat2.Size = new System.Drawing.Size(49, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCateFilter2_SelectedIndexChanged); // - // chkNoUserProduct - // - this.chkNoUserProduct.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkNoUserProduct.AutoSize = true; - this.chkNoUserProduct.Checked = true; - this.chkNoUserProduct.CheckState = System.Windows.Forms.CheckState.Checked; - this.tableLayoutPanel1.SetColumnSpan(this.chkNoUserProduct, 2); - this.chkNoUserProduct.Location = new System.Drawing.Point(800, 77); - this.chkNoUserProduct.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); - this.chkNoUserProduct.Name = "chkNoUserProduct"; - this.chkNoUserProduct.Size = new System.Drawing.Size(97, 21); - this.chkNoUserProduct.TabIndex = 809; - this.chkNoUserProduct.Text = "不显示客户商品"; - this.chkNoUserProduct.UseVisualStyleBackColor = true; - // // label16 // this.label16.Anchor = System.Windows.Forms.AnchorStyles.Right; @@ -1027,17 +1015,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtSecretStyleCode // this.txtSecretStyleCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtSecretStyleCode.Location = new System.Drawing.Point(246, 6); + this.txtSecretStyleCode.Location = new System.Drawing.Point(248, 6); this.txtSecretStyleCode.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtSecretStyleCode.Name = "txtSecretStyleCode"; - this.txtSecretStyleCode.Size = new System.Drawing.Size(48, 23); + this.txtSecretStyleCode.Size = new System.Drawing.Size(49, 23); this.txtSecretStyleCode.TabIndex = 812; // // label14 // this.label14.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(207, 79); + this.label14.Location = new System.Drawing.Point(209, 79); this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(39, 17); @@ -1048,7 +1036,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label15.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label15.AutoSize = true; - this.label15.Location = new System.Drawing.Point(214, 9); + this.label15.Location = new System.Drawing.Point(216, 9); this.label15.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(32, 17); @@ -1059,7 +1047,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label13.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(515, 44); + this.label13.Location = new System.Drawing.Point(520, 44); this.label13.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(56, 17); @@ -1081,10 +1069,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms "机会商品", "以图搜品", "多多外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(246, 42); + this.cmbSourceType.Location = new System.Drawing.Point(248, 42); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(48, 25); + this.cmbSourceType.Size = new System.Drawing.Size(49, 25); this.cmbSourceType.TabIndex = 654; this.cmbSourceType.SelectedIndexChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); // @@ -1092,7 +1080,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label10.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(214, 44); + this.label10.Location = new System.Drawing.Point(216, 44); this.label10.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(32, 17); @@ -1116,7 +1104,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtSPU.Location = new System.Drawing.Point(60, 6); this.txtSPU.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtSPU.Name = "txtSPU"; - this.txtSPU.Size = new System.Drawing.Size(48, 23); + this.txtSPU.Size = new System.Drawing.Size(49, 23); this.txtSPU.TabIndex = 434; // // cmbWxCat @@ -1127,10 +1115,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms "", "是", "否"}); - this.cmbWxCat.Location = new System.Drawing.Point(571, 7); + this.cmbWxCat.Location = new System.Drawing.Point(576, 7); this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxCat.Name = "cmbWxCat"; - this.cmbWxCat.Size = new System.Drawing.Size(48, 25); + this.cmbWxCat.Size = new System.Drawing.Size(49, 25); this.cmbWxCat.TabIndex = 802; // // txtSKC @@ -1139,7 +1127,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtSKC.Location = new System.Drawing.Point(60, 41); this.txtSKC.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtSKC.Name = "txtSKC"; - this.txtSKC.Size = new System.Drawing.Size(48, 23); + this.txtSKC.Size = new System.Drawing.Size(49, 23); this.txtSKC.TabIndex = 432; // // cmbSort @@ -1149,10 +1137,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.cmbSort.Items.AddRange(new object[] { "入库时间", "曝光量"}); - this.cmbSort.Location = new System.Drawing.Point(339, 42); + this.cmbSort.Location = new System.Drawing.Point(342, 42); this.cmbSort.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSort.Name = "cmbSort"; - this.cmbSort.Size = new System.Drawing.Size(48, 25); + this.cmbSort.Size = new System.Drawing.Size(49, 25); this.cmbSort.TabIndex = 448; this.cmbSort.Text = "入库时间"; // @@ -1160,7 +1148,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label6.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(307, 44); + this.label6.Location = new System.Drawing.Point(310, 44); this.label6.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(32, 17); @@ -1171,7 +1159,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label4.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(307, 9); + this.label4.Location = new System.Drawing.Point(310, 9); this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(32, 17); @@ -1182,7 +1170,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label12.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(515, 9); + this.label12.Location = new System.Drawing.Point(520, 9); this.label12.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(56, 17); @@ -1192,17 +1180,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtExtCode // this.txtExtCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtExtCode.Location = new System.Drawing.Point(339, 6); + this.txtExtCode.Location = new System.Drawing.Point(342, 6); this.txtExtCode.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtExtCode.Name = "txtExtCode"; - this.txtExtCode.Size = new System.Drawing.Size(48, 23); + this.txtExtCode.Size = new System.Drawing.Size(49, 23); this.txtExtCode.TabIndex = 429; // // lblGroup // this.lblGroup.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblGroup.AutoSize = true; - this.lblGroup.Location = new System.Drawing.Point(121, 44); + this.lblGroup.Location = new System.Drawing.Point(122, 44); this.lblGroup.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblGroup.Name = "lblGroup"; this.lblGroup.Size = new System.Drawing.Size(32, 17); @@ -1213,10 +1201,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(153, 42); + this.cmbGroupFilter.Location = new System.Drawing.Point(154, 42); this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbGroupFilter.Name = "cmbGroupFilter"; - this.cmbGroupFilter.Size = new System.Drawing.Size(48, 25); + this.cmbGroupFilter.Size = new System.Drawing.Size(49, 25); this.cmbGroupFilter.TabIndex = 653; // // cmbExportToOutServer @@ -1228,17 +1216,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms "是", "否", "导出未拉回"}); - this.cmbExportToOutServer.Location = new System.Drawing.Point(571, 42); + this.cmbExportToOutServer.Location = new System.Drawing.Point(576, 42); this.cmbExportToOutServer.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbExportToOutServer.Name = "cmbExportToOutServer"; - this.cmbExportToOutServer.Size = new System.Drawing.Size(48, 25); + this.cmbExportToOutServer.Size = new System.Drawing.Size(49, 25); this.cmbExportToOutServer.TabIndex = 803; // // label3 // this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(393, 9); + this.label3.Location = new System.Drawing.Point(397, 9); this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(56, 17); @@ -1248,10 +1236,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtProdName // this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtProdName.Location = new System.Drawing.Point(461, 6); + this.txtProdName.Location = new System.Drawing.Point(465, 6); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(48, 23); + this.txtProdName.Size = new System.Drawing.Size(49, 23); this.txtProdName.TabIndex = 427; // // cmbWxSafe @@ -1264,10 +1252,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms "安全商品", "违规商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(461, 42); + this.cmbWxSafe.Location = new System.Drawing.Point(465, 42); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(48, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(49, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // @@ -1275,7 +1263,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.lblWxSafe.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblWxSafe.AutoSize = true; - this.lblWxSafe.Location = new System.Drawing.Point(393, 44); + this.lblWxSafe.Location = new System.Drawing.Point(397, 44); this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblWxSafe.Name = "lblWxSafe"; this.lblWxSafe.Size = new System.Drawing.Size(56, 17); @@ -1286,7 +1274,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.lblNotes.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblNotes.AutoSize = true; - this.lblNotes.Location = new System.Drawing.Point(121, 9); + this.lblNotes.Location = new System.Drawing.Point(122, 9); this.lblNotes.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblNotes.Name = "lblNotes"; this.lblNotes.Size = new System.Drawing.Size(32, 17); @@ -1296,20 +1284,20 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtNotes // this.txtNotes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtNotes.Location = new System.Drawing.Point(153, 6); + this.txtNotes.Location = new System.Drawing.Point(154, 6); this.txtNotes.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtNotes.Name = "txtNotes"; - this.txtNotes.Size = new System.Drawing.Size(48, 23); + this.txtNotes.Size = new System.Drawing.Size(49, 23); this.txtNotes.TabIndex = 439; // // cmbCat1 // this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat1.FormattingEnabled = true; - this.cmbCat1.Location = new System.Drawing.Point(153, 77); + this.cmbCat1.Location = new System.Drawing.Point(154, 77); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(48, 25); + this.cmbCat1.Size = new System.Drawing.Size(49, 25); this.cmbCat1.TabIndex = 805; this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCateFilter1_SelectedIndexChanged); // @@ -1317,7 +1305,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label2.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(114, 79); + this.label2.Location = new System.Drawing.Point(115, 79); this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(39, 17); @@ -1328,10 +1316,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat3.FormattingEnabled = true; - this.cmbCat3.Location = new System.Drawing.Point(339, 77); + this.cmbCat3.Location = new System.Drawing.Point(342, 77); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; - this.cmbCat3.Size = new System.Drawing.Size(48, 25); + this.cmbCat3.Size = new System.Drawing.Size(49, 25); this.cmbCat3.TabIndex = 811; this.cmbCat3.SelectedIndexChanged += new System.EventHandler(this.cmbCateFilter3_SelectedIndexChanged); // @@ -1339,7 +1327,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(300, 79); + this.label17.Location = new System.Drawing.Point(303, 79); this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(39, 17); @@ -1352,7 +1340,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtRealCoid.Location = new System.Drawing.Point(60, 76); this.txtRealCoid.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtRealCoid.Name = "txtRealCoid"; - this.txtRealCoid.Size = new System.Drawing.Size(48, 23); + this.txtRealCoid.Size = new System.Drawing.Size(49, 23); this.txtRealCoid.TabIndex = 814; // // btnEmpty @@ -1361,7 +1349,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.btnEmpty.Location = new System.Drawing.Point(848, 40); + this.btnEmpty.Location = new System.Drawing.Point(856, 40); this.btnEmpty.Name = "btnEmpty"; this.btnEmpty.Size = new System.Drawing.Size(46, 25); this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -1387,7 +1375,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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(848, 5); + this.btnSearch.Location = new System.Drawing.Point(856, 5); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(46, 25); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -1409,7 +1397,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label11.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(738, 9); + this.label11.Location = new System.Drawing.Point(745, 9); this.label11.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(56, 17); @@ -1424,17 +1412,29 @@ namespace TemuKJD.PDDForms.ProductSelectForms "", "普通商品", "爆款数据"}); - this.cmbSpProdType.Location = new System.Drawing.Point(794, 7); + this.cmbSpProdType.Location = new System.Drawing.Point(801, 7); this.cmbSpProdType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSpProdType.Name = "cmbSpProdType"; - this.cmbSpProdType.Size = new System.Drawing.Size(48, 25); + this.cmbSpProdType.Size = new System.Drawing.Size(49, 25); this.cmbSpProdType.TabIndex = 677; // + // panel1 + // + this.panel1.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.tableLayoutPanel1.SetColumnSpan(this.panel1, 4); + this.panel1.Controls.Add(this.chkWXComplateProd); + this.panel1.Controls.Add(this.chkNoUserProduct); + this.panel1.Location = new System.Drawing.Point(693, 73); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(212, 29); + this.panel1.TabIndex = 982; + // // chkWXComplateProd // this.chkWXComplateProd.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.tableLayoutPanel1.SetColumnSpan(this.chkWXComplateProd, 2); - this.chkWXComplateProd.Location = new System.Drawing.Point(690, 77); + this.chkWXComplateProd.Location = new System.Drawing.Point(1, 4); this.chkWXComplateProd.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); this.chkWXComplateProd.Name = "chkWXComplateProd"; this.chkWXComplateProd.Size = new System.Drawing.Size(87, 21); @@ -1442,6 +1442,20 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.chkWXComplateProd.Text = "微信回采商品"; this.chkWXComplateProd.UseVisualStyleBackColor = true; // + // chkNoUserProduct + // + this.chkNoUserProduct.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.chkNoUserProduct.AutoSize = true; + this.chkNoUserProduct.Checked = true; + this.chkNoUserProduct.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkNoUserProduct.Location = new System.Drawing.Point(98, 4); + this.chkNoUserProduct.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.chkNoUserProduct.Name = "chkNoUserProduct"; + this.chkNoUserProduct.Size = new System.Drawing.Size(111, 21); + this.chkNoUserProduct.TabIndex = 809; + this.chkNoUserProduct.Text = "不显示客户商品"; + this.chkNoUserProduct.UseVisualStyleBackColor = true; + // // chkPullAfterPush // this.chkPullAfterPush.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -2018,6 +2032,32 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.statusBar.Size = new System.Drawing.Size(1438, 25); this.statusBar.TabIndex = 5; // + // btnAddUserProd + // + this.btnAddUserProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnAddUserProd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddUserProd.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddUserProd.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddUserProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddUserProd.Location = new System.Drawing.Point(6, 41); + this.btnAddUserProd.Name = "btnAddUserProd"; + this.btnAddUserProd.Size = new System.Drawing.Size(96, 25); + this.btnAddUserProd.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUserProd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUserProd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUserProd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddUserProd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddUserProd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddUserProd.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddUserProd.Style.GradientAngle = 90; + this.btnAddUserProd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUserProd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUserProd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUserProd.TabIndex = 800; + this.btnAddUserProd.Text = "添加到用户商品"; + this.btnAddUserProd.Visible = false; + this.btnAddUserProd.Click += new System.EventHandler(this.btnAddUserProd_Click); + // // PDDDBProdListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -2049,6 +2089,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.flowLayoutPanel1.PerformLayout(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); this.splitContainer2.Panel1.ResumeLayout(false); this.splitContainer2.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); @@ -2195,5 +2237,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.TabPage tabPage4; private System.Windows.Forms.Label label8; private UserComponent.UcCheckBox chkNoUserProduct; + private System.Windows.Forms.Panel panel1; + private DevComponents.DotNetBar.PanelEx btnAddUserProd; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs index 4f9d328..502cc4e 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -112,6 +112,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dgvDbProduct.Columns["colAddTimes"].Visible = true; } +//#if DEBUG + if (BaseClass.MainPath == "29wx") + { + btnAddUserProd.Visible = true; + } +//#endif + this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; this.dgvDbProduct.AddSelectorColumn("colSelect"); @@ -177,7 +184,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms })); foreach (var prod in lstTemuDbProduct) { - string catName = prod.cat_name ?? prod.cat_id; + string catName = (prod.cat_name ?? prod.cat_id); if (prod.wx_cat_leaf != null) { var catN = GlobalConfig.WxCatList.FirstOrDefault(c => c.cat_id == prod.wx_cat_leaf.ParseToString())?.name; @@ -210,6 +217,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms catName = catN + " >> " + catName; } } + if (prod.wx_cat_1 == null || prod.wx_cat_2 == null || prod.wx_cat_3 == null || prod.wx_cat_leaf == null) + catName += "(未识别)"; Invoke(new Action(() => { int rowIndex = this.dgvDbProduct.Rows.Add( @@ -1381,6 +1390,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms mainImgLst3 = wxClientProdInfo.info.head_img.Take(3).ToList(); productTitle = wxClientProdInfo.info.title; } + if (dbProd.product_get_type_text == "微信店采") + { + string convertRst = ""; + var pInfo = new PDDProdFormConverter().WXProdToPddConvert(out convertRst, dbProd); + mainImgLst3 = pInfo.detail.galleries.Where(g => g.type == 1).Select(g => g.url).ToList(); + productTitle = pInfo.detail.goods_name; + } if (dbProd.product_get_type_text == "1688外部数据") { string convertRst = ""; @@ -2396,5 +2412,226 @@ namespace TemuKJD.PDDForms.ProductSelectForms { Get1688ProductForm.Out1688ProductImport(false, this.statusBar, this.pbLoading); } + + private void btnAddUserProd_Click(object sender, EventArgs e) + { + var lstProdId = dgvDbProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["col_spu_id"]?.Value.ToString().Split(' ').FirstOrDefault()).ToList(); + var prodList = this.lstTemuDbProduct.Where(p => lstProdId.Contains(p.spu_id)).ToList(); + if (prodList.Count == 0) + { + BaseMsgForm.ShowInfo("请选择要添加到用户商品库的商品"); + return; + } + + WXForms.AdminForms.WXAdminAccountSelectForm wxAdminAccountSelectForm = new WXForms.AdminForms.WXAdminAccountSelectForm(); + wxAdminAccountSelectForm.chkChanceProdCollect.Checked = true; + wxAdminAccountSelectForm.chkChanceProdCollect.Enabled = false; + wxAdminAccountSelectForm.ShowDialog(); + + var user = wxAdminAccountSelectForm.selectUser; + if (user == null) + { + BaseMsgForm.ShowInfo("未选择用户"); + return; + } + + this.statusBar.pgbTaskProgress.Maximum = prodList.Count; + this.statusBar.UpdateProgressBar(0); + if (cancellationTokenSource == null || cancellationTokenSource.IsCancellationRequested) + { + cancellationTokenSource = new CancellationTokenSource(); + } + this.pbLoading.Visible = true; + Task.Run(() => + { + try + { + int fail = 0; + int success = 0; + int prodTotal = prodList.Count; + foreach (var prod in prodList) + { + Invoke(new Action(() => + { + statusBar.pgbTaskProgress.Maximum = prodTotal; + statusBar.UpdateProgressBar(fail + success); + statusBar.lblTaskStatus.Text = "添加用户商品总数" + prodTotal + ",成功" + success + ",失败" + fail; + })); + var dbProd = PDDDBProdEditForm.GetPddProductDetail(prod.id.ParseToString()); + var rst = AddUserProdFromPDDDB(user, dbProd); + if (!rst.Contains("成功")) + { + fail++; + continue; + } + Thread.Sleep(100); + rst = AddUserProdFromPDDDB(user, dbProd); + if (!rst.Contains("成功")) + { + fail++; + continue; + } + success++; + } + Invoke(new Action(() => + { + statusBar.pgbTaskProgress.Maximum = prodTotal; + statusBar.UpdateProgressBar(fail + success); + statusBar.lblTaskStatus.Text = "添加用户商品总数" + prodTotal + ",成功" + success + ",失败" + fail; + })); + } + catch (Exception ex) + { + BaseMsgForm.ShowError(ex.Message); + } + // 刷新结果 + SearchDbProd(this.ucSplitPage1.CurrentPage); + Invoke(new Action(() => + { + pbLoading.Visible = false; + statusBar.lblTaskStatus.Text += " 添加到用户商品库完成"; + BaseMsgForm.ShowInfo("添加到用户商品库完成!"); + })); + }, cancellationTokenSource.Token); + } + + public string AddUserProdFromPDDDB(UserSubAccountInfo user, KJDDBProduct sourceProd) + { + if (user == null) + return "添加用户商品入库失败!用户不存在"; + if (sourceProd == null) + return "添加用户商品入库失败!商品不存在"; + string prodId = sourceProd.spu_id?.Split('-')?.FirstOrDefault(); + if (prodId.IsNullOrEmpty()) + return "添加用户商品入库失败!商品ID不存在"; + + var isCollectAuthorityUser = user.authority.Contains("商品采集"); + if (!isCollectAuthorityUser) + return "添加用户商品入库失败!用户无商品采集权限"; + + // 商品采集权限用户采集的数据加上用户前缀(商品前缀显示给用户的时候隐藏) + string collectAuthorityTag = ""; + if (isCollectAuthorityUser) + collectAuthorityTag = "-" + user.user_name; + + bool isExist = false; + var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list"); + string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prodId + collectAuthorityTag; + string html = GetHtml.PostUtf8(existUrl, existData); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(existUrl, existData); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + return "添加用户商品入库失败,产品数据库连接失败"; + } + else + { + if (html.Contains("\"data\":[") && !html.Contains("\"data\":[]")) + isExist = true; + } + + var url = BaseClass.BuildPDDObjString("product/add_product"); + if (isExist) + url = BaseClass.BuildPDDObjString("product/mdy_product"); + + + var data = Work.UserLogin.GetSignaturex(); + data += "&spu_id=" + prodId + collectAuthorityTag; + data += "&skc_id=" + sourceProd.skc_id; + data += "&from_shop_id=" + sourceProd.from_shop_id; + data += "&from_shop_name=" + sourceProd.from_shop_name; + if (!string.IsNullOrWhiteSpace(sourceProd.real_coid)) + data += "&real_coid=" + sourceProd.real_coid; + data += "&price_text=" + sourceProd.price_text; + data += "&ext_code=" + sourceProd.ext_code; + data += "&product_name=" + HttpUtility.UrlEncode(sourceProd.product_name, Encoding.UTF8) + + "&product_json=" + HttpUtility.UrlEncode(sourceProd.product_json, Encoding.UTF8) + + "&size_json=" + HttpUtility.UrlEncode(sourceProd.size_json, Encoding.UTF8) + + "&sale_count=" + sourceProd.sale_count + + "&sale_count_text=" + sourceProd.sale_count_text + + "&main_img=" + HttpUtility.UrlEncode(sourceProd.main_img, Encoding.UTF8) + + "&wx_safe_status=" + HttpUtility.UrlEncode(sourceProd.wx_safe_status, Encoding.UTF8) + + "&product_get_type=" + HttpUtility.UrlEncode(sourceProd.product_get_type_text, Encoding.UTF8); + if (isCollectAuthorityUser) + { + data += "&add_user_name=" + user.user_name; + data += "&group=用户" + user.user_name; + } + if (sourceProd.wx_cat_1 != null) data += "&wx_cat_1=" + sourceProd.wx_cat_1; + if (sourceProd.wx_cat_2 != null) data += "&wx_cat_2=" + sourceProd.wx_cat_2; + if (sourceProd.wx_cat_3 != null) data += "&wx_cat_3=" + sourceProd.wx_cat_3; + if (sourceProd.wx_cat_leaf != null) data += "&wx_cat_leaf=" + sourceProd.wx_cat_leaf; + data += "&main_cat_id=" + sourceProd.main_cat_id; + data += "&main_cat_name=" + sourceProd.main_cat_name; + data += "&cat_id=" + sourceProd.cat_id; + data += "&cat_name=" + HttpUtility.UrlEncode(sourceProd.cat_name.ParseToString(), Encoding.UTF8); + if (sourceProd.distribution_set != null) + data += "&distribution_set=" + sourceProd.distribution_set; + + // 转移给别的用户就变成普通商品 + //var specialProdType = sourceProd.special_prod_type == "爆款数据" ? "爆款数据" : "普通商品"; + //if (specialProdType == "爆款数据") + // data += "&add_hot_version=v3"; + //data += "&special_prod_type=" + HttpUtility.UrlEncode(specialProdType, Encoding.UTF8); + data += "&special_prod_type=" + HttpUtility.UrlEncode("普通商品", Encoding.UTF8); + + if (sourceProd.view_uv != null) + { + data += "&view_uv=" + sourceProd.view_uv; + } + + // 其他一些商品数据复制 + { + data += "&fission_words=" + sourceProd.fission_words; + data += "&head_words=" + sourceProd.head_words; + data += "&end_words=" + sourceProd.end_words; + data += "&ext_code_price=" + sourceProd.ext_code_price; + data += "¬es=" + sourceProd.notes; + data += "&offline_supplier_id=" + sourceProd.offline_supplier_id; + data += "&offline_supplier_name=" + sourceProd.offline_supplier_name; + data += "&problem_prod_data=" + sourceProd.problem_prod_data; + data += "&send_to_out_server=" + sourceProd.send_to_out_server; + + data += "&sku_edit_json=" + sourceProd.sku_edit_json; + data += "&wx_img_map_json=" + sourceProd.wx_img_map_json; + + if (!string.IsNullOrEmpty(sourceProd.real_spu_id)) + data += "&real_spu_id=" + sourceProd.real_spu_id; + data += "&secret_spu_id=" + sourceProd.secret_spu_id; + data += "&sku_secret_json=" + sourceProd.sku_secret_json; + } + + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); + return msg; + } + else + { + //prod.getProductMsg = "商品入库成功!"; + //Invoke(new Action(() => + //{ + // row.Cells["colMsg"].Value = prod.getProductMsg; + //})); + if (!isExist) + { + url = BaseClass.BuildPDDObjString("product/mdy_product"); + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + string msg = "商品入库失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); + return msg; + } + } + + return "微信商品采集入库成功!"; + } + } } } diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs index 9106a2d..a6b389b 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs @@ -741,7 +741,7 @@ namespace TemuKJD.PDDForms.ShopForms //if (result?.Contains("\"code\":200") == true) //{ // var jObj = JObject.Parse(result); - // List shopSubAccountList = JsonHelper.DeserializeJsonToList(jObj["data"].ToString()); + // List shopSubAccountList = JsonHelper.DeserializeJsonToList(jObj["data"].ToString()); // foreach (var shop in GlobalConfig.DouShopLoginList) // { // shop.ShopSubAccountList.Clear(); @@ -758,7 +758,7 @@ namespace TemuKJD.PDDForms.ShopForms shop.ShopSubAccountList.Clear(); if (!string.IsNullOrWhiteSpace(shop.SubUserName)) { - ShopSubAccountInfo subAccount = new ShopSubAccountInfo(); + UserSubAccountInfo subAccount = new UserSubAccountInfo(); subAccount.sub_user_name = shop.SubUserName; subAccount.user_name = shop.SubUserName; subAccount.shop_login_name = shop.LoginName; diff --git a/TEMUKJD/PDDForms/ShopForms/PDDSubAccountListForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDSubAccountListForm.cs index 821f49b..c31a105 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDSubAccountListForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDSubAccountListForm.cs @@ -16,7 +16,7 @@ namespace TemuKJD.PDDForms.ShopForms { public partial class PDDSubAccountListForm : BaseForm { - public static List AllUsers { get; set; } = new List(); + public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; public PDDSubAccountListForm() @@ -120,7 +120,7 @@ namespace TemuKJD.PDDForms.ShopForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/PDDForms/ShopForms/PDDSubAccountShopEditForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDSubAccountShopEditForm.cs index 56614f6..3f8a218 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDSubAccountShopEditForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDSubAccountShopEditForm.cs @@ -17,9 +17,9 @@ namespace TemuKJD.PDDForms.ShopForms public partial class PDDSubAccountShopEditForm : BaseGeneralForm { ShopLoginInfo shop = null; - public List AllSubAccountList { get; set; } = new List(); - public List ShopSubAccountList { get; set; } = new List(); - public List NotShopSubAccountList { get; set; } = new List(); + public List AllSubAccountList { get; set; } = new List(); + public List ShopSubAccountList { get; set; } = new List(); + public List NotShopSubAccountList { get; set; } = new List(); public PDDSubAccountShopEditForm(ShopLoginInfo _shop) { InitializeComponent(); @@ -51,7 +51,7 @@ namespace TemuKJD.PDDForms.ShopForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); @@ -134,8 +134,8 @@ namespace TemuKJD.PDDForms.ShopForms private void btnOk_Click(object sender, EventArgs e) { - List AddUsers = new List(); - List DeleteUsers = new List(); + List AddUsers = new List(); + List DeleteUsers = new List(); foreach (Control c in this.flpNotSubAccount.Controls) { var co = c as UcSubAccount; diff --git a/TEMUKJD/PDDForms/ShopForms/UcSubAccount.cs b/TEMUKJD/PDDForms/ShopForms/UcSubAccount.cs index 492cdd3..1a7089e 100644 --- a/TEMUKJD/PDDForms/ShopForms/UcSubAccount.cs +++ b/TEMUKJD/PDDForms/ShopForms/UcSubAccount.cs @@ -13,14 +13,14 @@ namespace TemuKJD.PDDForms.ShopForms { public partial class UcSubAccount : UserControl { - public ShopSubAccountInfo subAccount = null; + public UserSubAccountInfo subAccount = null; public delegate void SubAcountDelegate(object obj); public event SubAcountDelegate AddSubAcountEvent; public event SubAcountDelegate RemoveSubAcountEvent; - public UcSubAccount(ShopSubAccountInfo _subAccount, bool isNotShopSubAccount = true) + public UcSubAccount(UserSubAccountInfo _subAccount, bool isNotShopSubAccount = true) { InitializeComponent(); subAccount = _subAccount; diff --git a/TEMUKJD/ToolForms/Get1688ProductForm.cs b/TEMUKJD/ToolForms/Get1688ProductForm.cs index 106bbca..0051c46 100644 --- a/TEMUKJD/ToolForms/Get1688ProductForm.cs +++ b/TEMUKJD/ToolForms/Get1688ProductForm.cs @@ -1137,7 +1137,7 @@ namespace TemuKJD.ToolForms { } - public static void Out1688ProductImport(bool isCollectAuthorityUser, StatusBarUserControl statusBar, PictureBox pbLoading) + public static void Out1688ProductImport(bool isCollectAuthorityUser, StatusBarUserControl statusBar, PictureBox pbLoading, Action successCallBack = null) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; @@ -1154,6 +1154,7 @@ namespace TemuKJD.ToolForms //pbLoading.Visible = true; statusBar.pgbTaskProgress.Maximum = filePathLst.Count; statusBar.UpdateProgressBar(0); + Task.Run(() => { int successNum = 0; @@ -1187,6 +1188,8 @@ namespace TemuKJD.ToolForms statusBar.lblTaskStatus.Text = "正在导入 成功" + successNum + " 失败" + failedNum; })); } + if (successCallBack != null) + successCallBack.Invoke("导入完成"); statusBar.Invoke(new Action(() => { pbLoading.Visible = false; diff --git a/TEMUKJD/ToolForms/ShowImgForm.cs b/TEMUKJD/ToolForms/ShowImgForm.cs index 5105dd0..341673c 100644 --- a/TEMUKJD/ToolForms/ShowImgForm.cs +++ b/TEMUKJD/ToolForms/ShowImgForm.cs @@ -27,6 +27,13 @@ namespace TemuKJD.ToolForms if (!string.IsNullOrEmpty(currentImgUrl)) { this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http"); + + //string getImgError = ""; + //var image = AllBase.GetHtml.GetUrlImg(currentImgUrl, out getImgError); + //if (!string.IsNullOrEmpty(getImgError)) + // //BaseMsgForm.ShowError("图片加载失败 " + getImgError); + // image = TemuKJD.Properties.Resources.errpic; + //this.pictureBox1.Image = image; } } diff --git a/TEMUKJD/UserComponent/UcCheckBox.cs b/TEMUKJD/UserComponent/UcCheckBox.cs index fb697c7..d980cef 100644 --- a/TEMUKJD/UserComponent/UcCheckBox.cs +++ b/TEMUKJD/UserComponent/UcCheckBox.cs @@ -63,7 +63,10 @@ namespace TemuKJD.UserComponent rt.Width = checkBoxSize; rt.Height = checkBoxSize; - DrawCheckBoxIcon(g, rt, this.Checked, this.CheckBoxColor, this.CheckBoxCheckColor, this.CheckBoxBorderColor); + if (this.Enabled == false) + DrawCheckBoxIcon(g, rt, this.Checked, Color.LightGray, Color.DarkGray, Color.Gray); + else + DrawCheckBoxIcon(g, rt, this.Checked, this.CheckBoxColor, this.CheckBoxCheckColor, this.CheckBoxBorderColor); } public static void DrawCheckBoxIcon(Graphics g, Rectangle rt, bool isChecked, Color checkBoxColor, Color checkBoxCheckColor, Color checkBoxBorderColor) diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs index 90e2bed..0a79ae6 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.Designer.cs @@ -80,6 +80,13 @@ namespace TemuKJD.WXForms.AdminForms this.label40 = new System.Windows.Forms.Label(); this.line1 = new DevComponents.DotNetBar.Controls.Line(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.pnlShopPointsPerMonth = new System.Windows.Forms.Panel(); + this.lblShopPointsPerMonthUserInfo = new System.Windows.Forms.Label(); + this.panel3 = new System.Windows.Forms.Panel(); + this.numShopPointsPerMonth = new System.Windows.Forms.NumericUpDown(); + this.label11 = new System.Windows.Forms.Label(); + this.btnShopPointsPerMonthCancel = new DevComponents.DotNetBar.PanelEx(); + this.btnShopPointsPerMonth = new DevComponents.DotNetBar.PanelEx(); this.pnlTopUp = new System.Windows.Forms.Panel(); this.lblUserInfo = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); @@ -99,12 +106,15 @@ 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.colShopPointsPerMonth = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colChangePointsPerMonth = new System.Windows.Forms.DataGridViewLinkColumn(); this.colPoints = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPlus = new System.Windows.Forms.DataGridViewTextBoxColumn(); 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.lblShopPointsPerMonthUserId = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit(); this.splitContainer5.Panel1.SuspendLayout(); this.splitContainer5.Panel2.SuspendLayout(); @@ -113,6 +123,9 @@ namespace TemuKJD.WXForms.AdminForms this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); + this.pnlShopPointsPerMonth.SuspendLayout(); + this.panel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numShopPointsPerMonth)).BeginInit(); this.pnlTopUp.SuspendLayout(); this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numAddTopUp)).BeginInit(); @@ -662,6 +675,7 @@ namespace TemuKJD.WXForms.AdminForms // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.pnlShopPointsPerMonth); this.splitContainer1.Panel1.Controls.Add(this.pnlTopUp); this.splitContainer1.Panel1.Controls.Add(this.dgvUser); // @@ -672,6 +686,119 @@ namespace TemuKJD.WXForms.AdminForms this.splitContainer1.SplitterDistance = 593; this.splitContainer1.TabIndex = 2; // + // pnlShopPointsPerMonth + // + this.pnlShopPointsPerMonth.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pnlShopPointsPerMonth.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pnlShopPointsPerMonth.Controls.Add(this.lblShopPointsPerMonthUserId); + this.pnlShopPointsPerMonth.Controls.Add(this.lblShopPointsPerMonthUserInfo); + this.pnlShopPointsPerMonth.Controls.Add(this.panel3); + this.pnlShopPointsPerMonth.Location = new System.Drawing.Point(269, 383); + this.pnlShopPointsPerMonth.Name = "pnlShopPointsPerMonth"; + this.pnlShopPointsPerMonth.Size = new System.Drawing.Size(474, 146); + this.pnlShopPointsPerMonth.TabIndex = 9; + this.pnlShopPointsPerMonth.Visible = false; + // + // lblShopPointsPerMonthUserInfo + // + this.lblShopPointsPerMonthUserInfo.AutoSize = true; + this.lblShopPointsPerMonthUserInfo.Location = new System.Drawing.Point(20, 19); + this.lblShopPointsPerMonthUserInfo.Name = "lblShopPointsPerMonthUserInfo"; + this.lblShopPointsPerMonthUserInfo.Size = new System.Drawing.Size(58, 17); + this.lblShopPointsPerMonthUserInfo.TabIndex = 455; + this.lblShopPointsPerMonthUserInfo.Text = "UserInfo"; + // + // panel3 + // + this.panel3.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.panel3.Controls.Add(this.numShopPointsPerMonth); + this.panel3.Controls.Add(this.label11); + this.panel3.Controls.Add(this.btnShopPointsPerMonthCancel); + this.panel3.Controls.Add(this.btnShopPointsPerMonth); + this.panel3.Location = new System.Drawing.Point(23, 52); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(424, 57); + this.panel3.TabIndex = 454; + // + // numShopPointsPerMonth + // + this.numShopPointsPerMonth.Location = new System.Drawing.Point(187, 16); + this.numShopPointsPerMonth.Maximum = new decimal(new int[] { + 10000, + 0, + 0, + 0}); + this.numShopPointsPerMonth.Minimum = new decimal(new int[] { + 30, + 0, + 0, + 0}); + this.numShopPointsPerMonth.Name = "numShopPointsPerMonth"; + this.numShopPointsPerMonth.Size = new System.Drawing.Size(56, 23); + this.numShopPointsPerMonth.TabIndex = 1; + this.numShopPointsPerMonth.Value = new decimal(new int[] { + 30, + 0, + 0, + 0}); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(69, 19); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(128, 17); + this.label11.TabIndex = 456; + this.label11.Text = "店铺月积分消耗点数:"; + // + // btnShopPointsPerMonthCancel + // + this.btnShopPointsPerMonthCancel.CanvasColor = System.Drawing.SystemColors.Control; + this.btnShopPointsPerMonthCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnShopPointsPerMonthCancel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnShopPointsPerMonthCancel.Location = new System.Drawing.Point(306, 16); + this.btnShopPointsPerMonthCancel.Name = "btnShopPointsPerMonthCancel"; + this.btnShopPointsPerMonthCancel.Size = new System.Drawing.Size(56, 23); + this.btnShopPointsPerMonthCancel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnShopPointsPerMonthCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonthCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonthCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnShopPointsPerMonthCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonthCancel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnShopPointsPerMonthCancel.Style.GradientAngle = 90; + this.btnShopPointsPerMonthCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnShopPointsPerMonthCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnShopPointsPerMonthCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonthCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonthCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnShopPointsPerMonthCancel.TabIndex = 458; + this.btnShopPointsPerMonthCancel.Text = "取消"; + this.btnShopPointsPerMonthCancel.Click += new System.EventHandler(this.btnShopPointsPerMonthCancel_Click); + // + // btnShopPointsPerMonth + // + this.btnShopPointsPerMonth.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnShopPointsPerMonth.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnShopPointsPerMonth.DisabledBackColor = System.Drawing.Color.Empty; + this.btnShopPointsPerMonth.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnShopPointsPerMonth.Location = new System.Drawing.Point(247, 16); + this.btnShopPointsPerMonth.Name = "btnShopPointsPerMonth"; + this.btnShopPointsPerMonth.Size = new System.Drawing.Size(56, 23); + this.btnShopPointsPerMonth.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnShopPointsPerMonth.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonth.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonth.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnShopPointsPerMonth.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnShopPointsPerMonth.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnShopPointsPerMonth.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnShopPointsPerMonth.Style.GradientAngle = 90; + this.btnShopPointsPerMonth.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnShopPointsPerMonth.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonth.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnShopPointsPerMonth.TabIndex = 453; + this.btnShopPointsPerMonth.Text = "确定"; + this.btnShopPointsPerMonth.Click += new System.EventHandler(this.btnShopPointsPerMonth_Click); + // // pnlTopUp // this.pnlTopUp.Anchor = System.Windows.Forms.AnchorStyles.None; @@ -707,7 +834,7 @@ namespace TemuKJD.WXForms.AdminForms // // numAddTopUp // - this.numAddTopUp.Location = new System.Drawing.Point(159, 16); + this.numAddTopUp.Location = new System.Drawing.Point(156, 16); this.numAddTopUp.Maximum = new decimal(new int[] { 10000, 0, @@ -725,7 +852,7 @@ namespace TemuKJD.WXForms.AdminForms // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(95, 19); + this.label8.Location = new System.Drawing.Point(98, 19); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(68, 17); this.label8.TabIndex = 456; @@ -736,7 +863,7 @@ namespace TemuKJD.WXForms.AdminForms this.btnTopUpCancel.CanvasColor = System.Drawing.SystemColors.Control; this.btnTopUpCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnTopUpCancel.DisabledBackColor = System.Drawing.Color.Empty; - this.btnTopUpCancel.Location = new System.Drawing.Point(278, 16); + this.btnTopUpCancel.Location = new System.Drawing.Point(275, 16); this.btnTopUpCancel.Name = "btnTopUpCancel"; this.btnTopUpCancel.Size = new System.Drawing.Size(56, 23); this.btnTopUpCancel.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -761,7 +888,7 @@ namespace TemuKJD.WXForms.AdminForms this.btnTopUpOK.Cursor = System.Windows.Forms.Cursors.Hand; this.btnTopUpOK.DisabledBackColor = System.Drawing.Color.Empty; this.btnTopUpOK.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnTopUpOK.Location = new System.Drawing.Point(219, 16); + this.btnTopUpOK.Location = new System.Drawing.Point(216, 16); this.btnTopUpOK.Name = "btnTopUpOK"; this.btnTopUpOK.Size = new System.Drawing.Size(56, 23); this.btnTopUpOK.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -810,6 +937,8 @@ namespace TemuKJD.WXForms.AdminForms this.colSaLevel, this.colSaLevelName, this.colAuthority, + this.colShopPointsPerMonth, + this.colChangePointsPerMonth, this.colPoints, this.colPlus, this.colAddShop, @@ -897,6 +1026,20 @@ namespace TemuKJD.WXForms.AdminForms this.colAuthority.Name = "colAuthority"; this.colAuthority.ReadOnly = true; // + // colShopPointsPerMonth + // + this.colShopPointsPerMonth.FillWeight = 60F; + this.colShopPointsPerMonth.HeaderText = "月费耗点"; + this.colShopPointsPerMonth.Name = "colShopPointsPerMonth"; + this.colShopPointsPerMonth.ReadOnly = true; + // + // colChangePointsPerMonth + // + this.colChangePointsPerMonth.FillWeight = 22F; + this.colChangePointsPerMonth.HeaderText = "改"; + this.colChangePointsPerMonth.Name = "colChangePointsPerMonth"; + this.colChangePointsPerMonth.ReadOnly = true; + // // colPoints // this.colPoints.FillWeight = 60F; @@ -964,6 +1107,16 @@ namespace TemuKJD.WXForms.AdminForms this.btnExportShopErp.Visible = false; this.btnExportShopErp.Click += new System.EventHandler(this.btnExportShopErp_Click); // + // lblUserId + // + this.lblShopPointsPerMonthUserId.AutoSize = true; + this.lblShopPointsPerMonthUserId.Location = new System.Drawing.Point(256, 19); + this.lblShopPointsPerMonthUserId.Name = "lblUserId"; + this.lblShopPointsPerMonthUserId.Size = new System.Drawing.Size(47, 17); + this.lblShopPointsPerMonthUserId.TabIndex = 456; + this.lblShopPointsPerMonthUserId.Text = "UserId"; + this.lblShopPointsPerMonthUserId.Visible = false; + // // WXAdminAccountForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -984,6 +1137,11 @@ namespace TemuKJD.WXForms.AdminForms this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); + this.pnlShopPointsPerMonth.ResumeLayout(false); + this.pnlShopPointsPerMonth.PerformLayout(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numShopPointsPerMonth)).EndInit(); this.pnlTopUp.ResumeLayout(false); this.pnlTopUp.PerformLayout(); this.panel2.ResumeLayout(false); @@ -1047,6 +1205,11 @@ namespace TemuKJD.WXForms.AdminForms private DevComponents.DotNetBar.PanelEx btnTopUpCancel; private DevComponents.DotNetBar.PanelEx btnTopUpOK; private UserComponent.UcCheckBox chkProdFission; + private DevComponents.DotNetBar.PanelEx btnFilter; + private System.Windows.Forms.TextBox txtAuth; + private System.Windows.Forms.Label label9; + private DevComponents.DotNetBar.Controls.Line line1; + private DevComponents.DotNetBar.Controls.Line line2; private System.Windows.Forms.DataGridViewTextBoxColumn UserIdColumn; private System.Windows.Forms.DataGridViewTextBoxColumn UserNickNameColumn; private System.Windows.Forms.DataGridViewTextBoxColumn mobileColumn; @@ -1058,15 +1221,20 @@ 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.DataGridViewTextBoxColumn colShopPointsPerMonth; + private System.Windows.Forms.DataGridViewLinkColumn colChangePointsPerMonth; private System.Windows.Forms.DataGridViewTextBoxColumn colPoints; private System.Windows.Forms.DataGridViewTextBoxColumn colPlus; private System.Windows.Forms.DataGridViewLinkColumn colAddShop; private System.Windows.Forms.DataGridViewLinkColumn editColumn; private System.Windows.Forms.DataGridViewLinkColumn deleteColumn; - private DevComponents.DotNetBar.PanelEx btnFilter; - private System.Windows.Forms.TextBox txtAuth; - private System.Windows.Forms.Label label9; - private DevComponents.DotNetBar.Controls.Line line1; - private DevComponents.DotNetBar.Controls.Line line2; + private System.Windows.Forms.Panel pnlShopPointsPerMonth; + private System.Windows.Forms.Label lblShopPointsPerMonthUserInfo; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.NumericUpDown numShopPointsPerMonth; + private System.Windows.Forms.Label label11; + private DevComponents.DotNetBar.PanelEx btnShopPointsPerMonthCancel; + private DevComponents.DotNetBar.PanelEx btnShopPointsPerMonth; + private System.Windows.Forms.Label lblShopPointsPerMonthUserId; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs index 8382036..72ea51f 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.cs @@ -13,6 +13,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; using TemuKJD.BLL; +using TemuKJD.Extension; using Work; namespace TemuKJD.WXForms.AdminForms @@ -20,7 +21,7 @@ namespace TemuKJD.WXForms.AdminForms public partial class WXAdminAccountForm : BaseForm { - public static List AllUsers { get; set; } = new List(); + public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; @@ -150,7 +151,7 @@ namespace TemuKJD.WXForms.AdminForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); @@ -162,6 +163,7 @@ namespace TemuKJD.WXForms.AdminForms user.authority = BaseRegex.GetStringJson(ref oStr, "authority"); user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); user.points = BaseRegex.GetIntJson(ref oStr, "points"); + user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month"); var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name"); AllUsers.Add(user); @@ -177,8 +179,10 @@ namespace TemuKJD.WXForms.AdminForms user.sa_level, user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/, user.authority, - user.group_id == "3" ? user.points.ToString() : "", - "+", + (user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null, + (user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null, + (user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null, + (user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null, user.group_id == "3" ? "添加店铺" : "", "编辑", "删除"); @@ -231,6 +235,7 @@ namespace TemuKJD.WXForms.AdminForms string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString(); string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString(); string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString(); + int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt(); var row = dgvUser.Rows[e.RowIndex]; if (columname == "编辑") { @@ -276,6 +281,14 @@ namespace TemuKJD.WXForms.AdminForms this.pnlTopUp.Tag = row; this.pnlTopUp.Visible = true; } + if (columname == "改") + { + this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName; + this.numShopPointsPerMonth.Value = shopPointsPerMonth; + this.pnlShopPointsPerMonth.Tag = row; + this.pnlShopPointsPerMonth.Visible = true; + this.lblShopPointsPerMonthUserId.Text = uid; + } } public void Delete(string uid) @@ -312,6 +325,8 @@ namespace TemuKJD.WXForms.AdminForms private void MainAccountForm_Load(object sender, EventArgs e) { + pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y); + this.cmbGroup.Items.Clear(); this.cmbGroup.Items.Add("主账户"); this.cmbGroup.Items.Add("客服"); @@ -323,6 +338,11 @@ namespace TemuKJD.WXForms.AdminForms this.txtSearch.GotFocus += TxtSearch_GotFocus; this.txtSearch.LostFocus += TxtSearch_LostFocus; + + this.dgvUser.AddMergeColumn(new List { "colShopPointsPerMonth", "colChangePointsPerMonth" }); + this.dgvUser.AddMergeColumnHeader(new List { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点"); + this.dgvUser.AddMergeColumn(new List { "colPoints", "colPlus" }); + this.dgvUser.AddMergeColumnHeader(new List { "colPoints", "colPlus" }, "积分点数"); } private void TxtSearch_LostFocus(object sender, EventArgs e) @@ -405,5 +425,33 @@ namespace TemuKJD.WXForms.AdminForms row.Visible = false; } } + + private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e) + { + pnlShopPointsPerMonth.Visible = false; + } + + private void btnShopPointsPerMonth_Click(object sender, EventArgs e) + { + string url = BaseClass.BuildObjString("user/update_user"); + string data = UserLogin.GetSignaturex(); + data += "&id=" + lblShopPointsPerMonthUserId.Text; + data += "&shop_points_per_month=" + numShopPointsPerMonth.Value; + + string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); + if (!html.Contains("\"code\":200")) + { + var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg"); + BaseMsgForm.ShowError(msg); + return; + } + var row = pnlShopPointsPerMonth.Tag as DataGridViewRow; + if (row != null) + { + row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; + } + pnlShopPointsPerMonth.Visible = false; + BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功"); + } } } diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx index 54ec911..ec6e07a 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountForm.resx @@ -150,6 +150,12 @@ True + + True + + + True + True diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.Designer.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.Designer.cs new file mode 100644 index 0000000..cc8846c --- /dev/null +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.Designer.cs @@ -0,0 +1,597 @@ + +namespace TemuKJD.WXForms.AdminForms +{ + partial class WXAdminAccountSelectForm + { + /// + /// 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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXAdminAccountSelectForm)); + this.splitContainer5 = new System.Windows.Forms.SplitContainer(); + this.btnSearch = new DevComponents.DotNetBar.PanelEx(); + this.chkProdFission = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkCommissionUpdate = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkEcWaybill = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkHot = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkShopOptimize = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkChanceProdCollect = new TemuKJD.UserComponent.UcCheckBox(this.components); + 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(); + this.label6 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.txtCompany = new System.Windows.Forms.TextBox(); + this.cmbGroup = new System.Windows.Forms.ComboBox(); + this.label37 = new System.Windows.Forms.Label(); + this.txtMobile = new System.Windows.Forms.TextBox(); + this.label39 = new System.Windows.Forms.Label(); + this.txtNickName = new System.Windows.Forms.TextBox(); + this.label40 = new System.Windows.Forms.Label(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.dgvUser = new TemuKJD.UserComponent.DataGridViewEx(); + this.UserIdColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.UserNickNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.mobileColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colParentUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.groupIdColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.groupNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCompany = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.shopCountColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + 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.DataGridViewTextBoxColumn(); + this.colSelectUser = new System.Windows.Forms.DataGridViewLinkColumn(); + this.btnCancel = new DevComponents.DotNetBar.PanelEx(); + this.pnlAuth = new System.Windows.Forms.Panel(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit(); + this.splitContainer5.Panel1.SuspendLayout(); + this.splitContainer5.Panel2.SuspendLayout(); + this.splitContainer5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvUser)).BeginInit(); + this.pnlAuth.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer5 + // + this.splitContainer5.BackColor = System.Drawing.Color.White; + this.splitContainer5.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer5.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer5.Location = new System.Drawing.Point(1, 33); + this.splitContainer5.Name = "splitContainer5"; + // + // splitContainer5.Panel1 + // + this.splitContainer5.Panel1.BackColor = System.Drawing.Color.WhiteSmoke; + this.splitContainer5.Panel1.Controls.Add(this.pnlAuth); + this.splitContainer5.Panel1.Controls.Add(this.btnSearch); + this.splitContainer5.Panel1.Controls.Add(this.cmbSaLevel); + this.splitContainer5.Panel1.Controls.Add(this.txtCompany); + this.splitContainer5.Panel1.Controls.Add(this.cmbGroup); + this.splitContainer5.Panel1.Controls.Add(this.txtMobile); + this.splitContainer5.Panel1.Controls.Add(this.txtNickName); + this.splitContainer5.Panel1.Controls.Add(this.label7); + this.splitContainer5.Panel1.Controls.Add(this.label6); + this.splitContainer5.Panel1.Controls.Add(this.label3); + this.splitContainer5.Panel1.Controls.Add(this.label37); + this.splitContainer5.Panel1.Controls.Add(this.label39); + this.splitContainer5.Panel1.Controls.Add(this.label40); + // + // splitContainer5.Panel2 + // + 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(1374, 600); + this.splitContainer5.SplitterDistance = 271; + this.splitContainer5.SplitterWidth = 1; + this.splitContainer5.TabIndex = 3; + // + // 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(161, 332); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(83, 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 = 824; + this.btnSearch.Text = "查询"; + this.btnSearch.Click += new System.EventHandler(this.btnFilter_Click); + // + // chkProdFission + // + this.chkProdFission.Location = new System.Drawing.Point(0, 86); + this.chkProdFission.Name = "chkProdFission"; + this.chkProdFission.Size = new System.Drawing.Size(68, 21); + this.chkProdFission.TabIndex = 817; + this.chkProdFission.Text = "裂变调试"; + this.chkProdFission.UseVisualStyleBackColor = true; + // + // chkCommissionUpdate + // + this.chkCommissionUpdate.Location = new System.Drawing.Point(80, 42); + this.chkCommissionUpdate.Name = "chkCommissionUpdate"; + this.chkCommissionUpdate.Size = new System.Drawing.Size(68, 21); + this.chkCommissionUpdate.TabIndex = 816; + this.chkCommissionUpdate.Text = "佣金上货"; + this.chkCommissionUpdate.UseVisualStyleBackColor = true; + // + // chkEcWaybill + // + this.chkEcWaybill.Location = new System.Drawing.Point(0, 42); + this.chkEcWaybill.Name = "chkEcWaybill"; + this.chkEcWaybill.Size = new System.Drawing.Size(68, 21); + this.chkEcWaybill.TabIndex = 815; + this.chkEcWaybill.Text = "在线寄件"; + this.chkEcWaybill.UseVisualStyleBackColor = true; + // + // chkHot + // + this.chkHot.Location = new System.Drawing.Point(80, 21); + this.chkHot.Name = "chkHot"; + this.chkHot.Size = new System.Drawing.Size(68, 21); + this.chkHot.TabIndex = 814; + this.chkHot.Text = "爆款数据"; + this.chkHot.UseVisualStyleBackColor = true; + // + // chkShopOptimize + // + this.chkShopOptimize.Location = new System.Drawing.Point(0, 21); + this.chkShopOptimize.Name = "chkShopOptimize"; + this.chkShopOptimize.Size = new System.Drawing.Size(68, 21); + this.chkShopOptimize.TabIndex = 813; + this.chkShopOptimize.Text = "评分考核"; + this.chkShopOptimize.UseVisualStyleBackColor = true; + // + // chkChanceProdCollect + // + this.chkChanceProdCollect.Location = new System.Drawing.Point(80, 63); + this.chkChanceProdCollect.Name = "chkChanceProdCollect"; + this.chkChanceProdCollect.Size = new System.Drawing.Size(68, 21); + this.chkChanceProdCollect.TabIndex = 812; + this.chkChanceProdCollect.Text = "商品采集"; + this.chkChanceProdCollect.UseVisualStyleBackColor = true; + // + // chkShopPoints + // + this.chkShopPoints.Location = new System.Drawing.Point(0, 64); + 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(80, 0); + 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; + this.label7.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label7.Location = new System.Drawing.Point(46, 192); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(51, 20); + this.label7.TabIndex = 809; + this.label7.Text = "权限:"; + // + // chkWXComplateProd + // + this.chkWXComplateProd.Location = new System.Drawing.Point(0, 0); + this.chkWXComplateProd.Name = "chkWXComplateProd"; + this.chkWXComplateProd.Size = new System.Drawing.Size(68, 21); + this.chkWXComplateProd.TabIndex = 808; + this.chkWXComplateProd.Text = "微信回采"; + this.chkWXComplateProd.UseVisualStyleBackColor = true; + // + // cmbSaLevel + // + this.cmbSaLevel.FormattingEnabled = true; + this.cmbSaLevel.Items.AddRange(new object[] { + "普通用户", + "一级超管", + "二级超管"}); + this.cmbSaLevel.Location = new System.Drawing.Point(96, 161); + this.cmbSaLevel.Name = "cmbSaLevel"; + this.cmbSaLevel.Size = new System.Drawing.Size(148, 25); + this.cmbSaLevel.TabIndex = 48; + this.cmbSaLevel.Text = "普通用户"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label6.Location = new System.Drawing.Point(18, 163); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(79, 20); + this.label6.TabIndex = 47; + this.label6.Text = "超管等级:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label3.Location = new System.Drawing.Point(46, 130); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(51, 20); + this.label3.TabIndex = 40; + this.label3.Text = "公司:"; + // + // txtCompany + // + this.txtCompany.Location = new System.Drawing.Point(96, 129); + this.txtCompany.Name = "txtCompany"; + this.txtCompany.Size = new System.Drawing.Size(148, 23); + this.txtCompany.TabIndex = 39; + // + // cmbGroup + // + this.cmbGroup.FormattingEnabled = true; + this.cmbGroup.Items.AddRange(new object[] { + "客服", + "采购", + "上货", + "数据", + "登录"}); + this.cmbGroup.Location = new System.Drawing.Point(96, 95); + this.cmbGroup.Name = "cmbGroup"; + this.cmbGroup.Size = new System.Drawing.Size(148, 25); + this.cmbGroup.TabIndex = 26; + this.cmbGroup.Text = "主账户"; + // + // label37 + // + this.label37.AutoSize = true; + this.label37.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label37.Location = new System.Drawing.Point(46, 97); + this.label37.Name = "label37"; + this.label37.Size = new System.Drawing.Size(51, 20); + this.label37.TabIndex = 25; + this.label37.Text = "分组:"; + // + // txtMobile + // + this.txtMobile.Location = new System.Drawing.Point(96, 59); + this.txtMobile.Name = "txtMobile"; + this.txtMobile.Size = new System.Drawing.Size(148, 23); + this.txtMobile.TabIndex = 21; + // + // label39 + // + this.label39.AutoSize = true; + this.label39.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label39.Location = new System.Drawing.Point(32, 60); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(65, 20); + this.label39.TabIndex = 20; + this.label39.Text = "手机号:"; + // + // txtNickName + // + this.txtNickName.Location = new System.Drawing.Point(96, 27); + this.txtNickName.Name = "txtNickName"; + this.txtNickName.Size = new System.Drawing.Size(148, 23); + this.txtNickName.TabIndex = 19; + // + // label40 + // + this.label40.AutoSize = true; + this.label40.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label40.Location = new System.Drawing.Point(46, 28); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(51, 20); + this.label40.TabIndex = 18; + this.label40.Text = "昵称:"; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer1.Location = new System.Drawing.Point(0, 5); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.dgvUser); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.btnCancel); + this.splitContainer1.Size = new System.Drawing.Size(1097, 590); + this.splitContainer1.SplitterDistance = 559; + this.splitContainer1.TabIndex = 2; + // + // dgvUser + // + this.dgvUser.AllowUserToAddRows = false; + this.dgvUser.AllowUserToDeleteRows = false; + 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))))); + 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, + this.UserNickNameColumn, + this.mobileColumn, + this.colParentUserName, + this.groupIdColumn, + this.groupNameColumn, + this.colCompany, + this.shopCountColumn, + this.colSaLevel, + this.colSaLevelName, + this.colAuthority, + this.colPoints, + this.colSelectUser}); + 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); + this.dgvUser.MultiSelectCheckBox = true; + this.dgvUser.Name = "dgvUser"; + this.dgvUser.ReadOnly = true; + this.dgvUser.RowTemplate.Height = 23; + this.dgvUser.Size = new System.Drawing.Size(1097, 559); + this.dgvUser.TabIndex = 1; + this.dgvUser.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvUser_CellContentClick); + // + // UserIdColumn + // + this.UserIdColumn.HeaderText = "id"; + this.UserIdColumn.Name = "UserIdColumn"; + this.UserIdColumn.ReadOnly = true; + this.UserIdColumn.Visible = false; + // + // UserNickNameColumn + // + this.UserNickNameColumn.HeaderText = "用户昵称"; + this.UserNickNameColumn.Name = "UserNickNameColumn"; + this.UserNickNameColumn.ReadOnly = true; + // + // mobileColumn + // + this.mobileColumn.HeaderText = "手机(登录账号)"; + this.mobileColumn.Name = "mobileColumn"; + this.mobileColumn.ReadOnly = true; + // + // colParentUserName + // + this.colParentUserName.HeaderText = "主账号"; + this.colParentUserName.Name = "colParentUserName"; + this.colParentUserName.ReadOnly = true; + // + // groupIdColumn + // + this.groupIdColumn.HeaderText = "groupId"; + this.groupIdColumn.Name = "groupIdColumn"; + this.groupIdColumn.ReadOnly = true; + this.groupIdColumn.Visible = false; + // + // groupNameColumn + // + this.groupNameColumn.HeaderText = "分组"; + this.groupNameColumn.Name = "groupNameColumn"; + this.groupNameColumn.ReadOnly = true; + // + // colCompany + // + this.colCompany.HeaderText = "公司"; + this.colCompany.Name = "colCompany"; + this.colCompany.ReadOnly = true; + // + // shopCountColumn + // + this.shopCountColumn.HeaderText = "店铺数"; + this.shopCountColumn.Name = "shopCountColumn"; + this.shopCountColumn.ReadOnly = true; + this.shopCountColumn.Visible = false; + // + // colSaLevel + // + this.colSaLevel.HeaderText = "saLevel"; + this.colSaLevel.Name = "colSaLevel"; + this.colSaLevel.ReadOnly = true; + this.colSaLevel.Visible = false; + // + // colSaLevelName + // + this.colSaLevelName.HeaderText = "账户类型"; + this.colSaLevelName.Name = "colSaLevelName"; + this.colSaLevelName.ReadOnly = true; + // + // colAuthority + // + this.colAuthority.FillWeight = 300F; + this.colAuthority.HeaderText = "功能权限"; + 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; + // + // colSelectUser + // + this.colSelectUser.FillWeight = 70F; + this.colSelectUser.HeaderText = "选择用户"; + this.colSelectUser.Name = "colSelectUser"; + this.colSelectUser.ReadOnly = true; + // + // btnCancel + // + this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + 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(1038, 1); + this.btnCancel.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(58, 25); + 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 = 809; + this.btnCancel.Text = "取消"; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // pnlAuth + // + this.pnlAuth.Controls.Add(this.chkWXComplateProd); + this.pnlAuth.Controls.Add(this.chkWXShowProdGetFromType); + this.pnlAuth.Controls.Add(this.chkShopPoints); + this.pnlAuth.Controls.Add(this.chkChanceProdCollect); + this.pnlAuth.Controls.Add(this.chkShopOptimize); + this.pnlAuth.Controls.Add(this.chkProdFission); + this.pnlAuth.Controls.Add(this.chkHot); + this.pnlAuth.Controls.Add(this.chkCommissionUpdate); + this.pnlAuth.Controls.Add(this.chkEcWaybill); + this.pnlAuth.Location = new System.Drawing.Point(96, 194); + this.pnlAuth.Name = "pnlAuth"; + this.pnlAuth.Size = new System.Drawing.Size(148, 108); + this.pnlAuth.TabIndex = 828; + // + // WXAdminAccountSelectForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(1376, 634); + this.Controls.Add(this.splitContainer5); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.KeyPreview = true; + this.Name = "WXAdminAccountSelectForm"; + this.Text = "微信小店用户选择"; + this.TitleText = "微信小店用户选择"; + this.Load += new System.EventHandler(this.MainAccountForm_Load); + this.VisibleChanged += new System.EventHandler(this.MainAccountForm_VisibleChanged); + this.Controls.SetChildIndex(this.splitContainer5, 0); + this.splitContainer5.Panel1.ResumeLayout(false); + this.splitContainer5.Panel1.PerformLayout(); + this.splitContainer5.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).EndInit(); + this.splitContainer5.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvUser)).EndInit(); + this.pnlAuth.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer5; + private UserComponent.DataGridViewEx dgvUser; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.Label label7; + private DevComponents.DotNetBar.PanelEx btnSearch; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label37; + private System.Windows.Forms.Label label39; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.DataGridViewTextBoxColumn UserIdColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn UserNickNameColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn mobileColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn colParentUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn groupIdColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn groupNameColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn colCompany; + private System.Windows.Forms.DataGridViewTextBoxColumn shopCountColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevel; + private System.Windows.Forms.DataGridViewTextBoxColumn colSaLevelName; + private System.Windows.Forms.DataGridViewTextBoxColumn colAuthority; + private System.Windows.Forms.DataGridViewTextBoxColumn colPoints; + private System.Windows.Forms.DataGridViewLinkColumn colSelectUser; + public System.Windows.Forms.ComboBox cmbSaLevel; + public System.Windows.Forms.TextBox txtCompany; + public System.Windows.Forms.ComboBox cmbGroup; + public System.Windows.Forms.TextBox txtMobile; + public System.Windows.Forms.TextBox txtNickName; + public UserComponent.UcCheckBox chkWXComplateProd; + public UserComponent.UcCheckBox chkWXShowProdGetFromType; + public UserComponent.UcCheckBox chkShopPoints; + public UserComponent.UcCheckBox chkChanceProdCollect; + public UserComponent.UcCheckBox chkShopOptimize; + public UserComponent.UcCheckBox chkHot; + public UserComponent.UcCheckBox chkEcWaybill; + public UserComponent.UcCheckBox chkCommissionUpdate; + public UserComponent.UcCheckBox chkProdFission; + private DevComponents.DotNetBar.PanelEx btnCancel; + private System.Windows.Forms.Panel pnlAuth; + } +} \ No newline at end of file diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.cs new file mode 100644 index 0000000..59f66fc --- /dev/null +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.cs @@ -0,0 +1,204 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using TemuKJD.BLL; +using TemuKJD.UserComponent; +using Work; + +namespace TemuKJD.WXForms.AdminForms +{ + public partial class WXAdminAccountSelectForm : BaseGeneralForm + { + public List lstAllUsers { get; set; } = new List(); + public UserSubAccountInfo selectUser = null; + public MainForm Mf { get; set; } = null; + public string Uid { get; set; } = ""; + + public WXAdminAccountSelectForm() + { + InitializeComponent(); + } + + private void GetUser() + { + dgvUser.Rows.Clear(); + lstAllUsers.Clear(); + string url = BaseClass.BuildObjString("user/get_all_user"); + StringBuilder data = new StringBuilder(); + data.Append(UserLogin.GetSignaturex()); + if (!string.IsNullOrWhiteSpace(txtNickName.Text)) + data.Append("&search_nick_name=" + txtNickName.Text.Replace("'", "'")); + if (!string.IsNullOrWhiteSpace(txtMobile.Text)) + data.Append("&search_user_name=" + txtMobile.Text.Replace("'", "'")); + if (cmbGroup.Text == "主账户") + data.Append("&group_id=3"); + else if (cmbGroup.Text == "客服") + data.Append("&group_id=4"); + if (!string.IsNullOrWhiteSpace(txtCompany.Text)) + data.Append("&search_company_name=" + txtCompany.Text.Replace("'", "'")); + string search_authoritys_and = ""; + foreach (Control ctrl in pnlAuth.Controls) + { + var chk = ctrl as UcCheckBox; + if (chk != null && chk.Checked) + search_authoritys_and += chk.Text + ","; + } + search_authoritys_and = search_authoritys_and.Trim(','); + if (!string.IsNullOrEmpty(search_authoritys_and)) + data.Append("&search_authoritys_and=" + search_authoritys_and); + + string html = GetHtml.PostUtf8(url, data.ToString()); + if (!html.ParseToString().Contains("\"code\":200")) + return; + if (html.Contains("\"data\"")) + { + var userObjs = Newtonsoft.Json.Linq.JObject.Parse(html)["data"]; + foreach (Newtonsoft.Json.Linq.JObject obj in userObjs) + { + string oStr = JsonHelper.SerializeObject(obj); + UserSubAccountInfo user = new UserSubAccountInfo(); + user.id = BaseRegex.GetIntJson(ref oStr, "id"); + user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); + user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); + user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile"); + user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); + user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count"); + user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name"); + user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level"); + user.authority = BaseRegex.GetStringJson(ref oStr, "authority"); + user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id"); + user.points = BaseRegex.GetIntJson(ref oStr, "points"); + user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month"); + var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name"); + + lstAllUsers.Add(user); + dgvUser.Rows.Add( + user.id, + user.nick_name, + user.user_name, + parent_user_name, + user.group_id, + user.group_name, + user.company_name, + user.shop_count, + user.sa_level, + user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/, + user.authority, + user.group_id == "3" ? user.points.ToString() : "", + "选择用户", + user.group_id == "3" ? "添加店铺" : "", + "编辑", + "删除"); + } + } + } + + private void EmptyInput() + { + txtNickName.Clear(); + txtMobile.Clear(); + txtCompany.Clear(); + cmbGroup.Text = "主账户"; + cmbSaLevel.Text = "普通用户"; + chkWXComplateProd.Checked = false; + chkWXShowProdGetFromType.Checked = false; + chkChanceProdCollect.Checked = false; + chkShopOptimize.Checked = false; + chkEcWaybill.Checked = false; + chkCommissionUpdate.Checked = false; + chkHot.Checked = false; + chkShopPoints.Checked = false; + chkProdFission.Checked = false; + } + + private void dgvUser_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string columname = dgvUser.Columns[e.ColumnIndex].HeaderText; + string uid = dgvUser.Rows[e.RowIndex].Cells["UseridColumn"].Value.ToString(); + string nickName = dgvUser.Rows[e.RowIndex].Cells["UserNickNameColumn"].Value.ToString(); + string mobile = dgvUser.Rows[e.RowIndex].Cells["mobileColumn"].Value.ToString(); + string groupName = dgvUser.Rows[e.RowIndex].Cells["groupNameColumn"].Value.ToString(); + string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString(); + string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString(); + string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString(); + var row = dgvUser.Rows[e.RowIndex]; + + if (columname == "选择用户") + { + this.selectUser = lstAllUsers.FirstOrDefault(u => u.user_name == mobile); + if (selectUser != null) + { + if (BaseMsgForm.ShowConfirm("确定要将选定商品添加到用户:" + selectUser.user_name + "(" + selectUser.nick_name + ")的商品库?").DialogResult == DialogResult.OK) + this.Close(); + else + this.selectUser = null; + } + else + BaseMsgForm.ShowError("用户不存在,请重试"); + } + } + + public void Delete(string uid) + { + StringBuilder data = new StringBuilder(); + data.Append(UserLogin.GetSignaturex()); + data.Append("&id=" + uid); + string url = BaseClass.BuildObjString("user/delete_user"); + string html = GetHtml.PostUtf8(url, data.ToString()); + if (!string.IsNullOrEmpty(html)) + { + if (html.Contains("\"code\":200")) + { + BaseMsgForm.ShowInfo("删除成功", "提示"); + GetUser(); + return; + } + var msg = BaseRegex.GetStringJson(ref html, "msg"); + if (string.IsNullOrEmpty(msg)) + msg = html; + BaseMsgForm.ShowError(msg, "错误"); + return; + } + BaseMsgForm.ShowError("返回异常", "错误"); + } + + private void MainAccountForm_VisibleChanged(object sender, EventArgs e) + { + if (this.Visible) + { + GetUser(); + } + } + + private void MainAccountForm_Load(object sender, EventArgs e) + { + this.cmbGroup.Items.Clear(); + this.cmbGroup.Items.Add("主账户"); + this.cmbGroup.Items.Add("客服"); + } + + private void btnFilter_Click(object sender, EventArgs e) + { + GetUser(); + } + + private void btnCancel_Click(object sender, EventArgs e) + { + this.selectUser = null; + this.Close(); + } + } +} diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.resx b/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.resx new file mode 100644 index 0000000..3ef7eaa --- /dev/null +++ b/TEMUKJD/WXForms/AdminForms/WXAdminAccountSelectForm.resx @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminShopAddSubSaForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminShopAddSubSaForm.cs index 43aba8f..16354a2 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminShopAddSubSaForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminShopAddSubSaForm.cs @@ -19,7 +19,7 @@ namespace TemuKJD.WXForms.AdminForms { List lstShopLoginName = new List(); - List lstSubSa = new List(); + List lstSubSa = new List(); public WXAdminShopAddSubSaForm(List ShopSelectIds = null) { InitializeComponent(); @@ -79,7 +79,7 @@ namespace TemuKJD.WXForms.AdminForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs index 154dbd9..393e4b6 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminShopListForm.cs @@ -27,7 +27,7 @@ namespace TemuKJD.WXForms.AdminForms public partial class WXAdminShopListForm : BaseForms.BaseGeneralForm { static WXAdminShopListForm inst = null; - public SubAccountInfo UserAccountInfo { get; set; } = null; + public UserAccountInfo UserAccountInfo { get; set; } = null; public static WXAdminShopListForm Instance { get { if (inst == null) inst = new WXAdminShopListForm(); return inst; } diff --git a/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.Designer.cs b/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.Designer.cs index 78db976..19b2c78 100644 --- a/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.Designer.cs @@ -32,15 +32,19 @@ namespace TemuKJD.WXForms.ProductForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnCancelActivity = new DevComponents.DotNetBar.PanelEx(); + this.label2 = new System.Windows.Forms.Label(); + this.txtSkipPriceEnd = new System.Windows.Forms.TextBox(); + this.chkSkipPriceEnd = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label1 = new System.Windows.Forms.Label(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.label4 = new System.Windows.Forms.Label(); @@ -52,6 +56,7 @@ namespace TemuKJD.WXForms.ProductForms this.btnStopOp = new DevComponents.DotNetBar.PanelEx(); this.btnSetActivity = new DevComponents.DotNetBar.PanelEx(); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.chkProdInActivity = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); this.txtPage = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); @@ -111,9 +116,6 @@ namespace TemuKJD.WXForms.ProductForms this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.btnClear = new DevComponents.DotNetBar.PanelEx(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); - this.chkSkipPriceEnd = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.txtSkipPriceEnd = new System.Windows.Forms.TextBox(); - this.label2 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -169,6 +171,7 @@ namespace TemuKJD.WXForms.ProductForms 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.btnCancelActivity); this.ucGroupBoxEx3.Controls.Add(this.label2); this.ucGroupBoxEx3.Controls.Add(this.txtSkipPriceEnd); this.ucGroupBoxEx3.Controls.Add(this.chkSkipPriceEnd); @@ -184,6 +187,62 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx3.TabStop = false; this.ucGroupBoxEx3.Text = "活动设置"; // + // btnCancelActivity + // + this.btnCancelActivity.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnCancelActivity.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnCancelActivity.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnCancelActivity.DisabledBackColor = System.Drawing.Color.Empty; + this.btnCancelActivity.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnCancelActivity.Location = new System.Drawing.Point(933, 69); + this.btnCancelActivity.Name = "btnCancelActivity"; + this.btnCancelActivity.Size = new System.Drawing.Size(84, 23); + this.btnCancelActivity.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnCancelActivity.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCancelActivity.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCancelActivity.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnCancelActivity.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnCancelActivity.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnCancelActivity.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnCancelActivity.Style.GradientAngle = 90; + this.btnCancelActivity.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnCancelActivity.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnCancelActivity.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnCancelActivity.TabIndex = 865; + this.btnCancelActivity.Text = "批量取消报名"; + this.btnCancelActivity.Click += new System.EventHandler(this.btnCancelActivity_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(177, 75); + this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(32, 17); + this.label2.TabIndex = 855; + this.label2.Text = "商品"; + // + // txtSkipPriceEnd + // + this.txtSkipPriceEnd.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.txtSkipPriceEnd.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtSkipPriceEnd.Location = new System.Drawing.Point(128, 71); + this.txtSkipPriceEnd.Margin = new System.Windows.Forms.Padding(0); + this.txtSkipPriceEnd.Name = "txtSkipPriceEnd"; + this.txtSkipPriceEnd.Size = new System.Drawing.Size(47, 25); + this.txtSkipPriceEnd.TabIndex = 854; + this.txtSkipPriceEnd.Text = ".66"; + // + // chkSkipPriceEnd + // + this.chkSkipPriceEnd.AutoSize = true; + this.chkSkipPriceEnd.Location = new System.Drawing.Point(25, 73); + this.chkSkipPriceEnd.Name = "chkSkipPriceEnd"; + this.chkSkipPriceEnd.Size = new System.Drawing.Size(111, 21); + this.chkSkipPriceEnd.TabIndex = 853; + this.chkSkipPriceEnd.Text = "跳过价格尾数为"; + this.chkSkipPriceEnd.UseVisualStyleBackColor = true; + // // label1 // this.label1.AutoSize = true; @@ -335,6 +394,7 @@ namespace TemuKJD.WXForms.ProductForms | System.Windows.Forms.AnchorStyles.Left))); this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx4.Controls.Add(this.chkProdInActivity); this.ucGroupBoxEx4.Controls.Add(this.btnEmpty); this.ucGroupBoxEx4.Controls.Add(this.txtPage); this.ucGroupBoxEx4.Controls.Add(this.label5); @@ -347,6 +407,17 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx4.TabStop = false; this.ucGroupBoxEx4.Text = "活动商品查询"; // + // chkProdInActivity + // + this.chkProdInActivity.AutoSize = true; + this.chkProdInActivity.Location = new System.Drawing.Point(17, 75); + this.chkProdInActivity.Name = "chkProdInActivity"; + this.chkProdInActivity.Size = new System.Drawing.Size(123, 21); + this.chkProdInActivity.TabIndex = 854; + this.chkProdInActivity.Text = "查询成功报名商品"; + this.chkProdInActivity.UseVisualStyleBackColor = true; + this.chkProdInActivity.Visible = false; + // // btnEmpty // this.btnEmpty.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -789,19 +860,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToDeleteRows = false; - dataGridViewCellStyle15.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle15; + 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))))); - dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle16.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle16.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle16.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle16.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle16.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle16; + 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, @@ -963,19 +1034,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvSelectProduct.AllowUserToAddRows = false; this.dgvSelectProduct.AllowUserToDeleteRows = false; - dataGridViewCellStyle17.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle17; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; this.dgvSelectProduct.AutoRowNumber = true; this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle18.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle18.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle18.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle18; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colCheck, @@ -1023,8 +1094,8 @@ namespace TemuKJD.WXForms.ProductForms // // colSupplierName // - dataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle19; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5; this.colSupplierName.HeaderText = "店铺名称"; this.colSupplierName.Name = "colSupplierName"; this.colSupplierName.ReadOnly = true; @@ -1081,8 +1152,8 @@ namespace TemuKJD.WXForms.ProductForms // // colProductName // - dataGridViewCellStyle20.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colProductName.DefaultCellStyle = dataGridViewCellStyle20; + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle6; this.colProductName.HeaderText = "商品名称"; this.colProductName.Name = "colProductName"; this.colProductName.ReadOnly = true; @@ -1109,8 +1180,8 @@ namespace TemuKJD.WXForms.ProductForms // // colStock // - dataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colStock.DefaultCellStyle = dataGridViewCellStyle21; + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colStock.DefaultCellStyle = dataGridViewCellStyle7; this.colStock.HeaderText = "库存"; this.colStock.Name = "colStock"; this.colStock.ReadOnly = true; @@ -1203,37 +1274,6 @@ namespace TemuKJD.WXForms.ProductForms this.panelEx1.Text = "停止当前操作"; this.panelEx1.Visible = false; // - // chkSkipPriceEnd - // - this.chkSkipPriceEnd.AutoSize = true; - this.chkSkipPriceEnd.Location = new System.Drawing.Point(25, 73); - this.chkSkipPriceEnd.Name = "chkSkipPriceEnd"; - this.chkSkipPriceEnd.Size = new System.Drawing.Size(111, 21); - this.chkSkipPriceEnd.TabIndex = 853; - this.chkSkipPriceEnd.Text = "跳过价格尾数为"; - this.chkSkipPriceEnd.UseVisualStyleBackColor = true; - // - // txtSkipPriceEnd - // - this.txtSkipPriceEnd.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.txtSkipPriceEnd.Font = new System.Drawing.Font("微软雅黑", 10F); - this.txtSkipPriceEnd.Location = new System.Drawing.Point(128, 71); - this.txtSkipPriceEnd.Margin = new System.Windows.Forms.Padding(0); - this.txtSkipPriceEnd.Name = "txtSkipPriceEnd"; - this.txtSkipPriceEnd.Size = new System.Drawing.Size(47, 25); - this.txtSkipPriceEnd.TabIndex = 854; - this.txtSkipPriceEnd.Text = ".66"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(177, 75); - this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(32, 17); - this.label2.TabIndex = 855; - this.label2.Text = "商品"; - // // WXActivity618Form // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1355,5 +1395,7 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.TextBox txtSkipPriceEnd; private UserComponent.UcCheckBox chkSkipPriceEnd; private System.Windows.Forms.Label label2; + private DevComponents.DotNetBar.PanelEx btnCancelActivity; + private UserComponent.UcCheckBox chkProdInActivity; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.cs b/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.cs index a700357..79a7e5b 100644 --- a/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.cs +++ b/TEMUKJD/WXForms/ProductForms/ActivityForms/WXActivity618Form.cs @@ -475,83 +475,171 @@ namespace TemuKJD.WXForms.ProductForms break; // 查找报名商品 - var getActivityProdRst = WXActivity.getActivityProdList(shop, page, pageSize); - Thread.Sleep(Randomx.GetId(150, 300)); - if (!getActivityProdRst.Contains("\"code\":0")) + var getActivityProdRst = ""; + if (chkProdInActivity.Checked) { - ShowShopError(shop, getActivityProdRst); - break; - } - totalPage = BaseRegex.GetIntJson(ref getActivityProdRst, "totalPage"); - - try - { - Invoke(new Action(() => + getActivityProdRst = WXActivity.getProdInActivityList(shop, page, pageSize); + //getActivityProdRst = WXActivity.getActivityProdList(shop, page, pageSize); + Thread.Sleep(Randomx.GetId(150, 300)); + if (!getActivityProdRst.Contains("\"code\":0")) { - this.pbLoading.Visible = true; - this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); - })); - var prodObjs = JsonHelper.JObjectParse(getActivityProdRst)["data"]; - WxActivityData dataTmp = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodObjs)); - foreach (var prodRequest in dataTmp.requestProductInfoList.resultList) - { - if (this.wxActivityData.requestProductInfoList.resultList.Any(r => r.product.productId == prodRequest.product.productId && r.product.skuId == prodRequest.product.skuId)) - continue; - - prodRequest.shopId = shop.ShopId; - wxActivityData.requestProductInfoList.resultList.Add(prodRequest); + ShowShopError(shop, getActivityProdRst); + break; } - foreach (var prod in dataTmp.productList) + var totalNum = BaseRegex.GetIntJson(ref getActivityProdRst, "totalNum"); + totalPage = Math.Ceiling(totalNum * 1.0m / pageSize).ParseToInt(); + + try { - if (this.wxActivityData.productList.Any(p => p.productKey.productId == prod.productKey.productId)) - continue; - wxActivityData.productList.Add(prod); - var signCnt = wxActivityData.requestProductInfoList.resultList - .Where(r => r.product.productId == prod.productKey.productId && r.isAdded == true).ToList().Count; - var signCntStr = signCnt > 0 ? "," + signCnt + "个已报名" : ""; Invoke(new Action(() => { - var rowIndex = this.dgvSelectProduct.Rows.Add( - false, - shop.ShopId, - shop.ShopAccount, - "登录", - "进店", - prod.productKey.productId, - "", - prod.info.headImg.FirstOrDefault(), - DataGridViewExtension.defaultBitmap, - prod.info.title, - "sku数量:" + prod.productSkus.Count + "个" + signCntStr, - prod.productSkus.Min(s => s.productSkuInfo.salePrice) * 0.01m + " - " + prod.productSkus.Max(s => s.productSkuInfo.salePrice) * 0.01m, - prod.productSkus.Min(s => s.productSkuInfo.salePrice) * 0.01m + " - " + prod.productSkus.Max(s => s.productSkuInfo.salePrice) * 0.01m, - prod.info.totalStockNum, - "" - ); - - if (prod.productKey.productId == "10000852942152") - { - var x = JsonHelper.SerializeObject(prod); - } - - dgvSelectProduct.Rows[rowIndex].Height = 60; - //Color color = Color.Red; - //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "在售") - // color = Color.Blue; - //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "下架") - // color = Color.Purple; - //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "草稿箱") - // color = Color.DarkOrange; - //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "回收站") - // color = Color.Gray; - //dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = color; + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); })); + var prodObjs = JsonHelper.JObjectParse(getActivityProdRst)["data"]; + WxActivityData dataTmp = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodObjs)); + foreach (var prodRequest in dataTmp.requestProductInfoList.resultList) + { + if (this.wxActivityData.requestProductInfoList.resultList.Any(r => r.product.productId == prodRequest.product.productId && r.product.skuId == prodRequest.product.skuId)) + continue; + + prodRequest.shopId = shop.ShopId; + wxActivityData.requestProductInfoList.resultList.Add(prodRequest); + } + foreach (var prod in dataTmp.productList) + { + if (this.wxActivityData.productList.Any(p => p.productKey.productId == prod.productKey.productId)) + continue; + wxActivityData.productList.Add(prod); + var signCnt = wxActivityData.requestProductInfoList.resultList + .Where(r => r.product.productId == prod.productKey.productId && r.isAdded == true).ToList().Count; + var signCntStr = signCnt > 0 ? "," + signCnt + "个已报名" : ""; + Invoke(new Action(() => + { + var rowIndex = this.dgvSelectProduct.Rows.Add( + false, + shop.ShopId, + shop.ShopAccount, + "登录", + "进店", + prod.productKey.productId, + "", + prod.info.headImg.FirstOrDefault(), + DataGridViewExtension.defaultBitmap, + prod.info.title, + "sku数量:" + prod.productSkus.Count + "个" + signCntStr, + prod.productSkus.Min(s => s.productSkuInfo.salePrice) * 0.01m + " - " + prod.productSkus.Max(s => s.productSkuInfo.salePrice) * 0.01m, + prod.productSkus.Min(s => s.productSkuInfo.salePrice) * 0.01m + " - " + prod.productSkus.Max(s => s.productSkuInfo.salePrice) * 0.01m, + prod.info.totalStockNum, + "" + ); + + if (prod.productKey.productId == "10000852942152") + { + var x = JsonHelper.SerializeObject(prod); + } + + dgvSelectProduct.Rows[rowIndex].Height = 60; + //Color color = Color.Red; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "在售") + // color = Color.Blue; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "下架") + // color = Color.Purple; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "草稿箱") + // color = Color.DarkOrange; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "回收站") + // color = Color.Gray; + //dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = color; + })); + } + } + catch (Exception ex) + { + } } - catch (Exception ex) + else { + getActivityProdRst = WXActivity.getActivityProdList(shop, page, pageSize); + Thread.Sleep(Randomx.GetId(150, 300)); + if (!getActivityProdRst.Contains("\"code\":0")) + { + ShowShopError(shop, getActivityProdRst); + break; + } + totalPage = BaseRegex.GetIntJson(ref getActivityProdRst, "totalPage"); + + try + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); + })); + var prodObjs = JsonHelper.JObjectParse(getActivityProdRst)["data"]; + WxActivityData dataTmp = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodObjs)); + foreach (var prodRequest in dataTmp.requestProductInfoList.resultList) + { + if (this.wxActivityData.requestProductInfoList.resultList.Any(r => r.product.productId == prodRequest.product.productId && r.product.skuId == prodRequest.product.skuId)) + continue; + + prodRequest.shopId = shop.ShopId; + wxActivityData.requestProductInfoList.resultList.Add(prodRequest); + } + foreach (var prod in dataTmp.productList) + { + if (this.wxActivityData.productList.Any(p => p.productKey.productId == prod.productKey.productId)) + continue; + wxActivityData.productList.Add(prod); + var signCnt = wxActivityData.requestProductInfoList.resultList + .Where(r => r.product.productId == prod.productKey.productId && r.isAdded == true).ToList().Count; + var signCntStr = signCnt > 0 ? "," + signCnt + "个已报名" : ""; + Invoke(new Action(() => + { + var rowIndex = this.dgvSelectProduct.Rows.Add( + false, + shop.ShopId, + shop.ShopAccount, + "登录", + "进店", + prod.productKey.productId, + "", + prod.info.headImg.FirstOrDefault(), + DataGridViewExtension.defaultBitmap, + prod.info.title, + "sku数量:" + prod.productSkus.Count + "个" + signCntStr, + prod.productSkus.Min(s => s.productSkuInfo.salePrice) * 0.01m + " - " + prod.productSkus.Max(s => s.productSkuInfo.salePrice) * 0.01m, + prod.productSkus.Min(s => s.productSkuInfo.salePrice) * 0.01m + " - " + prod.productSkus.Max(s => s.productSkuInfo.salePrice) * 0.01m, + prod.info.totalStockNum, + "" + ); + + if (prod.productKey.productId == "10000852942152") + { + var x = JsonHelper.SerializeObject(prod); + } + + dgvSelectProduct.Rows[rowIndex].Height = 60; + //Color color = Color.Red; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "在售") + // color = Color.Blue; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "下架") + // color = Color.Purple; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "草稿箱") + // color = Color.DarkOrange; + //if (dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString() == "回收站") + // color = Color.Gray; + //dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = color; + })); + } + } + catch (Exception ex) + { + + } } + } } } @@ -929,6 +1017,180 @@ namespace TemuKJD.WXForms.ProductForms } } + void cancelSignActivity(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在报名活动" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = rowLst.Count; + this.statusBar.UpdateProgressBar(0); + })); + + while (rowLst.Count > 0) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + var r0 = rowLst.FirstOrDefault(); + var shopId = r0.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList(); + + foreach (var r in rowLstTmp) + { + rowLst.RemoveAll(rw => rw.Cells["colDraftId"].Value == r.Cells["colDraftId"].Value); + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在取消报名活动" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + r.Cells["colOpResult"].Value = ""; + })); + } + if (shop == null) + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺不存在"; + } + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + + //{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"} + JObject signActivityObj = new JObject(); + signActivityObj["platformActivityId"] = "1016"; + var jArr = new JArray(); + bool hasProdForCancelActivity = false; + foreach (var row in rowLstTmp) + { + Thread.Sleep(Randomx.GetId(10, 20)); + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + var skus = this.wxActivityData.requestProductInfoList.resultList.Where(p => p.product.productId == prodId).ToList(); + + //if (chkSkipPriceEnd.Checked && txtSkipPriceEnd.Text.Trim().Length > 0 && skus.Any(s => (s.salePrice.ParseToInt() * 0.01m).ParseToString().EndsWith(txtSkipPriceEnd.Text.Trim()))) + //{ + // row.Cells["colOpResult"].Value = "价格尾数命中跳过"; + // continue; + //} + + if (skus.All(s => s.isAdded != true)) + { + Invoke(new Action(() => { row.Cells["colOpResult"].Value = "已取消报名"; })); + } + else + { + hasProdForCancelActivity = true; + Invoke(new Action(() => { row.Cells["colOpResult"].Value = "正在取消报名"; })); + } + + skus = skus.Where(s => s.isAdded == true).ToList(); + foreach (var sku in skus) + { + JObject prodObj = new JObject(); + prodObj["productId"] = prodId; + prodObj["skuId"] = sku.product.skuId; + //prodObj["activityStockNum"] = 0; + //Invoke(new Action(() => + //{ + // if (cmbType.Text == "价格比例") + // prodObj["activityPrice"] = (sku.salePrice.ParseToInt() * (100 - discountPercent) * 0.01m).ParseToInt(); + // else + // prodObj["activityPrice"] = sku.salePrice.ParseToInt() - discountPrice; + //})); + //prodObj["stockMode"] = sku.defaultStockMode; + jArr.Add(prodObj); + } + } + signActivityObj["productList"] = jArr; + signActivityObj["actionType"] = 1; + + if (!hasProdForCancelActivity) + continue; + + var signRst = WXActivity.signWxActivity(shop, signActivityObj); + Thread.Sleep(Randomx.GetId(500, 1000)); + if (!signRst.Contains("\"code\":0")) + { + if (signRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + } + + var errmsg = BaseRegex.GetStringJson(ref signRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = signRst; + + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + { + row.Cells["colOpResult"].Value = errmsg; + } + })); + } + + JArray rstArr = new JArray(); + try + { + rstArr = JsonHelper.JObjectParse(signRst)["checkResultList"] as JArray; + if (rstArr == null) + rstArr = new JArray(); + } + catch + { } + + if (signRst.Contains("\"code\":0")) + { + foreach (var row in rowLstTmp) + { + if (row.Cells["colOpResult"].Value.ParseToString() == "已取消报名") + continue; + + var errStr = ""; + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + var jObjs = rstArr.Where(a => a["product"]["productId"].ParseToString() == prodId).ToList(); + foreach (var jObj in jObjs) + { + if (!string.IsNullOrWhiteSpace(jObj["invalidString"].ParseToString())) + errStr += jObj["product"]["skuId"] + ":" + jObj["invalidString"] + ";"; + } + errStr = errStr.Trim(';'); + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "取消报名成功 " + errStr; + })); + } + } + } + } + private void btnFiltSelect_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in dgvSelectProduct.Rows) @@ -1013,6 +1275,40 @@ namespace TemuKJD.WXForms.ProductForms { discountPercent = txtPercent.Text.ParseToInt(); } + + private void btnCancelActivity_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要取消报名的商品!"); + return; + } + + this.pbLoading.Visible = true; + if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested) + cancellationTokenSource.Cancel(); + cancellationTokenSource = new CancellationTokenSource(); + Task.Run(() => + { + cancelSignActivity(rowLst); + Invoke(new Action(() => + { + if (cancellationTokenSource.IsCancellationRequested) + { + this.statusBar.lblTaskStatus.Text = "取消报名活动中断"; + BaseMsgForm.ShowInfo("取消报名活动中断"); + } + else + { + this.statusBar.lblTaskStatus.Text = "取消报名活动完毕"; + BaseMsgForm.ShowInfo("取消报名活动完毕"); + } + + this.pbLoading.Visible = false; + })); + }, cancellationTokenSource.Token); + } } public class WXActivity @@ -1056,6 +1352,74 @@ namespace TemuKJD.WXForms.ProductForms var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, data, refere); return result; } + + public static string getProdInActivityList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1016") + { + //{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"} + + string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/getPlatformInvestmentProductInfoList?token=&lang=zh_CN"; + string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2"; + string data = @"{""platformActivityId"":""" + activityId + @""",""pageNum"":" + page + @",""pageSize"":" + pageSize + @",""auditStatus"":2,""productId"":""""}"; + + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, data, refere); + return result; + } } + public class ActivityProd + { + public string requestTime { get; set; } // "1781096322", + public string shopNickname { get; set; } // "夜笙供应链", + public string shopAppid { get; set; } // "wx2664a142d76831dd", + public string productName { get; set; } // "行川9K MAX广角镜新款升级直播广角镜头主播网红自拍大范围取景神器送便携全屏手机补光灯", + public string skuName { get; set; } // "行川9K max广角镜头(送全屏手机补光灯)", + public string productId { get; set; } // "10000671183000", + public string skuId { get; set; } // "11262798360", + public string originPrice { get; set; } // "10100", + public string activityPrice { get; set; } // "10090", + public string verifyPrice { get; set; } // "0", + public string beforePlatformDiscountCommPrice { get; set; } // "10090", + public string beforePlatformDiscountMinPrice { get; set; } // "10090", + public string afterPlatformDiscountCommPrice { get; set; } // "9090", + public string afterPlatformDiscountMinPrice { get; set; } // "8829", + public string platformDiscountValue { get; set; } // "0", + public string platformDiscountStockNum { get; set; } // "0", + public string activityStockNum { get; set; } // "0", + public string totalStockNum { get; set; } // "998", + public int? auditStatus { get; set; } // 2, + public string auditReason { get; set; } // "", + public string productImgUrl { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69c8e2040008c0af0c19954af1b91b15000000a100004f50", + public int? originStatus { get; set; } // 30, + public string clearReason { get; set; } // "", + public int? clearSource { get; set; } // 0, + public long? delTime { get; set; } // 0, + public long? updateTime { get; set; } // 1781096635, + public string reductionPriceCap { get; set; } // "0", + public string reductionPricePerFriendLike { get; set; } // "0", + public int? needFriendLikeCnt { get; set; } // 0, + public int? passStatus { get; set; } // 0, + public int? auditFailStage { get; set; } // 0, + public int? subsidyUpdateStatus { get; set; } // 0, + public int? subsidyChangeType { get; set; } // 0, + public int? subsidyChangePlatformDiscountValue { get; set; } // 0, + public string subsidyChangeReductionPriceCap { get; set; } // "0", + public int? subsidyChangeNeedFriendLikeCnt { get; set; } // 0, + public int? dailyStock { get; set; } // 0, + public int? stockMode { get; set; } // 1, + public int? goodPresentAuditStatus { get; set; } // 0, + public string sellingPointWording { get; set; } // "", + public string atmosphereWording { get; set; } // "", + public string merchantLowestPrice { get; set; } // "0", + public int? platformDiscountCal { get; set; } // 0, + public int? priceEqual { get; set; } // 0, + public int? maxPlatform_618Discount { get; set; } // 201, + public string promotionImgUrl { get; set; } // "", + public int? maxPlatform_618DiscountMerchant { get; set; } // 1059, + public string spuCode { get; set; } // "EC110000290936659A", + public string skuCode { get; set; } // "", + public string maxPlatformSubsidy { get; set; } // "201", + public string maxMerchantSubsidy { get; set; } // "1059", + public int? delStatus { get; set; } // 0, + public bool? canModify { get; set; } // true + } } diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 661cc18..45f2560 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -1208,7 +1208,7 @@ namespace TemuKJD.WXForms.ProductForms result = UploadProduct(shop, kjdDbProdTmp, selectProd, row.Cells["colOpResult"], startTime); if (result.Contains("今日提审次数已用尽,请明日再试") || result.Contains("如需上架请先缴纳足额保证金") || result.Contains("在架商品数已达到上限") || - result.Contains("拥金上货失败:需要开通优选联盟")) + result.Contains("提审次数已达上限") || result.Contains("拥金上货失败:需要开通优选联盟")) { var shopRow = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); if (shopRow != null) @@ -3309,10 +3309,10 @@ namespace TemuKJD.WXForms.ProductForms { attrValue = "中国大陆"; } - else if (attrValueLst.Any(v => v.Contains("%"))) - { - attrValue = attrValueLst.FirstOrDefault(); - } + //else if (attrValueLst.Any(v => v.Contains("%"))) + //{ + // attrValue = attrValueLst.FirstOrDefault(); + //} else attrValue = attrValueLst.Where(v => !"真丝、蚕丝、香云纱、羊绒、羊毛、羊羔绒、羊羔毛、羽绒、皮草".Contains(v)).OrderBy(x => Guid.NewGuid()).FirstOrDefault(); } @@ -3330,7 +3330,7 @@ namespace TemuKJD.WXForms.ProductForms if (attr.type == "decimal4_unit" || attr.type == "integer_unit") { if (attr.value == "%") - attrValue = "10 %"; + attrValue = "1 %"; else if (attr.value == "g;kg") attrValue = "50 g"; else if (attr.value == "g") @@ -3488,10 +3488,10 @@ namespace TemuKJD.WXForms.ProductForms { attrValue = "中国大陆"; } - else if (attrValueLst.Any(v => v.Contains("%"))) - { - attrValue = attrValueLst.FirstOrDefault(); - } + //else if (attrValueLst.Any(v => v.Contains("%"))) + //{ + // attrValue = attrValueLst.FirstOrDefault(); + //} else attrValue = attrValueLst.Where(v => !"真丝、蚕丝、香云纱、羊绒、羊毛、羊羔绒、羊羔毛、羽绒、皮草".Contains(v)).OrderBy(x => Guid.NewGuid()).FirstOrDefault(); @@ -3573,7 +3573,7 @@ namespace TemuKJD.WXForms.ProductForms { attrValue = "其他"; } - if ((attrValue.IsNullOrEmpty() || attrValue == "见包装") && (attr.type == "decimal4_unit" || attr.type == "integer_unit")) + if ((attrValue.IsNullOrEmpty() || attrValue == "见包装" || attrValue == "%") && (attr.type == "decimal4_unit" || attr.type == "integer_unit")) { // 走系统推荐 var param = recommendParamRst.productInfo.param.FirstOrDefault(p => p.categorys?.FirstOrDefault()?.name == attr.name); @@ -3589,7 +3589,7 @@ namespace TemuKJD.WXForms.ProductForms } } else if (attr.value == "%") - attrValue = "10 %"; + attrValue = "1 %"; else if (attr.value == "g;kg") attrValue = "50 g"; else if (attr.value == "g") @@ -5278,8 +5278,10 @@ namespace TemuKJD.WXForms.ProductForms } // 爆款数据商品 + // 不为空搜内容 if (!string.IsNullOrWhiteSpace(cmbHot.Text.Trim())) data += "&special_prod_type=" + cmbHot.Text.Replace("普通商品", "普通商品,书籍"); + // 为空按照权限搜 else if (BaseClass.SaLevel > 0 || BaseClass.UserAuthority.Contains("爆款数据")) data += "&special_prod_type=爆款数据,普通商品,书籍"; else @@ -6174,6 +6176,15 @@ namespace TemuKJD.WXForms.ProductForms return result; } + public static string searchProductWithSpuId(ShopLoginInfo shop, string spuId) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?" + + "token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=1&status[]=-1&spuId=" + spuId; + string refere = "https://store.weixin.qq.com/shop/goods/list"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, refere); + return result; + } + public static string searchProductWithTitle(ShopLoginInfo shop, string urlEncodeTitle) { string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?" + diff --git a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.Designer.cs index 89c2a95..22a3c83 100644 --- a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.Designer.cs @@ -137,14 +137,12 @@ namespace TemuKJD.WXForms.ProductForms this.label18 = new System.Windows.Forms.Label(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.dgvDaRenProd = new TemuKJD.UserComponent.DataGridViewEx(); - this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.splitContainer4 = new System.Windows.Forms.SplitContainer(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colDgvProdCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colDgvProdShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgvProdShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgvProdLogin = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDgvProdInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colType = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgvProdTalentAppid = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgvProdTalentFindUserId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colDgvProdNickname = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -157,12 +155,17 @@ namespace TemuKJD.WXForms.ProductForms this.colDgvProdImg = new System.Windows.Forms.DataGridViewImageColumn(); this.colSpuAppid = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSpuShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSpuid = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTalentSpuId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colLiveProdName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMonthSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colTalkWithTalent = new System.Windows.Forms.DataGridViewLinkColumn(); this.dataGridViewTextBoxColumn13 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.chkLive = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkFeed = new TemuKJD.UserComponent.UcCheckBox(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -1364,6 +1367,8 @@ namespace TemuKJD.WXForms.ProductForms // // splitContainer6.Panel1 // + this.splitContainer6.Panel1.Controls.Add(this.chkFeed); + this.splitContainer6.Panel1.Controls.Add(this.chkLive); this.splitContainer6.Panel1.Controls.Add(this.btnStopSearchTalentProd); this.splitContainer6.Panel1.Controls.Add(this.btnSearchDaRenProd); this.splitContainer6.Panel1.Controls.Add(this.txtSaleCount); @@ -1484,6 +1489,7 @@ namespace TemuKJD.WXForms.ProductForms this.colDgvProdShopName, this.colDgvProdLogin, this.colDgvProdInShop, + this.colType, this.colDgvProdTalentAppid, this.colDgvProdTalentFindUserId, this.colDgvProdNickname, @@ -1496,7 +1502,7 @@ namespace TemuKJD.WXForms.ProductForms this.colDgvProdImg, this.colSpuAppid, this.colSpuShopName, - this.colSpuid, + this.colTalentSpuId, this.colLiveProdName, this.colPrice, this.colMonthSale, @@ -1512,42 +1518,6 @@ namespace TemuKJD.WXForms.ProductForms this.dgvDaRenProd.TabIndex = 187; this.dgvDaRenProd.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDaRenProd_CellContentClick); // - // 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; - // - // splitContainer4 - // - this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; - this.splitContainer4.Location = new System.Drawing.Point(0, 0); - this.splitContainer4.Name = "splitContainer4"; - // - // splitContainer4.Panel1 - // - this.splitContainer4.Panel1.Controls.Add(this.statusBar); - this.splitContainer4.Size = new System.Drawing.Size(1450, 26); - this.splitContainer4.SplitterDistance = 1068; - this.splitContainer4.TabIndex = 3; - // - // 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(1068, 26); - this.statusBar.TabIndex = 2; - // // colDgvProdCheck // this.colDgvProdCheck.Frozen = true; @@ -1594,6 +1564,13 @@ namespace TemuKJD.WXForms.ProductForms this.colDgvProdInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colDgvProdInShop.Width = 40; // + // colType + // + this.colType.HeaderText = "带货类型"; + this.colType.Name = "colType"; + this.colType.ReadOnly = true; + this.colType.Width = 80; + // // colDgvProdTalentAppid // this.colDgvProdTalentAppid.HeaderText = "达人Id"; @@ -1625,14 +1602,14 @@ namespace TemuKJD.WXForms.ProductForms // // colLiveObjectImgUrl // - this.colLiveObjectImgUrl.HeaderText = "直播题图地址"; + this.colLiveObjectImgUrl.HeaderText = "带货题图地址"; this.colLiveObjectImgUrl.Name = "colLiveObjectImgUrl"; this.colLiveObjectImgUrl.ReadOnly = true; this.colLiveObjectImgUrl.Visible = false; // // colLiveObjectImg // - this.colLiveObjectImg.HeaderText = "直播题图"; + this.colLiveObjectImg.HeaderText = "带货题图"; this.colLiveObjectImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; this.colLiveObjectImg.Name = "colLiveObjectImg"; this.colLiveObjectImg.ReadOnly = true; @@ -1644,7 +1621,7 @@ namespace TemuKJD.WXForms.ProductForms // dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.colObjectTitle.DefaultCellStyle = dataGridViewCellStyle12; - this.colObjectTitle.HeaderText = "直播标题"; + this.colObjectTitle.HeaderText = "带货标题"; this.colObjectTitle.Name = "colObjectTitle"; this.colObjectTitle.ReadOnly = true; this.colObjectTitle.Width = 110; @@ -1653,7 +1630,7 @@ namespace TemuKJD.WXForms.ProductForms // dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.colLiveInfo.DefaultCellStyle = dataGridViewCellStyle13; - this.colLiveInfo.HeaderText = "直播信息"; + this.colLiveInfo.HeaderText = "带货信息"; this.colLiveInfo.Name = "colLiveInfo"; this.colLiveInfo.ReadOnly = true; this.colLiveInfo.Width = 160; @@ -1687,12 +1664,12 @@ namespace TemuKJD.WXForms.ProductForms this.colSpuShopName.ReadOnly = true; this.colSpuShopName.Visible = false; // - // colSpuid + // colTalentSpuId // - this.colSpuid.FillWeight = 135F; - this.colSpuid.HeaderText = "带货商品Id"; - this.colSpuid.Name = "colSpuid"; - this.colSpuid.ReadOnly = true; + this.colTalentSpuId.FillWeight = 135F; + this.colTalentSpuId.HeaderText = "带货商品Id"; + this.colTalentSpuId.Name = "colTalentSpuId"; + this.colTalentSpuId.ReadOnly = true; // // colLiveProdName // @@ -1732,6 +1709,66 @@ namespace TemuKJD.WXForms.ProductForms this.dataGridViewTextBoxColumn13.Visible = false; this.dataGridViewTextBoxColumn13.Width = 240; // + // 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; + // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.statusBar); + this.splitContainer4.Size = new System.Drawing.Size(1450, 26); + this.splitContainer4.SplitterDistance = 1068; + this.splitContainer4.TabIndex = 3; + // + // 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(1068, 26); + this.statusBar.TabIndex = 2; + // + // chkLive + // + this.chkLive.AutoSize = true; + this.chkLive.Checked = true; + this.chkLive.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkLive.Location = new System.Drawing.Point(212, 10); + this.chkLive.Name = "chkLive"; + this.chkLive.Size = new System.Drawing.Size(75, 21); + this.chkLive.TabIndex = 866; + this.chkLive.Text = "直播带货"; + this.chkLive.UseVisualStyleBackColor = true; + // + // chkFeed + // + this.chkFeed.AutoSize = true; + this.chkFeed.Checked = true; + this.chkFeed.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkFeed.Location = new System.Drawing.Point(293, 10); + this.chkFeed.Name = "chkFeed"; + this.chkFeed.Size = new System.Drawing.Size(87, 21); + this.chkFeed.TabIndex = 867; + this.chkFeed.Text = "短视频带货"; + this.chkFeed.UseVisualStyleBackColor = true; + // // WXFinderSquareForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1889,6 +1926,7 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewTextBoxColumn colDgvProdShopName; private System.Windows.Forms.DataGridViewLinkColumn colDgvProdLogin; private System.Windows.Forms.DataGridViewLinkColumn colDgvProdInShop; + private System.Windows.Forms.DataGridViewTextBoxColumn colType; private System.Windows.Forms.DataGridViewTextBoxColumn colDgvProdTalentAppid; private System.Windows.Forms.DataGridViewTextBoxColumn colDgvProdTalentFindUserId; private System.Windows.Forms.DataGridViewTextBoxColumn colDgvProdNickname; @@ -1901,11 +1939,13 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewImageColumn colDgvProdImg; private System.Windows.Forms.DataGridViewTextBoxColumn colSpuAppid; private System.Windows.Forms.DataGridViewTextBoxColumn colSpuShopName; - private System.Windows.Forms.DataGridViewTextBoxColumn colSpuid; + private System.Windows.Forms.DataGridViewTextBoxColumn colTalentSpuId; private System.Windows.Forms.DataGridViewTextBoxColumn colLiveProdName; private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; private System.Windows.Forms.DataGridViewTextBoxColumn colMonthSale; private System.Windows.Forms.DataGridViewLinkColumn colTalkWithTalent; private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn13; + private UserComponent.UcCheckBox chkFeed; + private UserComponent.UcCheckBox chkLive; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs index bac3bce..7fc5fdc 100644 --- a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.cs @@ -53,6 +53,7 @@ namespace TemuKJD.WXForms.ProductForms string currentGetTalentParam = ""; List lstWXFinderTalentInfo = new List(); List lstWXLiveObjectInfo = new List(); + List lstWXFeedObjectInfo = new List(); public WXFinderSquareForm() { @@ -1150,33 +1151,123 @@ namespace TemuKJD.WXForms.ProductForms dgvDaRenProd.Rows.Clear(); lstWXLiveObjectInfo.Clear(); + lstWXFeedObjectInfo.Clear(); if (cancellationTokenSource != null) cancellationTokenSource.Cancel(); cancellationTokenSource = new CancellationTokenSource(); Task.Run(() => { - { int num = 0; - foreach (var row in selectRows) + foreach (var row in selectRows) + { + num++; + Invoke(new Action(() => { - num++; - Invoke(new Action(() => + this.statusBar.lblTaskStatus.Text = "达人带货商品查询 第 " + num + " 位,共 " + selectRows.Count + " 位达人"; + row.Cells["colOpResult"].Value = ""; + })); + if (this.cancellationTokenSource.IsCancellationRequested) + break; + + var shopId = row.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (chkReUse.Visible && chkReUse.Checked) + shop = currentShop; + var talentAppid = row.Cells["colTalentAppid"].Value.ParseToString(); + var talent = this.lstWXFinderTalentInfo.FirstOrDefault(t => t.talentAppid == talentAppid); + + if (shop != null && talent != null && talent.accountList != null) + { + // 短视频带货 + if (chkFeed.Checked) { - this.statusBar.lblTaskStatus.Text = "达人带货商品查询 第 " + num + " 位,共 " + selectRows.Count + " 位达人"; - row.Cells["colOpResult"].Value = ""; - })); - if (this.cancellationTokenSource.IsCancellationRequested) - break; + var finderUser = talent.accountList.FirstOrDefault(a => !a.finderUsername.IsNullOrEmpty() && !a.mpAppid.IsNullOrEmpty()); + finderUser = talent.accountList.FirstOrDefault(a => !a.finderUsername.IsNullOrEmpty()); + var finderUsername = finderUser?.finderUsername; + var mpAppid = finderUser?.mpAppid; + var endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; + var startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-7)); + int page = 0; + int pageSize = 10; - var shopId = row.Cells["colSupplierId"].Value.ParseToString(); - var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId); - if (chkReUse.Visible && chkReUse.Checked) - shop = currentShop; - var talentAppid = row.Cells["colTalentAppid"].Value.ParseToString(); - var talent = this.lstWXFinderTalentInfo.FirstOrDefault(t => t.talentAppid == talentAppid); + while (true) + { + page++; + var getLiveObjectRst = WXFinderSquareBLL.GetDaRenLiveFeedList(shop, finderUsername, mpAppid, talent.talentAppid, startMs, endMs, 2, page, pageSize); + Thread.Sleep(Randomx.GetId(300, 600)); - if (shop != null && talent != null && talent.accountList != null) + if (!getLiveObjectRst.ParseToString().Contains("\"code\":0")) + { + var error = BaseRegex.GetStringJsonByRegs(ref getLiveObjectRst, getLiveObjectRst, "errmsg"); + if (error.ParseToString().Contains("biz magic invalid")) + { + shop.LoginStatus = "未登录"; + var selectIds = dgvShop.Rows.Cast().Where(r + => r.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); })); + error = "店铺掉线"; + } + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "达人带货商品查询失败 " + error; + })); + break; + } + + var wxFeedObjectInfoResult = JsonHelper.DeserializeJsonToObject(getLiveObjectRst); + var feedList = wxFeedObjectInfoResult.list; + this.lstWXFeedObjectInfo.AddRange(feedList); + foreach (var feed in feedList) + { + var prod = feed; + + Invoke(new Action(() => + { + if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt() && + !dgvDaRenProd.Rows.Cast().Any(r => r.Cells["colTalentSpuId"].Value.ParseToString() == prod.spuId)) + { + var startTimeStr = BaseClass.StampToDateTime(feed.feedObjectStartTime.ParseToInt()).ToString("yy-MM-dd HH:mm"); + var rowIndex = dgvDaRenProd.Rows.Add( + false, + shop.ShopId, + shop.ShopAccount, + "登录", + "进店", + "短视频", + talent.talentAppid, + finderUser.finderUsername, + finderUser.nickname, // 达人昵称 + feed.objectId, // 达人活动ID + feed.feedObjectImg, + DataGridViewExtension.defaultBitmap, // 短视频标题图 + feed.feedObjectDescription, // 达人活动短视频标题 + startTimeStr + " 点赞数" + feed.finderxshortvideoLikeCnt + " 分享数" + feed.finderxshortvideoShareCnt + " 喜欢数" + feed.finderxshortvideoFavoriteCnt, + prod.spuImgUrl, + DataGridViewExtension.defaultBitmap, + prod.spuAppid, + prod.spuShopNickname, + prod.spuId, + prod.spuName, + prod.spuPrice.ParseToInt() * 0.01m, + prod.spuMonthSales.ParseToInt(), + "联系达人" + ); + dgvDaRenProd.Rows[rowIndex].Height = 60; + } + })); + } + + + var total = wxFeedObjectInfoResult.total.ParseToInt(); + var totalPage = Math.Ceiling(total * 1m / pageSize).ParseToInt(); + if (page >= totalPage) + break; + } + } + + // 直播带货 + if (chkLive.Checked) { var finderUser = talent.accountList.FirstOrDefault(a => !a.finderUsername.IsNullOrEmpty() && !a.mpAppid.IsNullOrEmpty()); finderUser = talent.accountList.FirstOrDefault(a => !a.finderUsername.IsNullOrEmpty()); @@ -1220,7 +1311,8 @@ namespace TemuKJD.WXForms.ProductForms { Invoke(new Action(() => { - if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt()) + if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt() && + !dgvDaRenProd.Rows.Cast().Any(r => r.Cells["colTalentSpuId"].Value.ParseToString() == prod.spuId)) { var startTimeStr = BaseClass.StampToDateTime(live.liveObjectStartTime.ParseToInt()).ToString("yy-MM-dd HH:mm"); var duration = new TimeSpan(live.liveObjectDuringTimeSecond.ParseToLong() * 10000000); @@ -1231,6 +1323,7 @@ namespace TemuKJD.WXForms.ProductForms shop.ShopAccount, "登录", "进店", + "直播", talent.talentAppid, finderUser.finderUsername, finderUser.nickname, // 达人昵称 @@ -1259,7 +1352,7 @@ namespace TemuKJD.WXForms.ProductForms int prodPage = 1; int prodPageSize = 10; var prodTotalPage = Math.Ceiling(live.productList.total.ParseToInt() * 1m / prodPageSize).ParseToInt(); - + while (prodPage < prodTotalPage) { if (this.cancellationTokenSource.IsCancellationRequested) @@ -1294,7 +1387,8 @@ namespace TemuKJD.WXForms.ProductForms { Invoke(new Action(() => { - if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt()) + if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt() && + !dgvDaRenProd.Rows.Cast().Any(r => r.Cells["colTalentSpuId"].Value.ParseToString() == prod.spuId)) { var startTimeStr = BaseClass.StampToDateTime(live.liveObjectStartTime.ParseToInt()).ToString("yy-MM-dd HH:mm"); var duration = new TimeSpan(live.liveObjectDuringTimeSecond.ParseToLong() * 10000000); @@ -1305,6 +1399,7 @@ namespace TemuKJD.WXForms.ProductForms shop.ShopAccount, "登录", "进店", + "直播", talent.talentAppid, finderUser.finderUsername, finderUser.nickname, // 达人昵称 @@ -1344,7 +1439,7 @@ namespace TemuKJD.WXForms.ProductForms Invoke(new Action(() => { pictureBox1.Visible = false; - this.statusBar.lblTaskStatus.Text += "达人带货商品查询操作结束"; + this.statusBar.lblTaskStatus.Text += " 达人带货商品查询操作结束"; BaseMsgForm.ShowInfo("达人带货商品查询操作结束"); })); }, cancellationTokenSource.Token); @@ -1403,7 +1498,7 @@ namespace TemuKJD.WXForms.ProductForms imgFrom.ShowDialog(); break; } - case "直播题图": + case "带货题图": { ShowImgForm imgFrom = new ShowImgForm(dgvDaRenProd.Rows[e.RowIndex].Cells["colLiveObjectImgUrl"].Value.ParseToString()); imgFrom.ShowDialog(); diff --git a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.resx b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.resx index f688326..52579d3 100644 --- a/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.resx +++ b/TEMUKJD/WXForms/ProductForms/WXFinderSquareForm.resx @@ -225,6 +225,9 @@ True + + True + True @@ -261,7 +264,7 @@ True - + True diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs index 11e5bd0..5321f4e 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs @@ -3,7 +3,7 @@ using TemuKJD.PDDForms.ProductSelectForms; namespace TemuKJD.WXForms.ProductForms { - partial class WXProdClearNoVisit260606 + partial class WXProdClearNoVisit260606Form { /// /// Required designer variable. @@ -450,26 +450,24 @@ namespace TemuKJD.WXForms.ProductForms // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(215, 29); + this.label1.Location = new System.Drawing.Point(251, 29); this.label1.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(56, 17); this.label1.TabIndex = 829; this.label1.Text = "查询天数"; - this.label1.Visible = false; // // rb30 // this.rb30.AutoSize = true; this.rb30.Checked = true; - this.rb30.Location = new System.Drawing.Point(338, 27); + this.rb30.Location = new System.Drawing.Point(326, 27); this.rb30.Name = "rb30"; this.rb30.Size = new System.Drawing.Size(52, 21); this.rb30.TabIndex = 828; this.rb30.TabStop = true; this.rb30.Text = "30天"; this.rb30.UseVisualStyleBackColor = true; - this.rb30.Visible = false; // // rb7 // @@ -1481,7 +1479,7 @@ namespace TemuKJD.WXForms.ProductForms this.panelEx1.Text = "停止当前操作"; this.panelEx1.Visible = false; // - // WXProdClearNoVisit260606 + // WXProdClearNoVisit260606Form // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.BackColor = System.Drawing.Color.White; @@ -1489,7 +1487,7 @@ namespace TemuKJD.WXForms.ProductForms this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.KeyPreview = true; - this.Name = "WXProdClearNoVisit260606"; + this.Name = "WXProdClearNoVisit260606Form"; this.Text = "微信小店 - 清理无流量"; this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); @@ -1568,9 +1566,6 @@ namespace TemuKJD.WXForms.ProductForms private DevComponents.DotNetBar.PanelEx btnBatchRealDel; private System.Windows.Forms.Label label6; private System.Windows.Forms.TextBox txtViewUv; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.RadioButton rb30; - private System.Windows.Forms.RadioButton rb7; private UserComponent.UcComboBoxMutiSelect cmbFilterShopGroup; private System.Windows.Forms.Label label3; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; @@ -1617,5 +1612,8 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewLinkColumn ColDelete; private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RadioButton rb30; + private System.Windows.Forms.RadioButton rb7; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs index 389b4c8..0ad88b7 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs @@ -33,7 +33,7 @@ using TemuKJD.BLL.Wx; namespace TemuKJD.WXForms.ProductForms { - public partial class WXProdClearNoVisit260606 : BaseForm + public partial class WXProdClearNoVisit260606Form : BaseForm { int PageBegin = 1; int PageEnd = 1000; @@ -47,7 +47,7 @@ namespace TemuKJD.WXForms.ProductForms ConcurrentList lstWXShopTokenInfo = new ConcurrentList(); public Dictionary dicCheckedShopId = new Dictionary(); public Dictionary dicShopUpload = new Dictionary(); - public WXProdClearNoVisit260606() + public WXProdClearNoVisit260606Form() { InitializeComponent(); } @@ -432,37 +432,37 @@ namespace TemuKJD.WXForms.ProductForms if (cancellationTokenSource.IsCancellationRequested) break; - long endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; - long startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-30)); - int dateRange = 30; - if (rb7.Checked) - { - endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; - startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-7)); - dateRange = 7; - } - pageSize = 10; - var result = WxPlatformRecommendProdManage.getPlatformRecommend(shop, startMs, endMs, page, pageSize, dateRange); - if (!result.Contains("\"code\":0")) - { - ShowShopError(shop, result); - break; - } - totalPage = Math.Ceiling(BaseRegex.GetIntJson(ref result, "list_total") * 1m / pageSize).ParseToInt(); - List recommendProds = new List(); - try - { - var jArr = JsonHelper.JObjectParse(result)["data"]["data"]["list"]; - recommendProds = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(jArr)); - } - catch (Exception ex) - { - ShowShopError(shop, ex.Message); - break; - } + //long endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; + //long startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-30)); + //int dateRange = 30; + //if (rb7.Checked) + //{ + // endMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date) - 1; + // startMs = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date.AddDays(-7)); + // dateRange = 7; + //} + //pageSize = 10; + //var result = WxPlatformRecommendProdManage.getPlatformRecommend(shop, startMs, endMs, page, pageSize, dateRange); + //if (!result.Contains("\"code\":0")) + //{ + // ShowShopError(shop, result); + // break; + //} + //totalPage = Math.Ceiling(BaseRegex.GetIntJson(ref result, "list_total") * 1m / pageSize).ParseToInt(); + //List recommendProds = new List(); + //try + //{ + // var jArr = JsonHelper.JObjectParse(result)["data"]["data"]["list"]; + // recommendProds = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(jArr)); + //} + //catch (Exception ex) + //{ + // ShowShopError(shop, ex.Message); + // break; + //} Thread.Sleep(Randomx.GetId(500, 1500)); - string prodIds = string.Join(",", recommendProds.Select(r => r.product_id)); + //string prodIds = string.Join(",", recommendProds.Select(r => r.product_id)); string getProdOnSaleRst = ""; int onSaleStatusCode = -1; if (OnSaleStatus == "在售") @@ -476,9 +476,12 @@ namespace TemuKJD.WXForms.ProductForms else if (OnSaleStatus == "回收站") onSaleStatusCode = 6; - pageSize = 20; - string spuIds = string.Join(",", recommendProds.Select(s => s.product_id).ToList()); - getProdOnSaleRst = WXClearNoVisit260606.searchProduct(shop, 1, pageSize, spuIds, onSaleStatusCode); + //pageSize = 20; + //string spuIds = string.Join(",", recommendProds.Select(s => s.product_id).ToList()); + //getProdOnSaleRst = WXClearNoVisit260606.searchProduct(shop, 1, pageSize, spuIds, onSaleStatusCode); + + pageSize = 50; + getProdOnSaleRst = WxPlatformRecommendProdManage.searchProductWithSaleStatus(shop, page, pageSize, onSaleStatusCode); Thread.Sleep(Randomx.GetId(50, 100)); if (!getProdOnSaleRst.Contains("\"success\":true")) { @@ -499,42 +502,79 @@ namespace TemuKJD.WXForms.ProductForms Invoke(new Action(() => { this.pbLoading.Visible = true; - this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); + this.statusBar.lblTaskStatus.Text = "正在查询店铺商品:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); })); - foreach (JObject prod in prodObjs["productList"]) + + var wxProdObjList = prodObjs["productList"]; + var prodIdLst = wxProdObjList.Select(p => p["productId"].ParseToString()).ToList(); + if (prodIdLst.Count == 0) { - var pStr = JsonHelper.SerializeObject(prod); + // 取到无商品页,直接跳出 + break; + } + var prodMetricRst = WxPlatformRecommendProdManage.getProductMetricList(shop, prodIdLst); + if (!prodMetricRst.Contains("\"code\":0")) + { + ShowShopError(shop, getProdOnSaleRst); + break; + } + Thread.Sleep(Randomx.GetId(300, 700)); + var productMetric = JsonHelper.DeserializeJsonToObject(JsonHelper.JObjectParse(prodMetricRst)["data"].ToString()); + + // 将商品信息和曝光信息融合到一起 + List recommendProds = new List(); + foreach (JObject wxProdObj in prodObjs["productList"]) + { + var prodStr = JsonHelper.SerializeObject(wxProdObj); + var productMetricStr = JsonHelper.SerializeObject(productMetric); + + WXPlatformRecommendProdInfo recommendProd = new WXPlatformRecommendProdInfo(); + recommendProd.product_id = wxProdObj["productId"].ParseToString(); + recommendProd.title = wxProdObj["title"].ParseToString(); + var ViewUvCnt = productMetric.rowsMap + .Where(r => r.value?.spu_id_ == recommendProd.product_id) + .Sum(r => r.value?.shopxspu_growth_product_view_cnt_30d_2.ParseToInt()); + recommendProd.product_view_uv = ViewUvCnt.ParseToString(); + var PayCnt = productMetric.rowsMap + .Where(r => r.value?.spu_id_ == recommendProd.product_id) + .Sum(r => r.value?.shopxspu_growth_pay_product_cnt_30d_2.ParseToInt()); + recommendProd.pay_order_cnt = PayCnt.ParseToString(); + if (ViewUvCnt > 0) + recommendProds.Add(recommendProd); + + + Invoke(new Action(() => { decimal? price = null; - try { price = prod["skuList"]?[0]["price"].ParseToDecimal() / 100; } catch { } - var prodId = prod["productId"].ParseToString(); + try { price = wxProdObj["skuList"]?[0]["price"].ParseToDecimal() / 100; } catch { } + var prodId = wxProdObj["productId"].ParseToString(); if (dgvSelectProduct.Rows.Cast().Any(r => r.Cells["colDraftId"].ParseToString() == prodId)) { } string StatusStr = "其他"; - if (prod["status"].ParseToInt() == 5) + if (wxProdObj["status"].ParseToInt() == 5) StatusStr = "在售"; - if (prod["status"].ParseToInt() == 11) + if (wxProdObj["status"].ParseToInt() == 11) StatusStr = "下架"; - if (prod["status"].ParseToInt() == 0) + if (wxProdObj["status"].ParseToInt() == 0) { StatusStr = "草稿箱"; - if (prod["editStatus"].ParseToInt() == 3) + if (wxProdObj["editStatus"].ParseToInt() == 3) StatusStr = "审核待处理"; } - if (prod["status"].ParseToInt() == 6) + if (wxProdObj["status"].ParseToInt() == 6) StatusStr = "回收站"; - var Limit1 = pStr.Contains("同款/高度相似商品") ? "\r\n上架相似品" : ""; + var Limit1 = prodStr.Contains("同款/高度相似商品") ? "\r\n上架相似品" : ""; //var Limit2 = BaseRegex.GetStringJson(ref pStr, "secondLevelLabelName").ParseToString().Length > 0 ? "\r\n命中低风险规则上架" : ""; - var Limit2 = BaseRegex.GetStringJson(ref pStr, "secondLevelLabelName").ParseToString().Length > 0 ? "\r\n低风险规则上架" : ""; + var Limit2 = BaseRegex.GetStringJson(ref prodStr, "secondLevelLabelName").ParseToString().Length > 0 ? "\r\n低风险规则上架" : ""; StatusStr += Limit1 + Limit2; - var spuId = prod["productId"].ParseToString(); - var recommendProd = recommendProds.FirstOrDefault(r => r.product_id == prod["productId"].ParseToString()); - if (recommendProd == null) - recommendProd = new WXPlatformRecommendProdInfo(); + var spuId = wxProdObj["productId"].ParseToString(); + //var recommendProd = recommendProds.FirstOrDefault(r => r.product_id == prod["productId"].ParseToString()); + //if (recommendProd == null) + // recommendProd = new WXPlatformRecommendProdInfo(); var rowIndex = this.dgvSelectProduct.Rows.Add( false, @@ -545,25 +585,25 @@ namespace TemuKJD.WXForms.ProductForms "进店", "", "", - prod["productId"].ParseToString(), - prod["headImg"].ParseToString(), + wxProdObj["productId"].ParseToString(), + wxProdObj["headImg"].ParseToString(), DataGridViewExtension.defaultBitmap, "", // 替换图地址 null, // 替换图 - prod["title"].ParseToString(), // 用户端显示商品原名 - (prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ? - "" : string.Join(" >> ", prod["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称 - prod["spuCode"].ParseToString(), - prod["price"].ParseToDecimal() * 0.01m, // 价格 - prod["soldNum"].ParseToInt(), // 销量 + wxProdObj["title"].ParseToString(), // 用户端显示商品原名 + (wxProdObj["recommendCategory"].IsJTokenNullOrEmpty() || wxProdObj["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ? + "" : string.Join(" >> ", wxProdObj["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称 + wxProdObj["spuCode"].ParseToString(), + wxProdObj["price"].ParseToDecimal() * 0.01m, // 价格 + wxProdObj["soldNum"].ParseToInt(), // 销量 recommendProd.product_view_uv, recommendProd.pay_order_cnt, StatusStr, - prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : "", // 预售 + wxProdObj["presaleTag"].ParseToInt() == 1 ? "[预售]" : "", // 预售 "", // 备注 "", // 操作结果 "删除", - BaseClass.StampToDateTime(prod["lastEditDraftTime"].ParseToInt()).ToString("yy-MM-dd HH:mm"), + BaseClass.StampToDateTime(wxProdObj["lastEditDraftTime"].ParseToInt()).ToString("yy-MM-dd HH:mm"), ""); dgvSelectProduct.Rows[rowIndex].Height = 60; diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs index aceca2f..06c59d5 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs @@ -23,6 +23,7 @@ namespace TemuKJD.WXForms.ProductForms public Lazy userCollectAuthProdListForm = new Lazy(); public Lazy wxProdPreSaleForm = new Lazy(); public Lazy wxProdClearNoVisitForm = new Lazy(); + public Lazy wxProdClearNoVisit260606Form = new Lazy(); public Lazy wxProdCouponForm = new Lazy(); public Lazy wxProdSyncForm = new Lazy(); public Lazy wxFinderSquareForm = new Lazy(); @@ -97,7 +98,7 @@ namespace TemuKJD.WXForms.ProductForms SetForm(wxProdPreSaleForm.Value); break; case "清理无流量": - SetForm(wxProdClearNoVisitForm.Value); + SetForm(wxProdClearNoVisit260606Form.Value); break; case "爆单神器": SetForm(wxProdCouponForm.Value); diff --git a/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.Designer.cs index 97fcca8..4d74fbb 100644 --- a/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.Designer.cs @@ -302,6 +302,7 @@ namespace TemuKJD.WXForms.ProductForms // this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.tableLayoutPanel1.ColumnCount = 12; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0018F)); @@ -339,7 +340,7 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.Controls.Add(this.lblSourceType, 6, 1); this.tableLayoutPanel1.Controls.Add(this.lblGroupFilter, 8, 1); this.tableLayoutPanel1.Controls.Add(this.cmbSourceType, 7, 1); - this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 4); + this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 7); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 3; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33444F)); @@ -350,19 +351,20 @@ namespace TemuKJD.WXForms.ProductForms // // txtViewUvMin // - this.txtViewUvMin.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.txtViewUvMin.Location = new System.Drawing.Point(1075, 41); - this.txtViewUvMin.Margin = new System.Windows.Forms.Padding(0); + this.txtViewUvMin.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtViewUvMin.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtViewUvMin.Location = new System.Drawing.Point(1074, 38); + this.txtViewUvMin.Margin = new System.Windows.Forms.Padding(0, 3, 0, 0); this.txtViewUvMin.Name = "txtViewUvMin"; - this.txtViewUvMin.Size = new System.Drawing.Size(51, 23); + this.txtViewUvMin.Size = new System.Drawing.Size(51, 25); this.txtViewUvMin.TabIndex = 882; this.txtViewUvMin.Visible = false; // // chkViewUvMin // - this.chkViewUvMin.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkViewUvMin.Location = new System.Drawing.Point(1024, 42); - this.chkViewUvMin.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.chkViewUvMin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkViewUvMin.Location = new System.Drawing.Point(1023, 40); + this.chkViewUvMin.Margin = new System.Windows.Forms.Padding(6, 5, 3, 3); this.chkViewUvMin.Name = "chkViewUvMin"; this.chkViewUvMin.Size = new System.Drawing.Size(48, 21); this.chkViewUvMin.TabIndex = 883; @@ -372,16 +374,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbHot // - this.cmbHot.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbHot.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbHot.FormattingEnabled = true; this.cmbHot.Items.AddRange(new object[] { "", "爆款数据", "普通商品"}); - this.cmbHot.Location = new System.Drawing.Point(869, 7); + this.cmbHot.Location = new System.Drawing.Point(866, 3); this.cmbHot.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbHot.Name = "cmbHot"; - this.cmbHot.Size = new System.Drawing.Size(144, 25); + this.cmbHot.Size = new System.Drawing.Size(146, 25); this.cmbHot.TabIndex = 882; this.cmbHot.Text = "普通商品"; this.cmbHot.Visible = false; @@ -390,10 +393,10 @@ namespace TemuKJD.WXForms.ProductForms // // lblHot // - this.lblHot.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblHot.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblHot.AutoSize = true; - this.lblHot.Location = new System.Drawing.Point(837, 9); - this.lblHot.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblHot.Location = new System.Drawing.Point(834, 7); + this.lblHot.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblHot.Name = "lblHot"; this.lblHot.Size = new System.Drawing.Size(32, 17); this.lblHot.TabIndex = 882; @@ -402,12 +405,11 @@ namespace TemuKJD.WXForms.ProductForms // // btnSearch // - this.btnSearch.Anchor = System.Windows.Forms.AnchorStyles.Left; 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(1019, 5); + this.btnSearch.Location = new System.Drawing.Point(1018, 3); this.btnSearch.Margin = new System.Windows.Forms.Padding(3, 3, 5, 3); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(51, 25); @@ -428,12 +430,11 @@ namespace TemuKJD.WXForms.ProductForms // // btnEmpty // - this.btnEmpty.Anchor = System.Windows.Forms.AnchorStyles.Left; this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.btnEmpty.Location = new System.Drawing.Point(1075, 5); - this.btnEmpty.Margin = new System.Windows.Forms.Padding(0); + this.btnEmpty.Location = new System.Drawing.Point(1074, 3); + this.btnEmpty.Margin = new System.Windows.Forms.Padding(0, 3, 0, 0); this.btnEmpty.Name = "btnEmpty"; this.btnEmpty.Size = new System.Drawing.Size(51, 25); this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -454,16 +455,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbCat3 // - this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat3.DefaultText = "全部"; this.cmbCat3.DropDownHeight = 1; this.cmbCat3.DropDownWidth = 1; this.cmbCat3.FormattingEnabled = true; this.cmbCat3.IntegralHeight = false; - this.cmbCat3.Location = new System.Drawing.Point(687, 7); + this.cmbCat3.Location = new System.Drawing.Point(682, 3); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; - this.cmbCat3.Size = new System.Drawing.Size(144, 25); + this.cmbCat3.Size = new System.Drawing.Size(146, 25); this.cmbCat3.TabIndex = 811; this.cmbCat3.Text = "全部"; this.cmbCat3.SelectedIndexChanged += new System.EventHandler(this.cmbCat3_SelectedIndexChanged); @@ -471,10 +473,10 @@ namespace TemuKJD.WXForms.ProductForms // // label17 // - this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label17.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(648, 9); - this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label17.Location = new System.Drawing.Point(643, 7); + this.label17.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(39, 17); this.label17.TabIndex = 811; @@ -482,16 +484,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbCat2 // - this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat2.DefaultText = "全部"; this.cmbCat2.DropDownHeight = 1; this.cmbCat2.DropDownWidth = 1; this.cmbCat2.FormattingEnabled = true; this.cmbCat2.IntegralHeight = false; - this.cmbCat2.Location = new System.Drawing.Point(499, 7); + this.cmbCat2.Location = new System.Drawing.Point(491, 3); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(143, 25); + this.cmbCat2.Size = new System.Drawing.Size(146, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.Text = "全部"; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCat2_SelectedIndexChanged); @@ -499,10 +502,10 @@ namespace TemuKJD.WXForms.ProductForms // // label14 // - this.label14.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(460, 9); - this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label14.Location = new System.Drawing.Point(452, 7); + this.label14.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(39, 17); this.label14.TabIndex = 784; @@ -510,16 +513,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbCat1 // - this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat1.DefaultText = "全部"; this.cmbCat1.DropDownHeight = 1; this.cmbCat1.DropDownWidth = 1; this.cmbCat1.FormattingEnabled = true; this.cmbCat1.IntegralHeight = false; - this.cmbCat1.Location = new System.Drawing.Point(279, 5); + this.cmbCat1.Location = new System.Drawing.Point(275, 3); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(144, 25); + this.cmbCat1.Size = new System.Drawing.Size(146, 25); this.cmbCat1.TabIndex = 805; this.cmbCat1.Text = "全部"; this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCat1_SelectedIndexChanged); @@ -527,13 +531,13 @@ namespace TemuKJD.WXForms.ProductForms // // lblCat1 // - this.lblCat1.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblCat1.AutoSize = true; this.lblCat1.Cursor = System.Windows.Forms.Cursors.Hand; this.lblCat1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblCat1.ForeColor = System.Drawing.Color.Blue; - this.lblCat1.Location = new System.Drawing.Point(229, 9); - this.lblCat1.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblCat1.Location = new System.Drawing.Point(225, 7); + this.lblCat1.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblCat1.Name = "lblCat1"; this.lblCat1.Size = new System.Drawing.Size(50, 17); this.lblCat1.TabIndex = 426; @@ -542,19 +546,22 @@ namespace TemuKJD.WXForms.ProductForms // // txtProdName // - this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtProdName.Location = new System.Drawing.Point(59, 6); + this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtProdName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtProdName.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtProdName.Location = new System.Drawing.Point(59, 3); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(144, 23); + this.txtProdName.Size = new System.Drawing.Size(146, 25); this.txtProdName.TabIndex = 427; // // label3 // - this.label3.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(3, 9); - this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label3.Location = new System.Drawing.Point(3, 7); + this.label3.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(56, 17); this.label3.TabIndex = 428; @@ -562,10 +569,10 @@ namespace TemuKJD.WXForms.ProductForms // // lblWxSafe // - this.lblWxSafe.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblWxSafe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblWxSafe.AutoSize = true; - this.lblWxSafe.Location = new System.Drawing.Point(3, 44); - this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblWxSafe.Location = new System.Drawing.Point(3, 42); + this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblWxSafe.Name = "lblWxSafe"; this.lblWxSafe.Size = new System.Drawing.Size(56, 17); this.lblWxSafe.TabIndex = 651; @@ -573,25 +580,26 @@ namespace TemuKJD.WXForms.ProductForms // // cmbWxSafe // - this.cmbWxSafe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbWxSafe.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbWxSafe.FormattingEnabled = true; this.cmbWxSafe.Items.AddRange(new object[] { "", "安全+未校验", "安全商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(59, 40); + this.cmbWxSafe.Location = new System.Drawing.Point(59, 38); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(144, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(146, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // // chkCatBoundMoreThan // - this.chkCatBoundMoreThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundMoreThan.Location = new System.Drawing.Point(212, 42); - this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.chkCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkCatBoundMoreThan.Location = new System.Drawing.Point(211, 40); + this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(3, 5, 0, 0); this.chkCatBoundMoreThan.Name = "chkCatBoundMoreThan"; this.chkCatBoundMoreThan.Size = new System.Drawing.Size(64, 21); this.chkCatBoundMoreThan.TabIndex = 815; @@ -601,20 +609,23 @@ namespace TemuKJD.WXForms.ProductForms // // txtCatBoundMoreThan // - this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundMoreThan.Location = new System.Drawing.Point(279, 41); + this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtCatBoundMoreThan.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtCatBoundMoreThan.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtCatBoundMoreThan.Location = new System.Drawing.Point(275, 38); this.txtCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundMoreThan.Name = "txtCatBoundMoreThan"; - this.txtCatBoundMoreThan.Size = new System.Drawing.Size(144, 23); + this.txtCatBoundMoreThan.Size = new System.Drawing.Size(146, 25); this.txtCatBoundMoreThan.TabIndex = 882; this.txtCatBoundMoreThan.Text = "1000"; this.txtCatBoundMoreThan.Visible = false; // // chkCatBoundLessThan // - this.chkCatBoundLessThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundLessThan.Location = new System.Drawing.Point(432, 42); - this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); + this.chkCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkCatBoundLessThan.Location = new System.Drawing.Point(427, 40); + this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(3, 5, 0, 0); this.chkCatBoundLessThan.Name = "chkCatBoundLessThan"; this.chkCatBoundLessThan.Size = new System.Drawing.Size(64, 21); this.chkCatBoundLessThan.TabIndex = 882; @@ -624,33 +635,37 @@ namespace TemuKJD.WXForms.ProductForms // // txtCatBoundLessThan // - this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundLessThan.Location = new System.Drawing.Point(499, 41); + this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtCatBoundLessThan.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtCatBoundLessThan.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtCatBoundLessThan.Location = new System.Drawing.Point(491, 38); this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; - this.txtCatBoundLessThan.Size = new System.Drawing.Size(143, 23); + this.txtCatBoundLessThan.Size = new System.Drawing.Size(146, 25); this.txtCatBoundLessThan.TabIndex = 883; this.txtCatBoundLessThan.Text = "100000"; this.txtCatBoundLessThan.Visible = false; // // cmbGroupFilter // - this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(869, 42); + this.cmbGroupFilter.Location = new System.Drawing.Point(866, 38); this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbGroupFilter.Name = "cmbGroupFilter"; - this.cmbGroupFilter.Size = new System.Drawing.Size(144, 25); + this.cmbGroupFilter.Size = new System.Drawing.Size(146, 25); this.cmbGroupFilter.TabIndex = 653; this.cmbGroupFilter.Visible = false; this.cmbGroupFilter.SelectedIndexChanged += new System.EventHandler(this.cmbGroupFilter_SelectedIndexChanged); // // lblSourceType // - this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(655, 44); - this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblSourceType.Location = new System.Drawing.Point(650, 42); + this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblSourceType.Name = "lblSourceType"; this.lblSourceType.Size = new System.Drawing.Size(32, 17); this.lblSourceType.TabIndex = 651; @@ -659,10 +674,10 @@ namespace TemuKJD.WXForms.ProductForms // // lblGroupFilter // - this.lblGroupFilter.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblGroupFilter.AutoSize = true; - this.lblGroupFilter.Location = new System.Drawing.Point(837, 44); - this.lblGroupFilter.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblGroupFilter.Location = new System.Drawing.Point(834, 42); + this.lblGroupFilter.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblGroupFilter.Name = "lblGroupFilter"; this.lblGroupFilter.Size = new System.Drawing.Size(32, 17); this.lblGroupFilter.TabIndex = 641; @@ -671,7 +686,8 @@ namespace TemuKJD.WXForms.ProductForms // // cmbSourceType // - this.cmbSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbSourceType.FormattingEnabled = true; this.cmbSourceType.Items.AddRange(new object[] { "", @@ -684,10 +700,10 @@ namespace TemuKJD.WXForms.ProductForms "机会商品", "以图搜品", "多多外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(687, 42); + this.cmbSourceType.Location = new System.Drawing.Point(682, 38); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(144, 25); + this.cmbSourceType.Size = new System.Drawing.Size(146, 25); this.cmbSourceType.TabIndex = 654; this.cmbSourceType.Text = "厂商直采"; this.cmbSourceType.Visible = false; diff --git a/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.cs index 625cc55..44ee7e2 100644 --- a/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXSelectDBProdListForm.cs @@ -475,20 +475,28 @@ namespace TemuKJD.WXForms.ProductForms // data += "&end_time=" + dtpEnd.Value.ToString("yyyy-MM-dd HH:mm:ss"); //} - if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "1688厂家" && cmbSourceType.Text != "微信店采" && cmbSourceType.Text != "微信小店") + //if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "1688厂家" && cmbSourceType.Text != "微信店采" && cmbSourceType.Text != "微信小店") + if (lblCat1.Text == "P 类目1") { data += "&search_cat1=" + (cmbCat1.Text.Trim() == "全部" ? "" : cmbCat1.Text.Trim()); data += "&search_cat=" + (cmbCat2.Text.Trim() == "全部" ? "" : cmbCat2.Text.Trim()); } else { - var selectCate1 = GlobalConfig.WxCatList.Where(c => c.level == 1 && (/*cmbCat1.Text.Trim() == cmbCat1.DefaultText ||*/ (";" + cmbCat1.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); - var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList(); - var selectCate2 = cates2.Where(c => c.level == 2 && (/*cmbCat2.Text.Trim() == cmbCat2.DefaultText ||*/ (";" + cmbCat2.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); - var cates3 = GlobalConfig.WxCatList.Where(c => selectCate2.Any(c2 => c.f_cat_id == c2.cat_id)).ToList(); - var selectCate3 = cates3.Where(c => c.level == 3 && (/*cmbCat3.Text.Trim() == cmbCat3.DefaultText ||*/ (";" + cmbCat3.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); + //var selectCate1 = GlobalConfig.WxCatList.Where(c => c.level == 1 && (/*cmbCat1.Text.Trim() == cmbCat1.DefaultText ||*/ (";" + cmbCat1.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); + //var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList(); + //var selectCate2 = cates2.Where(c => c.level == 2 && (/*cmbCat2.Text.Trim() == cmbCat2.DefaultText ||*/ (";" + cmbCat2.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); + //var cates3 = GlobalConfig.WxCatList.Where(c => selectCate2.Any(c2 => c.f_cat_id == c2.cat_id)).ToList(); + //var selectCate3 = cates3.Where(c => c.level == 3 && (/*cmbCat3.Text.Trim() == cmbCat3.DefaultText ||*/ (";" + cmbCat3.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); - if (!string.IsNullOrEmpty(cmbCat1.Text) && selectCate1?.Count > 0) + var selectCate1 = GlobalConfig.WxCatList.Where(c => c.level == 1 && (cmbCat1.Text.Trim() == cmbCat1.DefaultText || (";" + cmbCat1.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); + var cates2 = GlobalConfig.WxCatList.Where(c => selectCate1.Any(c1 => c.f_cat_id == c1.cat_id)).ToList(); + var selectCate2 = cates2.Where(c => c.level == 2 && (cmbCat2.Text.Trim() == cmbCat2.DefaultText || (";" + cmbCat2.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); + var cates3 = GlobalConfig.WxCatList.Where(c => selectCate2.Any(c2 => c.f_cat_id == c2.cat_id)).ToList(); + var selectCate3 = cates3.Where(c => c.level == 3 && (cmbCat3.Text.Trim() == cmbCat3.DefaultText || (";" + cmbCat3.Text.Trim() + ";").Contains(";" + c.name + ";"))).ToList(); + + + if (!string.IsNullOrEmpty(cmbCat1.Text) && cmbCat1.Text != "全部" && selectCate1?.Count > 0) data += "&wx_cat_1=" + string.Join(",", selectCate1.Select(c => c.cat_id).ToList()); //else if (chkSkipQualification.Checked) //{ @@ -496,9 +504,9 @@ namespace TemuKJD.WXForms.ProductForms // data += "&wx_cat_1=" + string.Join(",", GlobalConfig.WxCatList.Where(c => c.level == 1 && !(c.name == "图书" || c.name == "食品饮料" || c.name == "成人用品")) // .Select(c => c.cat_id)); //} - if (!string.IsNullOrEmpty(cmbCat2.Text) && selectCate2?.Count > 0) + if (!string.IsNullOrEmpty(cmbCat2.Text) && cmbCat2.Text != "全部" && selectCate2?.Count > 0) data += "&wx_cat_2=" + string.Join(",", selectCate2.Select(c => c.cat_id).ToList()); - if (!string.IsNullOrEmpty(cmbCat3.Text) && selectCate3?.Count > 0) + if (!string.IsNullOrEmpty(cmbCat3.Text) && cmbCat3.Text != "全部" && selectCate3?.Count > 0) data += "&wx_cat_3=" + string.Join(",", selectCate3.Select(c => c.cat_id).ToList()); if (chkCatBoundMoreThan.Checked || chkCatBoundLessThan.Checked) @@ -523,6 +531,7 @@ namespace TemuKJD.WXForms.ProductForms } if (!string.IsNullOrEmpty(cmbWxCat.Text)) { + // 因选品的类目识别选项不可见,所以查询时拿掉,上货时可以动态识别类目 //data += "&has_wx_cat=" + (cmbWxCat.Text.Trim() == "是").ParseToString().ToLower(); } if (!string.IsNullOrEmpty(cmbExportToOutServer.Text) && cmbGroupFilter.Text != "我的商品") // 用户自己的商品没有聚水潭商品,不用考虑是否导出 @@ -701,6 +710,8 @@ namespace TemuKJD.WXForms.ProductForms // cmbCat3.Items.Add(cate3.name); //} cmbCat3.Items.AddRange(cates3.Select(c => c.name).ToArray()); + + this.TitleText = cates3.Count + "/" + cates3.Select(c => c.name).Distinct().Count(); } private void cmbCat3_MultiSelectChanged(object sender, EventArgs e) diff --git a/TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.Designer.cs similarity index 99% rename from TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.Designer.cs rename to TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.Designer.cs index 8a5e77b..cf1f605 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.Designer.cs @@ -1,6 +1,6 @@ using System.Windows.Forms; -namespace TemuKJD.PDDForms.ProductSelectForms +namespace TemuKJD.WXForms.ProductForms { partial class WXUserCollectAuthProdEditNotesForm { diff --git a/TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs similarity index 99% rename from TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.cs rename to TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs index ee84a82..89055c1 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs @@ -15,12 +15,12 @@ using Work; using TemuKJD.ToolForms; using Newtonsoft.Json.Linq; using System.IO; -using Work.BLL.Tools; using TemuKJD.BLL; using NaiBa.Util.Extension; using AllBase.Model.Result.WXResult; +using TemuKJD.PDDForms.ProductSelectForms; -namespace TemuKJD.PDDForms.ProductSelectForms +namespace TemuKJD.WXForms.ProductForms { public partial class WXUserCollectAuthProdEditNotesForm : BaseGeneralForm { diff --git a/TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.resx b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.resx similarity index 100% rename from TEMUKJD/PDDForms/ProductSelectForms/WXUserCollectAuthProdEditNotesForm.resx rename to TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.resx diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs index e505322..c79ec2c 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.Designer.cs @@ -478,7 +478,7 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.Controls.Add(this.cmbWxCat, 9, 0); this.tableLayoutPanel1.Controls.Add(this.lblWxSafe, 10, 0); this.tableLayoutPanel1.Controls.Add(this.cmbWxSafe, 11, 0); - this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 4); + this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 6); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 3; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33444F)); @@ -489,24 +489,25 @@ namespace TemuKJD.WXForms.ProductForms // // cmbHasFission // - this.cmbHasFission.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbHasFission.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbHasFission.FormattingEnabled = true; this.cmbHasFission.Items.AddRange(new object[] { "", "是", "否"}); - this.cmbHasFission.Location = new System.Drawing.Point(889, 42); + this.cmbHasFission.Location = new System.Drawing.Point(883, 38); this.cmbHasFission.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbHasFission.Name = "cmbHasFission"; - this.cmbHasFission.Size = new System.Drawing.Size(100, 25); + this.cmbHasFission.Size = new System.Drawing.Size(106, 25); this.cmbHasFission.TabIndex = 982; // // label8 // - this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(829, 44); - this.label8.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label8.Location = new System.Drawing.Point(827, 42); + this.label8.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(56, 17); this.label8.TabIndex = 885; @@ -514,19 +515,22 @@ namespace TemuKJD.WXForms.ProductForms // // txtCatBoundLessThan // - this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundLessThan.Location = new System.Drawing.Point(724, 41); + this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtCatBoundLessThan.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtCatBoundLessThan.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtCatBoundLessThan.Location = new System.Drawing.Point(715, 38); this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; - this.txtCatBoundLessThan.Size = new System.Drawing.Size(99, 23); + this.txtCatBoundLessThan.Size = new System.Drawing.Size(102, 25); this.txtCatBoundLessThan.TabIndex = 883; this.txtCatBoundLessThan.Text = "100000"; // // chkCatBoundLessThan // - this.chkCatBoundLessThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundLessThan.Location = new System.Drawing.Point(657, 42); - this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3); + this.chkCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkCatBoundLessThan.Location = new System.Drawing.Point(651, 40); + this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(3, 5, 0, 0); this.chkCatBoundLessThan.Name = "chkCatBoundLessThan"; this.chkCatBoundLessThan.Size = new System.Drawing.Size(64, 21); this.chkCatBoundLessThan.TabIndex = 882; @@ -536,19 +540,22 @@ namespace TemuKJD.WXForms.ProductForms // // txtSPU // - this.txtSPU.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtSPU.Location = new System.Drawing.Point(52, 6); + this.txtSPU.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtSPU.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtSPU.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtSPU.Location = new System.Drawing.Point(52, 3); this.txtSPU.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtSPU.Name = "txtSPU"; - this.txtSPU.Size = new System.Drawing.Size(99, 23); + this.txtSPU.Size = new System.Drawing.Size(102, 25); this.txtSPU.TabIndex = 434; // // label5 // - this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(3, 9); - this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label5.Location = new System.Drawing.Point(3, 7); + this.label5.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(49, 17); this.label5.TabIndex = 435; @@ -556,19 +563,22 @@ namespace TemuKJD.WXForms.ProductForms // // txtProdName // - this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtProdName.Location = new System.Drawing.Point(217, 6); + this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtProdName.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtProdName.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtProdName.Location = new System.Drawing.Point(220, 3); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(99, 23); + this.txtProdName.Size = new System.Drawing.Size(102, 25); this.txtProdName.TabIndex = 427; // // label3 // - this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(157, 9); - this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label3.Location = new System.Drawing.Point(160, 7); + this.label3.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(60, 17); this.label3.TabIndex = 428; @@ -576,10 +586,10 @@ namespace TemuKJD.WXForms.ProductForms // // label2 // - this.label2.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(9, 44); - this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label2.Location = new System.Drawing.Point(9, 42); + this.label2.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(43, 17); this.label2.TabIndex = 426; @@ -587,16 +597,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbCat1 // - this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat1.DefaultText = "全部"; this.cmbCat1.DropDownHeight = 1; this.cmbCat1.DropDownWidth = 1; this.cmbCat1.FormattingEnabled = true; this.cmbCat1.IntegralHeight = false; - this.cmbCat1.Location = new System.Drawing.Point(52, 40); + this.cmbCat1.Location = new System.Drawing.Point(52, 38); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(99, 25); + this.cmbCat1.Size = new System.Drawing.Size(102, 25); this.cmbCat1.TabIndex = 805; this.cmbCat1.Text = "全部"; this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCat1_SelectedIndexChanged); @@ -604,19 +615,22 @@ namespace TemuKJD.WXForms.ProductForms // // txtCatBoundMoreThan // - this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundMoreThan.Location = new System.Drawing.Point(545, 41); + this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtCatBoundMoreThan.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtCatBoundMoreThan.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtCatBoundMoreThan.Location = new System.Drawing.Point(543, 38); this.txtCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundMoreThan.Name = "txtCatBoundMoreThan"; - this.txtCatBoundMoreThan.Size = new System.Drawing.Size(99, 23); + this.txtCatBoundMoreThan.Size = new System.Drawing.Size(102, 25); this.txtCatBoundMoreThan.TabIndex = 882; this.txtCatBoundMoreThan.Text = "1000"; // // chkCatBoundMoreThan // - this.chkCatBoundMoreThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundMoreThan.Location = new System.Drawing.Point(478, 42); - this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3); + this.chkCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkCatBoundMoreThan.Location = new System.Drawing.Point(479, 40); + this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(3, 5, 0, 0); this.chkCatBoundMoreThan.Name = "chkCatBoundMoreThan"; this.chkCatBoundMoreThan.Size = new System.Drawing.Size(64, 21); this.chkCatBoundMoreThan.TabIndex = 815; @@ -626,10 +640,10 @@ namespace TemuKJD.WXForms.ProductForms // // label14 // - this.label14.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(174, 44); - this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label14.Location = new System.Drawing.Point(177, 42); + this.label14.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(43, 17); this.label14.TabIndex = 784; @@ -637,16 +651,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbCat2 // - this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat2.DefaultText = "全部"; this.cmbCat2.DropDownHeight = 1; this.cmbCat2.DropDownWidth = 1; this.cmbCat2.FormattingEnabled = true; this.cmbCat2.IntegralHeight = false; - this.cmbCat2.Location = new System.Drawing.Point(217, 40); + this.cmbCat2.Location = new System.Drawing.Point(220, 38); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(99, 25); + this.cmbCat2.Size = new System.Drawing.Size(102, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.Text = "全部"; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCat2_SelectedIndexChanged); @@ -654,10 +669,10 @@ namespace TemuKJD.WXForms.ProductForms // // label17 // - this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label17.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(323, 44); - this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label17.Location = new System.Drawing.Point(328, 42); + this.label17.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(43, 17); this.label17.TabIndex = 811; @@ -665,16 +680,17 @@ namespace TemuKJD.WXForms.ProductForms // // cmbCat3 // - this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat3.DefaultText = "全部"; this.cmbCat3.DropDownHeight = 1; this.cmbCat3.DropDownWidth = 1; this.cmbCat3.FormattingEnabled = true; this.cmbCat3.IntegralHeight = false; - this.cmbCat3.Location = new System.Drawing.Point(366, 40); + this.cmbCat3.Location = new System.Drawing.Point(371, 38); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; - this.cmbCat3.Size = new System.Drawing.Size(99, 25); + this.cmbCat3.Size = new System.Drawing.Size(102, 25); this.cmbCat3.TabIndex = 811; this.cmbCat3.Text = "全部"; this.cmbCat3.SelectedIndexChanged += new System.EventHandler(this.cmbCat3_SelectedIndexChanged); @@ -682,38 +698,39 @@ namespace TemuKJD.WXForms.ProductForms // // lblSourceType // - this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(322, 9); - this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblSourceType.Location = new System.Drawing.Point(339, 7); + this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblSourceType.Name = "lblSourceType"; - this.lblSourceType.Size = new System.Drawing.Size(44, 17); + this.lblSourceType.Size = new System.Drawing.Size(32, 17); this.lblSourceType.TabIndex = 651; - this.lblSourceType.Text = "来源:"; + this.lblSourceType.Text = "来源"; // // cmbSourceType // - this.cmbSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbSourceType.FormattingEnabled = true; this.cmbSourceType.Items.AddRange(new object[] { "", "多多商品", "1688商品", "微信商品"}); - this.cmbSourceType.Location = new System.Drawing.Point(366, 5); + this.cmbSourceType.Location = new System.Drawing.Point(371, 3); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(99, 25); + this.cmbSourceType.Size = new System.Drawing.Size(102, 25); this.cmbSourceType.TabIndex = 654; this.cmbSourceType.SelectedIndexChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); this.cmbSourceType.TextChanged += new System.EventHandler(this.cmbSourceType_SelectedIndexChanged); // // lblNotes // - this.lblNotes.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblNotes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblNotes.AutoSize = true; - this.lblNotes.Location = new System.Drawing.Point(509, 9); - this.lblNotes.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblNotes.Location = new System.Drawing.Point(507, 7); + this.lblNotes.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblNotes.Name = "lblNotes"; this.lblNotes.Size = new System.Drawing.Size(36, 17); this.lblNotes.TabIndex = 440; @@ -721,19 +738,22 @@ namespace TemuKJD.WXForms.ProductForms // // txtNotes // - this.txtNotes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtNotes.Location = new System.Drawing.Point(545, 6); + this.txtNotes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtNotes.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.txtNotes.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtNotes.Location = new System.Drawing.Point(543, 3); this.txtNotes.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtNotes.Name = "txtNotes"; - this.txtNotes.Size = new System.Drawing.Size(99, 23); + this.txtNotes.Size = new System.Drawing.Size(102, 25); this.txtNotes.TabIndex = 439; // // label12 // - this.label12.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label12.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(664, 9); - this.label12.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label12.Location = new System.Drawing.Point(655, 7); + this.label12.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(60, 17); this.label12.TabIndex = 801; @@ -741,24 +761,25 @@ namespace TemuKJD.WXForms.ProductForms // // cmbWxCat // - this.cmbWxCat.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbWxCat.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbWxCat.FormattingEnabled = true; this.cmbWxCat.Items.AddRange(new object[] { "", "是", "否"}); - this.cmbWxCat.Location = new System.Drawing.Point(724, 5); + this.cmbWxCat.Location = new System.Drawing.Point(715, 3); this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxCat.Name = "cmbWxCat"; - this.cmbWxCat.Size = new System.Drawing.Size(99, 25); + this.cmbWxCat.Size = new System.Drawing.Size(102, 25); this.cmbWxCat.TabIndex = 802; // // lblWxSafe // - this.lblWxSafe.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblWxSafe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblWxSafe.AutoSize = true; - this.lblWxSafe.Location = new System.Drawing.Point(829, 9); - this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblWxSafe.Location = new System.Drawing.Point(823, 7); + this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 7, 0, 0); this.lblWxSafe.Name = "lblWxSafe"; this.lblWxSafe.Size = new System.Drawing.Size(60, 17); this.lblWxSafe.TabIndex = 651; @@ -766,17 +787,18 @@ namespace TemuKJD.WXForms.ProductForms // // cmbWxSafe // - this.cmbWxSafe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbWxSafe.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.cmbWxSafe.FormattingEnabled = true; this.cmbWxSafe.Items.AddRange(new object[] { "", "安全+未校验", "安全商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(889, 5); + this.cmbWxSafe.Location = new System.Drawing.Point(883, 3); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(100, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(106, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs index c5a2c2f..a94904e 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs @@ -1124,6 +1124,7 @@ namespace TemuKJD.WXForms.ProductForms this.statusBar.lblTaskStatus.Text = "正在导入"; })); } + SearchDbProd(1); Invoke(new Action(() => { pbLoading.Visible = false; @@ -1137,7 +1138,12 @@ namespace TemuKJD.WXForms.ProductForms private void btnOutProdSaveDb_Click(object sender, EventArgs e) { bool isCollectAuthorityUser = true; - Get1688ProductForm.Out1688ProductImport(isCollectAuthorityUser, this.statusBar, this.pbLoading); + Get1688ProductForm.Out1688ProductImport(isCollectAuthorityUser, this.statusBar, this.pbLoading, OutProdSaveDbCallBack); + } + + void OutProdSaveDbCallBack(object msg) + { + SearchDbProd(1); } private void btnAITitleFission_Click(object sender, EventArgs e) diff --git a/TEMUKJD/WXForms/ShopForms/UcSubAccount.cs b/TEMUKJD/WXForms/ShopForms/UcSubAccount.cs index e4838b1..2bbc486 100644 --- a/TEMUKJD/WXForms/ShopForms/UcSubAccount.cs +++ b/TEMUKJD/WXForms/ShopForms/UcSubAccount.cs @@ -13,14 +13,14 @@ namespace TemuKJD.WXForms.ShopForms { public partial class UcSubAccount : UserControl { - public ShopSubAccountInfo subAccount = null; + public UserSubAccountInfo subAccount = null; public delegate void SubAcountDelegate(object obj); public event SubAcountDelegate AddSubAcountEvent; public event SubAcountDelegate RemoveSubAcountEvent; - public UcSubAccount(ShopSubAccountInfo _subAccount, bool isNotShopSubAccount = true) + public UcSubAccount(UserSubAccountInfo _subAccount, bool isNotShopSubAccount = true) { InitializeComponent(); subAccount = _subAccount; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs b/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs index e74bd0b..63294b7 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs @@ -262,6 +262,7 @@ namespace TemuKJD.WXForms.ShopForms try { getEditProdRst = WXUpload.getEditProductV2(shop, prodId); + Thread.Sleep(Randomx.GetId(50, 100)); if (getEditProdRst.Contains("biz magic invalid")) { @@ -302,10 +303,11 @@ namespace TemuKJD.WXForms.ShopForms return "店铺商品采集失败!" + errmsg; } - var addressStr = JsonHelper.JObjectParse(addressRst)["addressList"].FirstOrDefault().ParseToString(); - wxProdInfoLite.address = JsonHelper.DeserializeJsonToObject(addressStr); - if (wxProdInfoLite.address == null) - return "店铺商品采集失败!商品详情获取失败"; + var addressStr = JsonHelper.JObjectParse(addressRst)["addressList"]?.FirstOrDefault().ParseToString(); + if (!string.IsNullOrWhiteSpace(addressStr)) + wxProdInfoLite.address = JsonHelper.DeserializeJsonToObject(addressStr); + //if (wxProdInfoLite.address == null) + // return "店铺商品采集失败!商品详情获取失败"; // 查看下json结构 var wxProdInfoLiteStr = JsonHelper.SerializeObject(wxProdInfoLite); @@ -385,9 +387,13 @@ namespace TemuKJD.WXForms.ShopForms data += "&ext_code=" + wxEditProdInfoLite.product.info.spuCode; data += "&product_name=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.title, Encoding.UTF8) + "&product_json=" + HttpUtility.UrlEncode(JsonHelper.SerializeObject(wxEditProdInfoLite), Encoding.UTF8) + - "&size_json=" + HttpUtility.UrlEncode("{}", Encoding.UTF8) + - "&sale_count=" + - "&sale_count_text=" + + "&size_json=" + HttpUtility.UrlEncode("{}", Encoding.UTF8); + + var getListProdRst = WXUpload.searchProductWithSpuId(shop, prodId).ParseToString(); + var totalSoldNum = BaseRegex.GetStringJson(ref getListProdRst, "totalSoldNum"); + + data += "&sale_count=" + totalSoldNum + + "&sale_count_text=" + totalSoldNum + "&main_img=" + HttpUtility.UrlEncode(wxEditProdInfoLite.product.info.headImg.FirstOrDefault(), Encoding.UTF8) + "&wx_safe_status=" + HttpUtility.UrlEncode(wx_safe_status, Encoding.UTF8) + "&product_get_type=" + HttpUtility.UrlEncode("微信店采", Encoding.UTF8); @@ -423,6 +429,8 @@ namespace TemuKJD.WXForms.ShopForms { data += "&view_uv=" + viewUv; } + data += "&send_to_out_server=127"; + data += "&distribution_set=127"; html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) diff --git a/TEMUKJD/WXForms/ShopForms/WXShopDefaultAddressListForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopDefaultAddressListForm.cs index 2e4ac66..f2e8523 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopDefaultAddressListForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopDefaultAddressListForm.cs @@ -240,7 +240,7 @@ namespace TemuKJD.WXForms.ShopForms // shop.ShopSubAccountList.Clear(); // if (!string.IsNullOrWhiteSpace(shop.SubUserName)) // { - // ShopSubAccountInfo subAccount = new ShopSubAccountInfo(); + // UserSubAccountInfo subAccount = new UserSubAccountInfo(); // subAccount.sub_user_name = shop.SubUserName; // subAccount.user_name = shop.SubUserName; // subAccount.shop_login_name = shop.LoginName; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs index 0776c46..15e0cb0 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs @@ -583,7 +583,7 @@ namespace TemuKJD.WXForms.ShopForms param.is_point_shop_expire ? "" : "导入Cookie", param.is_point_shop_expire ? "" : "复制Cookie", param.is_point_shop_expire ? "" : "编辑", - param.is_point_shop_expire ? "" : "删除"); + param.is_point_shop_expire ? "删除" : "删除"); if (!isRefresh) { // help to scroll to latest checked @@ -628,7 +628,7 @@ namespace TemuKJD.WXForms.ShopForms dgvr.Cells["colUpdateCookies"].Value = param.is_point_shop_expire ? "" : "导入Cookie"; dgvr.Cells["colCopyCookies"].Value = param.is_point_shop_expire ? "" : "复制Cookie"; dgvr.Cells["colEdit"].Value = param.is_point_shop_expire ? "" : "编辑"; - dgvr.Cells["colDelete"].Value = param.is_point_shop_expire ? "" : "删除"; + dgvr.Cells["colDelete"].Value = param.is_point_shop_expire ? "删除" : "删除"; @@ -790,7 +790,7 @@ namespace TemuKJD.WXForms.ShopForms shop.ShopSubAccountList.Clear(); if (!string.IsNullOrWhiteSpace(shop.SubUserName)) { - ShopSubAccountInfo subAccount = new ShopSubAccountInfo(); + UserSubAccountInfo subAccount = new UserSubAccountInfo(); subAccount.sub_user_name = shop.SubUserName; subAccount.user_name = shop.SubUserName; subAccount.shop_login_name = shop.LoginName; @@ -1251,7 +1251,7 @@ namespace TemuKJD.WXForms.ShopForms data += "&option_type=" + "续费"; data += "&operator_type=" + "用户"; data += "&operator_name=" + BaseClass.UserName; - data += "&delta_points=" + (numAddTopUp.Value * 30).ParseToInt(); + data += "&delta_points=" + (numAddTopUp.Value * BaseClass.ShopPointsPerMonth).ParseToInt(); data += "&shop_id=" + shopId; data += "&shop_account=" + shop.ShopAccount; @@ -1291,7 +1291,7 @@ namespace TemuKJD.WXForms.ShopForms private void numAddTopUp_ValueChanged(object sender, EventArgs e) { - this.txtPrice.Text = "预计续费点数:" + (numAddTopUp.Value * lblShopId.Text.Split(';').Length * 30).ParseToString(); + this.txtPrice.Text = "预计续费点数:" + (numAddTopUp.Value * lblShopId.Text.Split(';').Length * BaseClass.ShopPointsPerMonth).ParseToString(); } private void btnBatchRenewal_Click(object sender, EventArgs e) diff --git a/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.cs b/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.cs index 3bc2100..f586cc8 100644 --- a/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.cs @@ -16,7 +16,7 @@ namespace TemuKJD.WXForms.ShopForms { public partial class WXSubAccountListForm : BaseForm { - public static List AllUsers { get; set; } = new List(); + public static List AllUsers { get; set; } = new List(); public MainForm Mf { get; set; } = null; public string Uid { get; set; } = ""; public WXSubAccountListForm() @@ -120,7 +120,7 @@ namespace TemuKJD.WXForms.ShopForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); diff --git a/TEMUKJD/WXForms/ShopForms/WXSubAccountShopEditForm.cs b/TEMUKJD/WXForms/ShopForms/WXSubAccountShopEditForm.cs index b4e6af5..f07f76a 100644 --- a/TEMUKJD/WXForms/ShopForms/WXSubAccountShopEditForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXSubAccountShopEditForm.cs @@ -16,10 +16,10 @@ namespace TemuKJD.WXForms.ShopForms { public partial class WXSubAccountShopEditForm : BaseGeneralForm { - public static List lstAllSubAccount { get; set; } = new List(); + public static List lstAllSubAccount { get; set; } = new List(); - public List ShopSubAccountList { get; set; } = new List(); - public List NotShopSubAccountList { get; set; } = new List(); + public List ShopSubAccountList { get; set; } = new List(); + public List NotShopSubAccountList { get; set; } = new List(); ShopLoginInfo shop = null; @@ -87,7 +87,7 @@ namespace TemuKJD.WXForms.ShopForms foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"]) { string oStr = JsonHelper.SerializeObject(obj); - ShopSubAccountInfo user = new ShopSubAccountInfo(); + UserSubAccountInfo user = new UserSubAccountInfo(); user.id = BaseRegex.GetIntJson(ref oStr, "id"); user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name"); user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name"); @@ -147,8 +147,8 @@ namespace TemuKJD.WXForms.ShopForms private void btnOk_Click(object sender, EventArgs e) { - List AddUsers = new List(); - List DeleteUsers = new List(); + List AddUsers = new List(); + List DeleteUsers = new List(); foreach (Control c in this.flpNotSubAccount.Controls) { var co = c as UcSubAccount; diff --git a/Work/UserLogin.cs b/Work/UserLogin.cs index 0edf969..9be9696 100644 --- a/Work/UserLogin.cs +++ b/Work/UserLogin.cs @@ -89,6 +89,7 @@ namespace Work BaseClass.GroupId = BaseRegex.GetStringJson(ref html, "group_id").ParseToInt(); BaseClass.AuthorizedAmount = BaseRegex.GetNullableDecimalJson(ref html, "authorized_amount"); BaseClass.Points = BaseRegex.GetStringJson(ref html, "points").ParseToInt(); + BaseClass.ShopPointsPerMonth = BaseRegex.GetStringJson(ref html, "shop_points_per_month").ParseToInt(); if (BaseClass.GroupId != 3 && BaseClass.GroupId != 4 && BaseClass.GroupId != 9 && BaseClass.GroupId != 10 && BaseClass.GroupId != 11) {