店铺优化功能优化
This commit is contained in:
1 parent
5e0a54a8ba
commit
16342df70a
22 files changed
+1121
-442
No files matched your search
@@ -287,6 +287,7 @@
|
||||
<Compile Include="Model\Result\WXResult\GetCateOnShelfInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\GetProdCateInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxCatInfo.cs" />
|
||||
<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" />
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 1013;
|
||||
public static int VersionCount = 1016;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -20,24 +20,31 @@ namespace AllBase.Model.Result.PDDResult
|
||||
//BTWL 百世快运
|
||||
//HTKY 百世快递
|
||||
|
||||
public static string GetWxExpressCompanyCode(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 "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 string outExpressCompanyMsg { get; set; } // 物流公司名称,可以尝试直接从列表中匹配
|
||||
public string outExpressCompanyCode
|
||||
{
|
||||
get
|
||||
{
|
||||
if (outExpressCompanyMsg == null || outExpressCompanyMsg == "") return "";
|
||||
if (outExpressCompanyMsg.Contains("邮政快递包裹")) return "EMS";
|
||||
if (outExpressCompanyMsg.Contains("邮政电商标快")) return "EMS";
|
||||
if (outExpressCompanyMsg.Contains("邮政EMS")) return "EMS";
|
||||
if (outExpressCompanyMsg.Contains("极兔速递")) return "JTSD";
|
||||
if (outExpressCompanyMsg.Contains("申通快递")) return "STO";
|
||||
if (outExpressCompanyMsg.Contains("韵达快递")) return "YD";
|
||||
if (outExpressCompanyMsg.Contains("圆通快递")) return "YTO";
|
||||
if (outExpressCompanyMsg.Contains("中通快递")) return "ZTO";
|
||||
if (outExpressCompanyMsg.Contains("百世快运")) return "BTWL";
|
||||
if (outExpressCompanyMsg.Contains("百世快递")) return "HTKY";
|
||||
if (outExpressCompanyMsg.Contains("顺丰")) return "SF";
|
||||
return "";
|
||||
return GetWxExpressCompanyCode(outExpressCompanyName);
|
||||
}
|
||||
}
|
||||
public string outExpressCompanyName
|
||||
@@ -55,7 +62,9 @@ namespace AllBase.Model.Result.PDDResult
|
||||
if (outExpressCompanyMsg.Contains("百世快运")) return "百世快运";
|
||||
if (outExpressCompanyMsg.Contains("百世快递")) return "百世快递";
|
||||
if (outExpressCompanyMsg.Contains("邮政EMS")) return "邮政EMS";
|
||||
if (outExpressCompanyMsg.Contains("顺丰")) return "顺丰速运";
|
||||
if (outExpressCompanyMsg.Contains("顺丰速运")) return "顺丰速运";
|
||||
if (outExpressCompanyMsg.Contains("京东快递")) return "京东快递";
|
||||
if (outExpressCompanyMsg.Contains("京东快运")) return "京东快运";
|
||||
return "物流名称获取失败";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public string shopId { get; set; }
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
|
||||
public AfterSaleOrderInfo orderInfo { get; set; }
|
||||
public string reason { get; set; } // "生锈/弯曲变形/钝化不锋利"
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public string shopId { get; set; }
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
|
||||
public WayBillOrderInfo orderInfo { get; set; }
|
||||
public string waybillId { get; set; } // "JT4157662637789",
|
||||
|
||||
@@ -10,6 +10,10 @@ namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public string shopId { get; set; }
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
|
||||
public string order_id { get; set; }
|
||||
|
||||
public string productEvaluationId { get; set; } // "53890834526",
|
||||
public OptimizeEvaluationInfo evaluationInfo { get; set; }
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public string shopId { get; set; }
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
|
||||
public string receipt_province { get; set; } // "福建省",
|
||||
public string ship_province { get; set; } // "广东省",
|
||||
|
||||
@@ -894,8 +894,8 @@ namespace KJD_Web.BLL.WXXD
|
||||
sql += where;
|
||||
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
mySql.Close();
|
||||
}
|
||||
mySql.Close();
|
||||
|
||||
if (dt != null)
|
||||
{
|
||||
|
||||
@@ -79,7 +79,8 @@ namespace KJD_Web.BLL.WXXD
|
||||
var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
if (!main_authority.Contains("积分用户"))
|
||||
{
|
||||
user.authority = string.Join(",", userAuthLst.Remove("积分用户"));
|
||||
userAuthLst.Remove("积分用户");
|
||||
user.authority = string.Join(",", userAuthLst);
|
||||
}
|
||||
else if (!user.authority.Contains("积分用户"))
|
||||
{
|
||||
@@ -344,7 +345,8 @@ namespace KJD_Web.BLL.WXXD
|
||||
var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
if (!main_authority.Contains("积分用户"))
|
||||
{
|
||||
user.authority = string.Join(",", userAuthLst.Remove("积分用户"));
|
||||
userAuthLst.Remove("积分用户");
|
||||
user.authority = string.Join(",", userAuthLst);
|
||||
}
|
||||
else if (!user.authority.Contains("积分用户"))
|
||||
{
|
||||
|
||||
@@ -113,6 +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\WXProductManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXShopManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXUserManage.cs" />
|
||||
@@ -128,6 +129,7 @@
|
||||
<Compile Include="Model\WXAddressInfo.cs" />
|
||||
<Compile Include="Model\WxModel\WXClientProductInfoLite.cs" />
|
||||
<Compile Include="Model\WxModel\WXGetEditProductInfoLite.cs" />
|
||||
<Compile Include="Model\WxModel\WxOptimizeExpressInfo.cs" />
|
||||
<Compile Include="Model\WxProdSecretSpuIdShopIdMapParam.cs" />
|
||||
<Compile Include="Upload\Prod\WXProd.aspx.cs">
|
||||
<DependentUpon>WXProd.aspx</DependentUpon>
|
||||
|
||||
@@ -58,21 +58,21 @@ namespace KJD_Web.Utils
|
||||
/// </summary>
|
||||
public bool IsRunning = false;
|
||||
|
||||
public bool IsUseTrans { get; set; } = false;
|
||||
public MySqlTransaction Transaction { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化数据库链接
|
||||
/// </summary>
|
||||
/// <param name="connString">数据库链接</param>
|
||||
public MysqlUtils(string connString)
|
||||
public MysqlUtils(string connString, bool isUseTrans = false)
|
||||
{
|
||||
this.IsUseTrans = isUseTrans;
|
||||
|
||||
ConnString = connString;
|
||||
ConnTo();
|
||||
}
|
||||
|
||||
public void BeginTransaction()
|
||||
{
|
||||
Conn.BeginTransaction();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 去掉SQL中的特殊字符
|
||||
/// </summary>
|
||||
@@ -112,6 +112,15 @@ namespace KJD_Web.Utils
|
||||
return value;
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// 开放一个Conn获取路径,以便外部使用事务提交
|
||||
///// </summary>
|
||||
//public MySqlConnection GetConn()
|
||||
//{
|
||||
// //Transaction = Conn.BeginTransaction();
|
||||
// return Conn;
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 插入数据
|
||||
/// </summary>
|
||||
@@ -662,24 +671,24 @@ namespace KJD_Web.Utils
|
||||
cmd.Connection = Conn;
|
||||
cmd.CommandType = CommandType.Text;
|
||||
cmd.CommandTimeout = TimeOut;
|
||||
}
|
||||
|
||||
public MySqlTransaction Transaction { get; set; } = null;
|
||||
if (Transaction != null)
|
||||
cmd.Transaction = Transaction;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 连接数据库
|
||||
/// </summary>
|
||||
private void ConnTo(bool isTransaction = false)
|
||||
private void ConnTo()
|
||||
{
|
||||
Close();
|
||||
try
|
||||
{
|
||||
Conn = new MySqlConnection(ConnString);
|
||||
Conn.Open();
|
||||
if (isTransaction)
|
||||
{
|
||||
Conn.BeginTransaction();
|
||||
}
|
||||
|
||||
if (IsUseTrans)
|
||||
this.Transaction = Conn.BeginTransaction();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -711,6 +720,18 @@ namespace KJD_Web.Utils
|
||||
}
|
||||
}
|
||||
|
||||
public void Commit()
|
||||
{
|
||||
if (Transaction != null)
|
||||
Transaction.Commit();
|
||||
}
|
||||
|
||||
public void RollBack()
|
||||
{
|
||||
if (Transaction != null)
|
||||
Transaction.Rollback();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关闭数据库链接
|
||||
/// </summary>
|
||||
@@ -720,7 +741,9 @@ namespace KJD_Web.Utils
|
||||
try
|
||||
{
|
||||
if (Conn != null && Conn.State == ConnectionState.Open)
|
||||
{
|
||||
Conn.Close();
|
||||
}
|
||||
Conn = null;
|
||||
|
||||
try
|
||||
@@ -732,6 +755,16 @@ namespace KJD_Web.Utils
|
||||
{
|
||||
}
|
||||
reader = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (Transaction != null)
|
||||
Transaction.Dispose();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
Transaction = null;
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -205,6 +205,88 @@ namespace KJD_Web
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void add_waybill()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().AddWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
[WebMethod]
|
||||
public void del_waybill()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().DelWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
[WebMethod]
|
||||
public void get_waybill()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().GetWayBill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
[WebMethod]
|
||||
public void get_waybill_no_user_name()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().GetWayBill(jsontext, true);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
[WebMethod]
|
||||
public void select_and_set_waybill()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().SelectAndSetWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
[WebMethod]
|
||||
public void select_waybill()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().SelectWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 标记已正式使用的运单号
|
||||
/// </summary>
|
||||
[WebMethod]
|
||||
public void update_used_waybill()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().UpdateUsedWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void e57_get_wx_tokens()
|
||||
{
|
||||
|
||||
@@ -262,6 +262,12 @@
|
||||
<Compile Include="WXForms\AdminForms\WXAdminAddressSyncForm.Designer.cs">
|
||||
<DependentUpon>WXAdminAddressSyncForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\AdminForms\WXWaybillManageForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\AdminForms\WXWaybillManageForm.Designer.cs">
|
||||
<DependentUpon>WXWaybillManageForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ProductForms\WXUserProdListForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -1298,6 +1304,9 @@
|
||||
<EmbeddedResource Include="WXForms\AdminForms\WXProdComplateForm.resx">
|
||||
<DependentUpon>WXProdComplateForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\AdminForms\WXWaybillManageForm.resx">
|
||||
<DependentUpon>WXWaybillManageForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXUserProdListForm.resx">
|
||||
<DependentUpon>WXUserProdListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -879,11 +879,12 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
break;
|
||||
case "订单Api":
|
||||
{
|
||||
var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true);
|
||||
if (currentPddClient != null)
|
||||
//var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true);
|
||||
//if (currentPddClient != null)
|
||||
{
|
||||
PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop);
|
||||
shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/service-detail?detailId=84862";
|
||||
//shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/service-detail?detailId=84862";
|
||||
shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/service-detail?detailId=79676"; // 小红椒
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.SaveComplete += shopLoginForm_SaveComplete;
|
||||
shopLoginForm.ShowDialog();
|
||||
@@ -893,14 +894,15 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
break;
|
||||
case "订单授权":
|
||||
{
|
||||
var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true);
|
||||
if (currentPddClient != null)
|
||||
//var currentPddClient = GlobalConfig.PddClentInfoList.FirstOrDefault(c => c.is_current == true);
|
||||
//if (currentPddClient != null)
|
||||
{
|
||||
PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop);
|
||||
shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/auth?client_id=" + PddApi.clientId_pi_xiu_guan_jia +
|
||||
"&redirect_uri=" + GetHtml.UrlEncodeUtf8("http://po.e57.cn/login?source=pdd_code_pixiu") + "&response_type=code";
|
||||
shopLoginForm.InitUrl = "https://fuwu.pinduoduo.com/service-market/auth?client_id=94d942df626a4a118cc18b05ee7f2e8d&redirect_uri=https%3A%2F%2Fpo.e57.cn%2Flogin%3Fsource%3Dpdd_code_xhj&response_type=code";
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.AuthClientId = currentPddClient.client_id;
|
||||
//shopLoginForm.AuthClientId = currentPddClient.client_id;
|
||||
shopLoginForm.SaveComplete += shopLoginForm_SaveComplete;
|
||||
shopLoginForm.ShowDialog();
|
||||
btnRefreshCookie_Click(null, null);
|
||||
|
||||
+9
-5
@@ -37,7 +37,8 @@
|
||||
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("随机厂商商品");
|
||||
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("地址管理");
|
||||
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("图片工具");
|
||||
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
|
||||
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("运单管理");
|
||||
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
treeNode3,
|
||||
@@ -46,7 +47,8 @@
|
||||
treeNode6,
|
||||
treeNode7,
|
||||
treeNode8,
|
||||
treeNode9});
|
||||
treeNode9,
|
||||
treeNode10});
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
@@ -155,10 +157,12 @@
|
||||
treeNode8.Text = "地址管理";
|
||||
treeNode9.Name = "图片工具";
|
||||
treeNode9.Text = "图片工具";
|
||||
treeNode10.Name = "超级权限管理";
|
||||
treeNode10.Text = "超级权限管理";
|
||||
treeNode10.Name = "运单管理";
|
||||
treeNode10.Text = "运单管理";
|
||||
treeNode11.Name = "超级权限管理";
|
||||
treeNode11.Text = "超级权限管理";
|
||||
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode10});
|
||||
treeNode11});
|
||||
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
|
||||
this.tv.Size = new System.Drawing.Size(140, 446);
|
||||
this.tv.TabIndex = 1;
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
public Lazy<ImgToolForm> imgToolForm = new Lazy<ImgToolForm>();
|
||||
public Lazy<GetAddressForm> getAddressForm = new Lazy<GetAddressForm>();
|
||||
public Lazy<RandomComProductForm> randomComProductForm = new Lazy<RandomComProductForm>();
|
||||
public Lazy<WXWaybillManageForm> waybillManageForm = new Lazy<WXWaybillManageForm>();
|
||||
|
||||
public WXAdminForm()
|
||||
{
|
||||
@@ -37,7 +38,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
List<string> hideName = new List<string>() { "地址管理1", "1688厂家采集1", "图片工具", "Sku采集回传1", "超级用户管理", "超级店铺管理", "PDD产品库", "SKU替换图", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
|
||||
List<string> hideName = new List<string>() { "运单管理", "地址管理1", "1688厂家采集1", "图片工具", "Sku采集回传1",
|
||||
"超级用户管理", "超级店铺管理", "PDD产品库", "SKU替换图", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
@@ -105,6 +107,9 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
case "随机厂商商品":
|
||||
SetForm(randomComProductForm.Value);
|
||||
break;
|
||||
case "运单管理":
|
||||
SetForm(waybillManageForm.Value);
|
||||
break;
|
||||
}
|
||||
//}));
|
||||
//}).Start();
|
||||
|
||||
+40
-37
@@ -32,14 +32,14 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.cmbSaleSort = new System.Windows.Forms.ComboBox();
|
||||
@@ -905,19 +905,19 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.dgvShop.AutoRowNumber = true;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -935,6 +935,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colMessage});
|
||||
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvShop.Location = new System.Drawing.Point(4, 0);
|
||||
this.dgvShop.MultiSelectCheckBox = true;
|
||||
this.dgvShop.Name = "dgvShop";
|
||||
this.dgvShop.ReadOnly = true;
|
||||
this.dgvShop.RowHeadersWidth = 25;
|
||||
@@ -1077,19 +1078,19 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
this.dgvSelectProduct.AllowUserToAddRows = false;
|
||||
this.dgvSelectProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.dgvSelectProduct.AutoRowNumber = true;
|
||||
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
@@ -1119,6 +1120,7 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.colOpResult});
|
||||
this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvSelectProduct.MultiSelectCheckBox = true;
|
||||
this.dgvSelectProduct.Name = "dgvSelectProduct";
|
||||
this.dgvSelectProduct.ReadOnly = true;
|
||||
this.dgvSelectProduct.RowTemplate.Height = 23;
|
||||
@@ -1152,8 +1154,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13;
|
||||
this.colSupplierName.Frozen = true;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
@@ -1241,8 +1243,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle14;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
@@ -1250,8 +1252,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
// colProductCat
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15;
|
||||
this.colProductCat.HeaderText = "商品类目";
|
||||
this.colProductCat.Name = "colProductCat";
|
||||
this.colProductCat.ReadOnly = true;
|
||||
@@ -1310,8 +1312,8 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16;
|
||||
this.colAddTime.HeaderText = "上架时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
@@ -1420,8 +1422,9 @@ namespace TemuKJD.WXForms.AdminForms
|
||||
this.ClientSize = new System.Drawing.Size(1424, 641);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.KeyPreview = true;
|
||||
this.Name = "WXProdComplateForm";
|
||||
this.Text = "爆单神器";
|
||||
this.Text = "商品回采 暂时作废";
|
||||
this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
|
||||
+7
-7
@@ -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, 7);
|
||||
this.cmbCat3.Location = new System.Drawing.Point(718, 5);
|
||||
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, 7);
|
||||
this.cmbCat2.Location = new System.Drawing.Point(515, 5);
|
||||
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, 5);
|
||||
this.cmbCat1.Location = new System.Drawing.Point(293, 7);
|
||||
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, 40);
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(71, 42);
|
||||
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, 7);
|
||||
this.cmbGroupFilter.Location = new System.Drawing.Point(938, 5);
|
||||
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, 42);
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(718, 40);
|
||||
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, 42);
|
||||
this.cmbRelation.Location = new System.Drawing.Point(938, 40);
|
||||
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);
|
||||
|
||||
@@ -34,11 +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", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
|
||||
List<string> hideName = new List<string>() { "店铺优化", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
hideName.Remove("子账号管理");
|
||||
hideName.Remove("店铺优化");
|
||||
}
|
||||
|
||||
foreach (var item in hideName)
|
||||
|
||||
+378
-245
File diff suppressed because it is too large.
Load diff
@@ -30,6 +30,7 @@ using Newtonsoft.Json;
|
||||
using NaiBa.Util;
|
||||
using AllBase.Model.Config;
|
||||
using TemuKJD.WXForms.ProductForms;
|
||||
using TemuKJD.WXForms.AdminForms;
|
||||
|
||||
namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
@@ -287,60 +288,6 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvData3_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvData3.Columns[e.ColumnIndex].HeaderText;
|
||||
var shopId = dgvData3.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "删除":
|
||||
break;
|
||||
case "登录":
|
||||
{
|
||||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||||
//shopLoginForm.prodUserSelectForm = this;
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.ShowDialog();
|
||||
RefreshShopLogin();
|
||||
}
|
||||
break;
|
||||
case "进店":
|
||||
{
|
||||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus == "登录成功")
|
||||
{
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||||
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home";
|
||||
shopLoginForm.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.ShowDialog();
|
||||
RefreshShopLogin();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "图片":
|
||||
{
|
||||
ShowImgForm imgFrom = new ShowImgForm(dgvData3.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString());
|
||||
imgFrom.ShowDialog();
|
||||
break;
|
||||
}
|
||||
case "":
|
||||
dgvData3.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvData3.Rows[e.RowIndex].Cells["colCheck"].Value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnStop_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.cancellationTokenSource != null)
|
||||
@@ -616,6 +563,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
this.pictureBox1.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在查询品质退款,店铺:" + shop.ShopAccount + " " + page + "/" + totalPage;
|
||||
}));
|
||||
var orderAfterSaleInfoLst = new List<WxOptimizeOrderAfterSaleInfo>();
|
||||
foreach (JObject refundOrderObj in prodObjs["data"])
|
||||
{
|
||||
var oStr = JsonHelper.SerializeObject(refundOrderObj);
|
||||
@@ -626,6 +574,57 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
refundOrder.shopName = shop.ShopAccount;
|
||||
|
||||
lstWxOptimizeOrderAfterSaleInfo.Add(refundOrder);
|
||||
orderAfterSaleInfoLst.Add(refundOrder);
|
||||
|
||||
}
|
||||
|
||||
// 查询是否被优化过
|
||||
var url = BaseClass.BuildObjString("shop/get_waybill_no_user_name");
|
||||
var data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&status=2";
|
||||
data += "&order_ids=" + string.Join(",", orderAfterSaleInfoLst.Select(w => w.orderInfo.orderId));
|
||||
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"))
|
||||
{
|
||||
foreach (var orderAfterSale in orderAfterSaleInfoLst)
|
||||
{
|
||||
orderAfterSale.optimizeWaybillId = "查询失败";
|
||||
orderAfterSale.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeExpressInfo>(sProd);
|
||||
foreach (var orderAfterSale in orderAfterSaleInfoLst)
|
||||
{
|
||||
var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderAfterSale.orderInfo.orderId);
|
||||
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 = "已优化";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
foreach (var orderAfterSale in orderAfterSaleInfoLst)
|
||||
{
|
||||
orderAfterSale.optimizeWaybillId = "查询失败";
|
||||
orderAfterSale.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var refundOrder in orderAfterSaleInfoLst)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var rowIndex = this.dgvData1.Rows.Add(
|
||||
@@ -642,7 +641,10 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
refundOrder.orderInfo.skuCode,
|
||||
refundOrder.orderInfo.orderId,
|
||||
BaseClass.StampToDateTime(refundOrder.orderInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
refundOrder.reason);
|
||||
refundOrder.reason,
|
||||
refundOrder.optimizeWaybillId + "\r\n" + refundOrder.optimizeTime,
|
||||
"优化"
|
||||
);
|
||||
|
||||
dgvData1.Rows[rowIndex].Height = 60;
|
||||
}));
|
||||
@@ -660,7 +662,10 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 查询差评订单
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
public void SearchData2(ShopLoginInfo shop)
|
||||
{
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
@@ -722,6 +727,8 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}));
|
||||
if (totalPage == 0)
|
||||
break;
|
||||
|
||||
var productEvaluationInfoLst = new List<WxOptimizeProductEvaluationInfo>();
|
||||
foreach (JObject refundOrderObj in prodObjs["finderProductEvaluationInfoList"])
|
||||
{
|
||||
var oStr = JsonHelper.SerializeObject(refundOrderObj);
|
||||
@@ -732,6 +739,86 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
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);
|
||||
Thread.Sleep(Randomx.GetId(200, 350));
|
||||
if (!getOrderRst.Contains("\"code\":0"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref getData2, "msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = getData2;
|
||||
|
||||
prodEvaluationInfo.order_id = error;
|
||||
}
|
||||
else
|
||||
{
|
||||
prodEvaluationInfo.order_id = "";
|
||||
while (getOrderRst.Contains("\"orderId\""))
|
||||
{
|
||||
prodEvaluationInfo.order_id += (" " + BaseRegex.GetStringJson(ref getOrderRst, "orderId"));
|
||||
getOrderRst = getOrderRst.Substring(getOrderRst.IndexOf("\"orderId\"") + "\"orderId\"".Length);
|
||||
}
|
||||
prodEvaluationInfo.order_id = prodEvaluationInfo.order_id.Trim(' ');
|
||||
if (prodEvaluationInfo.order_id.IsNullOrEmpty())
|
||||
prodEvaluationInfo.order_id = "未获取到对应订单号";
|
||||
|
||||
if (prodEvaluationInfo.order_id.Contains(" "))
|
||||
prodEvaluationInfo.order_id += " 获取到多条订单号";
|
||||
}
|
||||
}
|
||||
|
||||
// 查询是否被优化过
|
||||
var url = BaseClass.BuildObjString("shop/get_waybill_no_user_name");
|
||||
var data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&status=2";
|
||||
data += "&order_ids=" + string.Join(",", productEvaluationInfoLst.Select(w => w.order_id).Where(r => !r.IsNullOrEmpty()));
|
||||
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"))
|
||||
{
|
||||
foreach (var evaluationInfo in productEvaluationInfoLst)
|
||||
{
|
||||
evaluationInfo.optimizeWaybillId = "查询失败";
|
||||
evaluationInfo.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeExpressInfo>(sProd);
|
||||
foreach (var evaluationInfo in productEvaluationInfoLst)
|
||||
{
|
||||
var ov = optimizeLst.FirstOrDefault(o => o.order_id == evaluationInfo.order_id);
|
||||
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 = "已优化";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
foreach (var evaluationInfo in productEvaluationInfoLst)
|
||||
{
|
||||
evaluationInfo.optimizeWaybillId = "查询失败";
|
||||
evaluationInfo.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var prodEvaluationInfo in productEvaluationInfoLst)
|
||||
{
|
||||
var lblLst = prodEvaluationInfo.evaluationInfo?.firstEvaluationInfo?.buyerEvaluationInfo?.labelList;
|
||||
var content = prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.content + " " +
|
||||
prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.defaultContent;
|
||||
@@ -748,11 +835,14 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
prodEvaluationInfo.productInfo.productId,
|
||||
prodEvaluationInfo.productInfo.spuName,
|
||||
prodEvaluationInfo.productInfo.skuName,
|
||||
"", //spuCode 此处获取不到填空
|
||||
"", // spuCode 此处获取不到填空
|
||||
prodEvaluationInfo.productEvaluationId,
|
||||
prodEvaluationInfo.order_id, // orderId
|
||||
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()
|
||||
(content + " " + (lblLst == null ? "" : string.Join(" ", lblLst.Select(e => e.labelName)))).Trim(),
|
||||
prodEvaluationInfo.optimizeWaybillId + "\r\n" + prodEvaluationInfo.optimizeTime,
|
||||
"优化"
|
||||
);
|
||||
|
||||
dgvData2.Rows[rowIndex].Height = 60;
|
||||
@@ -801,8 +891,8 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
if (shopRow != null)
|
||||
{
|
||||
shopRow.Cells["colMessage"].Value = "获取揽收时效失败" + error;
|
||||
//if(error.Contains("\"code\":2") && error.Contains("[194,62,3,176,14,1]"))
|
||||
// shopRow.Cells["colMessage"].Value = "店铺无评分";
|
||||
if(error.Contains("\"code\":2") && error.Contains("[194,62,3,176,14,1]"))
|
||||
shopRow.Cells["colMessage"].Value = "店铺无时效评分";
|
||||
}
|
||||
}));
|
||||
}
|
||||
@@ -863,6 +953,8 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
this.pictureBox3.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在查询揽收不达标,店铺:" + shop.ShopAccount + " " + page + "/" + totalPage;
|
||||
}));
|
||||
|
||||
List<WxOptimizeOrderWayBillInfo> waybillLst = new List<WxOptimizeOrderWayBillInfo>();
|
||||
foreach (JObject refundOrderObj in wayBillObjs["data"])
|
||||
{
|
||||
var oStr = JsonHelper.SerializeObject(refundOrderObj);
|
||||
@@ -885,30 +977,81 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
|
||||
}
|
||||
waybillLst.Add(orderWayBill);
|
||||
}
|
||||
|
||||
lstWxOptimizeOrderWayBillInfo.Add(orderWayBill);
|
||||
// 查询是否被优化过
|
||||
var url = BaseClass.BuildObjString("shop/get_waybill_no_user_name");
|
||||
var data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&status=2";
|
||||
data += "&order_ids=" + string.Join(",", waybillLst.Select(w => w.orderInfo.orderId));
|
||||
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"))
|
||||
{
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
orderWaybill.optimizeWaybillId = "查询失败";
|
||||
orderWaybill.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeExpressInfo>(sProd);
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderWaybill.orderInfo.orderId);
|
||||
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 = "已优化";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
orderWaybill.optimizeWaybillId = "查询失败";
|
||||
orderWaybill.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
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() ? "" : (new TimeSpan(orderWayBill.pickupDuration.ParseToLong()).TotalHours.ToString("f2") + "小时" + "\r\n")) + "[" + (is24 ? "次日" : "48小时") + "]"
|
||||
);
|
||||
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,
|
||||
"优化"
|
||||
);
|
||||
|
||||
dgvData3.Rows[rowIndex].Height = 60;
|
||||
dgvData3.Rows[rowIndex].Height = 60;
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -955,8 +1098,8 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
if (shopRow != null)
|
||||
{
|
||||
shopRow.Cells["colMessage"].Value = "获取配送时效失败" + error;
|
||||
//if(error.Contains("\"code\":2") && error.Contains("[194,62,3,176,14,1]"))
|
||||
// shopRow.Cells["colMessage"].Value = "店铺无评分";
|
||||
if(error.Contains("\"code\":2") && error.Contains("[194,62,3,176,14,1]"))
|
||||
shopRow.Cells["colMessage"].Value = "店铺无时效评分";
|
||||
}
|
||||
}));
|
||||
}
|
||||
@@ -1016,6 +1159,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
this.pictureBox4.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在查询配送不达标,店铺:" + shop.ShopAccount + " " + page + "/" + totalPage;
|
||||
}));
|
||||
List<WxOptrimizeLinerCgiInfo> optrimizeLinerCgiLst = new List<WxOptrimizeLinerCgiInfo>();
|
||||
foreach (JObject refundOrderObj in wayBillObjs["list"])
|
||||
{
|
||||
var oStr = JsonHelper.SerializeObject(refundOrderObj);
|
||||
@@ -1025,14 +1169,58 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
orderLinerCgiInfo.shopId = shop.ShopId;
|
||||
orderLinerCgiInfo.shopName = shop.ShopAccount;
|
||||
|
||||
//// 24小时揽收率截至第二天
|
||||
//if (is24 && BaseClass.StampToDateTime(orderLinerCgiInfo.realPickupTime.ParseToInt()).Date <= BaseClass.StampToDateTime(orderLinerCgiInfo.payTime.ParseToInt()).Date.AddDays(1))
|
||||
// continue;
|
||||
//// 48小时揽收率按48小时算
|
||||
//if (!is24 && BaseClass.StampToDateTime(orderLinerCgiInfo.realPickupTime.ParseToInt()) <= BaseClass.StampToDateTime(orderLinerCgiInfo.payTime.ParseToInt()).AddDays(2))
|
||||
// continue;
|
||||
|
||||
optrimizeLinerCgiLst.Add(orderLinerCgiInfo);
|
||||
lstWxOptrimizeLinerCgiInfo.Add(orderLinerCgiInfo);
|
||||
|
||||
}
|
||||
|
||||
// 查询是否被优化过
|
||||
var url = BaseClass.BuildObjString("shop/get_waybill_no_user_name");
|
||||
var data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&status=2";
|
||||
data += "&order_ids=" + string.Join(",", optrimizeLinerCgiLst.Select(w => w.order_id));
|
||||
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"))
|
||||
{
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
linerCgi.optimizeWaybillId = "查询失败";
|
||||
linerCgi.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeExpressInfo>(sProd);
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
var ov = optimizeLst.FirstOrDefault(o => o.order_id == linerCgi.order_id);
|
||||
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 = "已优化";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
linerCgi.optimizeWaybillId = "查询失败";
|
||||
linerCgi.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var orderLinerCgiInfo in optrimizeLinerCgiLst)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var rowIndex = this.dgvData4.Rows.Add(
|
||||
@@ -1052,7 +1240,9 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
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)*/
|
||||
"\r\n标准时长" + (orderLinerCgiInfo.transport_std_duration.ParseToInt() / 3600) + "小时", /*+ (orderLinerCgiInfo.transport_std_duration.ParseToInt() % 3600)*/
|
||||
orderLinerCgiInfo.optimizeWaybillId + "\r\n" + orderLinerCgiInfo.optimizeTime,
|
||||
"优化"
|
||||
);
|
||||
|
||||
dgvData4.Rows[rowIndex].Height = 60;
|
||||
@@ -1071,17 +1261,167 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void dgvData1_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.cancellationTokenSource != null)
|
||||
cancellationTokenSource.Cancel();
|
||||
}
|
||||
|
||||
public string OptimizeExpress(ShopLoginInfo shop, string orderId, string productEvaluationId = "")
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/select_waybill");
|
||||
var data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&shop_id=" + shop.ShopId;
|
||||
data += "&order_id=" + orderId;
|
||||
|
||||
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"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
return "优化失败 " + errMsg;
|
||||
}
|
||||
var waybill_id = BaseRegex.GetStringJson(ref html, "waybill_id");
|
||||
var delivery_id = BaseRegex.GetStringJson(ref html, "delivery_id");
|
||||
var delivery_name = BaseRegex.GetStringJson(ref html, "delivery_name");
|
||||
|
||||
JObject body = new JObject();
|
||||
body["platform"] = "WEISHOP";
|
||||
//body["shopId"] = shop.ShopId;
|
||||
body["orderId"] = orderId;
|
||||
body["expressNo"] = waybill_id;
|
||||
body["expressName"] = delivery_id;
|
||||
url = "https://po.e57.cn/prod-api/api/oms-api/order/optimize/optimizeExpressInfo";
|
||||
var bodyStr = JsonHelper.SerializeObject(body);
|
||||
var optimizeExpressRst = WXHttpResponseBLL.e57PostResponse(url, bodyStr, "");
|
||||
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
|
||||
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;
|
||||
|
||||
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>"))
|
||||
data += "&is_rollback=true";
|
||||
|
||||
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"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
|
||||
return "优化失败,回滚失败\r\n" + errMsg + " " + msg;
|
||||
else
|
||||
return "优化失败\r\n" + errMsg;
|
||||
}
|
||||
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
|
||||
return "优化失败,已回滚\r\n" + msg;
|
||||
return "优化成功";
|
||||
}
|
||||
|
||||
private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
var dgvData = sender as DataGridView;
|
||||
if (dgvData == null)
|
||||
return;
|
||||
|
||||
var dgvNum = dgvData.Name.Replace("dgvData", "");
|
||||
|
||||
var row = dgvData.Rows[e.RowIndex];
|
||||
string headerText = dgvData.Columns[e.ColumnIndex].HeaderText;
|
||||
var shopId = row.Cells["colDgv" + dgvNum + "ShopId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "删除":
|
||||
break;
|
||||
case "登录":
|
||||
{
|
||||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.ShowDialog();
|
||||
RefreshShopLogin();
|
||||
}
|
||||
break;
|
||||
case "进店":
|
||||
{
|
||||
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus == "登录成功")
|
||||
{
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||||
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home";
|
||||
shopLoginForm.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.ShowDialog();
|
||||
RefreshShopLogin();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "图片":
|
||||
{
|
||||
ShowImgForm imgFrom = new ShowImgForm(row.Cells["colDgv" + dgvNum + "ImgUrl"].Value.ParseToString());
|
||||
imgFrom.ShowDialog();
|
||||
break;
|
||||
}
|
||||
case "优化":
|
||||
{
|
||||
var orderId = row.Cells[$"colDgv{dgvNum}OrderId"].Value.ParseToString();
|
||||
if (orderId.Contains("未获取到对应订单号"))
|
||||
{
|
||||
BaseMsgForm.ShowError("缺少单编号无法优化!");
|
||||
return;
|
||||
}
|
||||
if (orderId.Contains("获取到多条订单号"))
|
||||
{
|
||||
BaseMsgForm.ShowError("订单编号不符合优化条件!");
|
||||
return;
|
||||
}
|
||||
|
||||
orderId = orderId.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId))
|
||||
{
|
||||
|
||||
var rst = OptimizeExpress(shop, orderId);
|
||||
row.Cells[$"colDgv{dgvNum}OptimizeStatus"].Value = rst;
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowError("缺少单编号无法优化!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "":
|
||||
row.Cells[$"colDgv{dgvNum}check"].Value = !(bool)row.Cells[$"colDgv{dgvNum}check"].Value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnWaybillManage_Click(object sender, EventArgs e)
|
||||
{
|
||||
WXWaybillManageForm waybillForm = new WXWaybillManageForm();
|
||||
waybillForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
public static class ShopOptimize
|
||||
@@ -1145,5 +1485,21 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string orderSearch(ShopLoginInfo shop, string prodTitle, string receiverName)
|
||||
{
|
||||
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"":"""",""orderTime"":{""type"":0,""time"":[null,null]},
|
||||
""telNumber"":"""",""title"":""复古刺绣盘扣麻棉衬衫女2022夏新款中式禅意茶服宽松短款v领上衣"",""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}";
|
||||
|
||||
body = @"{""isSearch"":true,""pageSize"":30,""orderId"":"""",""orderTime"":{""type"":0,""time"":[null,null]},
|
||||
""telNumber"":"""",""title"":""" + prodTitle + @""",""receiverName"":""" + 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -186,7 +186,7 @@
|
||||
<metadata name="colDgv1OutSn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv1OrderSn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv1OrderId.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">
|
||||
@@ -195,6 +195,12 @@
|
||||
<metadata name="colDgv1AfterSaleReason.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv1OptimizeStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv1Optimize.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv2Check.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -231,6 +237,9 @@
|
||||
<metadata name="colDgv2EvaluationId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv2OrderId.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>
|
||||
@@ -240,25 +249,31 @@
|
||||
<metadata name="colDgv2CommentContent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv2OptimizeStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<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">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3ShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3ShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLogin.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3Login.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colInShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3InShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3ImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colImg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<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">
|
||||
@@ -273,7 +288,7 @@
|
||||
<metadata name="colExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<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">
|
||||
@@ -288,19 +303,25 @@
|
||||
<metadata name="colDuration.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">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv3Optimize.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4Check.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv4ShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv4ShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewLinkColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv4Login.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewLinkColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv4InShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4ImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
@@ -321,7 +342,7 @@
|
||||
<metadata name="dataGridViewTextBoxColumn7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv4OrderId.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">
|
||||
@@ -336,4 +357,10 @@
|
||||
<metadata name="dataGridViewTextBoxColumn12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4OptimizeStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4Optimize.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
Reference in new issue
Block a user