优化数据库逻辑,用户分组独立
This commit is contained in:
1 parent
f2534535f7
commit
29b7a73f22
14 files changed
+1079
-81
No files matched your search
@@ -4,6 +4,6 @@
|
||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -69,6 +69,11 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":666,\"msg\":\"当前版本已失效,请更新软件\"}";
|
||||
}
|
||||
|
||||
if (add_user_name != null && add_user_name != "admin")
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(product_get_type))
|
||||
{
|
||||
product_get_type = "母店采集";
|
||||
@@ -594,7 +599,7 @@ namespace KJD_Web.BLL.BXX
|
||||
var ban_pdd = RegexUtils.GetStringQuery(ref inputData, "ban_pdd")?.Replace("'", "\\'");
|
||||
var add_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "add_user_name"))?.Replace("'", "\\'");
|
||||
var min_view_uv = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "min_view_uv"))?.ParseToNullableInt();
|
||||
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count").ParseToBool(); // 不计数
|
||||
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") == "true"; // 不计数
|
||||
var no_fission_words = RegexUtils.GetStringQuery(ref inputData, "no_fission_words").ParseToBool(); // 未裂变标题
|
||||
var fission_words = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "fission_words"))?.Replace("'", "\\'");
|
||||
|
||||
@@ -606,10 +611,12 @@ namespace KJD_Web.BLL.BXX
|
||||
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
|
||||
string sql = " select count(*) from bxx.product p " +
|
||||
" FORCE INDEX (index_wx_safe_status) " +
|
||||
//" LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
|
||||
" WHERE p.is_del=0";
|
||||
string sql = " select count(*) from bxx.product p ";
|
||||
//if (!string.IsNullOrEmpty(wx_safe_status))
|
||||
// sql += " FORCE INDEX (index_wx_safe_status) ";
|
||||
|
||||
//sql += " LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
|
||||
sql += " WHERE p.is_del=0";
|
||||
|
||||
string where = "";
|
||||
//where += " AND (b.ban_wx IS NULL OR b.ban_wx=0)";
|
||||
@@ -641,7 +648,7 @@ namespace KJD_Web.BLL.BXX
|
||||
// }
|
||||
// where += ") ";
|
||||
//}
|
||||
if (!string.IsNullOrEmpty(special_prod_type))
|
||||
if (!string.IsNullOrEmpty(special_prod_type)/* && special_prod_type != "普通商品,书籍,爆款数据"*/)
|
||||
where += " and p.special_prod_type in ('" + special_prod_type.Replace(",", "','") + "')";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(search_spu))
|
||||
@@ -700,10 +707,15 @@ namespace KJD_Web.BLL.BXX
|
||||
|
||||
if (!string.IsNullOrEmpty(has_wx_cat))
|
||||
{
|
||||
//if (has_wx_cat.ToLower() == "true")
|
||||
// where += " and wx_cat_leaf is NOT NULL and wx_cat_3 IS NOT NULL";
|
||||
//else
|
||||
// where += " and (wx_cat_leaf is NULL OR wx_cat_3 IS NULL)";
|
||||
|
||||
if (has_wx_cat.ToLower() == "true")
|
||||
where += " and wx_cat_leaf is NOT NULL and wx_cat_3 IS NOT NULL";
|
||||
where += " and wx_cat_3 IS NOT NULL";
|
||||
else
|
||||
where += " and (wx_cat_leaf is NULL OR wx_cat_3 IS NULL)";
|
||||
where += " and wx_cat_3 IS NULL";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(send_to_out_server))
|
||||
where += " and send_to_out_server=" + send_to_out_server;
|
||||
@@ -795,32 +807,39 @@ namespace KJD_Web.BLL.BXX
|
||||
else
|
||||
{
|
||||
if (isDetail)
|
||||
sql = " SELECT p.*,s.img_base64,s.img_url,e.ext_code_price from bxx.product p" +
|
||||
" LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
sql = " SELECT p.*" +
|
||||
//" ,s.img_base64" +
|
||||
//" ,s.img_url" +
|
||||
//" ,e.ext_code_price" +
|
||||
" from bxx.product p" +
|
||||
//" LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
//" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
//" LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
|
||||
" where p.is_del=0";
|
||||
else if (string.IsNullOrEmpty(get_select_count))
|
||||
sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name," +
|
||||
" p.main_img,p.notes,p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group," +
|
||||
" p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv,p.add_user_name," +
|
||||
" s.img_url,e.ext_code_price" +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv,p.add_user_name" +
|
||||
//" ,s.img_url," +
|
||||
//" e.ext_code_price" +
|
||||
" FROM bxx.product p " +
|
||||
" LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
//" LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
//" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
//" LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
|
||||
" where p.is_del=0";
|
||||
else
|
||||
sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name," +
|
||||
" p.main_img,p.notes,p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group," +
|
||||
" p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv,p.add_user_name," +
|
||||
" s.img_url,COUNT(se.id) AS select_count,e.ext_code_price" +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv,p.add_user_name" +
|
||||
//" ,s.img_url" +
|
||||
//" ,e.ext_code_price," +
|
||||
//" COUNT(se.id) AS select_count" +
|
||||
" FROM bxx.product p" +
|
||||
" LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
//" LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
|
||||
//" LEFT JOIN bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
//" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
//" LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " +
|
||||
" WHERE p.is_del=0";
|
||||
|
||||
//where子句
|
||||
@@ -870,7 +889,7 @@ namespace KJD_Web.BLL.BXX
|
||||
product_name = row["product_name"].ToString(),
|
||||
main_img = row["main_img"].ToString(),
|
||||
ext_code = row["ext_code"].ToString(),
|
||||
ext_code_price = row["ext_code_price"].IsNullOrEmpty() ? new int?() : row["ext_code_price"].ParseToInt(),
|
||||
//ext_code_price = row["ext_code_price"].IsNullOrEmpty() ? new int?() : row["ext_code_price"].ParseToInt(),
|
||||
price_text = row["price_text"].ToString(),
|
||||
//product_json = row["product_json"].ToString(),
|
||||
//size_json = row["size_json"].ToString(),
|
||||
@@ -883,7 +902,7 @@ namespace KJD_Web.BLL.BXX
|
||||
fission_words = row["fission_words"].ParseToString(),
|
||||
head_words = row["head_words"].ParseToString(),
|
||||
sku_img_replace_id = row["sku_img_replace_id"].ParseToInt(),
|
||||
sku_img_replace_url = row["img_url"].ToString(),
|
||||
//sku_img_replace_url = row["img_url"].ToString(),
|
||||
product_get_type_text = row["product_get_type"].ToString(),
|
||||
view_uv = row["view_uv"].ParseToNullableInt(),
|
||||
sale_count = row["sale_count"].ParseToInt(),
|
||||
@@ -907,7 +926,7 @@ namespace KJD_Web.BLL.BXX
|
||||
prod.sku_secret_json = row["sku_secret_json"].ToString();
|
||||
prod.fission_imgs = row["fission_imgs"].ToString();
|
||||
prod.has_wx_format = row["has_wx_format"].ParseToNullableString(); // 微信回采
|
||||
prod.sku_img_replace_base64 = row["img_base64"].ToString();
|
||||
//prod.sku_img_replace_base64 = row["img_base64"].ToString();
|
||||
//prod.sku_img_replace_url = row["img_url"].ToString();
|
||||
prod.wx_img_map_json = row["wx_img_map_json"].ToString();
|
||||
problem_prod_data = row["problem_prod_data"].IsNullOrEmpty() ? null : row["problem_prod_data"].ParseToString();
|
||||
@@ -1288,23 +1307,21 @@ namespace KJD_Web.BLL.BXX
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
||||
var product_get_type = RegexUtils.GetStringQuery(ref inputData, "product_get_type")?.Replace("'", "\\'");
|
||||
var add_user_name = RegexUtils.GetStringQuery(ref inputData, "add_user_name")?.Replace("'", "\\'");
|
||||
var is_get_detail = RegexUtils.GetStringQuery(ref inputData, "is_get_detail") == "true";
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "SELECT DISTINCT p.group FROM `bxx`.`product` p where p.is_del=0";
|
||||
|
||||
string where = " AND p.group NOT LIKE '用户%'";
|
||||
if (!string.IsNullOrEmpty(product_get_type))
|
||||
where += " and p.product_get_type in ('" + product_get_type.Replace(",", "','") + "')";
|
||||
string sql = "SELECT p.* FROM `bxx`.`product_group` p where 1=1 ";
|
||||
string where = "";
|
||||
if (!string.IsNullOrEmpty(add_user_name))
|
||||
{
|
||||
add_user_name = "'" + string.Join("','", add_user_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'";
|
||||
where += " and p.add_user_name in (" + add_user_name + ")";
|
||||
}
|
||||
sql += where;
|
||||
sql += " ORDER BY id DESC";
|
||||
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
mySql.Close();
|
||||
@@ -1313,13 +1330,23 @@ namespace KJD_Web.BLL.BXX
|
||||
{
|
||||
try
|
||||
{
|
||||
JArray groupArr = new JArray();
|
||||
string group_data = "";
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
group_data += row["group"].ToString() + ",";
|
||||
group_data += row["group_name"].ToString() + ",";
|
||||
|
||||
if (is_get_detail)
|
||||
{
|
||||
JObject groupObj = new JObject();
|
||||
groupObj["id"] = row["id"].ParseToLong();
|
||||
groupObj["group_name"] = row["group_name"].ParseToString();
|
||||
groupObj["add_user_name"] = row["add_user_name"].ParseToString();
|
||||
groupArr.Add(groupObj);
|
||||
}
|
||||
}
|
||||
var data = group_data.Trim(',');
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":\"" + data + "\"}";
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":\"" + data + "\",\"groups\":" + JsonUtils.SerializeObject(groupArr) + "}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -1334,6 +1361,117 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string AddProductGroup(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":50001,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
|
||||
var add_user_name = RegexUtils.GetStringQuery(ref inputData, "add_user_name")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(add_user_name))
|
||||
{
|
||||
add_user_name = "admin";
|
||||
}
|
||||
var group_name = RegexUtils.GetStringQuery(ref inputData, "group_name")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(group_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"未指定要新增的组\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "INSERT IGNORE INTO `bxx`.`product_group` (group_name,add_user_name) VALUES ('" + group_name + "','" + add_user_name + "')";
|
||||
|
||||
var del_rows = mySql.ExecuteAffectedRows(sql);
|
||||
mySql.Close();
|
||||
|
||||
if (string.IsNullOrEmpty(mySql.Message))
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\", \"del_rows\":" + del_rows + "}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\",\"data\":\"\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string DelProductGroup(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":50001,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
|
||||
var add_user_name = RegexUtils.GetStringQuery(ref inputData, "add_user_name")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(add_user_name))
|
||||
{
|
||||
add_user_name = "admin";
|
||||
}
|
||||
var id = RegexUtils.GetStringQuery(ref inputData, "group_id")?.Replace("'", "\\'");
|
||||
var group_name = RegexUtils.GetStringQuery(ref inputData, "group_name")?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(id) && string.IsNullOrEmpty(group_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"未指定要删除的组\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "DELETE FROM `bxx`.`product_group` p where 1=1";
|
||||
|
||||
string where = "";
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
id = "" + string.Join(",", id.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "";
|
||||
where += " and p.id in (" + id + ")";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(group_name))
|
||||
{
|
||||
group_name = "'" + string.Join("','", group_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'";
|
||||
where += " and p.group_name in (" + group_name + ")";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(add_user_name))
|
||||
{
|
||||
add_user_name = "'" + string.Join("','", add_user_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'";
|
||||
where += " and p.add_user_name in (" + add_user_name + ")";
|
||||
}
|
||||
sql += where;
|
||||
|
||||
var del_rows = mySql.ExecuteAffectedRows(sql);
|
||||
mySql.Close();
|
||||
|
||||
if (string.IsNullOrEmpty(mySql.Message))
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\", \"del_rows\":" + del_rows + "}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\",\"data\":\"\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string GetProductCates(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
@@ -1406,39 +1544,44 @@ namespace KJD_Web.BLL.BXX
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
//string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
//MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
//string sql = "SELECT DISTINCT p.cat_name FROM `bxx`.`product` p where p.is_del=0";
|
||||
string sql = "SELECT DISTINCT p.main_cat_name FROM `bxx`.`product` p where p.is_del=0";
|
||||
////string sql = "SELECT DISTINCT p.cat_name FROM `bxx`.`product` p where p.is_del=0";
|
||||
//string sql = "SELECT DISTINCT p.main_cat_name FROM `bxx`.`product` p where p.is_del=0";
|
||||
|
||||
string where = "";
|
||||
sql += where;
|
||||
//string where = "";
|
||||
//sql += where;
|
||||
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
mySql.Close();
|
||||
//var dt = mySql.ExecuteDataTable(sql);
|
||||
//mySql.Close();
|
||||
|
||||
if (dt != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
string group_data = "";
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
group_data += row["main_cat_name"].ToString() + ",";
|
||||
}
|
||||
var data = group_data.Trim(',');
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":\"" + data + "\"}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"code\":50002,\"msg\":\"" + ex.Message + "\",\"data\":\"\"}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\",\"data\":\"\"}";
|
||||
}
|
||||
//if (dt != null)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// string group_data = "";
|
||||
// foreach (DataRow row in dt.Rows)
|
||||
// {
|
||||
// group_data += row["main_cat_name"].ToString() + ",";
|
||||
// }
|
||||
// var data = group_data.Trim(',');
|
||||
// return "{\"code\":200,\"msg\":\"success\",\"data\":\"" + data + "\"}";
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// return "{\"code\":50002,\"msg\":\"" + ex.Message + "\",\"data\":\"\"}";
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// return "{\"code\":50003,\"msg\":\"" + mySql.Message + "\",\"data\":\"\"}";
|
||||
//}
|
||||
|
||||
// 直接全部返回了
|
||||
var pddCats1Str = "男装,办公设备/耗材/相关服务,文具电教/文化用品/商务用品,3C数码配件,古董文玩/邮币/字画/收藏,影音电器,手机,二手数码,笔记本电脑,数码相机/单反相机/摄像机,智能设备,厨房电器,大家电,生活电器,个人护理保健,网络设备,零食/坚果/特产,咖啡/麦片/冲饮,茶,粮油米面/南北干货/调味品,酒类,保健食品/膳食营养补充食品,传统滋补品,电子元器件市场,摩托车/装备/配件,汽车/用品/配件/改装,水产肉类/新鲜蔬果/熟食,女装/女士精品,新车/二手车,流行男鞋,女鞋,箱包皮具/女包/男包,内衣裤袜,腕表眼镜,服饰配件,本地化生活服务,电影/演出/体育赛事,个性定制/设计服务,购物卡/礼品卡/代金券,婚庆/摄影/摄像服务,教育培训,景点门票/周边游,旅游路线/商品/服务,生活缴费,数字生活娱乐,特价酒店/客栈/公寓旅馆,网络服务/软件,网上营业厅,休闲娱乐,游戏服务/直播,床上用品,电子/电工,基础建材,家居饰品,灯饰光源照明,家装主材,居家布艺,全屋定制,商业/办公家具,特色手工艺,五金工具,住宅家具,电动车/配件/交通工具,户外/登山/旅行野营用品,运动/瑜伽/健身/球类,运动包/户外包/配件,运动服/休闲服,运动鞋,自行车/骑行装备/零配件,OTC药品,精制中药材,隐形眼镜/护理液,奶粉/辅食/营养品/零食,婴童用品,童鞋/婴儿鞋/亲子鞋,童装/婴儿装/亲子装,玩具/童车/益智/积木/模型,孕产妇用品/孕妇装/营养,书籍/杂志/报纸,农机/农具/农膜,畜牧/养殖物资,农用物资,成人用品,宠物/宠物食品及用品,餐饮具,厨房/烹饪用具,收纳整理,家庭/个人清洁工具,居家日用,节庆用品/礼品,烟品/打火机/瑞士军刀,洗护清洁剂/卫生巾/纸/香薰,饰品/流行首饰/摆件/保养鉴定,珠宝/钻石/翡翠/黄金,鲜花园艺/绿植仿真/园林设备,乐器/吉他/钢琴/配件,装修设计/施工/监理,医疗健康服务,处方药,彩妆/香水/美妆工具,美容美体仪器,美发护发/假发,美容护肤/美体/精油,医疗器械,婴童尿裤,汽车服务,交通出行,房地产,模玩/动漫/周边/cos/桌游,音乐/影视/明星/音像,搬运/仓储/物流设备,标准件/零部件/工业耗材,机械设备,清洗/食品/商业设备,橡塑材料及制品,平板电脑/MID,品牌台机/品牌一体机/服务器,DIY电脑,闪存卡/U盘/存储/移动硬盘,电脑硬件/显示器/电脑周边,电玩/配件/游戏/攻略,包装用品,保健用品,特色农产品(非食用),239,2603,2629,2933,5217,5752,5834,5839,5851,5906,5921,5955,6076,6128,6209,6290,6398,6536,6586,6630,6758,6785,6883,7323,7629,7639,8172,8439,8502,8508,8509,8538,8583,8634,8669,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,8734,8736,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,11683,11684,11685,11686,11687,11688,11689,13176,13177,13178,14697,14740,14933,14966,15083,15356,15543,16155,16192,16209,16237,16288,16548,16676,16794,16901,16989,17134,17249,17285,17412,17455,17671,17803,18088,18270,18349,18482,18574,18601,18637,18814,19298,20078,20118,20340,20645,21417,22856,22881,22931,22964,22986,24383,24386,24402,24407,24426,24520,24636,24699,27063";
|
||||
var data = pddCats1Str;
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":\"" + data + "\"}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
@@ -1567,7 +1710,7 @@ namespace KJD_Web.BLL.BXX
|
||||
if (special_prod_type.IsNullOrEmpty())
|
||||
special_prod_type = "普通商品,书籍";
|
||||
var is_supplier_prod_ok = RegexUtils.GetStringQuery(ref inputData, "is_supplier_prod_ok")?.Replace("'", "\\'");
|
||||
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count").ParseToBool(); // 不计数
|
||||
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") == "true"; // 不计数
|
||||
var prod_count = RegexUtils.GetStringQuery(ref inputData, "prod_count").ParseToInt();
|
||||
var add_days_less = RegexUtils.GetStringQuery(ref inputData, "add_days_less").ParseToNullableInt();
|
||||
var has_wx_format = RegexUtils.GetStringQuery(ref inputData, "has_wx_format")?.Replace("'", "\\'");
|
||||
@@ -1585,10 +1728,11 @@ namespace KJD_Web.BLL.BXX
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = " SELECT count(*)" +
|
||||
" FROM bxx.product p" +
|
||||
" FORCE INDEX (index_wx_safe_status)" +
|
||||
//" LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
|
||||
" WHERE p.is_del=0";
|
||||
" FROM bxx.product p";
|
||||
//if (!string.IsNullOrEmpty(wx_safe_status))
|
||||
// sql += " FORCE INDEX (index_wx_safe_status)";
|
||||
//sql += " LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)"
|
||||
sql += " WHERE p.is_del=0";
|
||||
|
||||
string where = "";
|
||||
//where += " AND (b.ban_wx IS NULL OR b.ban_wx=0)";
|
||||
@@ -1639,7 +1783,8 @@ namespace KJD_Web.BLL.BXX
|
||||
where += " and p.wx_safe_status in ('" + wx_safe_status.Replace(",", "','") + "')";
|
||||
//if (!string.IsNullOrEmpty(special_prod_type)) // 普通商品 爆款数据
|
||||
// where += " and p.special_prod_type ='" + special_prod_type + "'";
|
||||
where += " and p.special_prod_type in ('" + special_prod_type.Replace(",", "','") + "')";
|
||||
if (!string.IsNullOrEmpty(special_prod_type)/* && special_prod_type != "普通商品,书籍,爆款数据"*/)
|
||||
where += " and p.special_prod_type in ('" + special_prod_type.Replace(",", "','") + "')";
|
||||
// 供应商货源是否已完成初始设置
|
||||
if (!string.IsNullOrEmpty(is_supplier_prod_ok))
|
||||
{
|
||||
|
||||
@@ -521,7 +521,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'");
|
||||
var is_not_count = (RegexUtils.GetStringQuery(ref inputData, "is_not_count")?.Replace("'", "\\'")).ParseToBool();
|
||||
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") == "true";
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
@@ -266,6 +266,30 @@ namespace KJD_Web
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void add_product_groups()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXProductManage().AddProductGroup(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void del_product_groups()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXProductManage().DelProductGroup(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void get_pdd_product_cates()
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
|
||||
@@ -173,6 +173,12 @@
|
||||
<Compile Include="PDDForms\ProductSelectForms\JstBanPlatformForm.Designer.cs">
|
||||
<DependentUpon>JstBanPlatformForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdGroupManageFrom.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdGroupManageFrom.Designer.cs">
|
||||
<DependentUpon>PDDDBProdGroupManageFrom.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ProductForms\WXUserCollectAuthProdEditNotesForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -1333,6 +1339,9 @@
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\JstBanPlatformForm.resx">
|
||||
<DependentUpon>JstBanPlatformForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdGroupManageFrom.resx">
|
||||
<DependentUpon>PDDDBProdGroupManageFrom.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXUserCollectAuthProdEditNotesForm.resx">
|
||||
<DependentUpon>WXUserCollectAuthProdEditNotesForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
<PublishUrlHistory>publish\</PublishUrlHistory>
|
||||
<InstallUrlHistory />
|
||||
<SupportUrlHistory />
|
||||
|
||||
@@ -0,0 +1,303 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class PDDDBProdGroupManageFrom
|
||||
{
|
||||
/// <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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdGroupManageFrom));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnDeleteGroup = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnAddGroup = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtGroupName = new System.Windows.Forms.TextBox();
|
||||
this.dgvProdGroup = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.btnClose = new TemuKJD.UserControls.ButtonEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colDbId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colGroupName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSAddUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.panel2.SuspendLayout();
|
||||
((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.dgvProdGroup)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.splitContainer1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(391, 506);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
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.splitContainer2);
|
||||
this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(4);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnClose);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(391, 506);
|
||||
this.splitContainer1.SplitterDistance = 463;
|
||||
this.splitContainer1.TabIndex = 190;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(4, 4);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.label1);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnDeleteGroup);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnAddGroup);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.txtGroupName);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.dgvProdGroup);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(383, 455);
|
||||
this.splitContainer2.SplitterDistance = 55;
|
||||
this.splitContainer2.TabIndex = 190;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(9, 23);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(77, 12);
|
||||
this.label1.TabIndex = 835;
|
||||
this.label1.Text = "输入分组名称";
|
||||
//
|
||||
// btnDeleteGroup
|
||||
//
|
||||
this.btnDeleteGroup.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnDeleteGroup.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnDeleteGroup.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnDeleteGroup.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnDeleteGroup.Location = new System.Drawing.Point(296, 18);
|
||||
this.btnDeleteGroup.Name = "btnDeleteGroup";
|
||||
this.btnDeleteGroup.Size = new System.Drawing.Size(80, 21);
|
||||
this.btnDeleteGroup.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDeleteGroup.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDeleteGroup.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDeleteGroup.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnDeleteGroup.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnDeleteGroup.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnDeleteGroup.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnDeleteGroup.Style.GradientAngle = 90;
|
||||
this.btnDeleteGroup.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDeleteGroup.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnDeleteGroup.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnDeleteGroup.TabIndex = 828;
|
||||
this.btnDeleteGroup.Text = "删除选中";
|
||||
this.btnDeleteGroup.Click += new System.EventHandler(this.btnDeleteGroup_Click);
|
||||
//
|
||||
// btnAddGroup
|
||||
//
|
||||
this.btnAddGroup.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnAddGroup.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAddGroup.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnAddGroup.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnAddGroup.Location = new System.Drawing.Point(230, 18);
|
||||
this.btnAddGroup.Name = "btnAddGroup";
|
||||
this.btnAddGroup.Size = new System.Drawing.Size(46, 21);
|
||||
this.btnAddGroup.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddGroup.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddGroup.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnAddGroup.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnAddGroup.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnAddGroup.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnAddGroup.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnAddGroup.Style.GradientAngle = 90;
|
||||
this.btnAddGroup.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnAddGroup.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddGroup.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnAddGroup.TabIndex = 824;
|
||||
this.btnAddGroup.Text = "新增";
|
||||
this.btnAddGroup.Click += new System.EventHandler(this.btnAddGroup_Click);
|
||||
//
|
||||
// txtGroupName
|
||||
//
|
||||
this.txtGroupName.Location = new System.Drawing.Point(90, 18);
|
||||
this.txtGroupName.Name = "txtGroupName";
|
||||
this.txtGroupName.Size = new System.Drawing.Size(137, 21);
|
||||
this.txtGroupName.TabIndex = 0;
|
||||
//
|
||||
// dgvProdGroup
|
||||
//
|
||||
this.dgvProdGroup.AllowUserToAddRows = false;
|
||||
this.dgvProdGroup.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvProdGroup.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvProdGroup.AutoRowNumber = true;
|
||||
this.dgvProdGroup.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvProdGroup.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.dgvProdGroup.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvProdGroup.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvProdGroup.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colDbId,
|
||||
this.colGroupName,
|
||||
this.colSAddUserName});
|
||||
this.dgvProdGroup.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvProdGroup.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvProdGroup.MultiSelectCheckBox = true;
|
||||
this.dgvProdGroup.Name = "dgvProdGroup";
|
||||
this.dgvProdGroup.ReadOnly = true;
|
||||
this.dgvProdGroup.RowHeadersWidth = 51;
|
||||
this.dgvProdGroup.RowTemplate.Height = 23;
|
||||
this.dgvProdGroup.Size = new System.Drawing.Size(383, 396);
|
||||
this.dgvProdGroup.TabIndex = 189;
|
||||
this.dgvProdGroup.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSaUser_CellContentClick);
|
||||
//
|
||||
// btnClose
|
||||
//
|
||||
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnClose.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClose.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnClose.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnClose.ForeColor = System.Drawing.Color.White;
|
||||
this.btnClose.Location = new System.Drawing.Point(321, 2);
|
||||
this.btnClose.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnClose.Name = "btnClose";
|
||||
this.btnClose.Size = new System.Drawing.Size(66, 26);
|
||||
this.btnClose.TabIndex = 374;
|
||||
this.btnClose.Text = "关闭";
|
||||
this.btnClose.UseVisualStyleBackColor = false;
|
||||
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.HeaderText = "选择";
|
||||
this.colSelect.MinimumWidth = 6;
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSelect.Width = 30;
|
||||
//
|
||||
// colDbId
|
||||
//
|
||||
this.colDbId.HeaderText = "数据库Id";
|
||||
this.colDbId.MinimumWidth = 6;
|
||||
this.colDbId.Name = "colDbId";
|
||||
this.colDbId.ReadOnly = true;
|
||||
this.colDbId.Visible = false;
|
||||
this.colDbId.Width = 125;
|
||||
//
|
||||
// colGroupName
|
||||
//
|
||||
this.colGroupName.HeaderText = "分组名称";
|
||||
this.colGroupName.Name = "colGroupName";
|
||||
this.colGroupName.ReadOnly = true;
|
||||
this.colGroupName.Width = 280;
|
||||
//
|
||||
// colSAddUserName
|
||||
//
|
||||
this.colSAddUserName.HeaderText = "所属账户";
|
||||
this.colSAddUserName.Name = "colSAddUserName";
|
||||
this.colSAddUserName.ReadOnly = true;
|
||||
this.colSAddUserName.Visible = false;
|
||||
this.colSAddUserName.Width = 150;
|
||||
//
|
||||
// PDDDBProdGroupManageFrom
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(393, 540);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.KeyPreview = true;
|
||||
this.Name = "PDDDBProdGroupManageFrom";
|
||||
this.Text = "指定二级超管";
|
||||
this.TitleText = "指定二级超管";
|
||||
this.Load += new System.EventHandler(this.AdminShopAddSubSaForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.PerformLayout();
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvProdGroup)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private UserComponent.DataGridViewEx dgvProdGroup;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private UserControls.ButtonEx btnClose;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.TextBox txtGroupName;
|
||||
private DevComponents.DotNetBar.PanelEx btnDeleteGroup;
|
||||
private DevComponents.DotNetBar.PanelEx btnAddGroup;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colDbId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colGroupName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSAddUserName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdGroupManageFrom : BaseGeneralForm
|
||||
{
|
||||
List<string> lstShopLoginName = new List<string>();
|
||||
|
||||
List<UserSubAccountInfo> lstSubSa = new List<UserSubAccountInfo>();
|
||||
public PDDDBProdGroupManageFrom(List<string> ShopSelectIds = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
if (ShopSelectIds != null)
|
||||
lstShopLoginName.AddRange(ShopSelectIds);
|
||||
}
|
||||
|
||||
private void btnClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void AdminShopAddSubSaForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
GetGroups();
|
||||
}
|
||||
|
||||
public void GetGroups()
|
||||
{
|
||||
dgvProdGroup.Rows.Clear();
|
||||
lstSubSa.Clear();
|
||||
string url = BaseClass.BuildPDDObjString("product/get_product_groups");
|
||||
StringBuilder data = new StringBuilder();
|
||||
data.Append(UserLogin.GetSignaturex());
|
||||
data.Append("&is_get_detail=true");
|
||||
string html = GetHtml.PostUtf8(url, data.ToString());
|
||||
if (string.IsNullOrEmpty(html))
|
||||
return;
|
||||
if (html.Contains("\"data\""))
|
||||
{
|
||||
var userObj = JsonHelper.JObjectParse(html);
|
||||
foreach (Newtonsoft.Json.Linq.JObject obj in userObj["groups"])
|
||||
{
|
||||
string oStr = JsonHelper.SerializeObject(obj);
|
||||
UserSubAccountInfo user = new UserSubAccountInfo();
|
||||
|
||||
lstSubSa.Add(user);
|
||||
dgvProdGroup.Rows.Add(
|
||||
false,
|
||||
BaseRegex.GetIntJson(ref oStr, "id"),
|
||||
BaseRegex.GetStringJson(ref oStr, "group_name"),
|
||||
BaseRegex.GetStringJson(ref oStr, "add_user_name"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvSaUser_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
|
||||
////string columnName = dgvSaUser.Columns[e.ColumnIndex].Name;
|
||||
////switch (columnName)
|
||||
////{
|
||||
//// case "colSelect":
|
||||
//var value = dgvProdGroup.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
//foreach (DataGridViewRow row in this.dgvProdGroup.Rows)
|
||||
// row.Cells["colSelect"].Value = false;
|
||||
//dgvProdGroup.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)value;
|
||||
//// break;
|
||||
//// default:
|
||||
//// break;
|
||||
////}
|
||||
///
|
||||
dgvProdGroup.Rows[e.RowIndex].Cells["colSelect"].Value = !dgvProdGroup.Rows[e.RowIndex].Cells["colSelect"].Value.ParseToBool();
|
||||
}
|
||||
|
||||
private void btnDeleteGroup_Click(object sender, EventArgs e)
|
||||
{
|
||||
var selectRows = this.dgvProdGroup.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSelect"]?.Value.ParseToBool() == true).ToList();
|
||||
if (selectRows.Count == 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("请选择要删除的分组!");
|
||||
return;
|
||||
}
|
||||
|
||||
StringBuilder data = new StringBuilder();
|
||||
data.Append(UserLogin.GetSignaturex());
|
||||
data.Append("&group_name=" + string.Join(",", selectRows.Select(r => r.Cells["col_group_name"].Value.ParseToString())));
|
||||
string url = BaseClass.BuildPDDObjString("product/del_product_group");
|
||||
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
|
||||
if (!string.IsNullOrEmpty(html))
|
||||
{
|
||||
if (html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowInfo("删除成功!");
|
||||
foreach (var row in selectRows)
|
||||
dgvProdGroup.Rows.Remove(row);
|
||||
//this.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = html;
|
||||
BaseMsgForm.ShowError(msg, "错误");
|
||||
}
|
||||
}
|
||||
else
|
||||
BaseMsgForm.ShowError("未知错误,请重试!", "错误");
|
||||
}
|
||||
|
||||
private void btnAddGroup_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddProductGroup(txtGroupName.Text);
|
||||
this.GetGroups();
|
||||
//this.Close();
|
||||
}
|
||||
|
||||
public static void AddProductGroup(string groupName, string add_user_name = "admin")
|
||||
{
|
||||
if (string.IsNullOrEmpty(groupName))
|
||||
{
|
||||
BaseMsgForm.ShowError("请输入分组名称");
|
||||
return;
|
||||
}
|
||||
|
||||
StringBuilder data = new StringBuilder();
|
||||
data.Append(UserLogin.GetSignaturex());
|
||||
data.Append("&add_user_name=" + add_user_name);
|
||||
data.Append("&group_name=" + groupName);
|
||||
string url = BaseClass.BuildPDDObjString("product/add_product_group");
|
||||
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
|
||||
if (!string.IsNullOrEmpty(html))
|
||||
{
|
||||
if (html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowInfo("添加成功!");
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = html;
|
||||
BaseMsgForm.ShowError(msg, "错误");
|
||||
}
|
||||
}
|
||||
else
|
||||
BaseMsgForm.ShowError("未知错误,请重试!", "错误");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,310 @@
|
||||
<?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="colDbId.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="colSAddUserName.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>
|
||||
@@ -51,6 +51,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucTabControlMetro1 = new TemuKJD.UserControls.UcTabControlMetro();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.btnEditGroup = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnAddUserProd = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnTitleFission = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSetGroup = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -250,6 +251,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.btnEditGroup);
|
||||
this.tabPage1.Controls.Add(this.btnAddUserProd);
|
||||
this.tabPage1.Controls.Add(this.btnTitleFission);
|
||||
this.tabPage1.Controls.Add(this.btnSetGroup);
|
||||
@@ -265,6 +267,31 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.tabPage1.Text = "数据操作";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnEditGroup
|
||||
//
|
||||
this.btnEditGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnEditGroup.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnEditGroup.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnEditGroup.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnEditGroup.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnEditGroup.Location = new System.Drawing.Point(207, 13);
|
||||
this.btnEditGroup.Name = "btnEditGroup";
|
||||
this.btnEditGroup.Size = new System.Drawing.Size(15, 25);
|
||||
this.btnEditGroup.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEditGroup.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEditGroup.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnEditGroup.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnEditGroup.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnEditGroup.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnEditGroup.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnEditGroup.Style.GradientAngle = 90;
|
||||
this.btnEditGroup.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnEditGroup.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEditGroup.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnEditGroup.TabIndex = 819;
|
||||
this.btnEditGroup.Text = "+";
|
||||
this.btnEditGroup.Click += new System.EventHandler(this.btnEditGroup_Click);
|
||||
//
|
||||
// btnAddUserProd
|
||||
//
|
||||
this.btnAddUserProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -323,7 +350,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnSetGroup.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSetGroup.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSetGroup.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSetGroup.Location = new System.Drawing.Point(216, 13);
|
||||
this.btnSetGroup.Location = new System.Drawing.Point(223, 13);
|
||||
this.btnSetGroup.Name = "btnSetGroup";
|
||||
this.btnSetGroup.Size = new System.Drawing.Size(84, 25);
|
||||
this.btnSetGroup.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -370,7 +397,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.cmbGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbGroup.FormattingEnabled = true;
|
||||
this.cmbGroup.Location = new System.Drawing.Point(122, 13);
|
||||
this.cmbGroup.Location = new System.Drawing.Point(113, 13);
|
||||
this.cmbGroup.Name = "cmbGroup";
|
||||
this.cmbGroup.Size = new System.Drawing.Size(92, 25);
|
||||
this.cmbGroup.TabIndex = 640;
|
||||
@@ -384,7 +411,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"安全商品",
|
||||
"违规商品",
|
||||
"未校验"});
|
||||
this.cmbSetWxSafe.Location = new System.Drawing.Point(122, 41);
|
||||
this.cmbSetWxSafe.Location = new System.Drawing.Point(113, 41);
|
||||
this.cmbSetWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSetWxSafe.Name = "cmbSetWxSafe";
|
||||
this.cmbSetWxSafe.Size = new System.Drawing.Size(92, 25);
|
||||
@@ -397,9 +424,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnSetWxSafe.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSetWxSafe.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSetWxSafe.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSetWxSafe.Location = new System.Drawing.Point(216, 41);
|
||||
this.btnSetWxSafe.Location = new System.Drawing.Point(207, 41);
|
||||
this.btnSetWxSafe.Name = "btnSetWxSafe";
|
||||
this.btnSetWxSafe.Size = new System.Drawing.Size(84, 25);
|
||||
this.btnSetWxSafe.Size = new System.Drawing.Size(100, 25);
|
||||
this.btnSetWxSafe.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSetWxSafe.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSetWxSafe.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
@@ -2238,5 +2265,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private UserComponent.UcCheckBox chkNoUserProduct;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private DevComponents.DotNetBar.PanelEx btnAddUserProd;
|
||||
private DevComponents.DotNetBar.PanelEx btnEditGroup;
|
||||
}
|
||||
}
|
||||
@@ -802,6 +802,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
row.Cells["colGroup"].Value = cmbGroup.Text.Trim();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(cmbGroup.Text.Trim()))
|
||||
PDDDBProdGroupManageFrom.AddProductGroup(cmbGroup.Text.Trim());
|
||||
}
|
||||
|
||||
GetPDDProductGroup(new List<ComboBox> { cmbGroup }, "", "无分组");
|
||||
@@ -2677,5 +2680,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
return "微信商品采集入库成功!";
|
||||
}
|
||||
}
|
||||
|
||||
private void btnEditGroup_Click(object sender, EventArgs e)
|
||||
{
|
||||
PDDDBProdGroupManageFrom groupMf = new PDDDBProdGroupManageFrom();
|
||||
groupMf.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1049,10 +1049,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"&size_json=" + HttpUtility.UrlEncode(dbProd.size_json, Encoding.UTF8) +
|
||||
"&main_img=" + HttpUtility.UrlEncode(dbProd.main_img, Encoding.UTF8) +
|
||||
"&product_get_type=" + HttpUtility.UrlEncode("以图搜品", Encoding.UTF8);
|
||||
if (dbProd.main_cat_id == "15543" || dbProd.main_cat_name == "书籍/杂志/报纸")
|
||||
{
|
||||
data += "&special_prod_type=" + HttpUtility.UrlEncode("书籍", Encoding.UTF8);
|
||||
}
|
||||
//if (dbProd.main_cat_id == "15543" || dbProd.main_cat_name == "书籍/杂志/报纸")
|
||||
//{
|
||||
// //data += "&special_prod_type=" + HttpUtility.UrlEncode("书籍", Encoding.UTF8);
|
||||
//}
|
||||
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
|
||||
@@ -586,8 +586,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//cmbGroupFilter.Items.Remove("用户" + mainUserName);
|
||||
cmbGroupFilter.Items.Remove("------");
|
||||
cmbGroupFilter.Items.Remove("我的商品");
|
||||
cmbGroupFilter.Items.Insert(1, "------");
|
||||
cmbGroupFilter.Items.Insert(1, "我的商品");
|
||||
cmbGroupFilter.Items.Insert(0, "------");
|
||||
cmbGroupFilter.Items.Insert(0, "我的商品");
|
||||
}));
|
||||
}
|
||||
GetPddProductCate();
|
||||
@@ -605,6 +605,11 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
/// </summary>
|
||||
void GetPddProductCate()
|
||||
{
|
||||
var pddMainCats = GlobalConfig.PddCatList.Where(c => c.level == 1);
|
||||
var mainCatsText = string.Join(",", pddMainCats.Select(c => c.cat_name)) + "," + string.Join(",", pddMainCats.Select(c => c.cat_id));
|
||||
|
||||
|
||||
|
||||
var url = BaseClass.BuildObjString("product/get_pdd_product_cates");
|
||||
var data = UserLogin.GetSignaturex();
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
|
||||
Reference in new issue
Block a user