微信店铺重发优化功能

This commit is contained in:
wule committed 2026-04-29 09:53:46 +08:00
1 parent 16342df70a
commit daa7f733fc
28 files changed
+3675 -986

No files matched your search

+1 -1
View File
@@ -290,7 +290,7 @@
<Compile Include="Model\Result\WXResult\WxOptimizeExpressInfo.cs" />
<Compile Include="Model\Result\WXResult\WxOptimizeOrderAfterSaleInfo.cs" />
<Compile Include="Model\Result\WXResult\WxOptimizeProductEvaluationInfo.cs" />
<Compile Include="Model\Result\WXResult\WxOptrimizeLinerCgiInfo.cs" />
<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\WXShopTokenInfo.cs" />
+1 -1
View File
@@ -27,7 +27,7 @@ namespace AllBase
/// <summary>
/// 版本ID
/// </summary>
public static int VersionCount = 1016;
public static int VersionCount = 1020;
//public static int VersionCount = 613;
/// <summary>
+10
View File
@@ -66,6 +66,16 @@ namespace AllBase.Extension
{
return null;
}
try
{
return DateTime.Parse(str);
}
catch
{
}
if (str.Contains("年") && str.Contains("月") && str.Contains("日") && !str.Contains("周"))
str = str.Replace("年", "-").Replace("月", "-").Replace("日", "").Replace("时", ":").Replace("分", ":").Replace("秒", "").Trim(' ', ':');
if (str.Contains("-") || str.Contains("/"))
{
return DateTime.Parse(str);
@@ -20,7 +20,27 @@ namespace AllBase.Model.Result.PDDResult
//BTWL 百世快运
//HTKY 百世快递
public static string GetWxExpressCompanyCode(string expressCompanyName)
public static string GetPddToWxExpressCompanyCode(string expressCompanyName)
{
if (expressCompanyName == null || expressCompanyName == "") return "";
if (expressCompanyName.Contains("邮政快递包裹")) return "EMS";
if (expressCompanyName.Contains("邮政电商标快")) return "EMS";
if (expressCompanyName.Contains("邮政EMS")) return "EMS";
if (expressCompanyName.Contains("极兔速递")) return "JTSD";
if (expressCompanyName.Contains("极兔快递")) return "JTSD";
if (expressCompanyName.Contains("申通快递")) return "STO";
if (expressCompanyName.Contains("韵达快递")) return "YD";
if (expressCompanyName.Contains("圆通快递")) return "YTO";
if (expressCompanyName.Contains("中通快递")) return "ZTO";
if (expressCompanyName.Contains("百世快运")) return "BTWL";
if (expressCompanyName.Contains("百世快递")) return "HTKY";
if (expressCompanyName.Contains("顺丰速运")) return "SF";
if (expressCompanyName.Contains("京东快递")) return "JD";
if (expressCompanyName.Contains("京东快运")) return "JDKY";
return "";
}
public static string GetWxExpressNameToWxExpressCode(string expressCompanyName)
{
if (expressCompanyName == null || expressCompanyName == "") return "";
if (expressCompanyName.Contains("邮政快递包裹")) return "EMS";
@@ -28,8 +48,8 @@ namespace AllBase.Model.Result.PDDResult
if (expressCompanyName.Contains("邮政EMS")) return "EMS";
if (expressCompanyName.Contains("极兔速递")) return "JTSD";
if (expressCompanyName.Contains("申通快递")) return "STO";
if (expressCompanyName.Contains("韵达快递")) return "YD";
if (expressCompanyName.Contains("圆通快递")) return "YTO";
if (expressCompanyName.Contains("韵达速递")) return "YD";
if (expressCompanyName.Contains("圆通速递")) return "YTO";
if (expressCompanyName.Contains("中通快递")) return "ZTO";
if (expressCompanyName.Contains("百世快运")) return "BTWL";
if (expressCompanyName.Contains("百世快递")) return "HTKY";
@@ -44,7 +64,7 @@ namespace AllBase.Model.Result.PDDResult
{
get
{
return GetWxExpressCompanyCode(outExpressCompanyName);
return GetPddToWxExpressCompanyCode(outExpressCompanyName);
}
}
public string outExpressCompanyName
@@ -55,6 +75,7 @@ namespace AllBase.Model.Result.PDDResult
if (outExpressCompanyMsg.Contains("邮政快递包裹")) return "邮政快递包裹";
if (outExpressCompanyMsg.Contains("邮政电商标快")) return "邮政电商标快";
if (outExpressCompanyMsg.Contains("极兔速递")) return "极兔速递";
if (outExpressCompanyMsg.Contains("极兔快递")) return "极兔速递";
if (outExpressCompanyMsg.Contains("申通快递")) return "申通快递";
if (outExpressCompanyMsg.Contains("韵达快递")) return "韵达快递";
if (outExpressCompanyMsg.Contains("圆通快递")) return "圆通快递";
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.Result.WXResult
{
public class WxOptimizeExpressInfo
{
public int id { get; set; }
public string delivery_id { get; set; }
public string delivery_name { get; set; }
public string waybill_id { get; set; }
public int status { get; set; }
public string order_id { get; set; }
public string bind_order_id { get; set; }
public string shop_id { get; set; }
public DateTime add_time { get; set; }
public DateTime? use_time { get; set; }
public DateTime? waybill_pickup_time { get; set; }
}
public class WxOptimizeRstInfo
{
public int id { get; set; }
public string shop_id { get; set; }
public string order_id { get; set; }
public string optimize_rst { get; set; }
public string waybill_id { get; set; }
public string delivery_name { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}
@@ -6,15 +6,29 @@ using System.Threading.Tasks;
namespace AllBase.Model.Result.WXResult
{
public class WxOptrimizeLinerCgiInfo
public class WxOptimizeLinerCgiInfo
{
public string shopId { get; set; }
public string shopName { get; set; }
public string optimizeWaybillId { get; set; }
public string optimizeTime { get; set; }
public int? orderTime { get; set; }
/// <summary>
/// 收货 省
/// </summary>
public string province { get; set; }
/// <summary>
/// 收货 市
/// </summary>
public string city { get; set; }
/// <summary>
/// 收货 区
/// </summary>
public string district‌ { get; set; }
public string receipt_province { get; set; } // "福建省",
public string ship_province { get; set; } // "广东省",
public string ship_province { get; set; } // "广东省",
public string receipt_time { get; set; } // "1775439386",
public string transport_duration { get; set; } // "120986",
public string delivery_id { get; set; } // "ZTO",
@@ -12,6 +12,20 @@ namespace AllBase.Model.Result.WXResult
public string shopName { get; set; }
public string optimizeWaybillId { get; set; }
public string optimizeTime { get; set; }
public int? orderTime { get; set; }
/// <summary>
/// 收货 省
/// </summary>
public string province { get; set; }
/// <summary>
/// 收货 市
/// </summary>
public string city { get; set; }
/// <summary>
/// 收货 区
/// </summary>
public string district‌ { get; set; }
public AfterSaleOrderInfo orderInfo { get; set; }
public string reason { get; set; } // "生锈/弯曲变形/钝化不锋利"
@@ -12,6 +12,20 @@ namespace AllBase.Model.Result.WXResult
public string shopName { get; set; }
public string optimizeWaybillId { get; set; }
public string optimizeTime { get; set; }
public int? orderTime { get; set; }
/// <summary>
/// 收货 省
/// </summary>
public string province { get; set; }
/// <summary>
/// 收货 市
/// </summary>
public string city { get; set; }
/// <summary>
/// 收货 区
/// </summary>
public string district‌ { get; set; }
public WayBillOrderInfo orderInfo { get; set; }
public string waybillId { get; set; } // "JT4157662637789",
@@ -12,8 +12,21 @@ namespace AllBase.Model.Result.WXResult
public string shopName { get; set; }
public string optimizeWaybillId { get; set; }
public string optimizeTime { get; set; }
public string order_id { get; set; }
public int? orderTime { get; set; }
/// <summary>
/// 收货 省
/// </summary>
public string province { get; set; }
/// <summary>
/// 收货 市
/// </summary>
public string city { get; set; }
/// <summary>
/// 收货 区
/// </summary>
public string district‌ { get; set; }
public string productEvaluationId { get; set; } // "53890834526",
public OptimizeEvaluationInfo evaluationInfo { get; set; }
@@ -0,0 +1,707 @@
using KJD_Web.Model.WxModel;
using KJD_Web.Utils;
using KJD_WebService.Model;
using MySql.Data.MySqlClient;
using NaiBa.Util.Extension;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Web;
using System.Web.Security;
using System.Web.Services.Description;
namespace KJD_Web.BLL.WXXD
{
public class WXExpressOptimizeManage
{
public string GetWayBill(string inputData, bool isNoUserName = false)
{
if (!string.IsNullOrEmpty(inputData))
{
var timeCalc = DateTime.Now;
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
//var delivery_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_id"))?.Replace("'", "\\'");
//var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
//var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
//if (string.IsNullOrEmpty(delivery_id) || string.IsNullOrEmpty(delivery_name) || string.IsNullOrEmpty(waybill_id))
//{
// return "{\"code\":500,\"msg\":\"运单号信息不完整\"}";
//}
var status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "status"))?.Replace("'", "\'");
var order_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_ids"))?.Replace("'", "\'");
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.Replace("'", "\'");
if (!isNoUserName && user_name.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"用户名不能为空\"}";
}
if (isNoUserName && order_ids.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"订单号不能为空\"}";
}
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 sql = "";
sql = "select count(*) from wxxd.delivery where 1=1";
string where = "";
if (!isNoUserName)
where += " AND user_name='" + user_name + "'";
if (status != null)
where += " AND status in (" + status + ")";
if (order_ids != null)
where += " AND order_id in ('" + order_ids.Replace(",", "','") + "')";
sql += where;
var count = 0;
count = mySql.ExecuteRowCount(sql);
DataTable dt;
if (count == 0)
{
dt = new DataTable();
}
else
{
sql = "select * from wxxd.delivery 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 (!string.IsNullOrEmpty(mySql.Message))
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
if (dt != null)
{
try
{
List<WxOptimizeExpressInfo> WxOptimizeExpressInfoLst = new List<WxOptimizeExpressInfo>();
foreach (DataRow row in dt.Rows)
{
WxOptimizeExpressInfoLst.Add(new WxOptimizeExpressInfo()
{
id = row["id"].ParseToInt(),
delivery_id = row["delivery_id"].ParseToString(),
delivery_name = row["delivery_name"].ParseToString(),
order_id = row["order_id"].ParseToString(),
bind_order_id = row["bind_order_id"].ParseToString(),
shop_id = row["shop_id"].ParseToString(),
status = row["status"].ParseToInt(),
waybill_id = row["waybill_id"].ParseToString(),
add_time = Convert.ToDateTime(row["add_time"]),
use_time = row["use_time"].ParseToString().ParseToDateTimeNullable(),
waybill_pickup_time = row["waybill_pickup_time"].ParseToString().ParseToDateTimeNullable(),
});
}
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
var data = JsonUtils.SerializeObjectToString(WxOptimizeExpressInfoLst, 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\":\"输入为空\"}";
}
/// <summary>
/// 添加运单
/// </summary>
/// <param name="inputData"></param>
/// <returns></returns>
public string AddWaybill(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var delivery_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_id"))?.Replace("'", "\\'");
var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
var bind_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "bind_order_id"))?.Replace("'", "\\'");
var waybill_pickup_time = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_pickup_time")).ParseToDateTimeNullable();
if (string.IsNullOrEmpty(delivery_id) || string.IsNullOrEmpty(delivery_name) || string.IsNullOrEmpty(waybill_id))
{
return "{\"code\":500,\"msg\":\"运单号信息不完整\"}";
}
if (waybill_pickup_time == null && bind_order_id.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"揽收时间和绑定订单编号不能同时为空\"}";
}
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
if (user_name.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
}
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 + "')";
var exist = mySql.ExecuteFirstInt(sql);
if (exist > 0)
{
mySql.Close();
return "{\"code\":500,\"msg\":\"运单号已存在\"}";
}
sql = "insert into wxxd.delivery (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 + "',";
if (!bind_order_id.IsNullOrEmpty())
sql += "'" + bind_order_id + "',";
if (waybill_pickup_time != null)
sql += "'" + waybill_pickup_time.Value.ToString("yyyy-MM-dd HH:mm:ss") + "',";
sql = sql.Trim(',');
sql += ");";
var rst = mySql.ExecuteNonQuery(sql);
mySql.Close();
if (!rst)
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
else
return "{\"code\":200,\"msg\":\"success\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string DelWaybill(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var waybill_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_ids"))?.Replace("'", "\\'");
if (string.IsNullOrEmpty(waybill_ids))
{
return "{\"code\":500,\"msg\":\"运单号信息不完整\"}";
}
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
if (user_name.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
}
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";
var rst = mySql.ExecuteNonQuery(sql);
mySql.Close();
if (!rst || !mySql.Message.IsNullOrEmpty())
return "{\"code\":501,\"msg\":\"删除失败 " + mySql.Message + "\"}";
else
return "{\"code\":200,\"msg\":\"success\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
/// <summary>
/// 选择并使用运单
/// </summary>
/// <param name="inputData"></param>
/// <returns></returns>
public string SelectAndSetWaybill(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
if (user_name.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
}
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(shop_id))
{
return "{\"code\":500,\"msg\":\"缺少订单信息\"}";
}
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn, true);
string sql = "";
sql = "select * from wxxd.delivery where order_id='" + order_id + "' and status = 1";
var dt = mySql.ExecuteDataTable(sql);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流信息查询失败 " + mySql.Message + "\"}";
}
if (dt?.Rows?.Count == 0)
{
sql = "UPDATE wxxd.delivery 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())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
}
sql = "SELECT * FROM wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
dt = mySql.ExecuteDataTable(sql);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
}
if (dt?.Rows?.Count == 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
}
}
var waybill_id = dt.Rows[0]["waybill_id"].ToString();
// todo E57调用接口处理
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") + "' " +
" 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())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"修改物流信息失败 " + mySql.Message + "\"}";
}
else
{
mySql.Commit();
mySql.Close();
return "{\"code\":200,\"msg\":\"success\"}";
}
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string SelectWaybill(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
if (user_name.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
}
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
var order_time = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_time")).ParseToDateTimeNullable();
if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(shop_id))
{
return "{\"code\":500,\"msg\":\"缺少订单信息\"}";
}
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn, true);
try
{
string sql = "";
sql = "select * from wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' and status = 1 LIMIT 1";
var dt = mySql.ExecuteDataTable(sql);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流查询失败 " + mySql.Message + "\"}";
}
if (dt?.Rows?.Count == 0)
{
// 获取事先绑定的订单运单
sql = " UPDATE wxxd.delivery 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);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
}
// 根据订单时间提取指定时间段内的运单号
if (cnt == 0 && order_time != null)
{
// 第一天的订单用第二天的物流发货
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" +
" 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";
cnt = mySql.ExecuteAffectedRows(sql);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
}
}
// 挑选最早入库的运单号
//if (cnt == 0 && order_time == null)
//{
// sql = " UPDATE wxxd.delivery 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);
// if (!mySql.Message.IsNullOrEmpty())
// {
// mySql.RollBack();
// mySql.Close();
// return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
// }
//}
if (cnt == 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"没有可用的运单号\"}";
}
sql = "SELECT * FROM wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
dt = mySql.ExecuteDataTable(sql);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
}
if (dt?.Rows?.Count == 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
}
}
var waybill_id = dt.Rows[0]["waybill_id"].ToString();
var delivery_id = dt.Rows[0]["delivery_id"].ParseToString();
var delivery_name = dt.Rows[0]["delivery_name"].ParseToString();
mySql.Commit();
mySql.Close();
return "{\"code\":200,\"msg\":\"success\",\"data\":{\"waybill_id\":\"" + waybill_id +
"\",\"delivery_id\":\"" + delivery_id + "\",\"delivery_name\":\"" + delivery_name + "\"}}";
}
catch (Exception ex)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"物流提取失败 " + ex.Message + "\"}";
}
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string UpdateUsedWaybill(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
if (user_name.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
}
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
var is_rollback = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "is_rollback"))?.Replace("'", "\\'");
if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(shop_id) || string.IsNullOrEmpty(waybill_id))
{
return "{\"code\":500,\"msg\":\"缺少订单信息\"}";
}
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") + "' " +
" 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" +
" 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())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"修改物流信息失败 " + mySql.Message + "\"}";
}
// 记录修改结果,暂时注释
if (is_rollback != "true")
{
//var relation_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "relation_id"))?.Replace("'", "\\'");
//var optimize_rst = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "optimize_rst"))?.Replace("'", "\\'");
//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 + "')";
// var exist = mySql.ExecuteFirstInt(sql);
// if (exist > 0)
// {
// sql = " UPDATE wxxd.express_optimize_rst SET ";
// if (shop_id != null)
// sql += " shop_id=@shop_id,";
// if (relation_id != null)
// sql += " relation_id=@relation_id,";
// if (optimize_rst != null)
// sql += " optimize_rst=@optimize_rst,";
// if (waybill_id != null)
// sql += " waybill_id=@waybill_id,";
// if (delivery_name != null)
// sql += " delivery_name=@delivery_name,";
// sql = sql.TrimEnd(',');
// sql += " WHERE order_id=@order_id";
// }
// else
// {
// sql = " insert into wxxd.express_optimize_rst (shop_id,order_id,";
// if (relation_id != null)
// sql += "relation_id,";
// if (optimize_rst != null)
// sql += "optimize_rst,";
// if (waybill_id != null)
// sql += "waybill_id,";
// if (delivery_name != null)
// sql += "delivery_name,";
// sql = sql.TrimEnd(',');
// sql += ") ";
// sql += " values (@shop_id,@order_id,";
// if (relation_id != null)
// sql += "@relation_id,";
// if (optimize_rst != null)
// sql += "@optimize_rst,";
// if (waybill_id != null)
// sql += "@waybill_id,";
// if (delivery_name != null)
// sql += "@delivery_name,";
// sql = sql.TrimEnd(',');
// sql += ");";
// }
// List<MySqlParameter> paramLst = new List<MySqlParameter>();
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@shop_id", Value = shop_id, });
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@relation_id", Value = relation_id, });
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@optimize_rst", Value = optimize_rst, });
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@waybill_id", Value = waybill_id, });
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@delivery_name", Value = delivery_name, });
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@order_id", Value = order_id, });
// var rows = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
//}
}
mySql.Commit();
mySql.Close();
return "{\"code\":200,\"msg\":\"success\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string AddMdyExpressOptimizeRst(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
var optimize_rst = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "optimize_rst"))?.Replace("'", "\\'");
var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
if (string.IsNullOrEmpty(order_id))
{
return "{\"code\":500,\"msg\":\"请输入订单编号\"}";
}
if (string.IsNullOrEmpty(optimize_rst))
{
return "{\"code\":500,\"msg\":\"请输入补发结果\"}";
}
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "";
sql = "select exists (select 1 from wxxd.express_optimize_rst where order_id='" + order_id + "')";
var exist = mySql.ExecuteFirstInt(sql);
if (exist > 0)
{
sql = " UPDATE wxxd.express_optimize_rst SET ";
if (shop_id != null)
sql += " shop_id=@shop_id,";
if (optimize_rst != null)
sql += " optimize_rst=@optimize_rst,";
if (waybill_id != null)
sql += " waybill_id=@waybill_id,";
if (delivery_name != null)
sql += " delivery_name=@delivery_name,";
sql = sql.TrimEnd(',');
sql += " WHERE order_id=@order_id";
}
else
{
sql = " insert into wxxd.express_optimize_rst (shop_id,order_id,";
if (optimize_rst != null)
sql += "optimize_rst,";
if (waybill_id != null)
sql += "waybill_id,";
if (delivery_name != null)
sql += "delivery_name,";
sql = sql.TrimEnd(',');
sql += ") ";
sql += " values (@shop_id,@order_id,";
if (optimize_rst != null)
sql += "@optimize_rst,";
if (waybill_id != null)
sql += "@waybill_id,";
if (delivery_name != null)
sql += "@delivery_name,";
sql = sql.TrimEnd(',');
sql += ");";
}
List<MySqlParameter> paramLst = new List<MySqlParameter>();
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@shop_id", Value = shop_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@optimize_rst", Value = optimize_rst, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@waybill_id", Value = waybill_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@delivery_name", Value = delivery_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@order_id", Value = order_id, });
var rows = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
mySql.Close();
if (!mySql.Message.IsNullOrEmpty())
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
else
return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string GetExpressOptimizeRst(string inputData, bool isNoUserName = false)
{
if (!string.IsNullOrEmpty(inputData))
{
var timeCalc = DateTime.Now;
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var order_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_ids"))?.Replace("'", "\'");
if (isNoUserName && order_ids.IsNullOrEmpty())
{
return "{\"code\":500,\"msg\":\"订单号不能为空\"}";
}
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "";
sql = "select count(*) from wxxd.express_optimize_rst where 1=1";
string where = "";
if (order_ids != null)
where += " AND order_id in ('" + order_ids.Replace(",", "','") + "')";
sql += where;
var count = 0;
count = mySql.ExecuteRowCount(sql);
DataTable dt;
if (count == 0)
{
dt = new DataTable();
}
else
{
sql = "select * from wxxd.express_optimize_rst 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 (!string.IsNullOrEmpty(mySql.Message))
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
if (dt != null)
{
try
{
List<WxOptimizeRstInfo> WxOptimizeRstInfoLst = new List<WxOptimizeRstInfo>();
foreach (DataRow row in dt.Rows)
{
WxOptimizeRstInfoLst.Add(new WxOptimizeRstInfo()
{
id = row["id"].ParseToInt(),
waybill_id = row["waybill_id"].ParseToString(),
delivery_name = row["delivery_name"].ParseToString(),
order_id = row["order_id"].ParseToString(),
optimize_rst = row["optimize_rst"].ParseToString(),
shop_id = row["shop_id"].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(WxOptimizeRstInfoLst, 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\":\"输入为空\"}";
}
}
}
@@ -96,7 +96,7 @@ namespace KJD_Web.BLL.WXXD
}
else
{
sql = "SELECT s.*,se.expire_time‌ FROM wxxd.shop s" +
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" +
" WHERE 1=1";
sql += where; // where 子句
@@ -16,7 +16,7 @@ namespace KJD_Web.BLL.WXXD
{
public class WXUserManage
{
public static bool GetSign(string signData)
public static bool GetSign(string signData, bool isUserLogin = false)
{
if (string.IsNullOrEmpty(signData)) { return false; }
@@ -25,6 +25,17 @@ namespace KJD_Web.BLL.WXXD
string time1 = RegexUtils.GetStringQuery(ref signData, "code");
if (time1 != EncrypUtil.Encryption(time))
return false;
if (!isUserLogin)
{
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref signData, "user_name"))?.ParseToString();
if (user_name.IsNullOrEmpty())
{
//return "{\"code\":500,\"msg\":\"请输入用户名\"}";
return false;
}
}
return true;
}
@@ -32,7 +43,7 @@ namespace KJD_Web.BLL.WXXD
{
if (!string.IsNullOrEmpty(inputData))
{
if (!GetSign(inputData))
if (!GetSign(inputData, true))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'");
@@ -113,7 +113,7 @@
<Compile Include="BLL\KJD\ToolManage.cs" />
<Compile Include="BLL\KJD\UpadteManage.cs" />
<Compile Include="BLL\KJD\UserManage.cs" />
<Compile Include="BLL\WXXD\WXDeliveryManage.cs" />
<Compile Include="BLL\WXXD\WXExpressOptimizeManage.cs" />
<Compile Include="BLL\WXXD\WXProductManage.cs" />
<Compile Include="BLL\WXXD\WXShopManage.cs" />
<Compile Include="BLL\WXXD\WXUserManage.cs" />
@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace KJD_Web.Model.WxModel
{
public class WxOptimizeExpressInfo
{
public int id { get; set; }
public string delivery_id { get; set; }
public string delivery_name { get; set; }
public string waybill_id { get; set; }
public int status { get; set; }
public string order_id { get; set; }
public string bind_order_id { get; set; }
public string shop_id { get; set; }
public DateTime add_time { get; set; }
public DateTime? use_time { get; set; }
public DateTime? waybill_pickup_time { get; set; }
}
public class WxOptimizeRstInfo
{
public int id { get; set; }
public string shop_id { get; set; }
public string order_id { get; set; }
public string optimize_rst { get; set; }
public string waybill_id { get; set; }
public string delivery_name { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}
@@ -345,6 +345,17 @@ namespace NaiBa.Util.Extension
{
return null;
}
try
{
return DateTime.Parse(str);
}
catch
{
}
if (str.Contains("年") && str.Contains("月") && str.Contains("日") && !str.Contains("周"))
str = str.Replace("年", "-").Replace("月", "-").Replace("日", "").Replace("时", ":").Replace("分", ":").Replace("秒", "").Trim(' ', ':');
if (str.Contains("-") || str.Contains("/"))
{
return DateTime.Parse(str);
@@ -485,6 +496,8 @@ namespace NaiBa.Util.Extension
}
else
{
if (obj is DateTime)
return (obj as DateTime?).Value.ToString("yyyy-MM-dd HH:mm:ss");
return obj.ToString();
}
}
@@ -211,7 +211,7 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().AddWaybill(jsontext);
result = new WXExpressOptimizeManage().AddWaybill(jsontext);
Context.Response.Write(result);
Context.Response.End();
@@ -222,7 +222,7 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().DelWaybill(jsontext);
result = new WXExpressOptimizeManage().DelWaybill(jsontext);
Context.Response.Write(result);
Context.Response.End();
@@ -233,7 +233,7 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().GetWayBill(jsontext);
result = new WXExpressOptimizeManage().GetWayBill(jsontext);
Context.Response.Write(result);
Context.Response.End();
@@ -244,7 +244,7 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().GetWayBill(jsontext, true);
result = new WXExpressOptimizeManage().GetWayBill(jsontext, true);
Context.Response.Write(result);
Context.Response.End();
@@ -255,7 +255,7 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().SelectAndSetWaybill(jsontext);
result = new WXExpressOptimizeManage().SelectAndSetWaybill(jsontext);
Context.Response.Write(result);
Context.Response.End();
@@ -266,7 +266,7 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().SelectWaybill(jsontext);
result = new WXExpressOptimizeManage().SelectWaybill(jsontext);
Context.Response.Write(result);
Context.Response.End();
@@ -281,7 +281,31 @@ namespace KJD_Web
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXDeliveryManage().UpdateUsedWaybill(jsontext);
result = new WXExpressOptimizeManage().UpdateUsedWaybill(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void add_mdy_express_optimize_rst()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXExpressOptimizeManage().AddMdyExpressOptimizeRst(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void get_express_optimize_rst()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXExpressOptimizeManage().GetExpressOptimizeRst(jsontext);
Context.Response.Write(result);
Context.Response.End();
+7
View File
@@ -659,6 +659,13 @@ namespace TemuKJD.BLL
shipment_limit_second_list = null,
sku69_code = "",
};
// 聚水潭广告sku价格为0库存不为零的给库存也改为0
if (skuInfo.multi_price == 0)
{
skuInfo.quantity = 0;
skuInfo.quantity_delta = 0;
}
// 聚水潭供应商价加价10%(最低1元)赚取差价
int addPrice = (skuInfo.multi_price * 0.1).ParseToInt();
if (addPrice < 100)
@@ -772,7 +772,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"",
"是",
"否"});
this.cmbPddRelation.Location = new System.Drawing.Point(743, 5);
this.cmbPddRelation.Location = new System.Drawing.Point(743, 7);
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, 77);
this.cmbCat2.Location = new System.Drawing.Point(278, 75);
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, 42);
this.cmbSourceType.Location = new System.Drawing.Point(278, 40);
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, 7);
this.cmbWxCat.Location = new System.Drawing.Point(622, 5);
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, 42);
this.cmbSort.Location = new System.Drawing.Point(381, 40);
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, 42);
this.cmbGroupFilter.Location = new System.Drawing.Point(175, 40);
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, 42);
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 40);
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, 42);
this.cmbWxSafe.Location = new System.Drawing.Point(501, 40);
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, 77);
this.cmbCat1.Location = new System.Drawing.Point(175, 75);
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, 77);
this.cmbCat3.Location = new System.Drawing.Point(381, 75);
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, 42);
this.cmbHasReturn.Location = new System.Drawing.Point(743, 40);
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);
+582
View File
@@ -0,0 +1,582 @@
namespace TemuKJD.WXForms.AdminForms
{
partial class WXWaybillManageForm
{
/// <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.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXWaybillManageForm));
this.panel3 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.panel5 = new System.Windows.Forms.Panel();
this.btnDel = new DevComponents.DotNetBar.PanelEx();
this.panel4 = new System.Windows.Forms.Panel();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.btnImport = new DevComponents.DotNetBar.PanelEx();
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
this.txtUserName = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvExpress = new TemuKJD.UserComponent.DataGridViewEx();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colDbId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colDeliveryId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colBindOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colDeliveryName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colWaybillId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colWaybillPickupTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colUseTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colTest = new System.Windows.Forms.DataGridViewLinkColumn();
this.panel3.SuspendLayout();
((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();
((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.dgvExpress)).BeginInit();
this.SuspendLayout();
//
// panel3
//
this.panel3.BackColor = System.Drawing.Color.White;
this.panel3.Controls.Add(this.splitContainer1);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(1, 33);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(1208, 589);
this.panel3.TabIndex = 36;
//
// 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(1208, 589);
this.splitContainer1.SplitterDistance = 72;
this.splitContainer1.TabIndex = 34;
//
// 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(1208, 72);
this.tableLayoutPanel2.TabIndex = 37;
//
// panel5
//
this.panel5.Controls.Add(this.btnDel);
this.panel5.Location = new System.Drawing.Point(945, 3);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(260, 66);
this.panel5.TabIndex = 1;
//
// btnDel
//
this.btnDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnDel.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnDel.DisabledBackColor = System.Drawing.Color.Empty;
this.btnDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDel.Location = new System.Drawing.Point(161, 17);
this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(81, 23);
this.btnDel.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnDel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnDel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnDel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnDel.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnDel.Style.GradientAngle = 90;
this.btnDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnDel.TabIndex = 483;
this.btnDel.Text = "删除选中";
this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
//
// panel4
//
this.panel4.Controls.Add(this.comboBox1);
this.panel4.Controls.Add(this.btnImport);
this.panel4.Controls.Add(this.btnSearch);
this.panel4.Controls.Add(this.txtUserName);
this.panel4.Controls.Add(this.label5);
this.panel4.Controls.Add(this.label1);
this.panel4.Controls.Add(this.pnlEmpty);
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(936, 66);
this.panel4.TabIndex = 0;
//
// comboBox1
//
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"",
"未使用",
"已使用"});
this.comboBox1.Location = new System.Drawing.Point(377, 13);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(127, 25);
this.comboBox1.TabIndex = 470;
this.comboBox1.Text = "未使用";
this.comboBox1.Visible = false;
//
// btnImport
//
this.btnImport.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnImport.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnImport.DisabledBackColor = System.Drawing.Color.Empty;
this.btnImport.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnImport.Location = new System.Drawing.Point(14, 14);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(81, 23);
this.btnImport.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnImport.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnImport.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnImport.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnImport.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnImport.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnImport.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnImport.Style.GradientAngle = 90;
this.btnImport.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnImport.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnImport.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnImport.TabIndex = 469;
this.btnImport.Text = "批量导入";
this.btnImport.Click += new System.EventHandler(this.btnImport_Click);
//
// btnSearch
//
this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSearch.Location = new System.Drawing.Point(510, 14);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(56, 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 = 449;
this.btnSearch.Text = "搜索";
this.btnSearch.Visible = false;
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// txtUserName
//
this.txtUserName.Location = new System.Drawing.Point(187, 14);
this.txtUserName.Name = "txtUserName";
this.txtUserName.Size = new System.Drawing.Size(127, 23);
this.txtUserName.TabIndex = 419;
this.txtUserName.Visible = false;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(152, 17);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(44, 17);
this.label5.TabIndex = 420;
this.label5.Text = "账户:";
this.label5.Visible = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(318, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(68, 17);
this.label1.TabIndex = 418;
this.label1.Text = "使用状态:";
this.label1.Visible = false;
//
// pnlEmpty
//
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(571, 14);
this.pnlEmpty.Name = "pnlEmpty";
this.pnlEmpty.Size = new System.Drawing.Size(56, 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 = 413;
this.pnlEmpty.Text = "清空条件";
this.pnlEmpty.Visible = false;
//
// splitContainer2
//
this.splitContainer2.BackColor = System.Drawing.Color.White;
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.BackColor = System.Drawing.Color.White;
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
this.splitContainer2.Panel1.Controls.Add(this.dgvExpress);
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(1208, 513);
this.splitContainer2.SplitterDistance = 484;
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(579, 217);
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;
//
// dgvExpress
//
this.dgvExpress.AllowUserToAddRows = false;
this.dgvExpress.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvExpress.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvExpress.AutoRowNumber = true;
this.dgvExpress.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvExpress.BackgroundColor = System.Drawing.Color.White;
this.dgvExpress.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.dgvExpress.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvExpress.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvExpress.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
this.colDbId,
this.colDeliveryId,
this.colBindOrderId,
this.colDeliveryName,
this.colWaybillId,
this.colWaybillPickupTime,
this.colStatus,
this.colOrderId,
this.colShopId,
this.colUseTime,
this.colAddTime,
this.colMsg,
this.colTest});
this.dgvExpress.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvExpress.Location = new System.Drawing.Point(4, 0);
this.dgvExpress.MultiSelectCheckBox = true;
this.dgvExpress.Name = "dgvExpress";
this.dgvExpress.ReadOnly = true;
this.dgvExpress.RowTemplate.Height = 23;
this.dgvExpress.ShowCellErrors = false;
this.dgvExpress.Size = new System.Drawing.Size(1200, 484);
this.dgvExpress.TabIndex = 5;
this.dgvExpress.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
//
// ucSplitPage1
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.IsShowPageSize = true;
this.ucSplitPage1.Location = new System.Drawing.Point(819, 0);
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
this.ucSplitPage1.Name = "ucSplitPage1";
this.ucSplitPage1.PageSize = 50;
this.ucSplitPage1.Size = new System.Drawing.Size(389, 25);
this.ucSplitPage1.TabIndex = 4;
this.ucSplitPage1.TotalPage = 1;
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
this.ucSplitPage1.Load += new System.EventHandler(this.ucSplitPage1_Load);
//
// 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(1208, 25);
this.statusBar.TabIndex = 1;
//
// colSelect
//
this.colSelect.FillWeight = 16F;
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;
//
// colDbId
//
this.colDbId.FillWeight = 70F;
this.colDbId.HeaderText = "数据库Id";
this.colDbId.Name = "colDbId";
this.colDbId.ReadOnly = true;
this.colDbId.Visible = false;
//
// colDeliveryId
//
this.colDeliveryId.FillWeight = 70F;
this.colDeliveryId.HeaderText = "物流公司编号";
this.colDeliveryId.Name = "colDeliveryId";
this.colDeliveryId.ReadOnly = true;
//
// colBindOrderId
//
this.colBindOrderId.HeaderText = "绑定订单号";
this.colBindOrderId.Name = "colBindOrderId";
this.colBindOrderId.ReadOnly = true;
//
// colDeliveryName
//
this.colDeliveryName.FillWeight = 70F;
this.colDeliveryName.HeaderText = "物流公司名称";
this.colDeliveryName.Name = "colDeliveryName";
this.colDeliveryName.ReadOnly = true;
//
// colWaybillId
//
this.colWaybillId.FillWeight = 70F;
this.colWaybillId.HeaderText = "运单编号";
this.colWaybillId.Name = "colWaybillId";
this.colWaybillId.ReadOnly = true;
//
// colWaybillPickupTime
//
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colWaybillPickupTime.DefaultCellStyle = dataGridViewCellStyle3;
this.colWaybillPickupTime.FillWeight = 60F;
this.colWaybillPickupTime.HeaderText = "揽收时间";
this.colWaybillPickupTime.Name = "colWaybillPickupTime";
this.colWaybillPickupTime.ReadOnly = true;
//
// colStatus
//
this.colStatus.FillWeight = 40F;
this.colStatus.HeaderText = "使用状态";
this.colStatus.Name = "colStatus";
this.colStatus.ReadOnly = true;
//
// colOrderId
//
this.colOrderId.FillWeight = 70F;
this.colOrderId.HeaderText = "使用订单";
this.colOrderId.Name = "colOrderId";
this.colOrderId.ReadOnly = true;
this.colOrderId.Visible = false;
//
// colShopId
//
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.colShopId.DefaultCellStyle = dataGridViewCellStyle4;
this.colShopId.FillWeight = 70F;
this.colShopId.HeaderText = "使用店铺编号";
this.colShopId.Name = "colShopId";
this.colShopId.ReadOnly = true;
this.colShopId.Visible = false;
//
// colUseTime
//
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.colUseTime.DefaultCellStyle = dataGridViewCellStyle5;
this.colUseTime.FillWeight = 50F;
this.colUseTime.HeaderText = "使用时间";
this.colUseTime.Name = "colUseTime";
this.colUseTime.ReadOnly = true;
this.colUseTime.Visible = false;
//
// colAddTime
//
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle6;
this.colAddTime.FillWeight = 50F;
this.colAddTime.HeaderText = "添加时间";
this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true;
//
// colMsg
//
this.colMsg.HeaderText = "操作结果";
this.colMsg.Name = "colMsg";
this.colMsg.ReadOnly = true;
//
// colTest
//
this.colTest.FillWeight = 38F;
this.colTest.HeaderText = "测试";
this.colTest.Name = "colTest";
this.colTest.ReadOnly = true;
this.colTest.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colTest.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colTest.Visible = false;
//
// WXWaybillManageForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1210, 623);
this.Controls.Add(this.panel3);
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 = "WXWaybillManageForm";
this.Text = "运单管理";
this.TitleText = "运单管理";
this.Load += new System.EventHandler(this.WXWaybillManageForm_Load);
this.VisibleChanged += new System.EventHandler(this.WXWaybillManageForm_VisibleChanged);
this.Controls.SetChildIndex(this.panel3, 0);
this.panel3.ResumeLayout(false);
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.panel4.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.dgvExpress)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Panel panel4;
private DevComponents.DotNetBar.PanelEx btnSearch;
private System.Windows.Forms.TextBox txtUserName;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label1;
private DevComponents.DotNetBar.PanelEx pnlEmpty;
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.PictureBox pbLoading;
private UserComponent.DataGridViewEx dgvExpress;
private UserControls.UcSplitPage ucSplitPage1;
private UserControls.StatusBarUserControl statusBar;
private System.Windows.Forms.Panel panel5;
private DevComponents.DotNetBar.PanelEx btnImport;
private System.Windows.Forms.ComboBox comboBox1;
private DevComponents.DotNetBar.PanelEx btnDel;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colDbId;
private System.Windows.Forms.DataGridViewTextBoxColumn colDeliveryId;
private System.Windows.Forms.DataGridViewTextBoxColumn colBindOrderId;
private System.Windows.Forms.DataGridViewTextBoxColumn colDeliveryName;
private System.Windows.Forms.DataGridViewTextBoxColumn colWaybillId;
private System.Windows.Forms.DataGridViewTextBoxColumn colWaybillPickupTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
private System.Windows.Forms.DataGridViewTextBoxColumn colOrderId;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
private System.Windows.Forms.DataGridViewTextBoxColumn colUseTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
private System.Windows.Forms.DataGridViewLinkColumn colTest;
}
}
@@ -0,0 +1,386 @@
using AllBase;
using AllBase.Extension;
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.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.Extension;
using Work;
namespace TemuKJD.WXForms.AdminForms
{
public partial class WXWaybillManageForm : BaseForms.BaseGeneralForm
{
public ConcurrentList<WxOptimizeExpressInfo> lstWxOptimizeExpressInfo = new ConcurrentList<WxOptimizeExpressInfo>();
public WXWaybillManageForm()
{
InitializeComponent();
}
private void WXWaybillManageForm_Load(object sender, EventArgs e)
{
this.dgvExpress.AddSelectorColumn("colSelect");
}
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvExpress.Columns[e.ColumnIndex].HeaderText;
var dbId = dgvExpress.Rows[e.RowIndex].Cells["colDbId"].Value.ParseToString();
var express = lstWxOptimizeExpressInfo.FirstOrDefault(p => p.id.ToString() == dbId);
switch (headerText)
{
case "删除":
if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
return;
//DeleteProduct(dbId);
break;
case "测试":
//this.lblExtCodePrice.Text = "调整货号 " + dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value.ParseToString() + " 价格";
//this.lblExtCode.Text = dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value.ParseToString();
//this.txtExtCodePrice.Text = dgvDbProduct.Rows[e.RowIndex].Cells["colExtCodePrice"].Value?.ParseToDecimal().ToString();
//this.pnlEditExtCodePrice.Visible = true;
//SelectAndSetWaybill
//var url = BaseClass.BuildObjString("shop/select_and_set_waybill");
//var data = UserLogin.GetSignaturex() +
// "&shop_id=wx01"+
// "&order_id=" + Randomx.GetId(100000,999999);
//var html = GetHtml.PostUtf8(url, data);
break;
case "":
dgvExpress.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvExpress.Rows[e.RowIndex].Cells["colSelect"].Value;
break;
default:
break;
}
}
private void btnSearch_Click(object sender, EventArgs e)
{
GetDeliveryAndWaybill();
}
void GetDeliveryAndWaybill()
{
if (this.ucSplitPage1.CurrentPage != 1)
this.ucSplitPage1.CurrentPage = 1;
else
GetDeliveryAndWaybill(1);
}
public void GetDeliveryAndWaybill(int page)
{
Invoke(new Action(() =>
{
this.pbLoading.Visible = true;
this.dgvExpress.Rows.Clear();
lstWxOptimizeExpressInfo.Clear();
}));
Task.Run(() =>
{
int pageCount;
int pageSize = 100;
decimal seconds;
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
var list = GetDeliveryAndWaybill(out pageCount, out seconds, page, pageSize);
lstWxOptimizeExpressInfo.AddRange(list);
this.ucSplitPage1.TotalPage = pageCount;
foreach (var express in lstWxOptimizeExpressInfo)
{
Invoke(new Action(() =>
{
int rowIndex = this.dgvExpress.Rows.Add(
false,
express.id,
express.delivery_id,
express.bind_order_id,
express.delivery_name,
express.waybill_id,
(express.waybill_pickup_time?.ToString("yyyy-MM-dd HH:mm")).ParseToString(),
express.status == 0 ? "未使用" : "已使用",
express.order_id,
express.shop_id,
express.use_time?.ToString("yyyy-MM-dd HH:mm"), // 使用时间
express.add_time.ToString("yyyy-MM-dd HH:mm"), // 添加时间
"",
"测试");
dgvExpress.Rows[rowIndex].Height = 60;
}));
}
Invoke(new Action(() =>
{
this.pbLoading.Visible = false;
this.statusBar.lblTaskStatus.Text = "运单号查询完毕";
#if DEBUG
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
#endif
}));
});
}
public List<WxOptimizeExpressInfo> GetDeliveryAndWaybill(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
{
List<WxOptimizeExpressInfo> list = new List<WxOptimizeExpressInfo >();
pageCount = 1;
seconds = 0;
var url = BaseClass.BuildObjString("shop/get_waybill");
var data = "";
Invoke(new Action(() =>
{
data = UserLogin.GetSignaturex() +
"&page=" + page +
"&page_size=" + pageSize;
if (!string.IsNullOrEmpty(comboBox1.Text.Trim()))
data += "&status=" + (comboBox1.Text.Trim() == "未使用" ? "0" : "1,2");
}));
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<WxOptimizeExpressInfo>(sProd);
return list;
}
catch (Exception ex)
{
return new List<WxOptimizeExpressInfo>();
}
}
private void ucSplitPage1_PageChange(object obj)
{
GetDeliveryAndWaybill(ucSplitPage1.CurrentPage);
}
bool first = true;
private void WXWaybillManageForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible == true && first)
{
first = false;
this.pbLoading.Visible = true;
GetDeliveryAndWaybill(ucSplitPage1.CurrentPage);
}
}
private void btnImport_Click(object sender, EventArgs e)
{
IsOperate = true;
ImportExpress();
GetDeliveryAndWaybill();
}
public bool IsOperate = false;
void ImportExpress()
{
this.btnImport.Enabled = false;
string text = "运单号导入格式:\r\n\r\n1.物流公司名称 运单号码 揽收时间\r\n2.指定定单号 物流公司名称 运单号码 [揽收时间]\r\n\r\n多个运单号请每个新起一行。[]内容非必须";
BaseMsgForm.ShowInfo(text, "", FormLevel.LARGE);
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "文本文件(*.txt)|*.txt";
openFileDialog.RestoreDirectory = true;
openFileDialog.FilterIndex = 1;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
using (StreamReader sr = new StreamReader(openFileDialog.FileName, Work.Api.UploadPinduoduoMain.GetFileEncoding(openFileDialog.FileName)))
{
string fileName = openFileDialog.FileName;
string importStr = sr.ReadToEnd().Trim();
var strArr = importStr.Replace("\r", "").Split('\n');
string errMsg = "";
for (int i = 0; i < strArr.Length; i++)
{
if (IsOperate == false)
break;
try
{
// 通用格式
if (strArr[i].Contains(" ") || strArr[i].Contains("\t"))
{
WxOptimizeExpressInfo express = null;
var ExpressArr = strArr[i].Split(new string[] { " ", "\t" }, StringSplitOptions.RemoveEmptyEntries);
if (ExpressArr.Length > 2)
{
// 三个参数第一个是物流公司名称
var deliveryName = ExpressArr[0];
var deliverId = PddBuyerOrderInfoLite.GetWxExpressNameToWxExpressCode(deliveryName);
if (string.IsNullOrEmpty(deliverId))
deliverId = PddBuyerOrderInfoLite.GetPddToWxExpressCompanyCode(deliveryName);
// 四个参数或则第一个不是物流公司名称的情况下,第一个是订单号,第二个是物流公司名称
if (string.IsNullOrEmpty(deliverId))
{
deliveryName = ExpressArr[1];
deliverId = PddBuyerOrderInfoLite.GetWxExpressNameToWxExpressCode(deliveryName);
if (string.IsNullOrEmpty(deliverId))
deliverId = PddBuyerOrderInfoLite.GetPddToWxExpressCompanyCode(deliveryName);
if (deliverId.IsNullOrEmpty())
{
errMsg += ", 运单信息不完整";
continue;
}
express = new WxOptimizeExpressInfo();
express.waybill_id = ExpressArr[2];
express.delivery_name = ExpressArr[1];
express.bind_order_id = ExpressArr[0];
express.delivery_id = deliverId;
if (ExpressArr.Length > 3)
{
express.waybill_pickup_time = ExpressArr[3].ParseToNullableDateTime();
if (express.waybill_pickup_time == null)
{
errMsg += ", 运单" + express.waybill_id + "揽收时间格式不合法";
continue;
}
}
}
else
{
express = new WxOptimizeExpressInfo();
express.waybill_id = ExpressArr[1];
express.delivery_name = ExpressArr[0];
express.delivery_id = deliverId;
express.waybill_pickup_time = ExpressArr[2].ParseToNullableDateTime();
if(express.waybill_pickup_time == null)
{
errMsg += ", 运单" + express.waybill_id + "揽收时间格式不合法";
continue;
}
}
var url = BaseClass.BuildObjString("shop/add_waybill");
var data = "";
Invoke(new Action(() =>
{
data = UserLogin.GetSignaturex() +
"&delivery_id=" + express.delivery_id +
"&delivery_name=" + express.delivery_name +
"&waybill_id=" + express.waybill_id;
// 运单揽收时间 和 指定订单编号 必填其一
if (express.waybill_pickup_time != null)
data += "&waybill_pickup_time=" + express.waybill_pickup_time.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!express.bind_order_id.IsNullOrEmpty())
data += "&bind_order_id=" + express.bind_order_id;
}));
var html = GetHtml.PostUtf8(url, data);
if (!html.ParseToString().Contains("运单号已存在") && (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")))
html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
{
errMsg += ", " + BaseRegex.GetStringJson(ref html, "msg");
if (html.ParseToString().Contains("运单号已存在"))
errMsg += " " + express.waybill_id;
}
}
}
else
{
errMsg += ", 运单号信息缺失";
}
}
catch (Exception ex)
{
}
}
if (!string.IsNullOrEmpty(errMsg.Trim(',', ' ')))
{
BaseMsgForm.ShowError(errMsg.Trim(',', ' '), "", FormLevel.LARGE);
}
}
}
IsOperate = false;
this.btnImport.Enabled = true;
}
private void btnDel_Click(object sender, EventArgs e)
{
if (BaseMsgForm.ShowConfirm("确定删除运单号吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
return;
var lstWaybillId = dgvExpress.Rows.Cast<DataGridViewRow>().Where(row
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colWaybillId"]?.Value.ToString()).ToList();
var ExpressList = this.lstWxOptimizeExpressInfo.Where(p => lstWaybillId.Contains(p.waybill_id)).ToArray();
this.pbLoading.Visible = true;
//this.statusBar.pgbTaskProgress.Maximum = lstWaybillId.Count;
//this.statusBar.UpdateProgressBar(0);
Task.Run(() =>
{
var url = BaseClass.BuildObjString("shop/del_waybill");
var data = "";
Invoke(new Action(() =>
{
data = UserLogin.GetSignaturex() +
"&waybill_ids=" + string.Join(",", lstWaybillId);
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
GetDeliveryAndWaybill(this.ucSplitPage1.CurrentPage);
Invoke(new Action(() =>
{
pbLoading.Visible = false;
BaseMsgForm.ShowInfo("删除完成!");
}));
});
}
private void ucSplitPage1_Load(object sender, EventArgs e)
{
}
}
}
@@ -0,0 +1,340 @@
<?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="colDeliveryId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBindOrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDeliveryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colWaybillId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colWaybillPickupTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUseTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colAddTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colTest.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>
+7 -7
View File
@@ -420,7 +420,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat3.DropDownWidth = 1;
this.cmbCat3.FormattingEnabled = true;
this.cmbCat3.IntegralHeight = false;
this.cmbCat3.Location = new System.Drawing.Point(718, 5);
this.cmbCat3.Location = new System.Drawing.Point(718, 7);
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat3.Name = "cmbCat3";
this.cmbCat3.Size = new System.Drawing.Size(146, 25);
@@ -448,7 +448,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat2.DropDownWidth = 1;
this.cmbCat2.FormattingEnabled = true;
this.cmbCat2.IntegralHeight = false;
this.cmbCat2.Location = new System.Drawing.Point(515, 5);
this.cmbCat2.Location = new System.Drawing.Point(515, 7);
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat2.Name = "cmbCat2";
this.cmbCat2.Size = new System.Drawing.Size(146, 25);
@@ -476,7 +476,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat1.DropDownWidth = 1;
this.cmbCat1.FormattingEnabled = true;
this.cmbCat1.IntegralHeight = false;
this.cmbCat1.Location = new System.Drawing.Point(293, 7);
this.cmbCat1.Location = new System.Drawing.Point(293, 5);
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat1.Name = "cmbCat1";
this.cmbCat1.Size = new System.Drawing.Size(146, 25);
@@ -536,7 +536,7 @@ namespace TemuKJD.WXForms.ProductForms
"安全+未校验",
"安全商品",
"未校验"});
this.cmbWxSafe.Location = new System.Drawing.Point(71, 42);
this.cmbWxSafe.Location = new System.Drawing.Point(71, 40);
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbWxSafe.Name = "cmbWxSafe";
this.cmbWxSafe.Size = new System.Drawing.Size(146, 25);
@@ -559,7 +559,7 @@ namespace TemuKJD.WXForms.ProductForms
//
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(938, 5);
this.cmbGroupFilter.Location = new System.Drawing.Point(938, 7);
this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbGroupFilter.Name = "cmbGroupFilter";
this.cmbGroupFilter.Size = new System.Drawing.Size(146, 25);
@@ -580,7 +580,7 @@ namespace TemuKJD.WXForms.ProductForms
"机会商品",
"以图搜品",
"外部数据"});
this.cmbSourceType.Location = new System.Drawing.Point(718, 40);
this.cmbSourceType.Location = new System.Drawing.Point(718, 42);
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbSourceType.Name = "cmbSourceType";
this.cmbSourceType.Size = new System.Drawing.Size(146, 25);
@@ -610,7 +610,7 @@ namespace TemuKJD.WXForms.ProductForms
"",
"是",
"否"});
this.cmbRelation.Location = new System.Drawing.Point(938, 40);
this.cmbRelation.Location = new System.Drawing.Point(938, 42);
this.cmbRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbRelation.Name = "cmbRelation";
this.cmbRelation.Size = new System.Drawing.Size(146, 25);
+3 -3
View File
@@ -31,7 +31,7 @@
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 treeNode4 = new System.Windows.Forms.TreeNode("评分考核");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
@@ -133,8 +133,8 @@
treeNode2.Text = "子账号管理";
treeNode3.Name = "店铺经营统计";
treeNode3.Text = "店铺经营统计";
treeNode4.Name = "店铺优化";
treeNode4.Text = "店铺优化";
treeNode4.Name = "评分考核";
treeNode4.Text = "评分考核";
treeNode5.Name = "店铺管理";
treeNode5.Text = "店铺管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
+3 -3
View File
@@ -34,12 +34,12 @@ 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("店铺优化");
hideName.Remove("评分考核");
}
foreach (var item in hideName)
@@ -74,7 +74,7 @@ namespace TemuKJD.WXForms.ShopForms
case "店铺经营统计":
SetForm(shopStatisticsForm.Value);
break;
case "店铺优化":
case "评分考核":
SetForm(shopOptimizeForm.Value);
break;
}
File diff suppressed because it is too large. Load diff
+401 -74
View File
@@ -47,7 +47,7 @@ namespace TemuKJD.WXForms.ShopForms
ConcurrentList<WxOptimizeOrderAfterSaleInfo> lstWxOptimizeOrderAfterSaleInfo = new ConcurrentList<WxOptimizeOrderAfterSaleInfo>();
ConcurrentList<WxOptimizeProductEvaluationInfo> lstWxOptimizeProductEvaluationInfo = new ConcurrentList<WxOptimizeProductEvaluationInfo>();
ConcurrentList<WxOptimizeOrderWayBillInfo> lstWxOptimizeOrderWayBillInfo = new ConcurrentList<WxOptimizeOrderWayBillInfo>(); // 揽收
ConcurrentList<WxOptrimizeLinerCgiInfo> lstWxOptrimizeLinerCgiInfo = new ConcurrentList<WxOptrimizeLinerCgiInfo>(); // 物流
ConcurrentList<WxOptimizeLinerCgiInfo> lstWxOptrimizeLinerCgiInfo = new ConcurrentList<WxOptimizeLinerCgiInfo>(); // 物流
public WXShopOptimizeForm()
{
@@ -70,8 +70,8 @@ namespace TemuKJD.WXForms.ShopForms
dgvData1.AddImgColumn("colDgv1Img", "colDgv1ImgUrl");
dgvData2.AddSelectorColumn("colDgv2Check");
dgvData2.AddImgColumn("colDgv2Img", "colDgv2ImgUrl");
dgvData3.AddSelectorColumn("colCheck");
dgvData3.AddImgColumn("colImg", "colImgUrl");
dgvData3.AddSelectorColumn("colDgv3Check");
dgvData3.AddImgColumn("colDgv3Img", "colDgv3ImgUrl");
dgvData4.AddSelectorColumn("colDgv4Check");
dgvData4.AddImgColumn("colDgv4Img", "colDgv4ImgUrl");
@@ -482,15 +482,15 @@ namespace TemuKJD.WXForms.ShopForms
{
//this.statusBar.lblTaskStatus.Text = "品质退款查询完毕 " + this.statusBar.lblTaskStatus.Text;
//BaseMsgForm.ShowInfo("品质退款查询完毕");
this.statusBar.lblTaskStatus.Text = "优化数据查询中断 " + this.statusBar.lblTaskStatus.Text;
BaseMsgForm.ShowInfo("优化数据查询中断");
this.statusBar.lblTaskStatus.Text = "数据查询中断 " + this.statusBar.lblTaskStatus.Text;
BaseMsgForm.ShowInfo("数据查询中断");
}
else
{
//this.statusBar.lblTaskStatus.Text = "品质退款查询完毕";
//BaseMsgForm.ShowInfo("品质退款查询完毕");
this.statusBar.lblTaskStatus.Text = "优化数据查询完毕";
BaseMsgForm.ShowInfo("优化数据查询完毕");
this.statusBar.lblTaskStatus.Text = "数据查询完毕";
BaseMsgForm.ShowInfo("数据查询完毕");
}
pictureBox1.Visible = false;
pictureBox2.Visible = false;
@@ -573,9 +573,53 @@ namespace TemuKJD.WXForms.ShopForms
refundOrder.shopId = shop.ShopId;
refundOrder.shopName = shop.ShopAccount;
lstWxOptimizeOrderAfterSaleInfo.Add(refundOrder);
orderAfterSaleInfoLst.Add(refundOrder);
}
// 获取收货地址
if (1==1)
{
var orderIds = string.Join(",", orderAfterSaleInfoLst.Select(a => a.orderInfo.orderId));
var getOrderRst = ShopOptimize.orderSearchByOrderId(shop, orderIds);
Thread.Sleep(Randomx.GetId(200, 350));
if (!getOrderRst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJson(ref getOrderRst, "msg");
if (string.IsNullOrEmpty(error))
error = getOrderRst;
foreach (var refundOrder in orderAfterSaleInfoLst)
{
refundOrder.province = "地址获取失败";
}
}
else
{
try
{
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
foreach (var refundOrder in orderAfterSaleInfoLst)
{
var wxOrder = wxOrderLst.FirstOrDefault(o => o.commonInfo.orderId == refundOrder.orderInfo.orderId);
if (wxOrder != null)
{
refundOrder.orderTime = wxOrder.commonInfo.createTime;
refundOrder.province = wxOrder.acceptInfo.addressInfo.provinceName;
refundOrder.city = wxOrder.acceptInfo.addressInfo.cityName;
refundOrder.district = wxOrder.acceptInfo.addressInfo.countyName;
}
}
}
catch
{
foreach (var refundOrder in orderAfterSaleInfoLst)
{
refundOrder.province = "地址解析失败";
}
}
}
}
// 查询是否被优化过
@@ -610,7 +654,7 @@ namespace TemuKJD.WXForms.ShopForms
orderAfterSale.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
orderAfterSale.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
if (!string.IsNullOrEmpty(orderAfterSale.optimizeWaybillId))
orderAfterSale.optimizeWaybillId = "已优化";
orderAfterSale.optimizeWaybillId = "已补发";
}
}
catch (Exception ex)
@@ -625,6 +669,11 @@ namespace TemuKJD.WXForms.ShopForms
foreach (var refundOrder in orderAfterSaleInfoLst)
{
if (CheckOrderExist(refundOrder.orderInfo.orderId))
continue;
lstWxOptimizeOrderAfterSaleInfo.Add(refundOrder);
Invoke(new Action(() =>
{
var rowIndex = this.dgvData1.Rows.Add(
@@ -640,10 +689,11 @@ namespace TemuKJD.WXForms.ShopForms
refundOrder.orderInfo.skuName,
refundOrder.orderInfo.skuCode,
refundOrder.orderInfo.orderId,
refundOrder.province + refundOrder.city + refundOrder.district,
BaseClass.StampToDateTime(refundOrder.orderInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
refundOrder.reason,
refundOrder.optimizeWaybillId + "\r\n" + refundOrder.optimizeTime,
"优化"
"补发"
);
dgvData1.Rows[rowIndex].Height = 60;
@@ -738,11 +788,10 @@ namespace TemuKJD.WXForms.ShopForms
prodEvaluationInfo.shopId = shop.ShopId;
prodEvaluationInfo.shopName = shop.ShopAccount;
lstWxOptimizeProductEvaluationInfo.Add(prodEvaluationInfo);
productEvaluationInfoLst.Add(prodEvaluationInfo);
}
// 查询收货地址
foreach (var prodEvaluationInfo in productEvaluationInfoLst)
{
var getOrderRst = ShopOptimize.orderSearch(shop, prodEvaluationInfo.productInfo.spuName, prodEvaluationInfo.evaluationInfo.buyer.identity.nickname);
@@ -757,18 +806,28 @@ namespace TemuKJD.WXForms.ShopForms
}
else
{
prodEvaluationInfo.order_id = "";
while (getOrderRst.Contains("\"orderId\""))
try
{
prodEvaluationInfo.order_id += (" " + BaseRegex.GetStringJson(ref getOrderRst, "orderId"));
getOrderRst = getOrderRst.Substring(getOrderRst.IndexOf("\"orderId\"") + "\"orderId\"".Length);
prodEvaluationInfo.order_id = "";
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
if (wxOrderLst.Count == 0)
prodEvaluationInfo.order_id = "未获取到对应订单号";
else if (wxOrderLst.Count > 1)
prodEvaluationInfo.order_id = string.Join(" ", wxOrderLst.Select(o => o.commonInfo.orderId)) + " 获取到多条订单号";
else
{
prodEvaluationInfo.order_id = wxOrderLst.FirstOrDefault().commonInfo.orderId;
prodEvaluationInfo.orderTime = wxOrderLst.FirstOrDefault().commonInfo.createTime;
prodEvaluationInfo.province = wxOrderLst.FirstOrDefault().acceptInfo.addressInfo.provinceName;
prodEvaluationInfo.city = wxOrderLst.FirstOrDefault().acceptInfo.addressInfo.cityName;
prodEvaluationInfo.district = wxOrderLst.FirstOrDefault().acceptInfo.addressInfo.countyName;
}
}
catch
{
prodEvaluationInfo.order_id = "订单号转换失败";
}
prodEvaluationInfo.order_id = prodEvaluationInfo.order_id.Trim(' ');
if (prodEvaluationInfo.order_id.IsNullOrEmpty())
prodEvaluationInfo.order_id = "未获取到对应订单号";
if (prodEvaluationInfo.order_id.Contains(" "))
prodEvaluationInfo.order_id += " 获取到多条订单号";
}
}
@@ -804,7 +863,7 @@ namespace TemuKJD.WXForms.ShopForms
evaluationInfo.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
evaluationInfo.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
if (!string.IsNullOrEmpty(evaluationInfo.optimizeWaybillId))
evaluationInfo.optimizeWaybillId = "已优化";
evaluationInfo.optimizeWaybillId = "已补发";
}
}
catch (Exception ex)
@@ -819,6 +878,11 @@ namespace TemuKJD.WXForms.ShopForms
foreach (var prodEvaluationInfo in productEvaluationInfoLst)
{
if (CheckOrderExist(prodEvaluationInfo.order_id))
continue;
lstWxOptimizeProductEvaluationInfo.Add(prodEvaluationInfo);
var lblLst = prodEvaluationInfo.evaluationInfo?.firstEvaluationInfo?.buyerEvaluationInfo?.labelList;
var content = prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.content + " " +
prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.defaultContent;
@@ -837,12 +901,14 @@ namespace TemuKJD.WXForms.ShopForms
prodEvaluationInfo.productInfo.skuName,
"", // spuCode 此处获取不到填空
prodEvaluationInfo.productEvaluationId,
prodEvaluationInfo.order_id, // orderId
prodEvaluationInfo.order_id,
prodEvaluationInfo.province + prodEvaluationInfo.city + prodEvaluationInfo.district,
prodEvaluationInfo.orderTime.IsNullOrZero() ? "" : BaseClass.StampToDateTime(prodEvaluationInfo.orderTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
prodEvaluationInfo.evaluationInfo.buyer.identity.nickname,
BaseClass.StampToDateTime(prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
(content + " " + (lblLst == null ? "" : string.Join(" ", lblLst.Select(e => e.labelName)))).Trim(),
prodEvaluationInfo.optimizeWaybillId + "\r\n" + prodEvaluationInfo.optimizeTime,
"优化"
"补发"
);
dgvData2.Rows[rowIndex].Height = 60;
@@ -980,6 +1046,52 @@ namespace TemuKJD.WXForms.ShopForms
waybillLst.Add(orderWayBill);
}
// 获取收货地址
if (1 == 1)
{
var orderIds = string.Join(",", waybillLst.Select(a => a.orderInfo.orderId));
var getOrderRst = ShopOptimize.orderSearchByOrderId(shop, orderIds);
Thread.Sleep(Randomx.GetId(200, 350));
if (!getOrderRst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJson(ref getOrderRst, "msg");
if (string.IsNullOrEmpty(error))
error = getOrderRst;
foreach (var orderWaybill in waybillLst)
{
orderWaybill.province = "地址获取失败";
}
}
else
{
try
{
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
foreach (var orderWaybill in waybillLst)
{
var wxOrder = wxOrderLst.FirstOrDefault(o => o.commonInfo.orderId == orderWaybill.orderInfo.orderId);
if (wxOrder != null)
{
orderWaybill.orderTime = wxOrder.commonInfo.createTime;
orderWaybill.province = wxOrder.acceptInfo.addressInfo.provinceName;
orderWaybill.city = wxOrder.acceptInfo.addressInfo.cityName;
orderWaybill.district = wxOrder.acceptInfo.addressInfo.countyName;
}
}
}
catch
{
foreach (var orderWaybill in waybillLst)
{
orderWaybill.province = "地址解析失败";
}
}
}
}
// 查询是否被优化过
var url = BaseClass.BuildObjString("shop/get_waybill_no_user_name");
var data = "";
@@ -1012,7 +1124,7 @@ namespace TemuKJD.WXForms.ShopForms
orderWaybill.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
orderWaybill.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
if (!string.IsNullOrEmpty(orderWaybill.optimizeWaybillId))
orderWaybill.optimizeWaybillId = "已优化";
orderWaybill.optimizeWaybillId = "已补发";
}
}
catch (Exception ex)
@@ -1025,31 +1137,94 @@ namespace TemuKJD.WXForms.ShopForms
}
}
// 查询是否有失败记录
url = BaseClass.BuildObjString("shop/get_express_optimize_rst");
if (waybillLst.Select(w => w.orderInfo.orderId).Contains("3735310410457956864"))
{
}
data = "";
data = UserLogin.GetSignaturex();
data += "&order_ids=" + string.Join(",", waybillLst.Select(w => w.orderInfo.orderId));
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"))
{
foreach (var orderWaybill in waybillLst)
{
if (orderWaybill.optimizeWaybillId.IsNullOrEmpty())
{
orderWaybill.optimizeWaybillId = "查询失败";
orderWaybill.optimizeTime = "";
}
}
}
else
{
try
{
var jArr = JObject.Parse(html)["data"];
var sProd = JsonHelper.SerializeObject(jArr);
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeRstInfo>(sProd);
foreach (var orderWaybill in waybillLst)
{
if (orderWaybill.optimizeWaybillId.IsNullOrEmpty())
{
var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderWaybill.orderInfo.orderId);
if (ov != null)
{
orderWaybill.optimizeWaybillId = ov == null ? "" : ov.optimize_rst;
orderWaybill.optimizeTime = ov == null ? "" : ov?.mdy_time.ToString("yyyy-MM-dd HH:mm");
}
}
}
}
catch (Exception ex)
{
foreach (var orderWaybill in waybillLst)
{
if (orderWaybill.optimizeWaybillId.IsNullOrEmpty())
{
orderWaybill.optimizeWaybillId = "查询失败";
orderWaybill.optimizeTime = "";
}
}
}
}
foreach (var orderWaybill in waybillLst)
{
if (CheckOrderExist(orderWaybill.orderInfo.orderId))
continue;
lstWxOptimizeOrderWayBillInfo.Add(orderWaybill);
Invoke(new Action(() =>
{
var rowIndex = this.dgvData3.Rows.Add(
false,
shop.ShopId,
shop.ShopAccount,
"登录",
"进店",
orderWaybill.orderInfo.imgUrl,
DataGridViewExtension.defaultBitmap,
orderWaybill.orderInfo.spuId,
orderWaybill.orderInfo.name,
orderWaybill.orderInfo.skuName + " x" + orderWaybill.orderInfo.productCnt,
orderWaybill.orderInfo.skuCode,
orderWaybill.orderInfo.orderId + "\r\n" + orderWaybill.waybillId,
orderWaybill.delivery.deliveryName,
BaseClass.StampToDateTime(orderWaybill.payTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
orderWaybill.realPickupTime.ParseToInt().IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderWaybill.realPickupTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
orderWaybill.pickupDuration.ParseToInt().IsNullOrZero() ? "" : ((orderWaybill.pickupDuration.ParseToInt() / 3600.0m).ToString("f2") + "小时" + "\r\n" + "[" + (is24 ? "次日" : "48小时") + "]"),
orderWaybill.optimizeWaybillId + "\r\n" + orderWaybill.optimizeTime,
"优化"
);
var rowIndex = this.dgvData3.Rows.Add(
false,
shop.ShopId,
shop.ShopAccount,
"登录",
"进店",
orderWaybill.orderInfo.imgUrl,
DataGridViewExtension.defaultBitmap,
orderWaybill.orderInfo.spuId,
orderWaybill.orderInfo.name,
orderWaybill.orderInfo.skuName + " x" + orderWaybill.orderInfo.productCnt,
orderWaybill.orderInfo.skuCode,
orderWaybill.orderInfo.orderId, // + "\r\n" + orderWaybill.waybillId,
orderWaybill.province + orderWaybill.city + orderWaybill.district,
orderWaybill.orderTime.IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderWaybill.orderTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
BaseClass.StampToDateTime(orderWaybill.payTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
orderWaybill.realPickupTime.ParseToInt().IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderWaybill.realPickupTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
orderWaybill.pickupDuration.ParseToInt().IsNullOrZero() ? "" : ((orderWaybill.pickupDuration.ParseToInt() / 3600.0m).ToString("f2") + "小时" + "\r\n" + "[" + (is24 ? "次日" : "48小时") + "]"),
orderWaybill.delivery.deliveryName,
orderWaybill.optimizeWaybillId + "\r\n" + orderWaybill.optimizeTime,
"补发"
);
dgvData3.Rows[rowIndex].Height = 60;
}));
@@ -1159,19 +1334,63 @@ namespace TemuKJD.WXForms.ShopForms
this.pictureBox4.Visible = true;
this.statusBar.lblTaskStatus.Text = "正在查询配送不达标,店铺:" + shop.ShopAccount + " " + page + "/" + totalPage;
}));
List<WxOptrimizeLinerCgiInfo> optrimizeLinerCgiLst = new List<WxOptrimizeLinerCgiInfo>();
List<WxOptimizeLinerCgiInfo> optrimizeLinerCgiLst = new List<WxOptimizeLinerCgiInfo>();
foreach (JObject refundOrderObj in wayBillObjs["list"])
{
var oStr = JsonHelper.SerializeObject(refundOrderObj);
var orderLinerCgiInfo = JsonHelper.DeserializeJsonToObject<WxOptrimizeLinerCgiInfo>(oStr);
var orderLinerCgiInfo = JsonHelper.DeserializeJsonToObject<WxOptimizeLinerCgiInfo>(oStr);
if (lstWxOptrimizeLinerCgiInfo.Any(o => o.order_id == orderLinerCgiInfo.order_id))
continue;
orderLinerCgiInfo.shopId = shop.ShopId;
orderLinerCgiInfo.shopName = shop.ShopAccount;
optrimizeLinerCgiLst.Add(orderLinerCgiInfo);
lstWxOptrimizeLinerCgiInfo.Add(orderLinerCgiInfo);
}
// 获取收货地址
if (1 == 1)
{
var orderIds = string.Join(",", optrimizeLinerCgiLst.Select(a => a.order_id));
var getOrderRst = ShopOptimize.orderSearchByOrderId(shop, orderIds);
Thread.Sleep(Randomx.GetId(200, 350));
if (!getOrderRst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJson(ref getOrderRst, "msg");
if (string.IsNullOrEmpty(error))
error = getOrderRst;
foreach (var linerCgi in optrimizeLinerCgiLst)
{
linerCgi.province = "地址获取失败";
}
}
else
{
try
{
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
foreach (var linerCgi in optrimizeLinerCgiLst)
{
var wxOrder = wxOrderLst.FirstOrDefault(o => o.commonInfo.orderId == linerCgi.order_id);
if (wxOrder != null)
{
linerCgi.orderTime = wxOrder.commonInfo.createTime;
linerCgi.province = wxOrder.acceptInfo.addressInfo.provinceName;
linerCgi.city = wxOrder.acceptInfo.addressInfo.cityName;
linerCgi.district = wxOrder.acceptInfo.addressInfo.countyName;
}
}
}
catch
{
foreach (var linerCgi in optrimizeLinerCgiLst)
{
linerCgi.province = "地址解析失败";
}
}
}
}
// 查询是否被优化过
@@ -1206,7 +1425,7 @@ namespace TemuKJD.WXForms.ShopForms
linerCgi.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
linerCgi.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
if (!string.IsNullOrEmpty(linerCgi.optimizeWaybillId))
linerCgi.optimizeWaybillId = "已优化";
linerCgi.optimizeWaybillId = "已补发";
}
}
catch (Exception ex)
@@ -1219,8 +1438,63 @@ namespace TemuKJD.WXForms.ShopForms
}
}
// 查询是否有失败记录
url = BaseClass.BuildObjString("shop/get_express_optimize_rst");
data = "";
data = UserLogin.GetSignaturex();
data += "&order_ids=" + string.Join(",", optrimizeLinerCgiLst.Select(w => w.order_id));
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"))
{
foreach (var linerCgi in optrimizeLinerCgiLst)
{
if (linerCgi.optimizeWaybillId.IsNullOrEmpty())
{
linerCgi.optimizeWaybillId = "查询失败";
linerCgi.optimizeTime = "";
}
}
}
else
{
try
{
var jArr = JObject.Parse(html)["data"];
var sProd = JsonHelper.SerializeObject(jArr);
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeRstInfo>(sProd);
foreach (var linerCgi in optrimizeLinerCgiLst)
{
if (linerCgi.optimizeWaybillId.IsNullOrEmpty())
{
var ov = optimizeLst.FirstOrDefault(o => o.order_id == linerCgi.order_id);
linerCgi.optimizeWaybillId = ov == null ? "" : ov.optimize_rst;
linerCgi.optimizeTime = ov == null ? "" : ov?.mdy_time.ToString("yyyy-MM-dd HH:mm");
}
}
}
catch (Exception ex)
{
foreach (var linerCgi in optrimizeLinerCgiLst)
{
if (linerCgi.optimizeWaybillId.IsNullOrEmpty())
{
linerCgi.optimizeWaybillId = "查询失败";
linerCgi.optimizeTime = "";
}
}
}
}
foreach (var orderLinerCgiInfo in optrimizeLinerCgiLst)
{
if (CheckOrderExist(orderLinerCgiInfo.order_id))
continue;
lstWxOptrimizeLinerCgiInfo.Add(orderLinerCgiInfo);
Invoke(new Action(() =>
{
var rowIndex = this.dgvData4.Rows.Add(
@@ -1235,14 +1509,16 @@ namespace TemuKJD.WXForms.ShopForms
string.Join("\r\n", orderLinerCgiInfo.product_list.Select(p => p.title)),
string.Join("\r\n", orderLinerCgiInfo.product_list.Select(p => "x" + p.product_count)),
"", //skuCode不展示
orderLinerCgiInfo.order_id + "\r\n" + orderLinerCgiInfo.waybill_id,
orderLinerCgiInfo.order_id, // + "\r\n" + orderLinerCgiInfo.waybill_id,
orderLinerCgiInfo.province + orderLinerCgiInfo.city + orderLinerCgiInfo.district,
orderLinerCgiInfo.orderTime.IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderLinerCgiInfo.orderTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
orderLinerCgiInfo.delivery_name,
BaseClass.StampToDateTime(orderLinerCgiInfo.collect_time.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss") + "\r\n" + BaseClass.StampToDateTime(orderLinerCgiInfo.receipt_time.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
"发货地:" + orderLinerCgiInfo.ship_city + "\r\n" + "收货地:" + orderLinerCgiInfo.ship_province + orderLinerCgiInfo.receipt_city,
(orderLinerCgiInfo.transport_duration.ParseToInt() / 3600) + "小时" + (orderLinerCgiInfo.transport_duration.ParseToInt() % 3600) / 60 + "分" +
"\r\n标准时长" + (orderLinerCgiInfo.transport_std_duration.ParseToInt() / 3600) + "小时", /*+ (orderLinerCgiInfo.transport_std_duration.ParseToInt() % 3600)*/
(orderLinerCgiInfo.transport_duration.ParseToInt() / 3600) + "小时" + (orderLinerCgiInfo.transport_duration.ParseToInt() % 3600) / 60 + "分" + "\r\n标准时长" + (orderLinerCgiInfo.transport_std_duration.ParseToInt() / 3600) + "小时",
orderLinerCgiInfo.optimizeWaybillId + "\r\n" + orderLinerCgiInfo.optimizeTime,
"优化"
"补发"
);
dgvData4.Rows[rowIndex].Height = 60;
@@ -1267,13 +1543,15 @@ namespace TemuKJD.WXForms.ShopForms
cancellationTokenSource.Cancel();
}
public string OptimizeExpress(ShopLoginInfo shop, string orderId, string productEvaluationId = "")
public string OptimizeExpress(ShopLoginInfo shop, string orderId, string orderCreateTime = "")
{
var url = BaseClass.BuildObjString("shop/select_waybill");
var data = "";
data = UserLogin.GetSignaturex();
data += "&shop_id=" + shop.ShopId;
data += "&order_id=" + orderId;
if (!orderCreateTime.IsNullOrEmpty())
data += "&order_time=" + orderCreateTime;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
@@ -1281,7 +1559,7 @@ namespace TemuKJD.WXForms.ShopForms
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
return "优化失败 " + errMsg;
return "补发失败 " + errMsg;
}
var waybill_id = BaseRegex.GetStringJson(ref html, "waybill_id");
var delivery_id = BaseRegex.GetStringJson(ref html, "delivery_id");
@@ -1300,16 +1578,44 @@ namespace TemuKJD.WXForms.ShopForms
optimizeExpressRst = WXHttpResponseBLL.e57PostResponse(url, bodyStr, "");
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(optimizeExpressRst); //<AjaxResult><msg>订单不存在,orderId:3735398415030708224</msg><code>500</code></AjaxResult>
string msg = xmlDoc["AjaxResult"]["msg"].InnerText;
string code = xmlDoc["AjaxResult"]["code"].InnerText;
string msg = "";
string code = "";
try
{
xmlDoc.LoadXml(optimizeExpressRst); //<AjaxResult><msg>订单不存在,orderId:3735398415030708224</msg><code>500</code></AjaxResult>
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
code = xmlDoc["AjaxResult"]["code"].InnerText;
// 记录一下优化结果
url = BaseClass.BuildObjString("shop/add_mdy_express_optimize_rst");
data = UserLogin.GetSignaturex();
data += "&shop_id=" + shop.ShopId;
data += "&order_id=" + orderId;
if (msg.ParseToString().Contains("修改物流信息成功") || code == "200")
{
data += "&waybill_id=" + waybill_id;
data += "&delivery_name=" + delivery_name;
data += "&optimize_rst=补发成功";
}
else
{
data += "&optimize_rst=" + (msg.IsNullOrEmpty() ? "补发失败" : msg);
}
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
}
catch
{
}
url = BaseClass.BuildObjString("shop/update_used_waybill");
data = UserLogin.GetSignaturex();
data += "&shop_id=" + shop.ShopId;
data += "&order_id=" + orderId;
data += "&waybill_id=" + waybill_id;
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
if (!optimizeExpressRst.ParseToString().Contains("修改物流信息成功") && !optimizeExpressRst.ParseToString().Contains("<code>200</code>"))
data += "&is_rollback=true";
html = GetHtml.PostUtf8(url, data);
@@ -1320,14 +1626,14 @@ namespace TemuKJD.WXForms.ShopForms
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
return "优化失败,回滚失败\r\n" + errMsg + " " + msg;
if (!optimizeExpressRst.ParseToString().Contains("修改物流信息成功") && !optimizeExpressRst.ParseToString().Contains("<code>200</code>"))
return "补发失败,还原失败\r\n" + errMsg + " " + msg;
else
return "优化失败\r\n" + errMsg;
return "补发失败\r\n" + errMsg;
}
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
return "优化失败,已回滚\r\n" + msg;
return "优化成功";
if (!optimizeExpressRst.ParseToString().Contains("修改物流信息成功") && !optimizeExpressRst.ParseToString().Contains("<code>200</code>"))
return "补发失败,已还原\r\n" + msg;
return "补发成功";
}
private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e)
@@ -1382,30 +1688,29 @@ namespace TemuKJD.WXForms.ShopForms
imgFrom.ShowDialog();
break;
}
case "优化":
case "补发":
{
var orderId = row.Cells[$"colDgv{dgvNum}OrderId"].Value.ParseToString();
if (orderId.Contains("未获取到对应订单号"))
{
BaseMsgForm.ShowError("缺少单编号无法优化!");
BaseMsgForm.ShowError("缺少单编号无法补发!");
return;
}
if (orderId.Contains("获取到多条订单号"))
{
BaseMsgForm.ShowError("订单编号不符合优化条件!");
BaseMsgForm.ShowError("订单编号不符合补发条件!");
return;
}
orderId = orderId.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault();
if (!string.IsNullOrEmpty(orderId))
{
var rst = OptimizeExpress(shop, orderId);
var rst = OptimizeExpress(shop, orderId, row.Cells[$"colDgv{dgvNum}OrderTime"].Value.ParseToString());
row.Cells[$"colDgv{dgvNum}OptimizeStatus"].Value = rst;
}
else
{
BaseMsgForm.ShowError("缺少单编号无法优化!");
BaseMsgForm.ShowError("缺少订单编号无法补发!");
}
break;
}
@@ -1422,6 +1727,19 @@ namespace TemuKJD.WXForms.ShopForms
WXWaybillManageForm waybillForm = new WXWaybillManageForm();
waybillForm.ShowDialog();
}
public bool CheckOrderExist(string orderId)
{
if (lstWxOptimizeOrderAfterSaleInfo.Any(o => o.orderInfo.orderId == orderId))
return true;
if (lstWxOptimizeProductEvaluationInfo.Any(o => o.order_id == orderId))
return true;
if (lstWxOptimizeOrderWayBillInfo.Any(o => o.orderInfo.orderId == orderId))
return true;
if (lstWxOptrimizeLinerCgiInfo.Any(o => o.order_id == orderId))
return true;
return false;
}
}
public static class ShopOptimize
@@ -1501,5 +1819,14 @@ namespace TemuKJD.WXForms.ShopForms
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
public static string orderSearchByOrderId(ShopLoginInfo shop, string orderIds)
{
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/list/cgi/orderSearch?token=&lang=zh_CN";
string referer = "https://store.weixin.qq.com/shop/order/list";
string body = @"{""isSearch"":true,""pageSize"":30,""orderId"":""" + orderIds + @""",""orderTime"":{""type"":0,""time"":[null,null]},""telNumber"":"""",""title"":"""",""receiverName"":"""",""finderNickName"":"""",""merchantNotes"":"""",""merchantNotesTagColor"":0,""waybillId"":"""",""productCode"":"""",""inspectStatus"":"""",""finderWay"":0,""searchOrderType"":0,""payMethod"":0,""orderChannel"":0,""bulkbuyActivityId"":"""",""deliveryNegotiationFlag"":0,""transactionId"":"""",""page"":1,""startCreateTime"":null,""endCreateTime"":null}";
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
}
}
@@ -189,6 +189,9 @@
<metadata name="colDgv1OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv1Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv1OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -240,6 +243,12 @@
<metadata name="colDgv2OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv2Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv2OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv2UserNick.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -255,7 +264,7 @@
<metadata name="colDgv2Optimize.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3Check.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv3ShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -276,31 +285,37 @@
<metadata name="colDgv3Img.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3DraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3ProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSpec.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3Spec.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3ExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv3OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDeliveryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPayTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colTakeTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3PayTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDuration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv3TakeTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv3Duration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv3DeliveryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv3OptimizeStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -345,13 +360,19 @@
<metadata name="colDgv4OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv4Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv4OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgv4Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="colDgv4Addresses.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -1306,8 +1306,18 @@ namespace TemuKJD.WXForms.TalkForms
}
}
bool isSendOrderE57 = false;
public void SendOrderE57(PddBuyerOrderInfoLite order, bool resetSendStatus = false)
{
if (resetSendStatus == true)
{
// 防止重复点击发送按钮
if (isSendOrderE57)
return;
isSendOrderE57 = true;
Task.Run(() => { Thread.Sleep(2500); isSendOrderE57 = false; });
}
if (order == null)
return;
if (resetSendStatus)
@@ -1339,7 +1349,7 @@ namespace TemuKJD.WXForms.TalkForms
// 外采订单已发货的订单不再尝试发货
//if (order.sendStatus == "已发送")
// return;
if (order.sendStatus.Contains("外采订单已发货"))
if (order.sendStatus.Contains("外采订单已发货") || order.sendStatus.Contains("更新外采订单微信发货成功"))
{
Invoke(new Action(() =>
{
@@ -1363,15 +1373,26 @@ namespace TemuKJD.WXForms.TalkForms
var exportRst = WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
for (int i = 0; i < 5 && exportRst.Contains("操作超时"); i++)
{
Thread.Sleep(2000);
Thread.Sleep(3000);
WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
}
if (exportRst.Contains("操作超时"))
{
order.sendStatus = "发送失败 操作超时";
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
Invoke(new Action(() =>
{
ShowOrder(order);
}));
return;
}
// 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;
if (msg == "SUCCESS")
string code = xmlDoc["ResultVo"]["code"].InnerText;
if (code == "0" || msg == "SUCCESS") //if (msg == "SUCCESS")
{
order.sendStatus = string.IsNullOrEmpty(data) ? msg : data;
if (order.sendStatus == "更新微信外采订单状态成功")