买手读单优化 拼多多活动报名优化
This commit is contained in:
1 parent
daa7f733fc
commit
0c5ebf421e
28 files changed
+2892
-116
No files matched your search
@@ -293,6 +293,7 @@
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeLinerCgiInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOrderInfoLite.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeOrderWayBillInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WXShopDefaultAddressInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WXShopTokenInfo.cs" />
|
||||
<Compile Include="MultiThreadClient.cs" />
|
||||
<Compile Include="OutExcel.cs" />
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 1020;
|
||||
public static int VersionCount = 1022;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace AllBase.Model.Result.PDDResult
|
||||
if (expressCompanyName.Contains("顺丰速运")) return "SF";
|
||||
if (expressCompanyName.Contains("京东快递")) return "JD";
|
||||
if (expressCompanyName.Contains("京东快运")) return "JDKY";
|
||||
if (expressCompanyName.Contains("京东大件物流")) return "JD";
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -74,6 +75,7 @@ namespace AllBase.Model.Result.PDDResult
|
||||
if (outExpressCompanyMsg == null || outExpressCompanyMsg == "") return "";
|
||||
if (outExpressCompanyMsg.Contains("邮政快递包裹")) return "邮政快递包裹";
|
||||
if (outExpressCompanyMsg.Contains("邮政电商标快")) return "邮政电商标快";
|
||||
if (outExpressCompanyMsg.Contains("邮政EMS")) return "邮政EMS";
|
||||
if (outExpressCompanyMsg.Contains("极兔速递")) return "极兔速递";
|
||||
if (outExpressCompanyMsg.Contains("极兔快递")) return "极兔速递";
|
||||
if (outExpressCompanyMsg.Contains("申通快递")) return "申通快递";
|
||||
@@ -82,10 +84,11 @@ namespace AllBase.Model.Result.PDDResult
|
||||
if (outExpressCompanyMsg.Contains("中通快递")) return "中通快递";
|
||||
if (outExpressCompanyMsg.Contains("百世快运")) return "百世快运";
|
||||
if (outExpressCompanyMsg.Contains("百世快递")) return "百世快递";
|
||||
if (outExpressCompanyMsg.Contains("邮政EMS")) return "邮政EMS";
|
||||
if (outExpressCompanyMsg.Contains("顺丰速运")) return "顺丰速运";
|
||||
if (outExpressCompanyMsg.Contains("顺丰快递")) return "顺丰速运";
|
||||
if (outExpressCompanyMsg.Contains("京东快递")) return "京东快递";
|
||||
if (outExpressCompanyMsg.Contains("京东快运")) return "京东快运";
|
||||
if (outExpressCompanyMsg.Contains("京东大件物流")) return "京东大件物流";
|
||||
return "物流名称获取失败";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public class WXShopDefaultAddressInfo
|
||||
{
|
||||
public int? id { get; set; }
|
||||
public string user_id { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public string province_name { get; set; }
|
||||
public string city_name { get; set; }
|
||||
public string county_name { get; set; }
|
||||
public string detail_info { get; set; }
|
||||
public string tel_number { get; set; }
|
||||
public string user_name { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -52,7 +52,14 @@ namespace KJD_Web.BLL.WXXD
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "select count(*) from wxxd.delivery where 1=1";
|
||||
|
||||
//string tableName = "wxxd.express_optimize";
|
||||
//sql = "select exists (SELECT table_name FROM information_schema.tables WHERE table_schema = 'wxxd' AND table_name = 'express_optimize')";
|
||||
//var existTable = mySql.ExecuteFirstInt(sql);
|
||||
//if (existTable == 0)
|
||||
// sql = "select count(*) from wxxd.express_optimize where 1=1";
|
||||
//else
|
||||
sql = "select count(*) from wxxd.express_optimize where 1=1";
|
||||
|
||||
string where = "";
|
||||
if (!isNoUserName)
|
||||
@@ -74,7 +81,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "select * from wxxd.delivery where 1=1";
|
||||
sql = "select * from wxxd.express_optimize where 1=1";
|
||||
sql += where;
|
||||
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
@@ -158,21 +165,26 @@ namespace KJD_Web.BLL.WXXD
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "select exists (select 1 from wxxd.delivery where waybill_id='" + waybill_id + "')";
|
||||
sql = "SELECT EXISTS (SELECT 1 FROM wxxd.express_optimize WHERE waybill_id='" + waybill_id + "')";
|
||||
var exist = mySql.ExecuteFirstInt(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
}
|
||||
if (exist > 0)
|
||||
{
|
||||
mySql.Close();
|
||||
return "{\"code\":500,\"msg\":\"运单号已存在\"}";
|
||||
}
|
||||
|
||||
sql = "insert into wxxd.delivery (user_name,delivery_id,delivery_name,waybill_id,";
|
||||
sql = "INSERT INTO wxxd.express_optimize (user_name,delivery_id,delivery_name,waybill_id,";
|
||||
if (!bind_order_id.IsNullOrEmpty())
|
||||
sql += "bind_order_id,";
|
||||
if (waybill_pickup_time != null)
|
||||
sql += "waybill_pickup_time,";
|
||||
sql = sql.Trim(',');
|
||||
sql += ") values ('" + user_name + "','" + delivery_id + "','" + delivery_name + "','" + waybill_id + "',";
|
||||
sql += ") VALUES ('" + user_name + "','" + delivery_id + "','" + delivery_name + "','" + waybill_id + "',";
|
||||
if (!bind_order_id.IsNullOrEmpty())
|
||||
sql += "'" + bind_order_id + "',";
|
||||
if (waybill_pickup_time != null)
|
||||
@@ -210,7 +222,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "delete from wxxd.delivery WHERE waybill_id in ('" + waybill_ids.Replace(",", "','") + "') and status=0";
|
||||
sql = "DELETE FROM wxxd.express_optimize WHERE waybill_id in ('" + waybill_ids.Replace(",", "','") + "') and status=0";
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
mySql.Close();
|
||||
if (!rst || !mySql.Message.IsNullOrEmpty())
|
||||
@@ -249,7 +261,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
MysqlUtils mySql = new MysqlUtils(conn, true);
|
||||
|
||||
string sql = "";
|
||||
sql = "select * from wxxd.delivery where order_id='" + order_id + "' and status = 1";
|
||||
sql = "select * from wxxd.express_optimize where order_id='" + order_id + "' and status = 1";
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
@@ -259,7 +271,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
if (dt?.Rows?.Count == 0)
|
||||
{
|
||||
sql = "UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1 WHERE user_name='" + user_name +
|
||||
sql = "UPDATE wxxd.express_optimize SET order_id='" + order_id + "',status=1 WHERE user_name='" + user_name +
|
||||
"' AND status=0 AND (order_id IS NULL OR order_id='') LIMIT 1";
|
||||
var cnt = mySql.ExecuteAffectedRows(sql);
|
||||
if (cnt == 0 || !mySql.Message.IsNullOrEmpty())
|
||||
@@ -269,7 +281,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
|
||||
sql = "SELECT * FROM wxxd.express_optimize WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
@@ -290,7 +302,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
|
||||
mySql.Close();
|
||||
mySql = new MysqlUtils(conn, true);
|
||||
sql = " UPDATE wxxd.delivery SET shop_id='" + shop_id + "',status=2,use_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' " +
|
||||
sql = " UPDATE wxxd.express_optimize SET shop_id='" + shop_id + "',status=2,use_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' " +
|
||||
" WHERE user_name='" + user_name + "' AND status=1 AND order_id='" + order_id + "' AND waybill_id='" + waybill_id + "'";
|
||||
var rst = mySql.ExecuteAffectedRows(sql);
|
||||
if (rst == 0 || !mySql.Message.IsNullOrEmpty())
|
||||
@@ -336,7 +348,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
try
|
||||
{
|
||||
string sql = "";
|
||||
sql = "select * from wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' and status = 1 LIMIT 1";
|
||||
sql = "select * from wxxd.express_optimize WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' and status = 1 LIMIT 1";
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
@@ -347,7 +359,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
if (dt?.Rows?.Count == 0)
|
||||
{
|
||||
// 获取事先绑定的订单运单
|
||||
sql = " UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1" +
|
||||
sql = " UPDATE wxxd.express_optimize SET order_id='" + order_id + "',status=1" +
|
||||
" WHERE user_name='" + user_name + "' AND status=0 AND bind_order_id='" + order_id + "'" +
|
||||
" LIMIT 1";
|
||||
var cnt = mySql.ExecuteAffectedRows(sql);
|
||||
@@ -363,7 +375,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
// 第一天的订单用第二天的物流发货
|
||||
var start_time = order_time.Value.Date.AddHours(24).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var end_time = order_time.Value.Date.AddHours(48).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
sql = " UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1" +
|
||||
sql = " UPDATE wxxd.express_optimize SET order_id='" + order_id + "',status=1" +
|
||||
" WHERE user_name='" + user_name + "' AND status=0 AND (order_id IS NULL OR order_id='') AND (bind_order_id IS NULL OR bind_order_id='')" +
|
||||
" AND waybill_pickup_time between '" + start_time + "' and '" + end_time + "'" +
|
||||
" LIMIT 1";
|
||||
@@ -378,7 +390,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
// 挑选最早入库的运单号
|
||||
//if (cnt == 0 && order_time == null)
|
||||
//{
|
||||
// sql = " UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1" +
|
||||
// sql = " UPDATE wxxd.express_optimize SET order_id='" + order_id + "',status=1" +
|
||||
// " WHERE user_name='" + user_name + "' AND status=0 AND (order_id IS NULL OR order_id='') AND (bind_order_id IS NULL OR bind_order_id='')" +
|
||||
// " LIMIT 1";
|
||||
// cnt = mySql.ExecuteAffectedRows(sql);
|
||||
@@ -396,7 +408,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
return "{\"code\":501,\"msg\":\"没有可用的运单号\"}";
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
|
||||
sql = "SELECT * FROM wxxd.express_optimize WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
@@ -455,10 +467,10 @@ namespace KJD_Web.BLL.WXXD
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn, true);
|
||||
|
||||
var sql = " UPDATE wxxd.delivery SET shop_id='" + shop_id + "',status=2,use_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' " +
|
||||
var sql = " UPDATE wxxd.express_optimize SET shop_id='" + shop_id + "',status=2,use_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' " +
|
||||
" WHERE user_name='" + user_name + "' AND status=1 AND order_id='" + order_id + "' AND waybill_id='" + waybill_id + "'";
|
||||
if (is_rollback == "true")
|
||||
sql = " UPDATE wxxd.delivery SET shop_id='',order_id='',status=0,use_time=NULL" +
|
||||
sql = " UPDATE wxxd.express_optimize SET shop_id='',order_id='',status=0,use_time=NULL" +
|
||||
" WHERE user_name='" + user_name + "' AND status=1 AND order_id='" + order_id + "' AND waybill_id='" + waybill_id + "'";
|
||||
|
||||
var rst = mySql.ExecuteAffectedRows(sql);
|
||||
@@ -477,7 +489,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
//var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
|
||||
//if (optimize_rst != null)
|
||||
//{
|
||||
// sql = "select exists (select 1 from wxxd.delivery where order_id='" + order_id + "')";
|
||||
// sql = "select exists (select 1 from wxxd.express_optimize where order_id='" + order_id + "')";
|
||||
// var exist = mySql.ExecuteFirstInt(sql);
|
||||
// if (exist > 0)
|
||||
// {
|
||||
@@ -565,6 +577,11 @@ namespace KJD_Web.BLL.WXXD
|
||||
string sql = "";
|
||||
sql = "select exists (select 1 from wxxd.express_optimize_rst where order_id='" + order_id + "')";
|
||||
var exist = mySql.ExecuteFirstInt(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
}
|
||||
if (exist > 0)
|
||||
{
|
||||
sql = " UPDATE wxxd.express_optimize_rst SET ";
|
||||
|
||||
@@ -683,7 +683,179 @@ namespace KJD_Web.BLL.WXXD
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string WXAddMdyShopDefaultAfterSale(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
// 软件用户名
|
||||
string user_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.Replace("'", "\\'");
|
||||
string shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
|
||||
string province_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "province_name"))?.Replace("'", "\\'");
|
||||
string city_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "city_name"))?.Replace("'", "\\'");
|
||||
string county_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "county_name"))?.Replace("'", "\\'");
|
||||
string detail_info = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "detail_info"))?.Replace("'", "\\'");
|
||||
string tel_number = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "tel_number"))?.Replace("'", "\\'");
|
||||
// 收件人
|
||||
string user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "receiver"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty("user_id"))
|
||||
return "{\"code\":500,\"msg\":\"缺少用户编号\"}";
|
||||
if (string.IsNullOrEmpty("after_sale_json"))
|
||||
return "{\"code\":500,\"msg\":\"缺少店铺编号\"}";
|
||||
if (string.IsNullOrEmpty("province_name") || string.IsNullOrEmpty("city_name") || string.IsNullOrEmpty("county_name") || string.IsNullOrEmpty("detail_info"))
|
||||
return "{\"code\":500,\"msg\":\"省市区或详细地址不完整\"}";
|
||||
if (string.IsNullOrEmpty("user_name"))
|
||||
return "{\"code\":500,\"msg\":\"缺少收件人\"}";
|
||||
if (string.IsNullOrEmpty("tel_number"))
|
||||
return "{\"code\":500,\"msg\":\"缺少收件人电话\"}";
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "SELECT 1 FROM `wxxd`.`wx_shop_default_address` where user_id='" + user_id + "' AND shop_id='" + shop_id + "'";
|
||||
string where = "";
|
||||
sql += where;
|
||||
var exist = mySql.ExecuteFirstInt(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
}
|
||||
|
||||
if (exist == 0)
|
||||
{
|
||||
sql = " INSERT INTO `wxxd`.`wx_shop_default_address` (user_id,shop_id,province_name,city_name,county_name,detail_info,tel_number,user_name)" +
|
||||
" VALUES (@user_id,@shop_id,@province_name,@city_name,@county_name,@detail_info,@tel_number,@user_name);";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "UPDATE `wxxd`.`wx_shop_default_address` SET ";
|
||||
if (province_name != null)
|
||||
sql += " province_name=@province_name,";
|
||||
if (city_name != null)
|
||||
sql += " city_name=@city_name,";
|
||||
if (county_name != null)
|
||||
sql += " county_name=@county_name,";
|
||||
if (detail_info != null)
|
||||
sql += " detail_info=@detail_info,";
|
||||
if (tel_number != null)
|
||||
sql += " tel_number=@tel_number,";
|
||||
if (user_name != null)
|
||||
sql += " user_name=@user_name,";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " WHERE user_id=@user_id and shop_id=@shop_id;";
|
||||
}
|
||||
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "province_name", Value = province_name, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "city_name", Value = city_name, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "county_name", Value = county_name, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "detail_info", Value = detail_info, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "tel_number", Value = tel_number, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_name", Value = user_name, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_id", Value = user_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_id", Value = shop_id, });
|
||||
mySql.ExecuteNonQuery(sql, paramLst.ToArray());
|
||||
mySql.Close();
|
||||
if (string.IsNullOrEmpty(mySql.Message))
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":\"\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\",\"data\":\"\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string WXGetShopDefaultAfterSaleList(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var timeCalc = DateTime.Now;
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
||||
string user_id = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'");
|
||||
string shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", "\\'");
|
||||
string not_count = RegexUtils.GetStringQuery(ref inputData, "not_count")?.Replace("'", "\\'");
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "";
|
||||
var count = 0;
|
||||
|
||||
sql = "SELECT count(*) FROM `wxxd`.`wx_shop_default_address` where 1=1";
|
||||
string where = "";
|
||||
if (user_id != null)
|
||||
where += " and user_id='" + user_id + "'";
|
||||
if (shop_ids != null)
|
||||
where += " and shop_ids IN ('" + shop_ids.Replace(",", "','") + "')";
|
||||
sql += where;
|
||||
sql += ";";
|
||||
|
||||
if (not_count != "true")
|
||||
count = mySql.ExecuteRowCount(sql);
|
||||
|
||||
DataTable dt;
|
||||
if (count == 0 && not_count != "true")
|
||||
{
|
||||
dt = new DataTable();
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT * FROM `wxxd`.`wx_shop_default_address` where 1=1";
|
||||
sql += where;
|
||||
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
}
|
||||
mySql.Close();
|
||||
|
||||
if (dt != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<WXShopDefaultAddressInfo> WXShopDefaultAddressInfoLst = new List<WXShopDefaultAddressInfo>();
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
WXShopDefaultAddressInfoLst.Add(new WXShopDefaultAddressInfo()
|
||||
{
|
||||
id = row["id"].ParseToInt(),
|
||||
city_name = row["city_name"].ParseToString(),
|
||||
county_name = row["county_name"].ParseToString(),
|
||||
detail_info = row["detail_info"].ParseToString(),
|
||||
province_name = row["province_name"].ParseToString(),
|
||||
shop_id = row["shop_id"].ParseToString(),
|
||||
tel_number = row["tel_number"].ParseToString(),
|
||||
user_id = row["user_id"].ParseToString(),
|
||||
user_name = row["user_name"].ParseToString(),
|
||||
add_time = Convert.ToDateTime(row["add_time"]),
|
||||
mdy_time = Convert.ToDateTime(row["mdy_time"]),
|
||||
});
|
||||
}
|
||||
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
||||
var data = JsonUtils.SerializeObjectToString(WXShopDefaultAddressInfoLst, jsonSetting);
|
||||
var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000");
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
|
||||
public string WXAddMdyAfterSale(string inputData)
|
||||
@@ -703,11 +875,11 @@ namespace KJD_Web.BLL.WXXD
|
||||
|
||||
//int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
//int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
string coid = RegexUtils.GetStringQuery(ref inputData, "coid")?.Replace("'", "\\'");
|
||||
string coid = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "coid"))?.Replace("'", "\\'");
|
||||
string after_sale_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "after_sale_json"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty("coid"))
|
||||
if (string.IsNullOrEmpty(coid))
|
||||
return "{\"code\":50001,\"msg\":\"没有售后编号\"}";
|
||||
if (string.IsNullOrEmpty("after_sale_json"))
|
||||
if (string.IsNullOrEmpty(after_sale_json))
|
||||
return "{\"code\":50001,\"msg\":\"没有售后信息\"}";
|
||||
string supplier_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "supplier_name"))?.Replace("'", "\\'");
|
||||
string type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "type"))?.Replace("'", "\\'");
|
||||
@@ -766,7 +938,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上货实时获取
|
||||
/// 上货实时获取聚水潭等外部平台售后地址
|
||||
/// </summary>
|
||||
/// <param name="inputData"></param>
|
||||
/// <returns></returns>
|
||||
@@ -829,7 +1001,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 售后列表管理
|
||||
/// 聚水潭等外部平台售后列表
|
||||
/// </summary>
|
||||
/// <param name="inputData"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
@@ -96,8 +96,8 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT s.*,se.user_points_expire_time FROM wxxd.shop s" +
|
||||
" LEFT JOIN wxxd.shop_expire se ON s.shop_id=se.shop_id" +
|
||||
sql = "SELECT s.*,se.expire_time FROM wxxd.shop s" +
|
||||
" LEFT JOIN wxxd.user_points_shop_expire se ON s.shop_id=se.shop_id" +
|
||||
" WHERE 1=1";
|
||||
sql += where; // where 子句
|
||||
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
<Compile Include="Model\WxModel\WXGetEditProductInfoLite.cs" />
|
||||
<Compile Include="Model\WxModel\WxOptimizeExpressInfo.cs" />
|
||||
<Compile Include="Model\WxProdSecretSpuIdShopIdMapParam.cs" />
|
||||
<Compile Include="Model\WXShopDefaultAddressInfo.cs" />
|
||||
<Compile Include="Upload\Prod\WXProd.aspx.cs">
|
||||
<DependentUpon>WXProd.aspx</DependentUpon>
|
||||
</Compile>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace KJD_Web.Model
|
||||
{
|
||||
public class WXShopDefaultAddressInfo
|
||||
{
|
||||
public int? id { get; set; }
|
||||
public string user_id { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public string province_name { get; set; }
|
||||
public string city_name { get; set; }
|
||||
public string county_name { get; set; }
|
||||
public string detail_info { get; set; }
|
||||
public string tel_number { get; set; }
|
||||
public string user_name { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -197,6 +197,29 @@ namespace KJD_Web
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void wx_add_mdy_shop_default_after_sale()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXProductManage().WXAddMdyShopDefaultAfterSale(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
[WebMethod]
|
||||
public void wx_get_shop_default_after_sale_list()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXProductManage().WXGetShopDefaultAfterSaleList(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void wx_add_mdy_after_sale()
|
||||
{
|
||||
|
||||
@@ -166,6 +166,12 @@
|
||||
<DependentUpon>ExprotProductForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductForms\WXProdViolationManage.cs" />
|
||||
<Compile Include="PDDForms\ProductSelectForms\JstBanPlatformForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\JstBanPlatformForm.Designer.cs">
|
||||
<DependentUpon>JstBanPlatformForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDGetChanceProdByImgForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -280,6 +286,12 @@
|
||||
<Compile Include="WXForms\ProductForms\WXFinderSquareForm.Designer.cs">
|
||||
<DependentUpon>WXFinderSquareForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ShopForms\WXShopAfterSaleAddressListForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ShopForms\WXShopAfterSaleAddressListForm.Designer.cs">
|
||||
<DependentUpon>WXShopAfterSaleAddressListForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ShopForms\WXShopOptimizeForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -1238,6 +1250,9 @@
|
||||
<EmbeddedResource Include="PDDForms\ProductForms\ExprotProductForm.resx">
|
||||
<DependentUpon>ExprotProductForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\JstBanPlatformForm.resx">
|
||||
<DependentUpon>JstBanPlatformForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDGetChanceProdByImgForm.resx">
|
||||
<DependentUpon>PDDGetChanceProdByImgForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -1331,6 +1346,9 @@
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXProductForm.resx">
|
||||
<DependentUpon>WXProductForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ShopForms\WXShopAfterSaleAddressListForm.resx">
|
||||
<DependentUpon>WXShopAfterSaleAddressListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ShopForms\WXShopOptimizeForm.resx">
|
||||
<DependentUpon>WXShopOptimizeForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+106
-36
@@ -32,16 +32,21 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.txtLowPriceAddPriceTimes = new System.Windows.Forms.TextBox();
|
||||
this.txtLowPriceAddMorePrice = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.chkLowPrice = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.txtMultiCnt = new System.Windows.Forms.TextBox();
|
||||
@@ -192,6 +197,11 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx2.Controls.Add(this.txtLowPriceAddPriceTimes);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.txtLowPriceAddMorePrice);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.label8);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.label13);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.label7);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.chkLowPrice);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.label6);
|
||||
this.ucGroupBoxEx2.Controls.Add(this.txtMultiCnt);
|
||||
@@ -233,6 +243,61 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
this.ucGroupBoxEx2.TabStop = false;
|
||||
this.ucGroupBoxEx2.Text = "活动价格配置";
|
||||
//
|
||||
// txtLowPriceAddTimes
|
||||
//
|
||||
this.txtLowPriceAddPriceTimes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.txtLowPriceAddPriceTimes.Location = new System.Drawing.Point(770, 89);
|
||||
this.txtLowPriceAddPriceTimes.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtLowPriceAddPriceTimes.Name = "txtLowPriceAddTimes";
|
||||
this.txtLowPriceAddPriceTimes.Size = new System.Drawing.Size(31, 23);
|
||||
this.txtLowPriceAddPriceTimes.TabIndex = 924;
|
||||
this.txtLowPriceAddPriceTimes.Text = "1.0";
|
||||
this.txtLowPriceAddPriceTimes.TextChanged += new System.EventHandler(this.txtAddPrice_TextChanged);
|
||||
//
|
||||
// txtLowPriceAddMorePrice
|
||||
//
|
||||
this.txtLowPriceAddMorePrice.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.txtLowPriceAddMorePrice.Location = new System.Drawing.Point(843, 89);
|
||||
this.txtLowPriceAddMorePrice.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtLowPriceAddMorePrice.Name = "txtLowPriceAddMorePrice";
|
||||
this.txtLowPriceAddMorePrice.Size = new System.Drawing.Size(31, 23);
|
||||
this.txtLowPriceAddMorePrice.TabIndex = 927;
|
||||
this.txtLowPriceAddMorePrice.Text = "0";
|
||||
this.txtLowPriceAddMorePrice.TextChanged += new System.EventHandler(this.txtAddPrice_TextChanged);
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(801, 92);
|
||||
this.label8.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(44, 17);
|
||||
this.label8.TabIndex = 926;
|
||||
this.label8.Text = "倍再加";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
this.label13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Location = new System.Drawing.Point(874, 92);
|
||||
this.label13.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(20, 17);
|
||||
this.label13.TabIndex = 928;
|
||||
this.label13.Text = "元";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(727, 92);
|
||||
this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(44, 17);
|
||||
this.label7.TabIndex = 925;
|
||||
this.label7.Text = "加价加";
|
||||
//
|
||||
// chkLowPrice
|
||||
//
|
||||
this.chkLowPrice.AutoSize = true;
|
||||
@@ -1053,19 +1118,19 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.dgvShop.AutoRowNumber = true;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -1270,19 +1335,19 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
//
|
||||
this.dgvActProduct.AllowUserToAddRows = false;
|
||||
this.dgvActProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvActProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvActProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.dgvActProduct.AutoRowNumber = true;
|
||||
this.dgvActProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvActProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvActProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvActProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.dgvActProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvActProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
@@ -1331,8 +1396,8 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13;
|
||||
this.colSupplierName.Frozen = true;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
@@ -1387,8 +1452,8 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle14;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
@@ -1415,8 +1480,8 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
//
|
||||
// colUpdateTime
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colUpdateTime.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colUpdateTime.DefaultCellStyle = dataGridViewCellStyle15;
|
||||
this.colUpdateTime.FillWeight = 80F;
|
||||
this.colUpdateTime.HeaderText = "上架时间";
|
||||
this.colUpdateTime.Name = "colUpdateTime";
|
||||
@@ -1432,8 +1497,8 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
//
|
||||
// colOpResult
|
||||
//
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colOpResult.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colOpResult.DefaultCellStyle = dataGridViewCellStyle16;
|
||||
this.colOpResult.HeaderText = "操作结果";
|
||||
this.colOpResult.Name = "colOpResult";
|
||||
this.colOpResult.ReadOnly = true;
|
||||
@@ -1678,5 +1743,10 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox txtMultiCnt;
|
||||
private UserComponent.UcCheckBox chkLowPrice;
|
||||
private System.Windows.Forms.TextBox txtLowPriceAddPriceTimes;
|
||||
private System.Windows.Forms.TextBox txtLowPriceAddMorePrice;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.Label label7;
|
||||
}
|
||||
}
|
||||
@@ -103,11 +103,13 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
defaultAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig<AddPriceRule>("pdd_default_add_price_rule_for_activity");
|
||||
if (defaultAddPriceRule == null)
|
||||
{
|
||||
defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1 };
|
||||
defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1, LowPriceAddPriceTimes = 1, LowPriceAddMorePrice = 0 };
|
||||
}
|
||||
this.txtAddTimes.Text = defaultAddPriceRule.AddPriceTimes.ToString();
|
||||
this.txtAddMorePrice.Text = defaultAddPriceRule.AddMorePrice.ToString();
|
||||
this.txtSinglePriceAdd.Text = defaultAddPriceRule.SinglePriceAdd.ToString();
|
||||
this.txtLowPriceAddPriceTimes.Text = defaultAddPriceRule.LowPriceAddPriceTimes.ToString();
|
||||
this.txtLowPriceAddMorePrice.Text = defaultAddPriceRule.LowPriceAddMorePrice.ToString();
|
||||
this.txtStockNum.Text = defaultAddPriceRule.StockNum.ToString();
|
||||
this.txtAddShippingFeeTimes.Text = defaultAddPriceRule.AddShippingFeeTimes.ToString();
|
||||
this.chkAddMorePriceFirst.Checked = defaultAddPriceRule.AddMorePriceFirst;
|
||||
@@ -634,6 +636,28 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
Thread.Sleep((moreSleepTime * 1000).ParseToInt());
|
||||
for (int i = 0; i < 5 && activityRst1.Contains("频繁"); i++)
|
||||
{
|
||||
if (i > 0)
|
||||
{
|
||||
int totalPage = 9999;
|
||||
int page = 1;
|
||||
int readCount = 0;
|
||||
while (page < totalPage)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(2000, 5000));
|
||||
var refreshRst = get_activity_goods_list_info(shop, page, "20981");
|
||||
if (totalPage == 9999)
|
||||
totalPage = BaseRegex.GetIntJson(ref refreshRst, "total_page");
|
||||
|
||||
if (!refreshRst.ParseToString().Contains("\"result\":[]"))
|
||||
{
|
||||
readCount++;
|
||||
if (readCount > Randomx.GetId(2, 5))
|
||||
break;
|
||||
}
|
||||
page++;
|
||||
}
|
||||
}
|
||||
|
||||
activityRst1 = activity_goods_info(shop, prodParams.Select(p => p.goods_id.ParseToString()).ToList(), "20981");
|
||||
//activityRst1 = activity_goods_price_rule(shop, string.Join(",", prodParams.Select(p => p.goods_id.ParseToString()).ToList()), 20981, 27);
|
||||
Thread.Sleep(Randomx.GetId(1000, 2000));
|
||||
@@ -708,6 +732,28 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
Thread.Sleep((moreSleepTime * 1000).ParseToInt());
|
||||
for (int i = 0; i < 5 && activityRst1.Contains("频繁"); i++)
|
||||
{
|
||||
if (i > 0)
|
||||
{
|
||||
int totalPage = 9999;
|
||||
int page = 1;
|
||||
int readCount = 0;
|
||||
while (page < totalPage)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(2000, 5000));
|
||||
var refreshRst = get_activity_goods_list_info(shop, page, "20981");
|
||||
if (totalPage == 9999)
|
||||
totalPage = BaseRegex.GetIntJson(ref refreshRst, "total_page");
|
||||
|
||||
if (!refreshRst.ParseToString().Contains("\"result\":[]"))
|
||||
{
|
||||
readCount++;
|
||||
if (readCount > Randomx.GetId(2, 5))
|
||||
break;
|
||||
}
|
||||
page++;
|
||||
}
|
||||
}
|
||||
|
||||
activityRst1 = activity_goods_info(shop, prodParams.Select(p => p.goods_id.ParseToString()).ToList(), "20981");
|
||||
//activityRst1 = activity_goods_price_rule(shop, string.Join(",", prodParams.Select(p => p.goods_id.ParseToString()).ToList()), 20981, 27);
|
||||
Thread.Sleep(Randomx.GetId(1000, 2000));
|
||||
@@ -2099,7 +2145,7 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
string refere = "https://mms.pinduoduo.com/act/multi-act-enroll?activityId=" + activityId + "&SourceType=PROMO-OwnHome";
|
||||
|
||||
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
for (int i = 0; i < 5 && (result.Contains("当前请求频繁,请2小时后重试") || result.Contains("网络繁忙,请不要频繁操作") || result.Contains("您的店铺操作过于频繁,请稍后操作")); i++)
|
||||
for (int i = 0; i < 1 && (result.Contains("当前请求频繁,请2小时后重试") || result.Contains("网络繁忙,请不要频繁操作") || result.Contains("您的店铺操作过于频繁,请稍后操作")); i++)
|
||||
{
|
||||
shop.AntiContents.Remove(anti);
|
||||
anti = shop.AntiContents.FirstOrDefault().ParseToString();
|
||||
@@ -2630,6 +2676,8 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
{
|
||||
defaultAddPriceRule.AddPriceTimes = txtAddTimes.Text.Trim().ParseToDecimal();
|
||||
defaultAddPriceRule.AddMorePrice = txtAddMorePrice.Text.Trim().ParseToDecimal();
|
||||
defaultAddPriceRule.LowPriceAddPriceTimes = txtLowPriceAddPriceTimes.Text.Trim().ParseToDecimal();
|
||||
defaultAddPriceRule.LowPriceAddMorePrice = txtLowPriceAddMorePrice.Text.Trim().ParseToDecimal();
|
||||
defaultAddPriceRule.SinglePriceAdd = txtSinglePriceAdd.Text.Trim().ParseToDecimal();
|
||||
defaultAddPriceRule.StockNum = txtStockNum.Text.Trim().ParseToInt();
|
||||
defaultAddPriceRule.AddShippingFeeTimes = txtAddShippingFeeTimes.Text.Trim().ParseToDecimal();
|
||||
@@ -3263,7 +3311,25 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
var skuTmpLst = prodParam.skus.Where(s => s.multi_price == lowPrice).ToList();
|
||||
var prodInfo = lstActListProdInfo.FirstOrDefault(a => a.goods_id == prodParam.goods_id).productInfo;
|
||||
var skuInfos = prodInfo.detail.sku.Where(s => skuTmpLst.Any(st => st.out_sku_sn == s.out_sku_sn)).ToList();
|
||||
|
||||
// 校验sku是否存在
|
||||
if (skuInfos.Count == 0 || skuInfos.FirstOrDefault().multi_price == null)
|
||||
{
|
||||
goodsIds.Add(prodParam.goods_id);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var rw in rws)
|
||||
rw.Cells["colOpResult"].Value = rw.Cells["colOpResult"].Value.ParseToString().Replace("正在设置低价Sku", "设置低价Sku失败 获取价格失败");
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
|
||||
var newMultiPrice = skuInfos.Max(s => s.multi_price) + prodInfo.ship_price;
|
||||
//newMultiPrice = (newMultiPrice * txtLowPriceAddPriceTimes.Text.ParseToDecimal() + txtLowPriceAddMorePrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
if (defaultAddPriceRule.AddMorePriceFirst) // 先加后乘
|
||||
newMultiPrice = ((newMultiPrice + txtLowPriceAddMorePrice.Text.ParseToDecimal() * 100) * txtLowPriceAddPriceTimes.Text.ParseToDecimal()).ParseToInt();
|
||||
else
|
||||
newMultiPrice = (newMultiPrice * txtLowPriceAddPriceTimes.Text.ParseToDecimal() + txtLowPriceAddMorePrice.Text.ParseToDecimal() * 100).ParseToInt();
|
||||
|
||||
PddEditProdStockQuantity prodQuantity = new PddEditProdStockQuantity();
|
||||
prodQuantity.data = new List<quantityData>();
|
||||
@@ -3315,6 +3381,11 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
|
||||
rowOperateLst = rowOperateLst.Where(r => prodParamLst.Any(p => p.goods_id == r.Cells["colSpuId"].Value.ParseToLong())).ToList();
|
||||
}
|
||||
|
||||
if (prodParamLst.Count == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
string activityRsts = SignActivity(shop, prodParamLst, sign22347, sign20981, sign21365, sign15996, sign23513, sign23730, sign23456);
|
||||
failList = JsonHelper.DeserializeJsonToList<AddActivityFailInfo>(activityRsts);
|
||||
foreach (var prodParam in prodParamLst)
|
||||
|
||||
@@ -75,8 +75,9 @@ namespace TemuKJD.PDDForms.ProductForms
|
||||
var productId = BaseRegex.GetStringJson(ref sVioInfo, "productId");
|
||||
var productDesc = BaseRegex.GetStringJson(ref sVioInfo, "productDesc");
|
||||
//相似同款低质商品 不当使用他人权利
|
||||
if (!punishReason.Contains("发布违禁信息") && !punishReason.Contains("材质夸大宣传") &&
|
||||
!punishReason.Contains("价格违规") && !punishReason.Contains("售假") && !punishReason.Contains("品牌资质问题"))
|
||||
if (!punishReason.Contains("发布违禁信息") && !punishReason.Contains("材质夸大宣传") && !punishReason.Contains("相似同款低质商品") &&
|
||||
!punishReason.Contains("价格违规") && !punishReason.Contains("售假") && !punishReason.Contains("品牌资质问题") &&
|
||||
!punishReason.Contains("不当使用他人权利"))
|
||||
continue;
|
||||
if (!string.IsNullOrWhiteSpace(productDesc) && !string.IsNullOrWhiteSpace(productId))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,353 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class JstBanPlatformForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(JstBanPlatformForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.txtCoid = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.btnEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearchCoid = new DevComponents.DotNetBar.PanelEx();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvBanPlatform = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colCoid = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colBanWx = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colBanPdd = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOpreateResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvBanPlatform)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(1, 33);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtCoid);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label7);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnEmpty);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnSearchCoid);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1438, 686);
|
||||
this.splitContainer1.SplitterDistance = 110;
|
||||
this.splitContainer1.TabIndex = 1;
|
||||
//
|
||||
// txtCoid
|
||||
//
|
||||
this.txtCoid.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtCoid.Location = new System.Drawing.Point(102, 22);
|
||||
this.txtCoid.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.txtCoid.Name = "txtCoid";
|
||||
this.txtCoid.Size = new System.Drawing.Size(243, 23);
|
||||
this.txtCoid.TabIndex = 1029;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(31, 25);
|
||||
this.label7.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(81, 17);
|
||||
this.label7.TabIndex = 1028;
|
||||
this.label7.Text = "供应商coid:";
|
||||
//
|
||||
// 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(403, 22);
|
||||
this.btnEmpty.Name = "btnEmpty";
|
||||
this.btnEmpty.Size = new System.Drawing.Size(46, 23);
|
||||
this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnEmpty.Style.GradientAngle = 90;
|
||||
this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnEmpty.TabIndex = 1027;
|
||||
this.btnEmpty.Text = "清空";
|
||||
this.btnEmpty.Click += new System.EventHandler(this.btnEmpty_Click);
|
||||
//
|
||||
// btnSearchCoid
|
||||
//
|
||||
this.btnSearchCoid.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.btnSearchCoid.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSearchCoid.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearchCoid.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSearchCoid.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearchCoid.Location = new System.Drawing.Point(351, 22);
|
||||
this.btnSearchCoid.Name = "btnSearchCoid";
|
||||
this.btnSearchCoid.Size = new System.Drawing.Size(46, 23);
|
||||
this.btnSearchCoid.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearchCoid.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchCoid.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchCoid.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSearchCoid.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSearchCoid.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSearchCoid.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSearchCoid.Style.GradientAngle = 90;
|
||||
this.btnSearchCoid.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearchCoid.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchCoid.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearchCoid.TabIndex = 1023;
|
||||
this.btnSearchCoid.Text = "搜索";
|
||||
this.btnSearchCoid.Click += new System.EventHandler(this.btnSearch_Click);
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvBanPlatform);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1438, 572);
|
||||
this.splitContainer2.SplitterDistance = 543;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(694, 246);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbLoading.TabIndex = 7;
|
||||
this.pbLoading.TabStop = false;
|
||||
//
|
||||
// dgvBanPlatform
|
||||
//
|
||||
this.dgvBanPlatform.AllowUserToAddRows = false;
|
||||
this.dgvBanPlatform.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvBanPlatform.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvBanPlatform.AutoRowNumber = true;
|
||||
this.dgvBanPlatform.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvBanPlatform.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvBanPlatform.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.dgvBanPlatform.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvBanPlatform.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvBanPlatform.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colCoid,
|
||||
this.colSupplierName,
|
||||
this.colBanWx,
|
||||
this.colBanPdd,
|
||||
this.colOpreateResult});
|
||||
this.dgvBanPlatform.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvBanPlatform.Location = new System.Drawing.Point(4, 0);
|
||||
this.dgvBanPlatform.MultiSelectCheckBox = true;
|
||||
this.dgvBanPlatform.Name = "dgvBanPlatform";
|
||||
this.dgvBanPlatform.ReadOnly = true;
|
||||
this.dgvBanPlatform.RowTemplate.Height = 23;
|
||||
this.dgvBanPlatform.Size = new System.Drawing.Size(1430, 543);
|
||||
this.dgvBanPlatform.TabIndex = 6;
|
||||
this.dgvBanPlatform.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellClick);
|
||||
this.dgvBanPlatform.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick);
|
||||
this.dgvBanPlatform.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvDbProduct_Scroll);
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 10F;
|
||||
this.colSelect.HeaderText = "选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colCoid
|
||||
//
|
||||
this.colCoid.FillWeight = 50F;
|
||||
this.colCoid.HeaderText = "coid";
|
||||
this.colCoid.Name = "colCoid";
|
||||
this.colCoid.ReadOnly = true;
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.colSupplierName.HeaderText = "供应商名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
//
|
||||
// colBanWx
|
||||
//
|
||||
this.colBanWx.FillWeight = 30F;
|
||||
this.colBanWx.HeaderText = "微信禁售";
|
||||
this.colBanWx.Name = "colBanWx";
|
||||
this.colBanWx.ReadOnly = true;
|
||||
//
|
||||
// colBanPdd
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colBanPdd.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.colBanPdd.FillWeight = 30F;
|
||||
this.colBanPdd.HeaderText = "拼多多禁售";
|
||||
this.colBanPdd.Name = "colBanPdd";
|
||||
this.colBanPdd.ReadOnly = true;
|
||||
//
|
||||
// colOpreateResult
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colOpreateResult.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colOpreateResult.HeaderText = "操作结果";
|
||||
this.colOpreateResult.Name = "colOpreateResult";
|
||||
this.colOpreateResult.ReadOnly = true;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = true;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(985, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
|
||||
this.ucSplitPage1.PageSize = 100;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(453, 25);
|
||||
this.ucSplitPage1.TabIndex = 6;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// 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(1438, 25);
|
||||
this.statusBar.TabIndex = 5;
|
||||
//
|
||||
// JstBanPlatformForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1440, 720);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
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 = "JstBanPlatformForm";
|
||||
this.Text = "产品数据库";
|
||||
this.TitleText = "产品数据库";
|
||||
this.Load += new System.EventHandler(this.ProductListForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.ProductListForm_VisibleChanged);
|
||||
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.PDDDBProdListForm_KeyDown);
|
||||
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.PDDDBProdListForm_KeyUp);
|
||||
this.Controls.SetChildIndex(this.splitContainer1, 0);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvBanPlatform)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private UserControls.UcSplitPage ucSplitPage1;
|
||||
private UserControls.StatusBarUserControl statusBar;
|
||||
private UserComponent.DataGridViewEx dgvBanPlatform;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private System.Windows.Forms.TextBox txtCoid;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private DevComponents.DotNetBar.PanelEx btnEmpty;
|
||||
private DevComponents.DotNetBar.PanelEx btnSearchCoid;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCoid;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colBanWx;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colBanPdd;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpreateResult;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,309 @@
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Param;
|
||||
using AllBase.Model.Result;
|
||||
using AllBase.Model.Result._1688;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using AllBase.Model.Result.WXResult;
|
||||
using NaiBa.Util;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.ToolForms;
|
||||
using TemuKJD.WXForms.ProductForms;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class JstBanPlatformForm : BaseGeneralForm
|
||||
{
|
||||
ShopLoginInfo shop = null;
|
||||
public CancellationTokenSource cancellationTokenSource { get; set; } = new CancellationTokenSource();
|
||||
|
||||
ConcurrentList<KJDDBProduct> lstTemuDbProduct = new ConcurrentList<KJDDBProduct>();
|
||||
ConcurrentList<string> lstTitleReplaceText = new ConcurrentList<string>();
|
||||
|
||||
public JstBanPlatformForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public JstBanPlatformForm(ShopLoginInfo _shop)
|
||||
{
|
||||
InitializeComponent();
|
||||
shop = _shop;
|
||||
}
|
||||
|
||||
private void ProductListForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.dgvBanPlatform.AddSelectorColumn("colSelect");
|
||||
this.ucSplitPage1.PageChange += UcSplitPage1_PageChange;
|
||||
}
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.ucSplitPage1.CurrentPage != 1)
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
else
|
||||
SearchBanPlatForm(1);
|
||||
}
|
||||
|
||||
public void SearchBanPlatForm(int page)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvBanPlatform.Rows.Clear();
|
||||
lstTemuDbProduct.Clear();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvBanPlatform.Rows.Clear();
|
||||
lstTemuDbProduct.Clear();
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
int pageSize = 100;
|
||||
decimal seconds;
|
||||
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
|
||||
var list = GetProductList(out pageCount, out seconds, page, pageSize);
|
||||
lstTemuDbProduct.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
// 获取Bitmap的Graphics对象
|
||||
foreach (var prod in lstTemuDbProduct)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowIndex = this.dgvBanPlatform.Rows.Add(
|
||||
false,
|
||||
prod.id,
|
||||
prod.from_shop_id,
|
||||
prod.from_shop_name,
|
||||
prod.product_name,
|
||||
prod.sku_img_replace_url,
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
(prod.spu_id).Trim(),
|
||||
prod.skc_id
|
||||
);
|
||||
|
||||
dgvBanPlatform.Rows[rowIndex].Height = 50;
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
this.statusBar.lblTaskStatus.Text = "查询完毕";
|
||||
#if DEBUG
|
||||
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
|
||||
#endif
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
public List<KJDDBProduct> GetProductList(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
|
||||
{
|
||||
List<KJDDBProduct> list = new List<KJDDBProduct>();
|
||||
pageCount = 1;
|
||||
seconds = 0;
|
||||
|
||||
var url = BaseClass.BuildPDDObjString("product/get_ban_platform_list");
|
||||
var data = "";
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
"&page_size=" + pageSize +
|
||||
"&coids=" + txtCoid.Text.Trim();
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowError("获取商品列表失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
}));
|
||||
return list;
|
||||
}
|
||||
|
||||
seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
|
||||
int count = BaseRegex.GetIntJson(ref html, "count");
|
||||
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
|
||||
pageCount = Math.Max(pageCount, 1);
|
||||
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
if (jArr.Count() == 0)
|
||||
return list;
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
|
||||
try
|
||||
{
|
||||
list = JsonHelper.DeserializeJsonToList<KJDDBProduct>(sProd);
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new List<KJDDBProduct>();
|
||||
}
|
||||
}
|
||||
|
||||
bool first = true;
|
||||
private void ProductListForm_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Visible == true && first)
|
||||
{
|
||||
first = false;
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
SearchBanPlatForm(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
private void UcSplitPage1_PageChange(object obj)
|
||||
{
|
||||
SearchBanPlatForm(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
|
||||
private void btnEmpty_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.txtCoid.Text = "";
|
||||
}
|
||||
|
||||
private void dgvDbProduct_CellClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvBanPlatform.Columns[e.ColumnIndex].HeaderText;
|
||||
var dbId = dgvBanPlatform.Rows[e.RowIndex].Cells["col_db_id"].Value.ParseToString();
|
||||
var dbProduct = lstTemuDbProduct.FirstOrDefault(p => p.id.ToString() == dbId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "标题":
|
||||
dgvBanPlatform.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvBanPlatform.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvDbProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvBanPlatform.Columns[e.ColumnIndex].HeaderText;
|
||||
var dbId = dgvBanPlatform.Rows[e.RowIndex].Cells["col_db_id"].Value.ParseToString();
|
||||
var dbProduct = lstTemuDbProduct.FirstOrDefault(p => p.id.ToString() == dbId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "资料编码/真实上家":
|
||||
try
|
||||
{
|
||||
string url = "";
|
||||
if (string.IsNullOrEmpty(dbProduct.real_spu_id) || string.IsNullOrEmpty(dbProduct.real_coid))
|
||||
url = "https://sc.scm121.com/manage/goods/qualitySupplier/goodsDetail/" + dbProduct.spu_id + "?itemCoId=" + dbProduct.skc_id + "&noBack=true";
|
||||
else
|
||||
url = "https://sc.scm121.com/manage/goods/qualitySupplier/goodsDetail/" + dbProduct.real_spu_id + "?itemCoId=" + dbProduct.real_coid + "&noBack=true";
|
||||
Process.Start(new ProcessStartInfo(url)
|
||||
{
|
||||
UseShellExecute = true
|
||||
});
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 可能需要手动指定浏览器路径
|
||||
Process.Start(new ProcessStartInfo("https://www.baidu.com") { UseShellExecute = true });
|
||||
}
|
||||
break;
|
||||
case "":
|
||||
dgvBanPlatform.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvBanPlatform.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteProduct(string dbId, bool isUpdate = true)
|
||||
{
|
||||
var url = BaseClass.BuildPDDObjString("product/del_db_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&db_id=" + dbId;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowError("删除商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isUpdate)
|
||||
SearchBanPlatForm(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvDbProduct_Scroll(object sender, ScrollEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
//bool IsShiftDown = false;
|
||||
private void PDDDBProdListForm_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
//switch (e.KeyCode)
|
||||
//{
|
||||
// case Keys.Shift:
|
||||
// case Keys.ShiftKey:
|
||||
// case Keys.LShiftKey:
|
||||
// case Keys.RShiftKey:
|
||||
// IsShiftDown = true;
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
|
||||
private void PDDDBProdListForm_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
//switch (e.KeyCode)
|
||||
//{
|
||||
// case Keys.Shift:
|
||||
// case Keys.ShiftKey:
|
||||
// case Keys.LShiftKey:
|
||||
// case Keys.RShiftKey:
|
||||
// IsShiftDown = false;
|
||||
// rowIndex1 = -1;
|
||||
// rowIndex2 = -1;
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,316 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCoid.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colBanWx.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colBanPdd.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colOpreateResult.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+11
-11
@@ -772,7 +772,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"",
|
||||
"是",
|
||||
"否"});
|
||||
this.cmbPddRelation.Location = new System.Drawing.Point(743, 7);
|
||||
this.cmbPddRelation.Location = new System.Drawing.Point(743, 5);
|
||||
this.cmbPddRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbPddRelation.Name = "cmbPddRelation";
|
||||
this.cmbPddRelation.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -827,7 +827,7 @@ 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(278, 75);
|
||||
this.cmbCat2.Location = new System.Drawing.Point(278, 77);
|
||||
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat2.Name = "cmbCat2";
|
||||
this.cmbCat2.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -912,7 +912,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"机会商品",
|
||||
"以图搜品",
|
||||
"外部数据"});
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(278, 40);
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(278, 42);
|
||||
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSourceType.Name = "cmbSourceType";
|
||||
this.cmbSourceType.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -958,7 +958,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"",
|
||||
"是",
|
||||
"否"});
|
||||
this.cmbWxCat.Location = new System.Drawing.Point(622, 5);
|
||||
this.cmbWxCat.Location = new System.Drawing.Point(622, 7);
|
||||
this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbWxCat.Name = "cmbWxCat";
|
||||
this.cmbWxCat.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -980,7 +980,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.cmbSort.Items.AddRange(new object[] {
|
||||
"入库时间",
|
||||
"认领总数"});
|
||||
this.cmbSort.Location = new System.Drawing.Point(381, 40);
|
||||
this.cmbSort.Location = new System.Drawing.Point(381, 42);
|
||||
this.cmbSort.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSort.Name = "cmbSort";
|
||||
this.cmbSort.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1056,7 +1056,7 @@ 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(175, 40);
|
||||
this.cmbGroupFilter.Location = new System.Drawing.Point(175, 42);
|
||||
this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbGroupFilter.Name = "cmbGroupFilter";
|
||||
this.cmbGroupFilter.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1071,7 +1071,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"是",
|
||||
"否",
|
||||
"导出未拉回"});
|
||||
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 40);
|
||||
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 42);
|
||||
this.cmbExportToOutServer.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbExportToOutServer.Name = "cmbExportToOutServer";
|
||||
this.cmbExportToOutServer.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -1107,7 +1107,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"安全商品",
|
||||
"违规商品",
|
||||
"未校验"});
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(501, 40);
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(501, 42);
|
||||
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbWxSafe.Name = "cmbWxSafe";
|
||||
this.cmbWxSafe.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -1149,7 +1149,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
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(175, 75);
|
||||
this.cmbCat1.Location = new System.Drawing.Point(175, 77);
|
||||
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat1.Name = "cmbCat1";
|
||||
this.cmbCat1.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1171,7 +1171,7 @@ 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(381, 75);
|
||||
this.cmbCat3.Location = new System.Drawing.Point(381, 77);
|
||||
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat3.Name = "cmbCat3";
|
||||
this.cmbCat3.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1268,7 +1268,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"是",
|
||||
"否",
|
||||
"修复回传未拉回"});
|
||||
this.cmbHasReturn.Location = new System.Drawing.Point(743, 40);
|
||||
this.cmbHasReturn.Location = new System.Drawing.Point(743, 42);
|
||||
this.cmbHasReturn.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbHasReturn.Name = "cmbHasReturn";
|
||||
this.cmbHasReturn.Size = new System.Drawing.Size(47, 25);
|
||||
|
||||
@@ -126,7 +126,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
defaultAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig<AddPriceRule>("pdd_default_add_price_rule");
|
||||
if (defaultAddPriceRule == null)
|
||||
{
|
||||
defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1 };
|
||||
defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1, LowPriceAddPriceTimes = 1, LowPriceAddMorePrice = 0 };
|
||||
}
|
||||
this.txtAddTimes.Text = defaultAddPriceRule.AddPriceTimes.ToString();
|
||||
this.txtAddMorePrice.Text = defaultAddPriceRule.AddMorePrice.ToString();
|
||||
@@ -10415,6 +10415,14 @@ Content-Type: image/jpeg
|
||||
/// </summary>
|
||||
public decimal AddMorePrice { get; set; }
|
||||
/// <summary>
|
||||
/// 加价倍数
|
||||
/// </summary>
|
||||
public decimal LowPriceAddPriceTimes { get; set; } = 1;
|
||||
/// <summary>
|
||||
/// 额外加价金额
|
||||
/// </summary>
|
||||
public decimal LowPriceAddMorePrice { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 单买加价
|
||||
/// </summary>
|
||||
public decimal SinglePriceAdd { get; set; }
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace TemuKJD.ToolForms
|
||||
jAfterSale["county_name"] = txtCountyName.Text.Trim();
|
||||
jAfterSale["street_name"] = "";
|
||||
jAfterSale["detail_info"] = txtDetailInfo.Text.Trim();
|
||||
jAfterSale["number"] = txtCoid.Text.Trim();
|
||||
jAfterSale["number"] = txtCoid.Text.Trim().Split('>').LastOrDefault();
|
||||
jAfterSale["name"] = txtSupplierName.Text.Trim();
|
||||
|
||||
StringBuilder data = new StringBuilder();
|
||||
|
||||
@@ -1978,6 +1978,10 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
List<long> aiCateIdLst = new List<long>();
|
||||
// 聚水潭商品已识别类目使用类目缓存
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.wx_cat_leaf == null)
|
||||
{
|
||||
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"该商品类目信息不完整\"}";
|
||||
}
|
||||
// 微信商品使用类目缓存
|
||||
if (!dbProd.wx_cat_leaf.IsNullOrZero())
|
||||
{
|
||||
@@ -2255,7 +2259,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
var afterSaleAddress = "";
|
||||
var afterSaleDetail = "";
|
||||
// 厂商直采获取售后地址用于处理售后单
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.wx_cat_leaf != null)
|
||||
if (dbProd.product_get_type_text == "厂商直采")
|
||||
{
|
||||
|
||||
var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
|
||||
@@ -2322,7 +2326,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
}
|
||||
|
||||
if (dbProd.product_get_type_text == "1688厂家")
|
||||
else if (dbProd.product_get_type_text == "1688厂家")
|
||||
{
|
||||
var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
|
||||
var dataAfterSale = Work.UserLogin.GetSignaturex();
|
||||
@@ -2358,6 +2362,11 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(afterSaleAddress))
|
||||
{
|
||||
afterSaleDetail = BaseRegex.GetStringJson(ref afterSaleAddress, "detail_info");
|
||||
@@ -2419,7 +2428,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
var shippingTemplateJson = "";
|
||||
var shipPrice = 0;
|
||||
|
||||
if (dbProd.product_get_type_text == "厂商直采" && dbProd.wx_cat_leaf != null)
|
||||
if (dbProd.product_get_type_text == "厂商直采")
|
||||
{
|
||||
var urlShipping = BaseClass.BuildObjString("product/wx_get_shipping_template");
|
||||
var dataShipping = Work.UserLogin.GetSignaturex() +
|
||||
@@ -2512,7 +2521,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 运费模板
|
||||
#region 获取店铺运费模板
|
||||
var expressRst = WXUpload.getFreightTemplate(shop);
|
||||
if (!expressRst.Contains("\"code\":0") && !expressRst.Contains("\"success\":true"))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,645 @@
|
||||
namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
partial class WXShopAfterSaleAddressListForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.panel5 = new System.Windows.Forms.Panel();
|
||||
this.btnEdit = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.cmbGroup = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.cmbNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
|
||||
this.txtShopId = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.txtShopName = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
|
||||
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopAccount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colGroupName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colProvinceName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colCityName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colCountyName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colTelNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colDetailInfo = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
this.panel5.SuspendLayout();
|
||||
this.panel4.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(13, 13);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(201, 17);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "这里显示店铺列表 -- ShopListForm";
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1394, 622);
|
||||
this.splitContainer1.SplitterDistance = 46;
|
||||
this.splitContainer1.TabIndex = 33;
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
//
|
||||
this.tableLayoutPanel2.ColumnCount = 2;
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel2.Controls.Add(this.panel5, 1, 0);
|
||||
this.tableLayoutPanel2.Controls.Add(this.panel4, 0, 0);
|
||||
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 1;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(1394, 46);
|
||||
this.tableLayoutPanel2.TabIndex = 37;
|
||||
//
|
||||
// panel5
|
||||
//
|
||||
this.panel5.Controls.Add(this.btnEdit);
|
||||
this.panel5.Location = new System.Drawing.Point(1142, 3);
|
||||
this.panel5.Name = "panel5";
|
||||
this.panel5.Size = new System.Drawing.Size(249, 40);
|
||||
this.panel5.TabIndex = 1;
|
||||
//
|
||||
// btnEdit
|
||||
//
|
||||
this.btnEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnEdit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnEdit.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnEdit.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnEdit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnEdit.Location = new System.Drawing.Point(131, 8);
|
||||
this.btnEdit.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.btnEdit.Name = "btnEdit";
|
||||
this.btnEdit.Size = new System.Drawing.Size(100, 23);
|
||||
this.btnEdit.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEdit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEdit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnEdit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnEdit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnEdit.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnEdit.Style.GradientAngle = 90;
|
||||
this.btnEdit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEdit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEdit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEdit.TabIndex = 806;
|
||||
this.btnEdit.Text = "批量编辑选中";
|
||||
this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.Controls.Add(this.tableLayoutPanel1);
|
||||
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel4.Location = new System.Drawing.Point(3, 3);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Size = new System.Drawing.Size(1133, 40);
|
||||
this.panel4.TabIndex = 0;
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tableLayoutPanel1.ColumnCount = 14;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00067F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00066F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00066F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 24.99801F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 2F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 2F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 2F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.cmbGroup, 7, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.cmbNotes, 5, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.txtShopId, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label3, 2, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.txtShopName, 3, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label4, 4, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label6, 6, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.btnRefreshShop, 9, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.btnSearch, 11, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.pnlEmpty, 13, 0);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 1;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(858, 40);
|
||||
this.tableLayoutPanel1.TabIndex = 375;
|
||||
//
|
||||
// cmbGroup
|
||||
//
|
||||
this.cmbGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbGroup.DefaultText = "全部";
|
||||
this.cmbGroup.DropDownHeight = 1;
|
||||
this.cmbGroup.DropDownWidth = 1;
|
||||
this.cmbGroup.FormattingEnabled = true;
|
||||
this.cmbGroup.IntegralHeight = false;
|
||||
this.cmbGroup.Location = new System.Drawing.Point(544, 8);
|
||||
this.cmbGroup.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4);
|
||||
this.cmbGroup.Name = "cmbGroup";
|
||||
this.cmbGroup.Size = new System.Drawing.Size(127, 25);
|
||||
this.cmbGroup.TabIndex = 803;
|
||||
this.cmbGroup.Text = "全部";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 11);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(43, 17);
|
||||
this.label2.TabIndex = 373;
|
||||
this.label2.Text = "店铺id";
|
||||
//
|
||||
// cmbNotes
|
||||
//
|
||||
this.cmbNotes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbNotes.DefaultText = "全部";
|
||||
this.cmbNotes.DropDownHeight = 1;
|
||||
this.cmbNotes.DropDownWidth = 1;
|
||||
this.cmbNotes.FormattingEnabled = true;
|
||||
this.cmbNotes.IntegralHeight = false;
|
||||
this.cmbNotes.Location = new System.Drawing.Point(382, 8);
|
||||
this.cmbNotes.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4);
|
||||
this.cmbNotes.Name = "cmbNotes";
|
||||
this.cmbNotes.Size = new System.Drawing.Size(127, 25);
|
||||
this.cmbNotes.TabIndex = 413;
|
||||
this.cmbNotes.Text = "全部";
|
||||
//
|
||||
// txtShopId
|
||||
//
|
||||
this.txtShopId.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtShopId.Location = new System.Drawing.Point(46, 8);
|
||||
this.txtShopId.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.txtShopId.Name = "txtShopId";
|
||||
this.txtShopId.Size = new System.Drawing.Size(127, 23);
|
||||
this.txtShopId.TabIndex = 372;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(176, 11);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(44, 17);
|
||||
this.label3.TabIndex = 375;
|
||||
this.label3.Text = "店铺名";
|
||||
//
|
||||
// txtShopName
|
||||
//
|
||||
this.txtShopName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtShopName.Location = new System.Drawing.Point(220, 8);
|
||||
this.txtShopName.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.txtShopName.Name = "txtShopName";
|
||||
this.txtShopName.Size = new System.Drawing.Size(127, 23);
|
||||
this.txtShopName.TabIndex = 374;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(350, 11);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(32, 17);
|
||||
this.label4.TabIndex = 377;
|
||||
this.label4.Text = "备注";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(512, 11);
|
||||
this.label6.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(32, 17);
|
||||
this.label6.TabIndex = 415;
|
||||
this.label6.Text = "分组";
|
||||
//
|
||||
// btnRefreshShop
|
||||
//
|
||||
this.btnRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnRefreshShop.Location = new System.Drawing.Point(673, 8);
|
||||
this.btnRefreshShop.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.btnRefreshShop.Name = "btnRefreshShop";
|
||||
this.btnRefreshShop.Size = new System.Drawing.Size(60, 23);
|
||||
this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnRefreshShop.Style.GradientAngle = 90;
|
||||
this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnRefreshShop.TabIndex = 802;
|
||||
this.btnRefreshShop.Text = "刷新店铺";
|
||||
this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshCookie_Click);
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
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(735, 8);
|
||||
this.btnSearch.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(60, 23);
|
||||
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 = 798;
|
||||
this.btnSearch.Text = "筛选";
|
||||
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
|
||||
//
|
||||
// pnlEmpty
|
||||
//
|
||||
this.pnlEmpty.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(797, 8);
|
||||
this.pnlEmpty.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.pnlEmpty.Name = "pnlEmpty";
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(61, 23);
|
||||
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pnlEmpty.Style.GradientAngle = 90;
|
||||
this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pnlEmpty.TabIndex = 409;
|
||||
this.pnlEmpty.Text = "清空条件";
|
||||
this.pnlEmpty.Click += new System.EventHandler(this.btnEmpty_Click);
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvShop);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1394, 572);
|
||||
this.splitContainer2.SplitterDistance = 540;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(672, 245);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbLoading.TabIndex = 6;
|
||||
this.pbLoading.TabStop = false;
|
||||
//
|
||||
// dgvShop
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvShop.AutoRowNumber = true;
|
||||
this.dgvShop.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colLoginName,
|
||||
this.colShopId,
|
||||
this.colShopAccount,
|
||||
this.colNotes,
|
||||
this.colGroupName,
|
||||
this.colProvinceName,
|
||||
this.colCityName,
|
||||
this.colCountyName,
|
||||
this.colUserName,
|
||||
this.colTelNumber,
|
||||
this.colDetailInfo,
|
||||
this.colEdit,
|
||||
this.colDelete});
|
||||
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvShop.Location = new System.Drawing.Point(4, 0);
|
||||
this.dgvShop.MultiSelectCheckBox = true;
|
||||
this.dgvShop.Name = "dgvShop";
|
||||
this.dgvShop.ReadOnly = true;
|
||||
this.dgvShop.RowTemplate.Height = 23;
|
||||
this.dgvShop.Size = new System.Drawing.Size(1386, 540);
|
||||
this.dgvShop.TabIndex = 5;
|
||||
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
this.colSelect.HeaderText = "选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colLoginName
|
||||
//
|
||||
this.colLoginName.FillWeight = 70F;
|
||||
this.colLoginName.HeaderText = "店铺登录号码";
|
||||
this.colLoginName.Name = "colLoginName";
|
||||
this.colLoginName.ReadOnly = true;
|
||||
this.colLoginName.Visible = false;
|
||||
//
|
||||
// colShopId
|
||||
//
|
||||
this.colShopId.FillWeight = 70F;
|
||||
this.colShopId.HeaderText = "店铺Id";
|
||||
this.colShopId.Name = "colShopId";
|
||||
this.colShopId.ReadOnly = true;
|
||||
//
|
||||
// colShopAccount
|
||||
//
|
||||
this.colShopAccount.FillWeight = 70F;
|
||||
this.colShopAccount.HeaderText = "店铺账号";
|
||||
this.colShopAccount.Name = "colShopAccount";
|
||||
this.colShopAccount.ReadOnly = true;
|
||||
//
|
||||
// colNotes
|
||||
//
|
||||
this.colNotes.FillWeight = 70F;
|
||||
this.colNotes.HeaderText = "备注";
|
||||
this.colNotes.Name = "colNotes";
|
||||
this.colNotes.ReadOnly = true;
|
||||
//
|
||||
// colGroupName
|
||||
//
|
||||
this.colGroupName.FillWeight = 80F;
|
||||
this.colGroupName.HeaderText = "店铺分组";
|
||||
this.colGroupName.Name = "colGroupName";
|
||||
this.colGroupName.ReadOnly = true;
|
||||
//
|
||||
// colProvinceName
|
||||
//
|
||||
this.colProvinceName.FillWeight = 60F;
|
||||
this.colProvinceName.HeaderText = "省";
|
||||
this.colProvinceName.Name = "colProvinceName";
|
||||
this.colProvinceName.ReadOnly = true;
|
||||
//
|
||||
// colCityName
|
||||
//
|
||||
this.colCityName.FillWeight = 60F;
|
||||
this.colCityName.HeaderText = "市";
|
||||
this.colCityName.Name = "colCityName";
|
||||
this.colCityName.ReadOnly = true;
|
||||
//
|
||||
// colCountyName
|
||||
//
|
||||
this.colCountyName.FillWeight = 60F;
|
||||
this.colCountyName.HeaderText = "区/县";
|
||||
this.colCountyName.Name = "colCountyName";
|
||||
this.colCountyName.ReadOnly = true;
|
||||
//
|
||||
// colUserName
|
||||
//
|
||||
this.colUserName.FillWeight = 70F;
|
||||
this.colUserName.HeaderText = "收件人";
|
||||
this.colUserName.Name = "colUserName";
|
||||
this.colUserName.ReadOnly = true;
|
||||
//
|
||||
// colTelNumber
|
||||
//
|
||||
this.colTelNumber.FillWeight = 70F;
|
||||
this.colTelNumber.HeaderText = "电话";
|
||||
this.colTelNumber.Name = "colTelNumber";
|
||||
this.colTelNumber.ReadOnly = true;
|
||||
//
|
||||
// colDetailInfo
|
||||
//
|
||||
this.colDetailInfo.FillWeight = 200F;
|
||||
this.colDetailInfo.HeaderText = "详细地址";
|
||||
this.colDetailInfo.Name = "colDetailInfo";
|
||||
this.colDetailInfo.ReadOnly = true;
|
||||
//
|
||||
// colEdit
|
||||
//
|
||||
this.colEdit.FillWeight = 40F;
|
||||
this.colEdit.HeaderText = "编辑";
|
||||
this.colEdit.Name = "colEdit";
|
||||
this.colEdit.ReadOnly = true;
|
||||
this.colEdit.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colEdit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colDelete
|
||||
//
|
||||
this.colDelete.FillWeight = 40F;
|
||||
this.colDelete.HeaderText = "删除";
|
||||
this.colDelete.Name = "colDelete";
|
||||
this.colDelete.ReadOnly = true;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, -1);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1394, 29);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// WXShopAfterSaleAddressListForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.BackColor = System.Drawing.Color.White;
|
||||
this.ClientSize = new System.Drawing.Size(1394, 622);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.KeyPreview = true;
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.Name = "WXShopAfterSaleAddressListForm";
|
||||
this.Text = "售后地址管理";
|
||||
this.Load += new System.EventHandler(this.ShopListForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.ShopListForm_VisibleChanged);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
this.panel5.ResumeLayout(false);
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private UserControls.StatusBarUserControl statusBar;
|
||||
private UserComponent.DataGridViewEx dgvShop;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private System.Windows.Forms.TextBox txtShopName;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox txtShopId;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private DevComponents.DotNetBar.PanelEx pnlEmpty;
|
||||
private UserComponent.UcComboBoxMutiSelect cmbNotes;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private DevComponents.DotNetBar.PanelEx btnSearch;
|
||||
private DevComponents.DotNetBar.PanelEx btnRefreshShop;
|
||||
private UserComponent.UcComboBoxMutiSelect cmbGroup;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private DevComponents.DotNetBar.PanelEx btnEdit;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopAccount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colGroupName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProvinceName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCityName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCountyName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colTelNumber;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colDetailInfo;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,506 @@
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using AllBase.Model.Result.WXResult;
|
||||
using NaiBa.Util;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.Extension;
|
||||
using Work;
|
||||
//using TemuKJD.PDDForms.AdminForms;
|
||||
|
||||
namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
public partial class WXShopAfterSaleAddressListForm : BaseForm
|
||||
{
|
||||
public static bool IsOperate { get; set; } = false;
|
||||
private bool isLoading { get; set; } = false;
|
||||
|
||||
public ConcurrentList<WXShopDefaultAddressInfo> lstWXShopDefaultAddressInfo = new ConcurrentList<WXShopDefaultAddressInfo>();
|
||||
|
||||
public WXShopAfterSaleAddressListForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Sae_SaveComplete(object obj, object isAdd, object sender)
|
||||
{
|
||||
WXShopAddEditForm saeForm = sender as WXShopAddEditForm;
|
||||
var shopInfoLst = obj as List<ShopLoginInfo>;
|
||||
if (shopInfoLst != null)
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
Task.Run(() =>
|
||||
{
|
||||
if ((isAdd as bool?) == true)
|
||||
{
|
||||
int i = 1;
|
||||
foreach (var shopInfo in shopInfoLst)
|
||||
{
|
||||
Invoke(new Action(() => {
|
||||
this.statusBar.pgbTaskProgress.Value = i;
|
||||
this.statusBar.pgbTaskProgress.Text = i + "/" + shopInfoLst.Count;
|
||||
i++;
|
||||
}));
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.LoginName == shopInfo.LoginName);
|
||||
if (shop != null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺" + shopInfo.LoginName + "已存在!");
|
||||
}
|
||||
else
|
||||
{
|
||||
ShopBLL.AddServerShop(shopInfo);
|
||||
}
|
||||
}
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
int i = 1;
|
||||
foreach (var shopInfo in shopInfoLst)
|
||||
{
|
||||
Invoke(new Action(() => {
|
||||
this.statusBar.pgbTaskProgress.Value = i;
|
||||
this.statusBar.pgbTaskProgress.Text = i + "/" + shopInfoLst.Count;
|
||||
this.statusBar.pgbTaskProgress.Maximum = shopInfoLst.Count;
|
||||
i++;
|
||||
}));
|
||||
ShopBLL.MdyPDDWXServerShopSubInfo(shopInfo, saeForm.chkNotes.Checked, saeForm.chkShopGroup.Checked, saeForm.chkSubAccount.Checked);
|
||||
}
|
||||
RefreshDataGridView(false);
|
||||
//btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
this.statusBar.pgbTaskProgress.Text = "准备就绪";
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void RefreshDataGridView(bool updateStatus=true, List<ShopLoginInfo> shopUpdateLst = null)
|
||||
{
|
||||
if (isLoading)
|
||||
{
|
||||
//BaseMsgForm.ShowError("当前正在加载,请稍等");
|
||||
return;
|
||||
}
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
isLoading = true;
|
||||
while (StartUp.IsShopInit == false)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
cmbNotes.Items.Clear();
|
||||
var notes = GlobalConfig.ShopLoginList.Select(s => s.Notes).Distinct();
|
||||
cmbNotes.Items.AddRange(notes.Where(n => !n.IsNullOrEmpty()).ToArray());
|
||||
|
||||
cmbGroup.Items.Clear();
|
||||
var groups = GlobalConfig.ShopLoginList.Select(s => s.GroupName).Distinct();
|
||||
cmbGroup.Items.AddRange(groups.Where(n => !n.IsNullOrEmpty()).ToArray());
|
||||
}));
|
||||
|
||||
var shopList = GlobalConfig.ShopLoginList.Where(s => !string.IsNullOrEmpty(s.ShopId)
|
||||
|| GlobalConfig.ShopLoginList.Where(ss=>ss.LoginName == s.LoginName).Count() == 1)
|
||||
/*.OrderBy(s=>s.LoginName)*/.ToList();
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(cmbNotes.Text) && cmbNotes.Text.Trim() != "全部")
|
||||
{
|
||||
var notes = cmbNotes.Text.ToLower();
|
||||
var notesLst = cmbNotes.Text.ToLower().Split(new string[] { ";", ";", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
shopList = shopList.Where(s => s.Notes.ParseToString().ToLower().Contains(notes) || notesLst.Contains(s.Notes.ParseToString().ToLower())).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(cmbGroup.Text) && cmbGroup.Text.Trim() != "全部")
|
||||
{
|
||||
var group = cmbGroup.Text.ToLower();
|
||||
var groupLst = cmbGroup.Text.ToLower().Split(new string[] { ";", ";", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||
shopList = shopList.Where(s => s.GroupName.ParseToString().ToLower().Contains(group) || groupLst.Contains(s.GroupName.ParseToString().ToLower())).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(txtShopId.Text))
|
||||
{
|
||||
shopList = shopList.Where(s => s.ShopId.ParseToString().ToLower().Contains(txtShopId.Text.ToLower())).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(txtShopName.Text))
|
||||
{
|
||||
shopList = shopList.Where(s => s.ShopAccount.ParseToString().ToLower().Contains(txtShopName.Text.ToLower()) ||
|
||||
txtShopName.Text.ToLower().Split(new string[] { ",", ",", ";", ";", " " }, StringSplitOptions.RemoveEmptyEntries)
|
||||
.Contains(s.ShopAccount.ParseToString().ToLower())).ToList();
|
||||
}
|
||||
}));
|
||||
|
||||
List<string> shopIdList = GetCheckedShopIdList();
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
var rows = dgvShop.Rows.Cast<DataGridViewRow>().ToList();
|
||||
foreach (DataGridViewRow row in rows)
|
||||
{
|
||||
if (!shopList.Any(s => s.ShopId == row.Cells["colShopId"].Value.ParseToString()))
|
||||
this.dgvShop.Rows.Remove(row);
|
||||
}
|
||||
if (updateStatus)
|
||||
this.statusBar.pgbTaskProgress.Maximum = shopList.Count; // 显示总数
|
||||
}));
|
||||
|
||||
for (int i = 0; i < shopList.Count; i++)
|
||||
{
|
||||
if (this.Created && updateStatus && (i % 5 == 0 || i == shopList.Count - 1))
|
||||
{
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "正在加载...";
|
||||
this.statusBar.pgbTaskProgress.Value = (i + 1);
|
||||
this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopList.Count;
|
||||
}));
|
||||
}
|
||||
|
||||
if (shopUpdateLst != null && !shopUpdateLst.Contains(shopList[i]))
|
||||
continue;
|
||||
|
||||
AddDataGridViewRow(shopList[i], true, shopIdList.Contains(shopList[i].ShopId));
|
||||
}
|
||||
if (this.Created)
|
||||
{
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
if (updateStatus)
|
||||
this.statusBar.lblTaskStatus.Text = "加载完毕";
|
||||
this.pbLoading.Visible = false;
|
||||
}));
|
||||
}
|
||||
isLoading = false;
|
||||
});
|
||||
}
|
||||
|
||||
private void AddDataGridViewRow(ShopLoginInfo param, bool isRefresh = false, bool isRowCheck = false)
|
||||
{
|
||||
if (!this.Created)
|
||||
return;
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
DataGridViewRow dgvr = dgvShop.Rows.Cast<DataGridViewRow>().Where(p =>
|
||||
p.Cells.GetCellValueFromColumnName("colLoginName").ParseToString() == param.LoginName &&
|
||||
p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == param.ShopId).FirstOrDefault();
|
||||
|
||||
var addressInfo = lstWXShopDefaultAddressInfo.FirstOrDefault(a => a.shop_id == param.ShopId);
|
||||
if (addressInfo == null)
|
||||
addressInfo = new WXShopDefaultAddressInfo();
|
||||
|
||||
if (dgvr != null)
|
||||
{
|
||||
UpdateDataGridViewRowToken(dgvr, param, addressInfo);
|
||||
if (!isRefresh)
|
||||
{
|
||||
// help to scroll to checked
|
||||
dgvShop.CurrentCell = dgvr.Cells[2];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var subUserNames = param.SubUserName.Split(',').Where(su => !string.IsNullOrEmpty(su));
|
||||
var subUsers = WXSubAccountShopEditForm.lstAllSubAccount.Where(su => subUserNames.Contains(su.user_name));
|
||||
int rowIndex = this.dgvShop.Rows.Add(
|
||||
isRowCheck,
|
||||
param.LoginName,
|
||||
param.ShopId,
|
||||
param.ShopAccount,
|
||||
param.Notes,
|
||||
param.GroupName,
|
||||
addressInfo.province_name,
|
||||
addressInfo.city_name,
|
||||
addressInfo.county_name,
|
||||
addressInfo.user_name,
|
||||
addressInfo.tel_number,
|
||||
addressInfo.detail_info,
|
||||
"编辑",
|
||||
"删除");
|
||||
if (!isRefresh)
|
||||
{
|
||||
// help to scroll to latest checked
|
||||
dgvShop.CurrentCell = this.dgvShop.Rows[rowIndex].Cells[2];
|
||||
}
|
||||
dgvr = this.dgvShop.Rows[rowIndex];
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void UpdateDataGridViewRowToken(DataGridViewRow dgvr, ShopLoginInfo param, WXShopDefaultAddressInfo addressInfo)
|
||||
{
|
||||
if (dgvr == null || param == null)
|
||||
return;
|
||||
|
||||
var subUserNames = param.SubUserName.Split(',').Where(su => !string.IsNullOrEmpty(su));
|
||||
var subUsers = WXSubAccountShopEditForm.lstAllSubAccount.Where(su => subUserNames.Contains(su.user_name));
|
||||
dgvr.Cells["colLoginName"].Value = param.LoginName;
|
||||
dgvr.Cells["colShopAccount"].Value = param.ShopAccount;
|
||||
dgvr.Cells["colNotes"].Value = param.Notes;
|
||||
dgvr.Cells["colGroupName"].Value = param.GroupName;
|
||||
dgvr.Cells["colProvinceName"].Value = addressInfo.province_name;
|
||||
dgvr.Cells["colCityName"].Value = addressInfo.city_name;
|
||||
dgvr.Cells["colCountyName"].Value = addressInfo.county_name;
|
||||
dgvr.Cells["colUserName"].Value = addressInfo.user_name;
|
||||
dgvr.Cells["colTelNumber"].Value = addressInfo.tel_number;
|
||||
dgvr.Cells["colDetailInfo"].Value = addressInfo.detail_info;
|
||||
}
|
||||
|
||||
private void ShopListForm_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Visible == true)
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
RefreshDataGridView(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void ShopListForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (BaseClass.GroupId != 3)
|
||||
{
|
||||
//this.dgvShop.Columns["ColEdit"].Visible = false;
|
||||
this.dgvShop.Columns["colDelete"].Visible = false;
|
||||
this.dgvShop.Columns["colSubUser"].Visible = false;
|
||||
this.dgvShop.Columns["colSubUserAccount"].Visible = false;
|
||||
}
|
||||
if (BaseClass.UserAuthority.Contains("积分用户"))
|
||||
this.dgvShop.Columns["colExpireTime"].Visible = true;
|
||||
|
||||
this.dgvShop.AddSelectorColumn("colSelect");
|
||||
this.splitContainer2.FixedPanel = FixedPanel.Panel2;
|
||||
|
||||
foreach (var shop in GlobalConfig.ShopLoginList)
|
||||
{
|
||||
shop.ShopSubAccountList.Clear();
|
||||
if (!string.IsNullOrWhiteSpace(shop.SubUserName))
|
||||
{
|
||||
ShopSubAccountInfo subAccount = new ShopSubAccountInfo();
|
||||
subAccount.sub_user_name = shop.SubUserName;
|
||||
subAccount.user_name = shop.SubUserName;
|
||||
subAccount.shop_login_name = shop.LoginName;
|
||||
subAccount.group_id = "4";
|
||||
shop.ShopSubAccountList.Add(subAccount);
|
||||
}
|
||||
}
|
||||
|
||||
pbLoading.Visible = true;
|
||||
Task.Run(() =>
|
||||
{
|
||||
WXSubAccountShopEditForm.GetServerSubUser();
|
||||
GetShopDefaultAddress();
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
RefreshDataGridView(false);
|
||||
pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
|
||||
string loginName = dgvShop.Rows[e.RowIndex].Cells["colLoginName"].Value.ParseToString();
|
||||
string accountId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "进入店铺":
|
||||
IsOperate = true;
|
||||
{
|
||||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||||
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home";
|
||||
shopLoginForm.Show();
|
||||
}
|
||||
IsOperate = false;
|
||||
break;
|
||||
case "编辑":
|
||||
WXShopAddEditForm editForm = new WXShopAddEditForm(new List<ShopLoginInfo> { shop });
|
||||
editForm.SaveCompleteWithDescribe += Sae_SaveComplete;
|
||||
editForm.ShowDialog();
|
||||
break;
|
||||
default:
|
||||
dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteShop(int rowIndex)
|
||||
{
|
||||
string shopLoginName = this.dgvShop.Rows[rowIndex].Cells["colLoginName"].Value.ParseToString();
|
||||
List<DataGridViewRow> dgvRows = dgvShop.Rows.Cast<DataGridViewRow>().Where(p =>
|
||||
p.Cells.GetCellValueFromColumnName("colLoginName").ParseToString() == shopLoginName).ToList();
|
||||
|
||||
foreach(var row in dgvRows)
|
||||
dgvShop.Rows.Remove(row);
|
||||
GlobalConfig.ShopLoginList.RemoveAll(v => v.LoginName == shopLoginName);
|
||||
}
|
||||
|
||||
private void btnRefreshCookie_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.splitContainer1.Panel1.Enabled = false;
|
||||
var t = Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
WXShopListForm.UpdateShop();
|
||||
WXSubAccountShopEditForm.GetServerSubUser();
|
||||
GetShopDefaultAddress();
|
||||
RefreshDataGridView(false);
|
||||
}
|
||||
catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); }
|
||||
});
|
||||
Task.Run(() =>
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
if (t.IsCompleted || t.IsCanceled || t.IsFaulted)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
this.splitContainer1.Panel1.Enabled = true;
|
||||
}));
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void GetShopDefaultAddress()
|
||||
{
|
||||
lstWXShopDefaultAddressInfo.Clear();
|
||||
|
||||
var tmpShopLst = new List<ShopLoginInfo>();
|
||||
tmpShopLst.AddRange(GlobalConfig.ShopLoginList);
|
||||
|
||||
while (tmpShopLst.Count > 0)
|
||||
{
|
||||
var tmpLst = tmpShopLst.Take(50).ToList();
|
||||
tmpShopLst.RemoveAll(s => tmpLst.Any(ss => ss.ShopId == s.ShopId));
|
||||
|
||||
var url = BaseClass.BuildObjString("product/wx_get_shop_default_after_sale_list");
|
||||
var data = Work.UserLogin.GetSignaturex() + "&shop_ids=" + string.Join(",", tmpLst.Select(t => t.ShopId));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (!html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (!html.Contains("\"code\":200"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (errMsg.IsNullOrEmpty())
|
||||
errMsg = html;
|
||||
foreach (var shop in tmpLst)
|
||||
{
|
||||
//var rows = dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId).ToList();
|
||||
//Invoke(new Action(() =>
|
||||
//{
|
||||
// foreach (var row in rows)
|
||||
// {
|
||||
// row.Cells["colDetailInfo"].Value = "地址信息查询失败:" + html;
|
||||
// }
|
||||
//}));
|
||||
lstWXShopDefaultAddressInfo.Add(new WXShopDefaultAddressInfo() { user_id = shop.UserName, shop_id = shop.ShopId, detail_info = "地址信息查询失败:" + html });
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
var jsonObj = JsonHelper.JObjectParse(html)["data"];
|
||||
var lst = JsonHelper.DeserializeJsonToList<WXShopDefaultAddressInfo>(JsonHelper.SerializeObject(jsonObj));
|
||||
lstWXShopDefaultAddressInfo.AddRange(lst);
|
||||
}
|
||||
}
|
||||
|
||||
private List<string> GetCheckedList()
|
||||
{
|
||||
List<string> shopNameList = new List<string>();
|
||||
for (int i = 0; i < dgvShop.Rows.Count; i++)
|
||||
{
|
||||
if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool())
|
||||
{
|
||||
string shopName = dgvShop.Rows[i].Cells["colLoginName"].Value.ParseToString();
|
||||
shopNameList.Add(shopName);
|
||||
}
|
||||
}
|
||||
return shopNameList;
|
||||
}
|
||||
|
||||
private List<string> GetCheckedShopIdList()
|
||||
{
|
||||
List<string> shopNameList = new List<string>();
|
||||
for (int i = 0; i < dgvShop.Rows.Count; i++)
|
||||
{
|
||||
if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool())
|
||||
{
|
||||
string shopName = dgvShop.Rows[i].Cells["colShopId"].Value.ParseToString();
|
||||
shopNameList.Add(shopName);
|
||||
}
|
||||
}
|
||||
return shopNameList;
|
||||
}
|
||||
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
RefreshDataGridView(false);
|
||||
});
|
||||
}
|
||||
|
||||
private void btnEmpty_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.cmbNotes.Text = "全部";
|
||||
this.cmbGroup.Text = "全部";
|
||||
this.txtShopId.Text = "";
|
||||
this.txtShopName.Text = "";
|
||||
}
|
||||
|
||||
private void btnOpenOrder_Click(object sender, EventArgs e)
|
||||
{
|
||||
ShopLoginInfo shop = NaiBa.Util.Helper.ConfigHelper.LoadConfig<ShopLoginInfo>("wx_dian_tong_ling_login_info");
|
||||
if (shop == null)
|
||||
shop = new ShopLoginInfo();
|
||||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||||
shopLoginForm.txtUserName.ReadOnly = false;
|
||||
shopLoginForm.txtPassWord.ReadOnly = false;
|
||||
shopLoginForm.btnSaveUserInfo.Visible = true;
|
||||
shopLoginForm.InitUrl = "https://po.e57.cn/login?redirect=%2Findex";
|
||||
shopLoginForm.Show();
|
||||
}
|
||||
|
||||
private void btnEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<string> shopNameList = GetCheckedList();
|
||||
List<ShopLoginInfo> shops = GlobalConfig.ShopLoginList.Where(s => shopNameList.Contains(s.ShopId)).ToList();
|
||||
WXShopAddEditForm editForm = new WXShopAddEditForm(shops);
|
||||
editForm.chkSubAccount.Checked = editForm.chkShopGroup.Checked = editForm.chkNotes.Checked = false;
|
||||
editForm.SaveCompleteWithDescribe += Sae_SaveComplete;
|
||||
editForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLoginName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopAccount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colGroupName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProvinceName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCityName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCountyName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colTelNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDetailInfo.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colEdit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDelete.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
+15
-11
@@ -30,13 +30,15 @@
|
||||
{
|
||||
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表");
|
||||
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("子账号管理");
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("店铺经营统计");
|
||||
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("评分考核");
|
||||
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("默认地址管理");
|
||||
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("店铺经营统计");
|
||||
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("评分考核");
|
||||
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
treeNode3,
|
||||
treeNode4});
|
||||
treeNode4,
|
||||
treeNode5});
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
@@ -131,14 +133,16 @@
|
||||
treeNode1.Text = "店铺列表";
|
||||
treeNode2.Name = "子账号管理";
|
||||
treeNode2.Text = "子账号管理";
|
||||
treeNode3.Name = "店铺经营统计";
|
||||
treeNode3.Text = "店铺经营统计";
|
||||
treeNode4.Name = "评分考核";
|
||||
treeNode4.Text = "评分考核";
|
||||
treeNode5.Name = "店铺管理";
|
||||
treeNode5.Text = "店铺管理";
|
||||
treeNode3.Name = "默认地址管理";
|
||||
treeNode3.Text = "默认地址管理";
|
||||
treeNode4.Name = "店铺经营统计";
|
||||
treeNode4.Text = "店铺经营统计";
|
||||
treeNode5.Name = "评分考核";
|
||||
treeNode5.Text = "评分考核";
|
||||
treeNode6.Name = "店铺管理";
|
||||
treeNode6.Text = "店铺管理";
|
||||
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode5});
|
||||
treeNode6});
|
||||
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
|
||||
this.tv.Size = new System.Drawing.Size(140, 461);
|
||||
this.tv.TabIndex = 1;
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
public Lazy<WXSubAccountListForm> sbuAccountForm = new Lazy<WXSubAccountListForm>();
|
||||
public Lazy<WxShopStatisticsForm> shopStatisticsForm = new Lazy<WxShopStatisticsForm>();
|
||||
public Lazy<WXShopOptimizeForm> shopOptimizeForm = new Lazy<WXShopOptimizeForm>();
|
||||
public Lazy<WXShopAfterSaleAddressListForm> shopAfterSaleAddressListForm = new Lazy<WXShopAfterSaleAddressListForm>();
|
||||
|
||||
|
||||
public WXShopForm()
|
||||
@@ -34,13 +35,17 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
List<string> hideName = new List<string>() { "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
|
||||
List<string> hideName = new List<string>() { "默认地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
hideName.Remove("子账号管理");
|
||||
hideName.Remove("评分考核");
|
||||
}
|
||||
if (BaseClass.SaLevel ==1)
|
||||
{
|
||||
//hideName.Remove("默认地址管理");
|
||||
}
|
||||
|
||||
foreach (var item in hideName)
|
||||
{
|
||||
@@ -74,6 +79,9 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
case "店铺经营统计":
|
||||
SetForm(shopStatisticsForm.Value);
|
||||
break;
|
||||
case "默认地址管理":
|
||||
SetForm(shopAfterSaleAddressListForm.Value);
|
||||
break;
|
||||
case "评分考核":
|
||||
SetForm(shopOptimizeForm.Value);
|
||||
break;
|
||||
|
||||
@@ -1288,9 +1288,14 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
dgvPddBuyerOrder.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvPddBuyerOrder.Rows[e.RowIndex].Cells["colCheck"].Value;
|
||||
break;
|
||||
case "发送":
|
||||
if (tempWaitOrderLst.Any(o => o.order_sn == order.order_sn))
|
||||
return;
|
||||
Task.Run(() =>
|
||||
{
|
||||
SendOrderE57(order, true);
|
||||
if (1 == 1)
|
||||
SendOrderE57(order, true);
|
||||
else // 测试用
|
||||
SendOrderE57(order);
|
||||
});
|
||||
break;
|
||||
case "退货":
|
||||
@@ -1306,17 +1311,28 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
}
|
||||
}
|
||||
|
||||
bool isSendOrderE57 = false;
|
||||
ConcurrentList<PddBuyerOrderInfoLite> tempWaitOrderLst = new ConcurrentList<PddBuyerOrderInfoLite>();
|
||||
//bool isSendOrderE57 = false;
|
||||
public void SendOrderE57(PddBuyerOrderInfoLite order, bool resetSendStatus = false)
|
||||
{
|
||||
if (resetSendStatus == true)
|
||||
//if (resetSendStatus == true)
|
||||
//{
|
||||
// // 防止重复点击发送按钮
|
||||
// if (isSendOrderE57)
|
||||
// return;
|
||||
// isSendOrderE57 = true;
|
||||
// Task.Run(() => { Thread.Sleep(3000); isSendOrderE57 = false; });
|
||||
//}
|
||||
|
||||
if (tempWaitOrderLst.Any(o => o.order_sn == order.order_sn))
|
||||
return;
|
||||
tempWaitOrderLst.Add(order);
|
||||
Task.Run(() =>
|
||||
{
|
||||
// 防止重复点击发送按钮
|
||||
if (isSendOrderE57)
|
||||
return;
|
||||
isSendOrderE57 = true;
|
||||
Task.Run(() => { Thread.Sleep(2500); isSendOrderE57 = false; });
|
||||
}
|
||||
var orderSn = order.order_sn;
|
||||
Thread.Sleep(5000);
|
||||
tempWaitOrderLst.RemoveAll(o => o.order_sn == orderSn);
|
||||
});
|
||||
|
||||
if (order == null)
|
||||
return;
|
||||
@@ -1333,9 +1349,9 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
// 已发货且没有运单号的属于已退货,不再发送
|
||||
if (order.order_status_prompt != "拼单成功,待发货" && order.order_status_prompt != "免拼成功,待发货" && (
|
||||
order.order_status_prompt.Contains("交易成功") ||
|
||||
order.order_status_prompt.Contains("退款成功") ||
|
||||
//order.order_status_prompt.Contains("退款成功") ||
|
||||
//order.after_sales != null ||
|
||||
order.order_status_prompt.Contains("交易已取消") ||
|
||||
order.after_sales != null ||
|
||||
string.IsNullOrEmpty(order.tracking_number) ||
|
||||
string.IsNullOrEmpty(order.outExpressCompanyCode)))
|
||||
{
|
||||
@@ -1349,6 +1365,8 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
// 外采订单已发货的订单不再尝试发货
|
||||
//if (order.sendStatus == "已发送")
|
||||
// return;
|
||||
// 微信发货成功,外采订单已发货, orderNo:260429-064214802032823
|
||||
// 外采订单已发货, orderNo:260429-438189442672823
|
||||
if (order.sendStatus.Contains("外采订单已发货") || order.sendStatus.Contains("更新外采订单微信发货成功"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
@@ -1363,8 +1381,11 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
obj["outAmount"] = order.order_amount;
|
||||
obj["outAccount"] = order.buyerName;
|
||||
obj["outOrderNo"] = order.order_sn;
|
||||
obj["outExpressCompany"] = order.outExpressCompanyCode;
|
||||
obj["outExpressNo"] = order.tracking_number;
|
||||
if (!order.outExpressCompanyCode.IsNullOrEmpty() && !order.tracking_number.IsNullOrEmpty())
|
||||
{
|
||||
obj["outExpressCompany"] = order.outExpressCompanyCode;
|
||||
obj["outExpressNo"] = order.tracking_number;
|
||||
}
|
||||
var dataStr = JsonHelper.SerializeObject(obj);
|
||||
string url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/bind";
|
||||
//成功 "<ResultVo><code>0</code><msg>SUCCESS</msg><data/><totalRecords/></ResultVo>"
|
||||
@@ -1373,7 +1394,7 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
var exportRst = WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
|
||||
for (int i = 0; i < 5 && exportRst.Contains("操作超时"); i++)
|
||||
{
|
||||
Thread.Sleep(3000);
|
||||
Thread.Sleep(10000);
|
||||
WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
|
||||
}
|
||||
if (exportRst.Contains("操作超时"))
|
||||
@@ -1388,15 +1409,27 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
}
|
||||
// exportRst.Contains("已存在") || exportRst.Contains("同运单号拦截") || exportRst.Contains("订单已绑定外采订单")
|
||||
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
|
||||
xmlDoc.LoadXml(exportRst); //<ResultVo><code>1505</code><msg>不支持的平台类型: WEISHOP</msg><data/><totalRecords/></ResultVo>
|
||||
string msg = xmlDoc["ResultVo"]["msg"].InnerText;
|
||||
string data = xmlDoc["ResultVo"]["data"].InnerText;
|
||||
string code = xmlDoc["ResultVo"]["code"].InnerText;
|
||||
string msg = "";
|
||||
string data = "";
|
||||
string code = "";
|
||||
try
|
||||
{
|
||||
xmlDoc.LoadXml(exportRst); //<ResultVo><code>1505</code><msg>不支持的平台类型: WEISHOP</msg><data/><totalRecords/></ResultVo>
|
||||
msg = xmlDoc["ResultVo"]["msg"].InnerText;
|
||||
data = xmlDoc["ResultVo"]["data"].InnerText;
|
||||
code = xmlDoc["ResultVo"]["code"].InnerText;
|
||||
}
|
||||
catch
|
||||
{
|
||||
msg = exportRst.ParseToString();
|
||||
}
|
||||
if (code == "0" || msg == "SUCCESS") //if (msg == "SUCCESS")
|
||||
{
|
||||
order.sendStatus = string.IsNullOrEmpty(data) ? msg : data;
|
||||
if (order.sendStatus == "更新微信外采订单状态成功")
|
||||
order.sendStatus = "已发送";
|
||||
if (order.sendStatus == "处理完成" || order.sendStatus == "快递公司和快递单号必须同时提供或同时为空")
|
||||
order.sendStatus = "已发送完成";
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
}
|
||||
else
|
||||
@@ -1568,9 +1601,10 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
var exportRst = WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
|
||||
for (int i = 0; i < 5 && exportRst.Contains("操作超时"); i++)
|
||||
{
|
||||
Thread.Sleep(2000);
|
||||
Thread.Sleep(5000);
|
||||
WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
|
||||
}
|
||||
|
||||
if (exportRst.Contains("SUCCESS") || exportRst.Contains("更新外采订单的售后成功") /*|| exportRst.Contains("已存在") || exportRst.Contains("同运单号拦截") || exportRst.Contains("订单已绑定外采订单")*/)
|
||||
{
|
||||
afterSale.sendStatus = "发送成功";
|
||||
|
||||
Reference in new issue
Block a user