1代理改名字 2代理管理功能 3订单流水统计功能(方便报税) 4 商品预售界面-商品改价支持加减乘除四种模式

This commit is contained in:
wule committed 2026-07-18 18:29:06 +08:00
1 parent 457a8acee6
commit ba502650ab
69 files changed
+27720 -720

No files matched your search

+2
View File
@@ -187,6 +187,7 @@
<Compile Include="Model\Config\WxShopUploadInfo.cs" /> <Compile Include="Model\Config\WxShopUploadInfo.cs" />
<Compile Include="Model\Data\WXBuyUrlNotesInfo.cs" /> <Compile Include="Model\Data\WXBuyUrlNotesInfo.cs" />
<Compile Include="Model\Data\WXOrderDecryptAddressInfo.cs" /> <Compile Include="Model\Data\WXOrderDecryptAddressInfo.cs" />
<Compile Include="Model\DBModel\oem.cs" />
<Compile Include="Model\DBModel\oms_wei_external_procurement_log.cs" /> <Compile Include="Model\DBModel\oms_wei_external_procurement_log.cs" />
<Compile Include="Model\DBModel\oms_wei_order.cs" /> <Compile Include="Model\DBModel\oms_wei_order.cs" />
<Compile Include="Model\DBModel\user_payment_record.cs" /> <Compile Include="Model\DBModel\user_payment_record.cs" />
@@ -316,6 +317,7 @@
<Compile Include="Model\Result\WXResult\WxOptimizeOrderWayBillInfo.cs" /> <Compile Include="Model\Result\WXResult\WxOptimizeOrderWayBillInfo.cs" />
<Compile Include="Model\Result\WXResult\WXShopDefaultAddressInfo.cs" /> <Compile Include="Model\Result\WXResult\WXShopDefaultAddressInfo.cs" />
<Compile Include="Model\Result\WXResult\WXShopTokenInfo.cs" /> <Compile Include="Model\Result\WXResult\WXShopTokenInfo.cs" />
<Compile Include="Model\Result\WXResult\WxTaxMoneyInfo.cs" />
<Compile Include="MultiThreadClient.cs" /> <Compile Include="MultiThreadClient.cs" />
<Compile Include="OutExcel.cs" /> <Compile Include="OutExcel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
+50
View File
@@ -1,4 +1,5 @@
using System; using System;
using System.IO;
using System.Text; using System.Text;
namespace AllBase namespace AllBase
@@ -72,5 +73,54 @@ namespace AllBase
{ {
return DecodeBase64(Encoding.UTF8, result); return DecodeBase64(Encoding.UTF8, result);
} }
/// <summary>
/// 文件转Base64编码
/// </summary>
/// <param name="fileName">文件全路径</param>
/// <returns></returns>
public static string DocumentToBase64Str(string fileName)
{
FileStream filestream = new FileStream(fileName, FileMode.Open);
byte[] bt = new byte[filestream.Length];
//调用read读取方法
filestream.Read(bt, 0, bt.Length);
string base64Str = Convert.ToBase64String(bt);
filestream.Close();
return base64Str;
}
/// <summary>
/// Base64字符串转文件并保存
/// </summary>
/// <param name="base64String">base64字符串</param>
/// /// <param name="fileFullPath">保存的文件路径 </param>
/// <param name="fileName">保存的文件名</param>
/// <returns>是否转换并保存成功</returns>
public static bool Base64StringToFile(string base64String, string fileFullPath, string fileName)
{
bool opResult = false;
try
{
if (!Directory.Exists(fileFullPath))
{
Directory.CreateDirectory(fileFullPath);
}
MemoryStream stream = new MemoryStream(Convert.FromBase64String(base64String));
FileStream fs = new FileStream(fileFullPath + "\\" + fileName, FileMode.OpenOrCreate, FileAccess.Write);
byte[] b = stream.ToArray();
fs.Write(b, 0, b.Length);
fs.Close();
opResult = true;
}
catch (Exception e)
{
}
return opResult;
}
} }
} }
+10 -6
View File
@@ -19,6 +19,10 @@ namespace AllBase
public static class BaseClass public static class BaseClass
{ {
#region oem贴牌参数 #region oem贴牌参数
public static string OemId { get; set; } = "";
public static string OemName { get; set; } = "";
public static bool IsOemOwner { get; set; } = false;
public static string AgentName { get; set; } = "";
public static string AgentCode { get; set; } = ""; public static string AgentCode { get; set; } = "";
public static bool IsShowRegister { get; set; } = true; public static bool IsShowRegister { get; set; } = true;
public static bool IsShowOpenAccount { get; set; } = true; public static bool IsShowOpenAccount { get; set; } = true;
@@ -27,7 +31,7 @@ namespace AllBase
/// <summary> /// <summary>
/// 版本ID /// 版本ID
/// </summary> /// </summary>
public static int VersionCount = 1217; public static int VersionCount = 1228;
public static string MainPath = "29wx"; public static string MainPath = "29wx";
//public static string MainPath = "29wx"; //public static string MainPath = "29wx";
//public static string MainPath = "29pdd"; //public static string MainPath = "29pdd";
@@ -40,7 +44,6 @@ namespace AllBase
public static string Varsion = (VersionCount / 100.0).ToString("f2"); public static string Varsion = (VersionCount / 100.0).ToString("f2");
public static string WebbrowerUrl = ""; public static string WebbrowerUrl = "";
public static string ToolName = "跨境达-管理工具"; public static string ToolName = "跨境达-管理工具";
public static string AgentName = "跨境达";
public static string ServiceQQ = ""; public static string ServiceQQ = "";
public static Image LoginImage = null; public static Image LoginImage = null;
public static Image LogoImage = null; public static Image LogoImage = null;
@@ -107,7 +110,10 @@ namespace AllBase
/// </summary> /// </summary>
public static int OrderStep = 5; public static int OrderStep = 5;
public static int RankPage = 3; public static int RankPage = 3;
public static int Balance = 0; public static int Points { get; set; } = 0;
public static int ShopPointsPerMonth { get; set; } = 30;
public static decimal Balance { get; set; } = 0;
public static decimal PostagePerOrder { get; set; } = 2.2m;
/// <summary> /// <summary>
/// 采集最低销量 /// 采集最低销量
/// </summary> /// </summary>
@@ -126,7 +132,7 @@ namespace AllBase
public static decimal MinPrice = 0; public static decimal MinPrice = 0;
public static decimal MinBackMoney = 0; public static decimal MinBackMoney = 0;
public static decimal Price = 5; public static decimal Price = 5;
public static int TimeOut = 45; public static int TimeOut = 60;
public static int ThreadCount = 3; public static int ThreadCount = 3;
public static int MainCatId = 0; public static int MainCatId = 0;
/// <summary> /// <summary>
@@ -318,8 +324,6 @@ namespace AllBase
public static string UserAuthority = ""; public static string UserAuthority = "";
public static string ParentAuthority = ""; public static string ParentAuthority = "";
public static string ForbiddenPage = ""; public static string ForbiddenPage = "";
public static int Points = 0;
public static int ShopPointsPerMonth = 30;
public static decimal? AuthorizedAmount = null; public static decimal? AuthorizedAmount = null;
/// <summary> /// <summary>
/// 注册昵称 /// 注册昵称
+20
View File
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel
{
public class oem
{
public int id { get; set; }
public string oem_id { get; set; }
public string oem_name { get; set; }
public string oem_owner { get; set; }
public string oem_icon { get; set; }
public string oem_img { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}
+19 -4
View File
@@ -223,6 +223,11 @@ namespace AllBase.Model.Result
/// ai客服账户信息 /// ai客服账户信息
/// </summary> /// </summary>
public ShopAiTalkInfo shopAiTalkInfo { get; set; } public ShopAiTalkInfo shopAiTalkInfo { get; set; }
/// <summary>
/// 遇到需要终止上货的提示词的重试次数。
/// </summary>
public int upLimitRetryCount { get; set; } = 0;
} }
public class AuthInfo public class AuthInfo
@@ -293,17 +298,27 @@ namespace AllBase.Model.Result
/// </summary> /// </summary>
public int points { get; set; } public int points { get; set; }
/// <summary> /// <summary>
/// 用户余额
/// </summary>
public decimal balance { get; set; }
/// <summary>
/// 店铺每续费一个月需要的积分 /// 店铺每续费一个月需要的积分
/// </summary> /// </summary>
public int shop_points_per_month { get; set; } public int shop_points_per_month { get; set; }
/// <summary> /// <summary>
/// 用户余额
/// </summary>
public decimal balance { get; set; }
/// <summary>
/// 历史充值总额
/// </summary>
public decimal recharge_amount_total { get; set; }
/// <summary>
/// 每一单快递费用
/// </summary>
public decimal postage_per_order { get; set; } = 2.2m;
/// <summary>
/// 子账号禁止访问的页面 /// 子账号禁止访问的页面
/// </summary> /// </summary>
public string forbidden_page { get; set; } public string forbidden_page { get; set; }
public string oem_id { get; set; }
public string oem_name { get; set; }
} }
public class UserSubAccountInfo : UserAccountInfo public class UserSubAccountInfo : UserAccountInfo
@@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.Result.WXResult
{
public class WxTaxMoneyInfo
{
public string orderId { get; set; } // "3737681290916949504",
public int? orderState { get; set; } // 30,
public int? orderSettleState { get; set; } // 1,
public string orderCreateTime { get; set; } // "1783732802",
public string orderPaidTime { get; set; } // "1783732815",
public int? orderPayMethod { get; set; } // 1,
public int? orderType { get; set; } // 0,
public int? mchReceivedAmount { get; set; } // 2911,
public int? expenseAmount { get; set; } // 146,
public int? mchSettleAmount { get; set; } // 2765,
public int? mchSettleTime { get; set; } // "0",
public List<TaxMoneyProductInfo> productList { get; set; }
public int? productTotalAmount { get; set; } // 2310,
public int? freightAmount { get; set; } // 0,
public int? changeDownPrice { get; set; } // 0,
public int? mchDiscountAmount { get; set; } // 0,
public int? scoreDiscountAmount { get; set; } // 0,
public int? buyerPaidAmount { get; set; } // 2310,
public int? promoterDiscountAmount { get; set; } // 0,
public int? platformDiscountAmount { get; set; } // 0,
public int? nationalSubsidyDiscountAmount { get; set; } // 0,
public int? freightMakeUpAmount { get; set; } // 0,
public int? crossShopDiscountAmount { get; set; } // 0,
public int? platformActivityMerchantDiscountedPrice { get; set; } // 0,
public int? crossShopSubsidyMerchantDiscountedPrice { get; set; } // 0,
public int? buyerRefundAmount { get; set; } // 0,
public int? platformDiscountRefundAmount { get; set; } // 0,
public int? promoterDiscountRefundAmount { get; set; } // 0,
public int? originalPlatformCommissionAmount { get; set; } // 46,
public int? platformCommissionAmount { get; set; } // 46,
public int? supplierCommissionSettleState { get; set; } // 2,
public int? promoterCommissionSettleState { get; set; } // 2,
public int? freightInsuranceSettleState { get; set; } // 2,
public string platformCommissionSettleTime { get; set; } // "0",
public int? preFreightRefundAmount { get; set; } // 0,
public postSettlementExpenseInfo postSettlementExpense { get; set; }
public int? refundBeforeSettlement { get; set; } // 0,
public int? otherExpenseAmount { get; set; } // 0,
public int? platformCommissionSettleState { get; set; } // 1,
public int? freightInsuranceMakeUpSettleState { get; set; } // 2,
public int? platformDiscountTransferState { get; set; } // 0,
public supplierPlatformCommissionInfo supplierPlatformCommission { get; set; }
}
public class supplierPlatformCommissionInfo
{
public int? settleState { get; set; } // 2
}
public class postSettlementExpenseInfo
{
public int? buyerRefundAmount { get; set; } // 0,
public int? platformDiscountRefundAmount { get; set; } // 0,
public int? promoterRefundAmount { get; set; } // 0
}
public class TaxMoneyProductInfo
{
public long? productId { get; set; } // 2388347285,
public string thumbImg { get; set; } // "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69db78f7000306ee1eba301382e11b15000000a100004f50",
public List<TaxMoneyProductParamInfo> paramList { get; set; }
public int? salePrice { get; set; } // 2310,
public int? count { get; set; } // 1,
public string productName { get; set; } // "中国古代算术法老版本洪丕谟著命理学研究入门风水学书籍入门居家",
public bool? isGift { get; set; } // false
}
public class TaxMoneyProductParamInfo
{
public string key { get; set; } // "尺寸",
public string value { get; set; } // "默认"
}
}
+92 -8
View File
@@ -1,4 +1,6 @@
using System.IO; using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
@@ -9,10 +11,10 @@ namespace AllBase
/// <summary> /// <summary>
/// 保存数据 /// 保存数据
/// </summary> /// </summary>
/// <param name="patch"></param> /// <param name="path"></param>
/// <param name="dt"></param> /// <param name="dt"></param>
/// <returns></returns> /// <returns></returns>
public static bool SaveFile(string patch, DataGridView dt) public static bool SaveFile(string path, DataGridView dt)
{ {
string temp = ""; string temp = "";
for (int i = 0; i < dt.ColumnCount; i++) for (int i = 0; i < dt.ColumnCount; i++)
@@ -24,9 +26,9 @@ namespace AllBase
temp += "\r\n"; temp += "\r\n";
try try
{ {
if (File.Exists(patch)) if (File.Exists(path))
File.Delete(patch); File.Delete(path);
File.WriteAllText(patch, temp, Encoding.Unicode); File.WriteAllText(path, temp, Encoding.Unicode);
temp = ""; temp = "";
} }
catch catch
@@ -45,7 +47,7 @@ namespace AllBase
{ {
try try
{ {
File.AppendAllText(patch, temp, Encoding.Unicode); File.AppendAllText(path, temp, Encoding.Unicode);
temp = ""; temp = "";
} }
catch catch
@@ -58,7 +60,7 @@ namespace AllBase
return true; return true;
try try
{ {
File.AppendAllText(patch, temp, Encoding.Unicode); File.AppendAllText(path, temp, Encoding.Unicode);
} }
catch catch
{ {
@@ -127,5 +129,87 @@ namespace AllBase
} }
return true; return true;
} }
public static bool SaveFile(string path, bool isNewFile, bool isShowHideColumn, List<DataGridViewRow> dgvRows, params string[] exceptHeaderText)
{
if (dgvRows == null || dgvRows.Count == 0) return false;
var dt = dgvRows.FirstOrDefault()?.DataGridView;
if (dt == null) return false;
string temp = "";
if (isNewFile)
{
for (int i = 0; i < dt.ColumnCount; i++)
{
if ((isShowHideColumn || dt.Columns[i].Visible) && !exceptHeaderText.Contains(dt.Columns[i].HeaderText))
temp += "\"" + dt.Columns[i].HeaderText + "\"\t";
}
if (!string.IsNullOrEmpty(temp))
temp += "\r\n";
try
{
if (File.Exists(path))
File.Delete(path);
File.WriteAllText(path, temp, Encoding.Unicode);
temp = "";
}
catch
{
return false;
}
}
for (int i = 0; i < dt.RowCount; i++)
{
if (!dgvRows.Contains(dt.Rows[i]))
continue;
for (int j = 0; j < dt.ColumnCount; j++)
{
if ((isShowHideColumn || dt.Columns[j].Visible) && !exceptHeaderText.Contains(dt.Columns[j].HeaderText))
temp += "\"" + dt.Rows[i].Cells[j].Value + "\"\t";
}
temp += "\r\n";
if (temp.Length > 2000)
{
try
{
File.AppendAllText(path, temp, Encoding.Unicode);
temp = "";
}
catch
{
try
{
if (File.Exists(path))
File.Delete(path);
}
catch
{
}
return false;
}
}
}
if (string.IsNullOrEmpty(temp))
return true;
try
{
File.AppendAllText(path, temp, Encoding.Unicode);
}
catch
{
try
{
if (File.Exists(path))
File.Delete(path);
}
catch
{
}
return false;
}
return true;
}
} }
} }
File renamed without changes.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 260 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

+1
View File
@@ -0,0 +1 @@
26000003MThd0KE8FSJyrlRb898rzDa88rfp3Wu0lBx7Swh62S2o13qKTwl984JFT20lG5ikWH7WWUNHAO72agv4kg0l5w23rHJmnA0eZxZcHXuAzdW058M1wu4xtmcJC2xggztkm5F55R1HxKU4s4sGFJiNDf6cB2DcWroaGvG5Yk9t98hD53IXIR6V92PS5YxN98U4kk16Xj0Y5G0F2TZ091YO2OXLpJIZmp6lMP9MlMpCXARz6ivEWDBC45j5dGAC1XZB6HYCh6hZvOK9VLF27J0EW0w1Vvi9fUFTm8X91Y12um16j2wm76kfo0h4S4ls96o8AsuAed3NiqW4c5988lMz3A0YIwv2XAF0039P9304fFTZAbmh4DTdxoEkSfPtMT07b2vknGzN8EU2JXdVcBBXrvveQs5oGn0K687j5X8Ij4D5EDVzx748WR4Va2IsfEt5yIK9J22eDY58KmA3kIrqi4Yf5tElYOQ6eZSaJovQ55xjxroIt8wT7i2XbM8ZSsSKm5k3Z80fc7Hw8TFESb7tm30Py3X3mbL3eE0opMJ6MUoyiUj1zpI7VvK32yq6x997weK2lwU6A0PyOe39oWvYN0AKIqCqwNizY4S9QApiH4Yr13XsKjlutMNDajfRCg0JqqH283RtXCKX8ry6AUWpz6QmvA40uSDqcd1Ka71e6gvspe9DFh00T2fMwiqJu8MLjcQfC3FnVP6mRYKkdZI19VRWKZ67KW1n6aLV7o7Q5ro3NOkZsJhAIUvM6PjoHr6RwV0iv4JMbB4cjHyLfb1y2U6yooM0eG6TOuUF1B9X6340Iy4tVmVU25CfUf4BDV9BQDx3N8b4hnCAoQ4We0fj4xYR0ZxfyoV5jr69e3VVDyPrz2ADsZf2N7hjMEv13rKGxO1hvGY757bfnKGh6OCfd6jEtd409v4sns36EHzO3iUT60VxuMsB3f1688qmGK4tRHBdaQY9UQRzUvEEkuDh8qC87rK1nmsJ6fSqPAQPZ7B2pijRtE7epsp6xzm2i9OfeS5Ti81ix78cZ7kn649abz6SoGD62Okjp1Zya1Um4Zl0gR3oj6j25bCW2LBgQOnfcCPY7kX1TZfzyqRxqx763wto5E3ZRe8IFbq8bd3o8Qt6Ji1EyXQCF8N1PBCCqI8h8Mz68zzoXLjiwz193hNp4bR4wUdHJ52kykpgsA6LBssrli4cz3MXproyF0EjOVFd14Z9QrGn8Lf12hdy39E6frcl12pb9Co7ZdAaNZQH93P2TDCn6Wh151W6NX6N628Bj8jUD1FnwML1C3IJu7aX5vemKSXGu07afCLuY8c7HQChRY8Og2q5hVcJfixR6yffFncHNOx22V8prYEhKQc0J4ET08JiQV1FVSfhhFwOVs98HwJKFWxU0L6HyJTxYD8s15U2xAnaNRe4a3DGm2LeIgX4zkbqzdFe5ySzj89q6Bn597CIPzK53vfJ2wpTC6NR1U1sZF3Kzb12LhZX0q8LDBM0F5jBy5dKZS782CHPA2X4sBKlUo5QO7n4ajkg27ZLzBALR7wqe96gW437x0oNxxT4RYRKfB9hRVY0cRTwJTMfYjQWxSjLWQ5t4c27Gf5158w55CtY01GUjyBTMy1D36a329WJDPYJzA9Exmc6E85RqDvW9F7MV6O1X5yx4WlRvN0Kv5Gt8Es0MQA05qa53I3R1xJK1qH18Gujrsk6DO6c7q2qIth6l4fI3119OATWs1F3R82q3B6P33D3YFwyB60ZRGs1XqLDbIj4eTCcd651Yv9x1p1S3pO6BB2n23gwkMKmmJWJ55ZWoZ6345L187psy8L48VGle6umpW5gmU4D1G02yZa1gkzsJ9x74H5tz33IDDyWDuCu89axcFN3D7DA6L90bbdeKEj9Fe7Afk3ms0FL9OxOH3KaHGlTrJc124J665yl01Tg7Mq3I7Y0Aq7aptQsACWxo8mxUxZeNdh5Ogpm1o7rZlAzz1lP2Ff23foY1xMS12akt4hix7oW8HSZf08mj729o2dle2g8cpV2Kkyx5H8H0kM186yFlQ8dNed915h453inONLVOVU6Guwa0fhqoZfiEezEFjM7IxII607er1PlG3M5MWG9nPhX60xMEG04ZHmnxSCeMs6InTYA3h4o1edvGRRXl3F91gcQvP1O1bqfPWvMlpD2g6z159RgG12zfNak0Uh4VZDPAKcHSfNJJ38KJmEi2QSU04mu127X950sK5873319b0f4FNQeyKyJsaXYPM8hyS9tBw5F2FEA29XPdlXR98GVON1EZ1f9JA64rWU1YLVWo7oD58xH9jFu6D0a7VpsX32hnzMD70nlXmDpEKd82B3k6Bg0Z9d987bAqXa828234ERwhn5zoDF3eidd96U0Cy7P0zUB6a9uMYU9AZbf4tf0UYhHYW4rqg1L1eqrH6TKSdK3BVS6KOE48oFcW629CNuaSy5ne5m9nIF7hunwwi89ZzLjx547ZuhR2xJ8q6pS1yTSc2I7BJrg3qlYKb4oMbetgBHXSml8qN36XH91339rsA6L5QaIFqp8zDT4fbi5QWwMcH8kWC4D1G7debV7cq6JdbXJAnRKBT4179zs795rYNBe0CsraL9p1jI5jQl18EzCCimrTPoCKJY2vM3dD9TRvWwxBzxM79m56Hzq1XiOwM237d53bQhLX5E0ZGq45At3qFK5MyDASZU7nNS6vKiY8Kunb4j7c18Il4Js7uDrRdyPlaBj3XCGETu7ueT5hqFVGoFKsB92EXdJKBiX2vYgC1Zd49yLg756StghyfH4G2eH13W1uxDxU140eSNBCfBLyU548S3jmU8c3j6ya2mrzVZ223W71A70wssQwf3utRoT5Um3r9xWIJpXXcuua97BJEnlhb3W9X6FEN5vRL4RQG76q4Z7PRbPQBwEYlFkwz5C3Ak088Pv1q7kpsbQv1q6W084CKwcEYu2J8xFq5TkC4Pws4gox6M8nnES82HWzA2EeuvqxviJU9usi8BPDeFmXEOCV48VS4C5Lx07VFI434N59EXnO7c1p8yeViFH6prYdBC7TJCYKFIzT8qIydwu965cP3A6lfeGNwWZtcP2yycD57W9szP7XaRyCAB9NtU7szU7Rc6URO8z99CnySJ5R9LwZU34cnStFQ9FDAP7mG3O2I4LIP27Kbd7VIAiDJorpXmm3L8Wj0efy5fZ3MT8TBUP0n7w28aAfYEJMgib3fTwSYj1G322rMQHbSh6hYaK73ausYYGRQ3q8ItI7UlGd9S3soQiE91IaN6G83HkoQ3DJPoNtAmM3mPLsr1Dh2Pv25eYkx9KsBWfK60njuTv7uaYuDRE9JW5xdoUscVDd6UTPMhZU6VFdzjVLWQXesMZHUk2s14GMB276kl21n3DMWS2A14xN7tpeDG071Q7pfuYW2R4KgSruJ6NGaKJpvlYRqZsi2b1ZIgeDZkrB0GWlcO0nW1lqDP8qCAdv9KN8lUsA8jd06hI5upG0HUfipI669DshrvBkF8P7P2c5mp0dXPLGV4936N86XBZSEaJaiacs8xf70k0qL2DB3QUnmbbz1KVn9r3m0Yqrztt3Wj7Dpyv8X3go7eYa2K9kLMLja3LxCguE4JuS9fTrAUi7MG923F0cFrPYf5qFJ7S7z0VIO5k0tjfkwXmCWmfBcpvhw6XCnEKo2iCfo1n3zd3PHESOK3wccRucBZD32kPf2GJng685B2dmF0n0Fzpl7V499c73MEFlkm1mYPmZlgIPBp7VX3t6uDM73scHoy1j3OIC4vrtGgpP9colWUE525e9K0rS0PeNvHt1ol0fY3iLS1VXNB3TgNJUwGFGyUn3egFIFJVMuPCU2BzT111WHZ5idp2aZjn9362JrBkq1m0RSq1ixPQi67D99FHQj7SvyG9cxtgSm6eMDk8e55M6IC2SP7IB997JE2U9q7Hiz719fKZsKfZ2GFKrxyrUOsnZ6Jtv9FiV1Z31D1OzcOpTCZ3DCB8szbS348BHoWQm35B8v2MSoszGFAJoC33hNIQx7aSY7SOJjLwuMhukbVA0Y3819WIz0lGquco92KvT9BV4QF5jMT13REUvRA172gpRhg4phjWAtNWgg8YZYbdZL372IacJ0L1tdJxoRG28iV6pk06Khrnqy6S9j4SsB5g7ahx4zCL7PNY0jVUG1yEbNnmGF5m48dTj9ppP8eWaKoW2Z660Bdxs9FVJ8pREIanyDdOahZJI5dZ2QZAU7L9ZC4fI1x73n2gQo5wLHy3dpb4Hvk1T9r6OmZ8rkqOK7pdeN26wSgOrOjwwt5fMGHVekEQ5R2S3Xe5p5uN26Kexz49D00QOzdNG4v93dR1lqKKUOwJFrTmmSldcQfNWYJc93gLRMi4GBE79L2rNpEQ2Bre4G2dmDZ2MG7qmGW0OxwY96JI5GmdNf8f4txhVqb9xSTJg1OUq83AX1mhmdB99m2fvlvu7qaiCcR4xDXKjS7zFNQOZWtrsJjv6gLJh4OcaAQox4MtI470abKkxOiTdqISHF26ED3A2SZz0iLJb184QJJz992vl4H4e93fMS253kZQyV82xXPHMtVyaI1meC9NS64BJGJhoyYdj7sZ9Jlja8dNC8dbkLBvQDHuwz6zxvoO5LWGt8H94N94R1vuV9PbHFrj45FMRlbetzzo4C0u88kGQ758iv7Q6tFFfv3jAppyHrT7HBxyeJm1Bwj31vxt2THuzT8S2c2R71TFd0gGo54ixrx5Re9oi51AX8h3tFpMdjiBU0iWNt8GCWVB5UXUWWF3r8c1OZ2g81h7ddjkQ0Wv95L2H3q3lRb59iSpW1jh9JkCr1YX3Ts6JUx6cM7zrU4nqM0qXqaQCY3KUq87nGY2FwBPF3VQg7045qCd10Y92oGrv3Fy0g66049GNDU758zagUQSlcmPkeV2S5nAL1m28Ezh4Dwjh7aE0QvyHnz9LlnEgGXQeR2u6eugxgNpL7K8YWnr3Cdn06SLMJdDWVcLine truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+1
View File
@@ -0,0 +1 @@
微客拍单MThd微客拍单MThd0KE8FSJyrlRb898rzDa88rfp3Wu0lBx7Swh62S2o13qKTwl984JFT20lG5ikWH7WWUNHAO72agv4kg0l5w23rHJmnA0eZxZcHXuAzdW058M1wu4xtmcJC2xggztkm5F55R1HxKU4s4sGFJiNDf6cB2DcWroaGvG5Yk9t98hD53IXIR6V92PS5YxN98U4kk16Xj0Y5G0F2TZ091YO2OXLpJIZmp6lMP9MlMpCXARz6ivEWDBC45j5dGAC1XZB6HYCh6hZvOK9VLF27J0EW0w1Vvi9fUFTm8X91Y12um16j2wm76kfo0h4S4ls96o8AsuAed3NiqW4c5988lMz3A0YIwv2XAF0039P9304fFTZAbmh4DTdxoEkSfPtMT07b2vknGzN8EU2JXdVcBBXrvveQs5oGn0K687j5X8Ij4D5EDVzx748WR4Va2IsfEt5yIK9J22eDY58KmA3kIrqi4Yf5tElYOQ6eZSaJovQ55xjxroIt8wT7i2XbM8ZSsSKm5k3Z80fc7Hw8TFESb7tm30Py3X3mbL3eE0opMJ6MUoyiUj1zpI7VvK32yq6x997weK2lwU6A0PyOe39oWvYN0AKIqCqwNizY4S9QApiH4Yr13XsKjlutMNDajfRCg0JqqH283RtXCKX8ry6AUWpz6QmvA40uSDqcd1Ka71e6gvspe9DFh00T2fMwiqJu8MLjcQfC3FnVP6mRYKkdZI19VRWKZ67KW1n6aLV7o7Q5ro3NOkZsJhAIUvM6PjoHr6RwV0iv4JMbB4cjHyLfb1y2U6yooM0eG6TOuUF1B9X6340Iy4tVmVU25CfUf4BDV9BQDx3N8b4hnCAoQ4We0fj4xYR0ZxfyoV5jr69e3VVDyPrz2ADsZf2N7hjMEv13rKGxO1hvGY757bfnKGh6OCfd6jEtd409v4sns36EHzO3iUT60VxuMsB3f1688qmGK4tRHBdaQY9UQRzUvEEkuDh8qC87rK1nmsJ6fSqPAQPZ7B2pijRtE7epsp6xzm2i9OfeS5Ti81ix78cZ7kn649abz6SoGD62Okjp1Zya1Um4Zl0gR3oj6j25bCW2LBgQOnfcCPY7kX1TZfzyqRxqx763wto5E3ZRe8IFbq8bd3o8Qt6Ji1EyXQCF8N1PBCCqI8h8Mz68zzoXLjiwz193hNp4bR4wUdHJ52kykpgsA6LBssrli4cz3MXproyF0EjOVFd14Z9QrGn8Lf12hdy39E6frcl12pb9Co7ZdAaNZQH93P2TDCn6Wh151W6NX6N628Bj8jUD1FnwML1C3IJu7aX5vemKSXGu07afCLuY8c7HQChRY8Og2q5hVcJfixR6yffFncHNOx22V8prYEhKQc0J4ET08JiQV1FVSfhhFwOVs98HwJKFWxU0L6HyJTxYD8s15U2xAnaNRe4a3DGm2LeIgX4zkbqzdFe5ySzj89q6Bn597CIPzK53vfJ2wpTC6NR1U1sZF3Kzb12LhZX0q8LDBM0F5jBy5dKZS782CHPA2X4sBKlUo5QO7n4ajkg27ZLzBALR7wqe96gW437x0oNxxT4RYRKfB9hRVY0cRTwJTMfYjQWxSjLWQ5t4c27Gf5158w55CtY01GUjyBTMy1D36a329WJDPYJzA9Exmc6E85RqDvW9F7MV6O1X5yx4WlRvN0Kv5Gt8Es0MQA05qa53I3R1xJK1qH18Gujrsk6DO6c7q2qIth6l4fI3119OATWs1F3R82q3B6P33D3YFwyB60ZRGs1XqLDbIj4eTCcd651Yv9x1p1S3pO6BB2n23gwkMKmmJWJ55ZWoZ6345L187psy8L48VGle6umpW5gmU4D1G02yZa1gkzsJ9x74H5tz33IDDyWDuCu89axcFN3D7DA6L90bbdeKEj9Fe7Afk3ms0FL9OxOH3KaHGlTrJc124J665yl01Tg7Mq3I7Y0Aq7aptQsACWxo8mxUxZeNdh5Ogpm1o7rZlAzz1lP2Ff23foY1xMS12akt4hix7oW8HSZf08mj729o2dle2g8cpV2Kkyx5H8H0kM186yFlQ8dNed915h453inONLVOVU6Guwa0fhqoZfiEezEFjM7IxII607er1PlG3M5MWG9nPhX60xMEG04ZHmnxSCeMs6InTYA3h4o1edvGRRXl3F91gcQvP1O1bqfPWvMlpD2g6z159RgG12zfNak0Uh4VZDPAKcHSfNJJ38KJmEi2QSU04mu127X950sK5873319b0f4FNQeyKyJsaXYPM8hyS9tBw5F2FEA29XPdlXR98GVON1EZ1f9JA64rWU1YLVWo7oD58xH9jFu6D0a7VpsX32hnzMD70nlXmDpEKd82B3k6Bg0Z9d987bAqXa828234ERwhn5zoDF3eidd96U0Cy7P0zUB6a9uMYU9AZbf4tf0UYhHYW4rqg1L1eqrH6TKSdK3BVS6KOE48oFcW629CNuaSy5ne5m9nIF7hunwwi89ZzLjx547ZuhR2xJ8q6pS1yTSc2I7BJrg3qlYKb4oMbetgBHXSml8qN36XH91339rsA6L5QaIFqp8zDT4fbi5QWwMcH8kWC4D1G7debV7cq6JdbXJAnRKBT4179zs795rYNBe0CsraL9p1jI5jQl18EzCCimrTPoCKJY2vM3dD9TRvWwxBzxM79m56Hzq1XiOwM237d53bQhLX5E0ZGq45At3qFK5MyDASZU7nNS6vKiY8Kunb4j7c18Il4Js7uDrRdyPlaBj3XCGETu7ueT5hqFVGoFKsB92EXdJKBiX2vYgC1Zd49yLg756StghyfH4G2eH13W1uxDxU140eSNBCfBLyU548S3jmU8c3j6ya2mrzVZ223W71A70wssQwf3utRoT5Um3r9xWIJpXXcuua97BJEnlhb3W9X6FEN5vRL4RQG76q4Z7PRbPQBwEYlFkwz5C3Ak088Pv1q7kpsbQv1q6W084CKwcEYu2J8xFq5TkC4Pws4gox6M8nnES82HWzA2EeuvqxviJU9usi8BPDeFmXEOCV48VS4C5Lx07VFI434N59EXnO7c1p8yeViFH6prYdBC7TJCYKFIzT8qIydwu965cP3A6lfeGNwWZtcP2yycD57W9szP7XaRyCAB9NtU7szU7Rc6URO8z99CnySJ5R9LwZU34cnStFQ9FDAP7mG3O2I4LIP27Kbd7VIAiDJorpXmm3L8Wj0efy5fZ3MT8TBUP0n7w28aAfYEJMgib3fTwSYj1G322rMQHbSh6hYaK73ausYYGRQ3q8ItI7UlGd9S3soQiE91IaN6G83HkoQ3DJPoNtAmM3mPLsr1Dh2Pv25eYkx9KsBWfK60njuTv7uaYuDRE9JW5xdoUscVDd6UTPMhZU6VFdzjVLWQXesMZHUk2s14GMB276kl21n3DMWS2A14xN7tpeDG071Q7pfuYW2R4KgSruJ6NGaKJpvlYRqZsi2b1ZIgeDZkrB0GWlcO0nW1lqDP8qCAdv9KN8lUsA8jd06hI5upG0HUfipI669DshrvBkF8P7P2c5mp0dXPLGV4936N86XBZSEaJaiacs8xf70k0qL2DB3QUnmbbz1KVn9r3m0Yqrztt3Wj7Dpyv8X3go7eYa2K9kLMLja3LxCguE4JuS9fTrAUi7MG923F0cFrPYf5qFJ7S7z0VIO5k0tjfkwXmCWmfBcpvhw6XCnEKo2iCfo1n3zd3PHESOK3wccRucBZD32kPf2GJng685B2dmF0n0Fzpl7V499c73MEFlkm1mYPmZlgIPBp7VX3t6uDM73scHoy1j3OIC4vrtGgpP9colWUE525e9K0rS0PeNvHt1ol0fY3iLS1VXNB3TgNJUwGFGyUn3egFIFJVMuPCU2BzT111WHZ5idp2aZjn9362JrBkq1m0RSq1ixPQi67D99FHQj7SvyG9cxtgSm6eMDk8e55M6IC2SP7IB997JE2U9q7Hiz719fKZsKfZ2GFKrxyrUOsnZ6Jtv9FiV1Z31D1OzcOpTCZ3DCB8szbS348BHoWQm35B8v2MSoszGFAJoC33hNIQx7aSY7SOJjLwuMhukbVA0Y3819WIz0lGquco92KvT9BV4QF5jMT13REUvRA172gpRhg4phjWAtNWgg8YZYbdZL372IacJ0L1tdJxoRG28iV6pk06Khrnqy6S9j4SsB5g7ahx4zCL7PNY0jVUG1yEbNnmGF5m48dTj9ppP8eWaKoW2Z660Bdxs9FVJ8pREIanyDdOahZJI5dZ2QZAU7L9ZC4fI1x73n2gQo5wLHy3dpb4Hvk1T9r6OmZ8rkqOK7pdeN26wSgOrOjwwt5fMGHVekEQ5R2S3Xe5p5uN26Kexz49D00QOzdNG4v93dR1lqKKUOwJFrTmmSldcQfNWYJc93gLRMi4GBE79L2rNpEQ2Bre4G2dmDZ2MG7qmGW0OxwY96JI5GmdNf8f4txhVqb9xSTJg1OUq83AX1mhmdB99m2fvlvu7qaiCcR4xDXKjS7zFNQOZWtrsJjv6gLJh4OcaAQox4MtI470abKkxOiTdqISHF26ED3A2SZz0iLJb184QJJz992vl4H4e93fMS253kZQyV82xXPHMtVyaI1meC9NS64BJGJhoyYdj7sZ9Jlja8dNC8dbkLBvQDHuwz6zxvoO5LWGt8H94N94R1vuV9PbHFrj45FMRlbetzzo4C0u88kGQ758iv7Q6tFFfv3jAppyHrT7HBxyeJm1Bwj31vxt2THuzT8S2c2R71TFd0gGo54ixrx5Re9oi51AX8h3tFpMdjiBU0iWNt8GCWVB5UXUWWF3r8c1OZ2g81h7ddjkQ0Wv95L2H3q3lRb59iSpW1jh9JkCr1YX3Ts6JUx6cM7zrU4nqM0qXqaQCY3KUq87nGY2FwBPF3VQg7045qCd10Y92oGrv3Fy0g66049GNDU758zagUQSlcmPkeV2S5nAL1m28Ezh4Dwjh7aE0QvyHnz9LlnEgGXQeR2u6eugxgNpL7KLine truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

+189
View File
@@ -0,0 +1,189 @@
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
; 安装程序初始定义常量
!define PRODUCT_NAME "微客拍单"
!define PRODUCT_VERSION "v12.17"
;!define PRODUCT_PUBLISHER "${PRODUCT_NAME}软件制作组"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\29供应链.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;!define PRODUCT_UNINST_ROOT_KEY "HKLM" ;需要管理员权限
!define PRODUCT_UNINST_ROOT_KEY "HKCU"
!define UTILS_PATH ".\Utils"
!define SOURCE_PATH "..\Bin.Oem"
!define OUT_PUT_PATH ".\Bin"
SetCompressor lzma
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"
; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${SOURCE_PATH}\favicon.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNICON "${UTILS_PATH}\uninstall.ico"
; 语言选择窗口常量设置
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 许可协议页面
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "${UTILS_PATH}\Licence.txt"
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
;!define MUI_FINISHPAGE_RUN "$INSTDIR\29供应链.exe" ;win10直接启动会双开,以下改为使用函数启动
;!define MUI_FINISHPAGE_RUN "exe_file" ;指定要运行的可执行文件路径(如 $INSTDIR\MyApp.exe)。文件名含空格时无需加引号 。
;!define MUI_FINISHPAGE_RUN_TEXT "text" ;设置复选框旁的显示文本(例如:“立即运行我的应用”)。
;!define MUI_FINISHPAGE_RUN_PARAMETERS "params" ;传入运行参数。若参数含双引号,需用 \" 转义 。
;!define MUI_FINISHPAGE_RUN_NOTCHECKED ;默认不选中该复选框(即默认不运行)。
;!define MUI_FINISHPAGE_RUN_FUNCTION "func_name" ;替代直接运行 exe,改为调用自定义 NSIS 函数(此时 MUI_FINISHPAGE_RUN 可不带参数),适合需执行多步逻辑的场景 。
;示例================================================================================================================
;!include "MUI2.nsh"
;!define MUI_FINISHPAGE_RUN "$INSTDIR\MyApp.exe"
;!define MUI_FINISHPAGE_RUN_TEXT "启动应用程序"
;!define MUI_FINISHPAGE_RUN_PARAMETERS "/silent"
;;!define MUI_FINISHPAGE_RUN_NOTCHECKED
;!insertmacro MUI_PAGE_FINISH
;示例结束============================================================================================================
!define MUI_FINISHPAGE_RUN
;安装函数定义
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchExe"
!insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${OUT_PUT_PATH}\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
;InstallDir "D:\${PRODUCT_NAME}"
;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${PRODUCT_NAME}安装程序"
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
;SetOverwrite on|off|try|ifnewer ;强制覆盖|不覆盖|仅覆盖可写文件|仅覆盖旧文件
SetOverwrite on
;/x 排除的目录或文件
;File /r /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "AllBase.pdb" /x "Work.pdb" /x "29供应链.pdb" /x "data" "${SOURCE_PATH}\*.*"
File /r /x "BaseClass.cs" /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "*.pdb" /x "*.zip" /x "data" /x "Cache" /x "29wx.lnk" /x "29wx.ico" /x "29pdd.lnk" /x "29pdd.ico" "${SOURCE_PATH}\*.*"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
File "${SOURCE_PATH}\29供应链.exe"
;SetOutPath "$TEMP"
;File "${UTILS_PATH}\VC_redist_2015_2022.x64.exe"
;ExecWait '$TEMP\vc_redist.x86.exe' # 一般(非静默)VC的安装
;ExecWait '"$TEMP\vc_redist.x86.exe" /q' # silent install 静默安装
SectionEnd
Section -AdditionalIcons
SetOutPath $INSTDIR
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
;WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_NAME}软件制作组"
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;function要写字section之后
Function LaunchExe
;ExecShell "" "$INSTDIR\${PRODUCT_NAME}.exe"
; 启动主程序,ExecWait 会等待程序启动后再继续(推荐用于确保启动成功)
;ExecWait '"$INSTDIR\YourApp.exe"' // 等待也可以用来弹出必要组件安装时等待安装完成再继续运行安装程序。
; 若希望安装程序立即关闭而不等待,可使用 Exec
;Exec '"$INSTDIR\29供应链.exe"'
Exec "$INSTDIR\29供应链.exe"
; 以普通用户权限启动程序(即使安装包是管理员权限)
;System::Call 'shell32::ShellExecute(i 0, t"open", t"explorer.exe", t"/e,$INSTDIR\start.bat", t"", i 0)'
;Exec "$INSTDIR\start.bat"
FunctionEnd
/******************************
* 以下是安装程序的卸载部分 *
******************************/
Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$TEMP\vc_redist.x86.exe"
Delete "$INSTDIR\29供应链.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir /r "$INSTDIR\blob_storage"
RMDir /r "$INSTDIR\Cache"
RMDir /r "$INSTDIR\config"
RMDir /r "$INSTDIR\data"
RMDir /r "$INSTDIR\DawnCache"
RMDir /r "$INSTDIR\GPUCache"
RMDir /r "$INSTDIR\locales"
RMDir /r "$INSTDIR\log"
RMDir /r "$INSTDIR\ru-ru"
RMDir /r "$INSTDIR\static"
RMDir /r "$INSTDIR\taobao"
RMDir /r "$INSTDIR\temp"
RMDir /r "$INSTDIR\upBak"
RMDir /r "$INSTDIR\upTemp"
RMDir /r "$INSTDIR\x64"
RMDir /r "$INSTDIR\x86"
RMDir /r "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
;DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd
@@ -655,18 +655,45 @@ namespace KJD_Web.BLL.BXX
string tableName = GetProductTableName(inputData); string tableName = GetProductTableName(inputData);
string sql = ""; string sql = "";
List<string> forceIndex = new List<string>() { };
if (!isDetail)
{
if (!search_prod_name.IsNullOrEmpty() || !search_prod_name_in.IsNullOrEmpty())
forceIndex.Add("index_product_name");
if (!search_spu.IsNullOrEmpty())
forceIndex.Add("index_spu_id");
if (!search_skc.IsNullOrEmpty())
forceIndex.Add("index_skc_id");
if (!search_secret_spu_ids.IsNullOrEmpty())
forceIndex.Add("index_secret_spu_id");
if (min_view_uv > 0)
forceIndex.Add("index_view_uv");
if (!search_group.IsNullOrEmpty())
forceIndex.Add("index_group");
if (!from_shop_id.IsNullOrEmpty())
forceIndex.Add("index_from_shop_id");
if (!from_shop_name.IsNullOrEmpty())
forceIndex.Add("index_from_shop_name");
//if (!add_user_name.IsNullOrEmpty())
// forceIndex.Add("index_add_user_name");
if (!forceIndex.Contains("index_view_uv"))
forceIndex.Add("index_sort_add_time");
}
List<MySqlParameter> paramLst = new List<MySqlParameter>(); List<MySqlParameter> paramLst = new List<MySqlParameter>();
sql = " select count(*) from " + tableName + " p "; sql = " select count(*) from " + tableName + " p ";
//sql += " LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" + //sql += " LEFT JOIN bxx.jst_supplier_ban_platform b ON (p.skc_id=b.coid or p.real_coid=b.coid)" +
if (forceIndex.Count > 0)
sql += " FORCE INDEX(" + string.Join(",", forceIndex) + ")";
sql += " WHERE p.is_del=0"; sql += " WHERE p.is_del=0";
string where = ""; string where = "";
if (!string.IsNullOrEmpty(from_shop_id)) if (!string.IsNullOrEmpty(from_shop_id))
where += " and p.from_shop_id ='" + from_shop_id + "'"; where += " and p.from_shop_id='" + from_shop_id + "'";
if (!string.IsNullOrEmpty(from_shop_name)) if (!string.IsNullOrEmpty(from_shop_name))
where += " and p.from_shop_name ='" + from_shop_name + "'"; where += " and p.from_shop_name='" + from_shop_name + "'";
if (!string.IsNullOrEmpty(search_db_ids)) if (!string.IsNullOrEmpty(search_db_ids))
where += " and p.id in (" + search_db_ids + ")"; where += " and p.id in (" + search_db_ids + ")";
if (!string.IsNullOrEmpty(search_secret_spu_ids)) if (!string.IsNullOrEmpty(search_secret_spu_ids))
@@ -675,6 +702,8 @@ namespace KJD_Web.BLL.BXX
where += " and p.ext_code in ('" + string.Join("','", ext_code_in.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')"; where += " and p.ext_code in ('" + string.Join("','", ext_code_in.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
if (!string.IsNullOrEmpty(product_get_type)) if (!string.IsNullOrEmpty(product_get_type))
where += " and p.product_get_type in ('" + product_get_type.Replace(",", "','") + "')"; where += " and p.product_get_type in ('" + product_get_type.Replace(",", "','") + "')";
else
where += " and p.product_get_type in ('厂商直采','1688厂家','1688外部数据','微信小店','微信店采','母店采集','机会商品','以图搜品','多多外部数据')";
if (!string.IsNullOrEmpty(wx_safe_status)) if (!string.IsNullOrEmpty(wx_safe_status))
where += " and p.wx_safe_status in ('" + wx_safe_status.Replace(",", "','") + "')"; where += " and p.wx_safe_status in ('" + wx_safe_status.Replace(",", "','") + "')";
if (!string.IsNullOrEmpty(special_prod_type)/* && special_prod_type != "普通商品,爆款数据"*/) if (!string.IsNullOrEmpty(special_prod_type)/* && special_prod_type != "普通商品,爆款数据"*/)
@@ -760,11 +789,11 @@ namespace KJD_Web.BLL.BXX
} }
if (!where.Contains("send_to_out_server")) if (!where.Contains("send_to_out_server"))
{ {
//where += " and p.send_to_out_server IN (0,1,127)"; where += " and p.send_to_out_server IN (0,1,2,127)";
} }
if (!where.Contains("distribution_set")) if (!where.Contains("distribution_set"))
{ {
//where += " and p.distribution_set IN (0,1,2,127)"; where += " and p.distribution_set IN (0,1,2,127)";
} }
if (!string.IsNullOrEmpty(real_coid)) if (!string.IsNullOrEmpty(real_coid))
@@ -794,10 +823,18 @@ namespace KJD_Web.BLL.BXX
{ {
where += " and p.ban_wx=" + ban_wx; where += " and p.ban_wx=" + ban_wx;
} }
else
{
where += " and p.ban_wx in (0,1)";
}
if (ban_pdd != null) if (ban_pdd != null)
{ {
where += " and p.ban_pdd=" + ban_pdd; where += " and p.ban_pdd=" + ban_pdd;
} }
else
{
where += " and p.ban_pdd in (0,1)";
}
if (min_view_uv != null) if (min_view_uv != null)
{ {
where += " and p.view_uv>=" + min_view_uv; where += " and p.view_uv>=" + min_view_uv;
@@ -807,6 +844,11 @@ namespace KJD_Web.BLL.BXX
add_user_name = "'" + string.Join("','", add_user_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'"; add_user_name = "'" + string.Join("','", add_user_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'";
where += " and p.add_user_name in (" + add_user_name + ")"; where += " and p.add_user_name in (" + add_user_name + ")";
} }
else
{
// 目前客户端即使是自有库查详情的时候也有没传 todo 每次查询都传参,或者就不管,详情会命中其他索引
//where += " and p.add_user_name='admin'";
}
if (no_fission_words) if (no_fission_words)
{ {
where += " and (fission_words='' or fission_words IS NULL)"; where += " and (fission_words='' or fission_words IS NULL)";
@@ -816,12 +858,14 @@ namespace KJD_Web.BLL.BXX
where += " and fission_words LIKE '" + fission_words + "%'"; where += " and fission_words LIKE '" + fission_words + "%'";
} }
sql += where; sql += where;
var count = 0; var count = 0;
if (isDetail || is_not_count) if (isDetail || is_not_count)
count = 1; count = 1;
else else
{
count = mySql.ExecuteRowCount(sql, paramLst.ToArray()); count = mySql.ExecuteRowCount(sql, paramLst.ToArray());
}
DataTable dt; DataTable dt;
if (count == 0) if (count == 0)
@@ -830,6 +874,35 @@ namespace KJD_Web.BLL.BXX
} }
else else
{ {
sql = " SELECT p.id " +
" FROM " + tableName + " p";
if (forceIndex.Count > 0)
sql += " FORCE INDEX(" + string.Join(",", forceIndex) + ")";
sql += " WHERE p.is_del=0";
//where子句
sql += where;
if (sort_field == "view_uv")
sql += " order by p.view_uv desc, p.add_time desc";
else
sql += " order by p.add_time desc";
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
dt = mySql.ExecuteDataTable(sql, paramLst.ToArray());
if (!string.IsNullOrEmpty(mySql.Message) || dt == null)
{
mySql.Close();
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}";
}
var db_ids = string.Join(",", dt.Rows.Cast<DataRow>().Select(r => r["id"].ParseToInt()));
if (string.IsNullOrEmpty(db_ids))
{
mySql.Close();
return "{\"code\":200,\"data\":[],\"count\":" + 0 + "}";
}
if (isDetail) if (isDetail)
sql = " SELECT p.*" + sql = " SELECT p.*" +
" from " + tableName + " p" + " from " + tableName + " p" +
@@ -841,14 +914,8 @@ namespace KJD_Web.BLL.BXX
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv,p.add_user_name" + " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id,p.is_relation,p.view_uv,p.add_user_name" +
" FROM " + tableName + " p" + " FROM " + tableName + " p" +
" WHERE p.is_del=0"; " WHERE p.is_del=0";
//where子句
sql += where;
if (sort_field == "view_uv") sql += " and id in (" + db_ids + ")";
sql += " order by p.view_uv desc, p.id desc";
else
sql += " order by p.id desc";
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
dt = mySql.ExecuteDataTable(sql, paramLst.ToArray()); dt = mySql.ExecuteDataTable(sql, paramLst.ToArray());
} }
@@ -1327,6 +1394,10 @@ namespace KJD_Web.BLL.BXX
add_user_name = "'" + string.Join("','", add_user_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'"; add_user_name = "'" + string.Join("','", add_user_name.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'";
where += " and p.add_user_name in (" + add_user_name + ")"; where += " and p.add_user_name in (" + add_user_name + ")";
} }
else
{
where += " and p.add_user_name='admin'";
}
sql += where; sql += where;
sql += " ORDER BY id DESC"; sql += " ORDER BY id DESC";
@@ -1718,11 +1789,12 @@ namespace KJD_Web.BLL.BXX
if (!string.IsNullOrEmpty(product_get_type)) if (!string.IsNullOrEmpty(product_get_type))
{ {
where1 = " and p.product_get_type in ('" + product_get_type.Replace(",", "','") + "')"; where1 = " and p.product_get_type in ('" + product_get_type.Replace(",", "','") + "')";
//where1 = " and ((product_get_type = '多多外部数据') OR (product_get_type = '微信小店') OR (product_get_type = '微信店采' AND wx_safe_status = '安全商品')) ";
if (is学员数据) if (is学员数据)
{ {
// 多多外部数据20% 微信小店数据30% 微信店采50% // 多多外部数据20% 微信小店数据30% 微信店采50%
//where2 = " and (RAND() < 0.066 AND product_get_type = '多多外部数据' OR RAND() < 0.3 AND product_get_type = '微信小店' OR RAND() <= 1 AND product_get_type = '微信店采') "; //where2 = " and (RAND() < 0.066 AND product_get_type = '多多外部数据' OR RAND() < 0.3 AND product_get_type = '微信小店' OR RAND() <= 1 AND product_get_type = '微信店采') ";
where2 = " and (RAND() < 0.055 AND product_get_type = '多多外部数据' OR RAND() < 0.39 AND product_get_type = '微信小店' OR RAND() <= 1 AND product_get_type = '微信店采') "; where2 = " and ((RAND() < 0.055 AND product_get_type = '多多外部数据') OR (RAND() < 0.39 AND product_get_type = '微信小店') OR (RAND() <= 1 AND product_get_type = '微信店采' AND wx_safe_status = '安全商品')) ";
} }
where += where1; where += where1;
} }
@@ -0,0 +1,139 @@
using KJD_Web.Model.WxModel;
using KJD_Web.Utils;
using NaiBa.Util.Extension;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
namespace KJD_Web.BLL.WXXD
{
public class WXOemManage
{
public string AddMdyOem(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var oem_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "oem_id")?.Replace("'", "\\'"));
var oem_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "oem_name")?.Replace("'", "\\'"));
var oem_owner = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "oem_owner")?.Replace("'", "\\'"));
if (oem_id.IsNullOrEmpty() || oem_name.IsNullOrEmpty())
return "{\"code\":500,\"msg\":\"oem信息不能为空\"}";
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "INSERT INTO wxxd.oem (oem_id,oem_name,oem_owner) VALUES('" + oem_id + "','" + oem_name + "','" + oem_owner + "')" +
"ON DUPLICATE KEY UPDATE oem_name=VALUES(oem_name),oem_owner=VALUES(oem_owner);";
var rst = mySql.ExecuteAffectedRows(sql);
mySql.Close();
if (!string.IsNullOrEmpty(mySql.Message))
{
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}";
}
return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rst + "}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string DelOem(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var id = (RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'"));
var oem_id = (RegexUtils.GetStringQuery(ref inputData, "oem_id")?.Replace("'", "\\'"));
if (oem_id.IsNullOrEmpty() && id.IsNullOrEmpty())
return "{\"code\":500,\"msg\":\"oem信息不能为空\"}";
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "UPDATE wxxd.oem SET is_del=1 WHERE id=" + id + " or oem_id='" + oem_id + "'";
var rst = mySql.ExecuteAffectedRows(sql);
mySql.Close();
if (!string.IsNullOrEmpty(mySql.Message))
{
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}";
}
return "{\"code\":200,\"msg\":\"success\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string GetOem(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var timeCalc = DateTime.Now;
var oem_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "oem_id")?.Replace("'", "\\'"));
var oem_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "oem_name")?.Replace("'", "\\'"));
var oem_owner = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "oem_owner")?.Replace("'", "\\'"));
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "SELECT * FROM wxxd.oem WHERE is_del=0";
string where = "";
if (!string.IsNullOrEmpty(oem_id))
where += " and p.oem_id in ('" + oem_id.Replace(",", "','") + "')";
if (!string.IsNullOrEmpty(oem_name))
where += " and p.oem_name in ('" + oem_name.Replace(",", "','") + "')";
if (!string.IsNullOrEmpty(oem_owner))
where += " and p.oem_owner in ('" + oem_owner.Replace(",", "','") + "')";
sql += where;
sql += " ORDER BY add_time DESC;";
var dt = mySql.ExecuteDataTable(sql);
mySql.Close();
if (!string.IsNullOrEmpty(mySql.Message) || dt == null)
{
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}";
}
try
{
List<oem> productLst = new List<oem>();
foreach (DataRow row in dt.Rows)
{
oem prod = new oem
{
id = row["id"].ParseToInt(),
oem_icon = null,
oem_id = row["oem_id"].ParseToString(),
add_time = row["add_time"].ParseToString().ParseToDateTime(),
mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(),
oem_img = null,
oem_name = row["oem_name"].ParseToString(),
oem_owner = row["oem_owner"].ParseToString(),
};
productLst.Add(prod);
}
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
var data = JsonUtils.SerializeObjectToString(productLst, jsonSetting);
var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000");
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + -1 + ",\"seconds\":" + seconds + "}";
}
catch (Exception ex)
{
return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}";
}
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
}
}
@@ -738,6 +738,9 @@ namespace KJD_Web.BLL.WXXD
random_code = row["random_code"].ParseToString(), random_code = row["random_code"].ParseToString(),
transfer_refund_status = row["transfer_refund_status"].ParseToNullableInt(), transfer_refund_status = row["transfer_refund_status"].ParseToNullableInt(),
order_void_status = row["order_void_status"].ParseToNullableInt(), order_void_status = row["order_void_status"].ParseToNullableInt(),
warehouse_status = row["warehouse_status"].ParseToNullableInt(),
inbound_time = row["inbound_time"].ParseToString().ParseToDateTimeNullable(),
outbound_time = row["outbound_time"].ParseToString().ParseToDateTimeNullable(),
}); });
} }
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
@@ -926,8 +929,8 @@ namespace KJD_Web.BLL.WXXD
var count = -1; var count = -1;
sql = " update `erp`.`oms_wei_order` set "; sql = " update `erp`.`oms_wei_order` set ";
if (!string.IsNullOrEmpty(soft_remark)) if (soft_remark != null)
sql += " soft_remark=" + soft_remark + ","; sql += " soft_remark='" + soft_remark + "',";
sql = sql.TrimEnd(','); sql = sql.TrimEnd(',');
sql += " where order_id = '" + order_id + "';"; sql += " where order_id = '" + order_id + "';";
@@ -1172,5 +1175,121 @@ namespace KJD_Web.BLL.WXXD
} }
return "{\"code\":19999,\"msg\":\"输入为空\"}"; return "{\"code\":19999,\"msg\":\"输入为空\"}";
} }
public string WXGetTransitWarehouseAfterSaleList(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var timeCalc = DateTime.Now;
var wx_order_id_in = RegexUtils.GetStringQuery(ref inputData, "wx_order_id_in")?.Replace("'", "\\'");
var buyer_order_sn_in = RegexUtils.GetStringQuery(ref inputData, "buyer_order_sn_in")?.Replace("'", "\\'");
if (wx_order_id_in.IsNullOrEmpty() && string.IsNullOrEmpty(buyer_order_sn_in))
{
return "{\"code\":500,\"msg\":\"未指定订单\"}";
}
var sort_type = RegexUtils.GetStringQuery(ref inputData, "sort_type")?.Replace("'", "\\'");
var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") != "false";
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(1000);
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "SELECT COUNT(id) FROM erp.oms_wei_external_procurement_after_sale o WHERE 1=1 ";
string where = "";
if (!string.IsNullOrWhiteSpace(wx_order_id_in))
where += " and o.order_no in ('" + wx_order_id_in.Replace(",", "','") + "')";
if (!string.IsNullOrWhiteSpace(buyer_order_sn_in))
where += " and o.order_code in ('" + buyer_order_sn_in.Replace(",", "','") + "')";
sql += where;
var count = 0;
if (!is_not_count)
count = mySql.ExecuteRowCount(sql);
DataTable dt;
if (count == 0 && !is_not_count)
{
dt = new DataTable();
}
else
{
sql = "SELECT o.* FROM" +
" erp.oms_wei_external_procurement_after_sale o " +
" WHERE 1=1";
//where子句
sql += where;
if (sort_type == "asc")
sql += " ORDER BY o.id ASC";
else
sql += " ORDER BY o.id DESC";
sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size;
dt = mySql.ExecuteDataTable(sql);
}
mySql.Close();
if (dt != null)
{
try
{
List<oms_wei_external_procurement_after_sale_info> refundItemList = new List<oms_wei_external_procurement_after_sale_info>();
foreach (DataRow row in dt.Rows)
{
oms_wei_external_procurement_after_sale_info order = new oms_wei_external_procurement_after_sale_info
{
id = row["id"].ParseToLong(),
order_no = row["order_no"].ParseToString(),
order_code = row["order_code"].ParseToString(),
inbound_time = row["inbound_time"].ParseToString().ParseToDateTimeNullable(),
outbound_time = row["outbound_time"].ParseToString().ParseToDateTimeNullable(),
account_user = row["account_user"].ParseToString(),
after_sale_no = row["after_sale_no"].ParseToString(),
created_time = row["created_time"].ParseToString().ParseToDateTimeNullable(),
create_user = row["create_user"].ParseToString(),
downstream_express_code = row["downstream_express_code"].ParseToString(),
downstream_waybill = row["downstream_waybill"].ParseToString(),
external_order_no = row["external_order_no"].ParseToString(),
raw_message = row["raw_message"].ParseToString(),
recipient_name = row["recipient_name"].ParseToString(),
recipient_phone = row["recipient_phone"].ParseToString(),
refund_city = row["refund_city"].ParseToString(),
refund_county = row["refund_county"].ParseToString(),
refund_detail_address = row["refund_detail_address"].ParseToString(),
refund_province = row["refund_province"].ParseToString(),
refund_waybill = row["refund_waybill"].ParseToString(),
return_express_company = row["return_express_company"].ParseToString(),
return_or_exchange = row["return_or_exchange"].ParseToNullableInt(),
status = row["status"].ParseToNullableInt(),
updated_time = row["updated_time"].ParseToString().ParseToDateTimeNullable(),
update_user = row["update_user"].ParseToString(),
warehouse_status = row["warehouse_status"].ParseToNullableInt(),
};
refundItemList.Add(order);
}
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
var data = JsonUtils.SerializeObjectToString(refundItemList, 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\":\"输入为空\"}";
}
} }
} }
+307 -181
View File
@@ -68,7 +68,7 @@ namespace KJD_Web.BLL.WXXD
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn); MysqlUtils mySql = new MysqlUtils(conn);
string sql = "select u.*,uu.authority as main_authority " + string sql = "select u.*,uu.authority as main_authority,uu.oem_id as main_oem_id,uu.postage_per_order as main_postage_per_order " +
"FROM wxxd.user u LEFT JOIN wxxd.user uu ON uu.user_name=u.parent_user_name where u.user_name='" "FROM wxxd.user u LEFT JOIN wxxd.user uu ON uu.user_name=u.parent_user_name where u.user_name='"
+ mobile + "' and u.password='" + password + "'"; + mobile + "' and u.password='" + password + "'";
@@ -99,15 +99,23 @@ namespace KJD_Web.BLL.WXXD
authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "",
forbidden_page = row.Table.Columns.Contains("forbidden_page") ? row["forbidden_page"].ParseToString() : "", forbidden_page = row.Table.Columns.Contains("forbidden_page") ? row["forbidden_page"].ParseToString() : "",
parent_user_name = row["parent_user_name"].ToString(), parent_user_name = row["parent_user_name"].ToString(),
oem_id = row["oem_id"].ToString(),
points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0,
shop_points_per_month = row.Table.Columns.Contains("shop_points_per_month") ? row["shop_points_per_month"].ParseToInt() : 30,
balance = row.Table.Columns.Contains("balance") ? row["balance"].ParseToDecimal() : 0, balance = row.Table.Columns.Contains("balance") ? row["balance"].ParseToDecimal() : 0,
recharge_amount_total = row.Table.Columns.Contains("recharge_amount_total") ? row["recharge_amount_total"].ParseToDecimal() : 0, recharge_amount_total = row.Table.Columns.Contains("recharge_amount_total") ? row["recharge_amount_total"].ParseToDecimal() : 0,
shop_points_per_month = row.Table.Columns.Contains("shop_points_per_month") ? row["shop_points_per_month"].ParseToInt() : 30, postage_per_order = row.Table.Columns.Contains("postage_per_order") ? row["postage_per_order"].ParseToNullableDecimal() : null,
}; };
var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : "";
// 子账号积分用户权限跟随 var main_oem_id = row.Table.Columns.Contains("main_oem_id") ? row["main_oem_id"].ParseToString() : "";
var main_postage_per_order = row.Table.Columns.Contains("main_postage_per_order") ? row["main_postage_per_order"].ParseToDecimal() : 0m;
// 填写子账号的父账号权限
if (user.group_id != "3") if (user.group_id != "3")
{ {
user.parent_authority = main_authority;
// 子账号积分用户权限跟随主账号
var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
if (!main_authority.Contains("积分用户")) if (!main_authority.Contains("积分用户"))
{ {
@@ -118,19 +126,29 @@ namespace KJD_Web.BLL.WXXD
{ {
user.authority = (user.authority + "," + "积分用户").Trim(','); user.authority = (user.authority + "," + "积分用户").Trim(',');
} }
// 子账号贴牌编号跟随主账号
user.oem_id = main_oem_id;
// 子账号每单扣费金额跟随主账号
user.postage_per_order = Math.Max(2.2m, main_postage_per_order);
} }
if (string.IsNullOrEmpty(user.company_name)) if (string.IsNullOrEmpty(user.company_name))
{ {
user.company_name = "-"; user.company_name = "-";
} }
if (user.group_id != "3" && !string.IsNullOrEmpty(user.parent_user_name))
if (!user.oem_id.IsNullOrEmpty())
{ {
sql = "select authority from wxxd.user where user_name='" + user.parent_user_name + "'"; sql = "select * from wxxd.oem where oem_id='" + user.oem_id + "'";
var rst = mySql.ExecuteFirst(sql); var dtr = mySql.ExecuteDataTableRow(sql);
if (mySql.Message.IsNullOrEmpty()) if (!string.IsNullOrEmpty(mySql.Message) || dtr == null)
{ {
user.parent_authority = rst; mySql.Close();
return "{\"code\":500,\"msg\":\"获取用户信息失败,请重试\"}";
} }
user.oem_name = dtr["oem_name"].ParseToString();
user.is_oem_owner = dtr["oem_owner"].ParseToString() == user.user_name;
} }
var data = JsonUtils.SerializeObjectToString(user); var data = JsonUtils.SerializeObjectToString(user);
@@ -145,6 +163,11 @@ namespace KJD_Web.BLL.WXXD
return "{\"code\":19999,\"msg\":\"输入为空\"}"; return "{\"code\":19999,\"msg\":\"输入为空\"}";
} }
/// <summary>
/// 添加子账号
/// </summary>
/// <param name="inputData"></param>
/// <returns></returns>
public string AddSubUser(string inputData) public string AddSubUser(string inputData)
{ {
if (!string.IsNullOrEmpty(inputData)) if (!string.IsNullOrEmpty(inputData))
@@ -352,14 +375,22 @@ namespace KJD_Web.BLL.WXXD
var search_company_name = RegexUtils.GetStringQuery(ref inputData, "search_company_name")?.Replace("'", "\\'"); var search_company_name = RegexUtils.GetStringQuery(ref inputData, "search_company_name")?.Replace("'", "\\'");
var search_authoritys_and = RegexUtils.GetStringQuery(ref inputData, "search_authoritys_and")?.Replace("'", "\\'"); var search_authoritys_and = RegexUtils.GetStringQuery(ref inputData, "search_authoritys_and")?.Replace("'", "\\'");
var search_authoritys_or = RegexUtils.GetStringQuery(ref inputData, "search_authoritys_or")?.Replace("'", "\\'"); var search_authoritys_or = RegexUtils.GetStringQuery(ref inputData, "search_authoritys_or")?.Replace("'", "\\'");
int r2 = 0; var oem_id = RegexUtils.GetStringQuery(ref inputData, "oem_id")?.Replace("'", "\\'");
int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2);
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(20000);
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn); MysqlUtils mySql = new MysqlUtils(conn);
//string sql = "select * from wxxd.user where group_id=3"; //string sql = "select * from wxxd.user where group_id=3";
string sql = "select u.*,uu.authority as main_authority from wxxd.user u " + string sql = "select u.*,uu.authority as main_authority,uu.oem_id as main_oem_id,uu.postage_per_order as main_postage_per_order,o.oem_name " +
"LEFT JOIN wxxd.user uu ON uu.user_name=u.parent_user_name WHERE 1=1"; " FROM wxxd.user u " +
" LEFT JOIN wxxd.user uu ON uu.user_name=u.parent_user_name " +
" LEFT JOIN wxxd.oem o ON uu.oem_id=o.oem_id or u.oem_id=o.oem_id " +
" WHERE 1=1";
string where = ""; string where = "";
if (!string.IsNullOrEmpty(group_id)) if (!string.IsNullOrEmpty(group_id))
where += " AND u.group_id=" + group_id; where += " AND u.group_id=" + group_id;
@@ -401,6 +432,10 @@ namespace KJD_Web.BLL.WXXD
where += " AND (u.user_name like '%" + search + where += " AND (u.user_name like '%" + search +
"%' or u.nick_name like '%" + search + "%' or u.nick_name like '%" + search +
"%' or u.company_name like '%" + search + "%')"; "%' or u.company_name like '%" + search + "%')";
if (!string.IsNullOrEmpty(oem_id))
where += " AND (u.oem_id='" + oem_id + "' or uu.oem_id='" + oem_id + "')";
sql += where; sql += where;
sql += " ORDER BY u.id desc"; sql += " ORDER BY u.id desc";
@@ -411,7 +446,6 @@ namespace KJD_Web.BLL.WXXD
List<UserLoginResultParam> userList = new List<UserLoginResultParam>(); List<UserLoginResultParam> userList = new List<UserLoginResultParam>();
foreach (DataRow row in dt.Rows) foreach (DataRow row in dt.Rows)
{ {
UserLoginResultParam user = new UserLoginResultParam UserLoginResultParam user = new UserLoginResultParam
{ {
id = Convert.ToInt32(row["id"]), id = Convert.ToInt32(row["id"]),
@@ -422,6 +456,8 @@ namespace KJD_Web.BLL.WXXD
group_id = row["group_id"].ToString(), group_id = row["group_id"].ToString(),
card_id = row["card_id"].ToString(), card_id = row["card_id"].ToString(),
parent_user_name = row["parent_user_name"].ToString(), parent_user_name = row["parent_user_name"].ToString(),
oem_id = row["oem_id"].ToString(),
oem_name = row["oem_name"].ToString(),
company_name = row["company_name"].ToString(), company_name = row["company_name"].ToString(),
notes = row["notes"].ToString(), notes = row["notes"].ToString(),
is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0, is_sa = row.Table.Columns.Contains("is_sa") ? row["is_sa"].ParseToInt() : 0,
@@ -429,14 +465,18 @@ namespace KJD_Web.BLL.WXXD
authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "", authority = row.Table.Columns.Contains("authority") ? row["authority"].ParseToString() : "",
forbidden_page = row.Table.Columns.Contains("forbidden_page") ? row["forbidden_page"].ParseToString() : "", forbidden_page = row.Table.Columns.Contains("forbidden_page") ? row["forbidden_page"].ParseToString() : "",
points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0, points = row.Table.Columns.Contains("points") ? row["points"].ParseToInt() : 0,
shop_points_per_month = row.Table.Columns.Contains("shop_points_per_month") ? row["shop_points_per_month"].ParseToInt() : 30,
balance = row.Table.Columns.Contains("balance") ? row["balance"].ParseToDecimal() : 0, balance = row.Table.Columns.Contains("balance") ? row["balance"].ParseToDecimal() : 0,
recharge_amount_total = row.Table.Columns.Contains("recharge_amount_total") ? row["recharge_amount_total"].ParseToDecimal() : 0, recharge_amount_total = row.Table.Columns.Contains("recharge_amount_total") ? row["recharge_amount_total"].ParseToDecimal() : 0,
shop_points_per_month = row.Table.Columns.Contains("shop_points_per_month") ? row["shop_points_per_month"].ParseToInt() : 30, postage_per_order = row.Table.Columns.Contains("postage_per_order") ? row["postage_per_order"].ParseToNullableDecimal() : null
}; };
var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : ""; var main_authority = row.Table.Columns.Contains("main_authority") ? row["main_authority"].ParseToString() : "";
// 子账号积分用户权限跟随 var main_oem_id = row.Table.Columns.Contains("main_oem_id") ? row["main_oem_id"].ParseToString() : "";
var main_postage_per_order = row.Table.Columns.Contains("main_postage_per_order") ? row["main_postage_per_order"].ParseToDecimal() : 0m;
if (user.group_id != "3") if (user.group_id != "3")
{ {
// 子账号积分用户权限跟随主账号
var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); var userAuthLst = user.authority.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
if (!main_authority.Contains("积分用户")) if (!main_authority.Contains("积分用户"))
{ {
@@ -447,6 +487,12 @@ namespace KJD_Web.BLL.WXXD
{ {
user.authority = (user.authority + "," + "积分用户").Trim(','); user.authority = (user.authority + "," + "积分用户").Trim(',');
} }
// 子账号贴牌编号跟随主账号
user.oem_id = main_oem_id;
// 子账号每单扣费金额跟随主账号
user.postage_per_order = Math.Max(2.2m, main_postage_per_order);
} }
if (string.IsNullOrEmpty(user.mobile)) if (string.IsNullOrEmpty(user.mobile))
{ {
@@ -455,7 +501,7 @@ namespace KJD_Web.BLL.WXXD
userList.Add(user); userList.Add(user);
} }
var data = JsonUtils.SerializeObjectToString(userList); var data = JsonUtils.SerializeObjectToString(userList);
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"c\":\"" + EncrypUtil.Encryption(r2) + "\"}"; return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + "}";
} }
} }
return "{\"code\":19999,\"msg\":\"输入为空\"}"; return "{\"code\":19999,\"msg\":\"输入为空\"}";
@@ -479,10 +525,14 @@ namespace KJD_Web.BLL.WXXD
var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'"); var sa_level = RegexUtils.GetStringQuery(ref inputData, "sa_level")?.Replace("'", "\\'");
var authority = RegexUtils.GetStringQuery(ref inputData, "authority")?.Replace("'", "\\'"); var authority = RegexUtils.GetStringQuery(ref inputData, "authority")?.Replace("'", "\\'");
var forbidden_page = RegexUtils.GetStringQuery(ref inputData, "forbidden_page")?.Replace("'", "\\'"); var forbidden_page = RegexUtils.GetStringQuery(ref inputData, "forbidden_page")?.Replace("'", "\\'");
var oem_id = RegexUtils.GetStringQuery(ref inputData, "oem_id")?.Replace("'", "\\'");
var shop_points_per_month = RegexUtils.GetStringQuery(ref inputData, "shop_points_per_month")?.Replace("'", "\\'"); var shop_points_per_month = RegexUtils.GetStringQuery(ref inputData, "shop_points_per_month")?.Replace("'", "\\'");
if (shop_points_per_month.ParseToInt() <= 30) // 充值用户月积分消耗点数,最小30 if (shop_points_per_month.ParseToInt() <= 30) // 充值用户月积分消耗点数,最小30
shop_points_per_month = "30"; shop_points_per_month = "30";
var postage_per_order = RegexUtils.GetStringQuery(ref inputData, "postage_per_order")?.Replace("'", "\\'");
if (postage_per_order.ParseToDecimal() <= 2.2m) // 每单费用
postage_per_order = "2.2";
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn); MysqlUtils mySql = new MysqlUtils(conn);
@@ -496,13 +546,17 @@ namespace KJD_Web.BLL.WXXD
} }
sql = "insert into wxxd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,sa_level,authority," + sql = "insert into wxxd.user (nick_name,user_name,mobile,password,card_id,group_id,company_name,notes,sa_level,authority," +
"forbidden_page,shop_points_per_month,add_time,mdy_time) " + "forbidden_page,shop_points_per_month,postage_per_order,oem_id,add_time,mdy_time) " +
"values ('" + nick_name + "','" + user_name + "','" + mobile + "','" + password + "','" + card_id + "','" + "values ('" + nick_name + "','" + user_name + "','" + mobile + "','" + password + "','" + card_id + "','" +
group_id + "','" + company_name + "','" + notes + "'," + sa_level + ",'" + authority + "','" + forbidden_page + "'," + group_id + "','" + company_name + "','" + notes + "'," + sa_level + ",'" + authority + "','" + forbidden_page + "'," +
shop_points_per_month + ",'" + shop_points_per_month + ",'" + postage_per_order + "',@oem_id,'" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
var rst = mySql.ExecuteNonQuery(sql);
List<MySqlParameter> paramLst = new List<MySqlParameter>();
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "oem_id", Value = oem_id, });
var rst = mySql.ExecuteNonQuery(sql, paramLst.ToArray());
mySql.Close(); mySql.Close();
if (!rst) if (!rst)
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
@@ -532,6 +586,8 @@ namespace KJD_Web.BLL.WXXD
var authority = RegexUtils.GetStringQuery(ref inputData, "authority")?.Replace("'", "\\'"); var authority = RegexUtils.GetStringQuery(ref inputData, "authority")?.Replace("'", "\\'");
var forbidden_page = RegexUtils.GetStringQuery(ref inputData, "forbidden_page")?.Replace("'", "\\'"); var forbidden_page = RegexUtils.GetStringQuery(ref inputData, "forbidden_page")?.Replace("'", "\\'");
var shop_points_per_month = RegexUtils.GetStringQuery(ref inputData, "shop_points_per_month")?.Replace("'", "\\'"); var shop_points_per_month = RegexUtils.GetStringQuery(ref inputData, "shop_points_per_month")?.Replace("'", "\\'");
var postage_per_order = RegexUtils.GetStringQuery(ref inputData, "postage_per_order")?.Replace("'", "\\'");
var oem_id = RegexUtils.GetStringQuery(ref inputData, "oem_id")?.Replace("'", "\\'");
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn); MysqlUtils mySql = new MysqlUtils(conn);
@@ -563,19 +619,20 @@ namespace KJD_Web.BLL.WXXD
sql += " forbidden_page='" + forbidden_page + "',"; sql += " forbidden_page='" + forbidden_page + "',";
if (shop_points_per_month != null) if (shop_points_per_month != null)
sql += " shop_points_per_month=" + shop_points_per_month + ","; sql += " shop_points_per_month=" + shop_points_per_month + ",";
if (postage_per_order != null)
sql += " postage_per_order=" + postage_per_order + ",";
if (oem_id != null)
sql += " oem_id='" + oem_id + "',";
sql = sql.TrimEnd(','); sql = sql.TrimEnd(',');
sql += " where id=" + id + ""; sql += " where id=" + id + "";
var rst = mySql.ExecuteNonQuery(sql); var rst = mySql.ExecuteAffectedRows(sql);
mySql.Close(); mySql.Close();
if (rst) if (!mySql.Message.IsNullOrEmpty())
{
return "{\"code\":200,\"msg\":\"success\"}";
}
else
{ {
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}";
} }
return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rst + "}";
} }
return "{\"code\":19999,\"msg\":\"输入为空\"}"; return "{\"code\":19999,\"msg\":\"输入为空\"}";
} }
@@ -656,6 +713,7 @@ namespace KJD_Web.BLL.WXXD
var option_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "option_type"))?.Replace("'", "\\'"); var option_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "option_type"))?.Replace("'", "\\'");
var operator_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_type"))?.Replace("'", "\\'"); var operator_type = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_type"))?.Replace("'", "\\'");
var operator_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_name"))?.Replace("'", "\\'"); var operator_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_name"))?.Replace("'", "\\'");
var operator_nick = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "operator_nick"))?.Replace("'", "\\'");
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'"); var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
var shop_account = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_account"))?.Replace("'", "\\'"); var shop_account = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_account"))?.Replace("'", "\\'");
@@ -675,7 +733,7 @@ namespace KJD_Web.BLL.WXXD
{ {
return "{\"code\":500,\"msg\":\"操作或操作者信息错误\"}"; return "{\"code\":500,\"msg\":\"操作或操作者信息错误\"}";
} }
if (option_type != "充值" && option_type != "续费") if (option_type != "充值" && option_type != "续费" && option_type != "转移")
{ {
return "{\"code\":500,\"msg\":\"操作类型错误\"}"; return "{\"code\":500,\"msg\":\"操作类型错误\"}";
} }
@@ -683,147 +741,262 @@ namespace KJD_Web.BLL.WXXD
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn, true); MysqlUtils mySql = new MysqlUtils(conn, true);
string sql; string sql;
int userPoints = 0; int userPoints;
int newUserPoints = 0; int newUserPoints;
int operatorPoints;
int newOperatorPoints;
int shopPointsPerMonth = 30; int shopPointsPerMonth = 30;
#region 计算是否余额不足 // 账户之间的转移单独写
sql = "SELECT points FROM `wxxd`.`user` WHERE user_name='" + user_name + "'"; if (option_type == "转移")
userPoints = mySql.ExecuteFirstInt(sql);
newUserPoints = userPoints;
if (!string.IsNullOrEmpty(mySql.Message))
{ {
mySql.RollBack(); // 转移查找自己账户及对方账户确定余额足够
mySql.Close(); sql = "SELECT points FROM `wxxd`.`user` WHERE user_name='" + operator_name + "'";
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; operatorPoints = mySql.ExecuteFirstInt(sql);
} if (operatorPoints < delta_points)
if (option_type == "续费")
{
sql = "SELECT shop_points_per_month FROM `wxxd`.`user` WHERE user_name='" + user_name + "'";
shopPointsPerMonth = mySql.ExecuteFirstInt(sql); // 店铺续费一个月的点数,默认30,可以设置为其他值
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
shopPointsPerMonth = Math.Max(30, shopPointsPerMonth);
if (delta_points <= 0 || delta_points % shopPointsPerMonth > 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"续费点数必须是" + shopPointsPerMonth + "的整倍数\"}";
}
else if (userPoints < delta_points)
{ {
mySql.RollBack(); mySql.RollBack();
mySql.Close(); mySql.Close();
return "{\"code\":500,\"msg\":\"余额不足\"}"; return "{\"code\":500,\"msg\":\"余额不足\"}";
} }
} sql = "SELECT points FROM `wxxd`.`user` WHERE user_name='" + user_name + "'";
#endregion userPoints = mySql.ExecuteFirstInt(sql);
if (userPoints < -delta_points)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"对方账户余额不足\"}";
}
sql = "UPDATE `wxxd`.`user` SET";
if (option_type == "充值")
{
sql += " points=points+" + delta_points.ParseToInt() + ",";
newUserPoints = userPoints + delta_points.ParseToInt(); newUserPoints = userPoints + delta_points.ParseToInt();
sql = " UPDATE `wxxd`.`user` SET points=" + newUserPoints.ParseToInt();
sql += " WHERE user_name='" + user_name + "' AND points=" + userPoints + ";";
var toPointsRst = mySql.ExecuteAffectedRows(sql);
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (toPointsRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"收款账户已发生改变,请刷新账户后重新操作\"}";
}
newOperatorPoints = operatorPoints - delta_points.ParseToInt();
sql = " UPDATE `wxxd`.`user` SET points=" + newOperatorPoints.ParseToInt();
sql += " WHERE user_name='" + operator_name + "' AND points=" + operatorPoints + ";";
var fromPointsRst = mySql.ExecuteAffectedRows(sql);
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (fromPointsRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"付款账户已发生改变,请刷新账户后重新操作\"}";
}
// 转入
sql = " INSERT INTO wxxd.user_points_record(user_name,user_nick,points,option_type,operator_type,operator_name,shop_id,shop_account)";
sql += " VALUES(@user_name,@user_nick,@points,@option_type,@operator_type,@operator_name,@shop_id,@shop_account);";
List<MySqlParameter> paramLst = new List<MySqlParameter>();
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_name", Value = user_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_nick", Value = user_nick, });
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "points", Value = delta_points, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "option_type", Value = delta_points > 0 ? "转入" : "转出", });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_type", Value = operator_type, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_name", Value = operator_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_id", Value = shop_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_account", Value = shop_account, });
var addOptionRst = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (addOptionRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"新增操作记录失败,请稍候重试\"}";
}
sql = " INSERT INTO wxxd.user_points_record(user_name,user_nick,points,option_type,operator_type,operator_name,shop_id,shop_account)";
sql += " VALUES(@user_name,@user_nick,@points,@option_type,@operator_type,@operator_name,@shop_id,@shop_account);";
paramLst = new List<MySqlParameter>();
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_name", Value = operator_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_nick", Value = operator_nick, });
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "points", Value = delta_points, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "option_type", Value = delta_points > 0 ? "转出" : "转入", });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_type", Value = operator_type, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_name", Value = operator_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_id", Value = shop_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_account", Value = shop_account, });
addOptionRst = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (addOptionRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"新增操作记录失败,请稍候重试\"}";
}
mySql.Commit();
mySql.Close();
return "{\"code\":200,\"msg\":\"success\",\"newOperatorPoints\":" + newOperatorPoints + ",\"newUserPoints\":" + newUserPoints + "}";
} }
else else
{ {
sql += " points=points-" + delta_points.ParseToInt() + ","; #region 计算是否余额不足
newUserPoints = userPoints - delta_points.ParseToInt(); sql = "SELECT points FROM `wxxd`.`user` WHERE user_name='" + user_name + "'";
} userPoints = mySql.ExecuteFirstInt(sql);
sql = sql.TrimEnd(',');
sql += " WHERE user_name='" + user_name + "' AND points=" + userPoints + ";";
var changePointsRst = mySql.ExecuteAffectedRows(sql);
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (changePointsRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"账户已发生改变,请刷新账户后重新操作\"}";
}
sql = " INSERT INTO wxxd.user_points_record(user_name,user_nick,points,option_type,operator_type,operator_name,shop_id,shop_account)";
sql += " VALUES(@user_name,@user_nick,@points,@option_type,@operator_type,@operator_name,@shop_id,@shop_account);";
List<MySqlParameter> paramLst = new List<MySqlParameter>();
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_name", Value = user_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_nick", Value = user_nick, });
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "points", Value = delta_points, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "option_type", Value = option_type, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_type", Value = operator_type, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_name", Value = operator_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_id", Value = shop_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_account", Value = shop_account, });
var addOptionRst = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (addOptionRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"新增操作记录失败,请稍候重试\"}";
}
int expireTime = 0;
int newExpireTime = 0;
if (option_type == "续费")
{
sql = "SELECT expire_time‌ FROM `wxxd`.`user_points_shop_expire` WHERE shop_id='" + shop_id + "';";
expireTime = mySql.ExecuteFirstInt(sql);
if (!string.IsNullOrEmpty(mySql.Message)) if (!string.IsNullOrEmpty(mySql.Message))
{ {
mySql.RollBack(); mySql.RollBack();
mySql.Close(); mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
} }
if (option_type == "续费")
if (expireTime == 0)
{ {
newExpireTime = TimeUtils.DateTimeToTimestampSeconds(DateTime.Now.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth)); sql = "SELECT shop_points_per_month FROM `wxxd`.`user` WHERE user_name='" + user_name + "'";
sql = " INSERT INTO `wxxd`.`user_points_shop_expire` (shop_id,expire_time‌)" + shopPointsPerMonth = mySql.ExecuteFirstInt(sql); // 店铺续费一个月的点数,默认30,可以设置为其他值
" VALUES ('" + shop_id + "'," + newExpireTime + ");"; if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
shopPointsPerMonth = Math.Max(30, shopPointsPerMonth);
if (delta_points <= 0 || delta_points % shopPointsPerMonth > 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"续费点数必须是" + shopPointsPerMonth + "的整倍数\"}";
}
else if (userPoints < delta_points)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"余额不足\"}";
}
}
#endregion
sql = "UPDATE `wxxd`.`user` SET";
if (option_type == "充值")
{
sql += " points=points+" + delta_points.ParseToInt() + ",";
newUserPoints = userPoints + delta_points.ParseToInt();
} }
else else
{ {
DateTime expireDateTime = TimeUtils.StampToDateTime(expireTime); sql += " points=points-" + delta_points.ParseToInt() + ",";
if (expireDateTime < DateTime.Now) newUserPoints = userPoints - delta_points.ParseToInt();
expireDateTime = DateTime.Now.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth);
else
expireDateTime = expireDateTime.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth);
newExpireTime = TimeUtils.DateTimeToTimestampSeconds(expireDateTime);
sql = "UPDATE `wxxd`.`user_points_shop_expire` set expire_time‌=" + newExpireTime + " WHERE shop_id='" + shop_id + "' AND expire_time‌=" + expireTime;
} }
var renewalRst = mySql.ExecuteAffectedRows(sql); sql = sql.TrimEnd(',');
sql += " WHERE user_name='" + user_name + "' AND points=" + userPoints + ";";
var changePointsRst = mySql.ExecuteAffectedRows(sql);
if (!string.IsNullOrEmpty(mySql.Message)) if (!string.IsNullOrEmpty(mySql.Message))
{ {
mySql.RollBack(); mySql.RollBack();
mySql.Close(); mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}"; return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
} }
else if (renewalRst <= 0) else if (changePointsRst <= 0)
{ {
mySql.RollBack(); mySql.RollBack();
mySql.Close(); mySql.Close();
return "{\"code\":500,\"msg\":\"店铺已发生改变,请刷新店铺后重新操作\"}"; return "{\"code\":500,\"msg\":\"账户已发生改变,请刷新账户后重新操作\"}";
} }
}
mySql.Commit(); sql = " INSERT INTO wxxd.user_points_record(user_name,user_nick,points,option_type,operator_type,operator_name,shop_id,shop_account)";
mySql.Close(); sql += " VALUES(@user_name,@user_nick,@points,@option_type,@operator_type,@operator_name,@shop_id,@shop_account);";
return "{\"code\":200,\"msg\":\"success\",\"newExpireTime\":" + newExpireTime + ",\"newUserPoints\":" + newUserPoints + "}"; List<MySqlParameter> paramLst = new List<MySqlParameter>();
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_name", Value = user_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "user_nick", Value = user_nick, });
paramLst.Add(new MySqlParameter() { DbType = DbType.Int32, ParameterName = "points", Value = delta_points, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "option_type", Value = option_type, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_type", Value = operator_type, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "operator_name", Value = operator_name, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_id", Value = shop_id, });
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "shop_account", Value = shop_account, });
var addOptionRst = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (addOptionRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"新增操作记录失败,请稍候重试\"}";
}
int expireTime = 0;
int newExpireTime = 0;
if (option_type == "续费")
{
sql = "SELECT expire_time‌ FROM `wxxd`.`user_points_shop_expire` WHERE shop_id='" + shop_id + "';";
expireTime = mySql.ExecuteFirstInt(sql);
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
if (expireTime == 0)
{
newExpireTime = TimeUtils.DateTimeToTimestampSeconds(DateTime.Now.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth));
sql = " INSERT INTO `wxxd`.`user_points_shop_expire` (shop_id,expire_time‌)" +
" VALUES ('" + shop_id + "'," + newExpireTime + ");";
}
else
{
DateTime expireDateTime = TimeUtils.StampToDateTime(expireTime);
if (expireDateTime < DateTime.Now)
expireDateTime = DateTime.Now.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth);
else
expireDateTime = expireDateTime.AddMonths(delta_points.ParseToInt() / shopPointsPerMonth);
newExpireTime = TimeUtils.DateTimeToTimestampSeconds(expireDateTime);
sql = "UPDATE `wxxd`.`user_points_shop_expire` set expire_time‌=" + newExpireTime + " WHERE shop_id='" + shop_id + "' AND expire_time‌=" + expireTime;
}
var renewalRst = mySql.ExecuteAffectedRows(sql);
if (!string.IsNullOrEmpty(mySql.Message))
{
mySql.RollBack();
mySql.Close();
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
}
else if (renewalRst <= 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"店铺已发生改变,请刷新店铺后重新操作\"}";
}
}
mySql.Commit();
mySql.Close();
return "{\"code\":200,\"msg\":\"success\",\"newExpireTime\":" + newExpireTime + ",\"newUserPoints\":" + newUserPoints + "}";
}
} }
return "{\"code\":19999,\"msg\":\"输入为空\"}"; return "{\"code\":19999,\"msg\":\"输入为空\"}";
} }
@@ -875,7 +1048,6 @@ namespace KJD_Web.BLL.WXXD
decimal recharge_amount_total = 0; decimal recharge_amount_total = 0;
decimal newBalance = 0; decimal newBalance = 0;
decimal newRechargeAmountTotal = 0; decimal newRechargeAmountTotal = 0;
int shopPointsPerMonth = 30;
#region 计算是否余额不足 #region 计算是否余额不足
sql = "SELECT balance,recharge_amount_total FROM `wxxd`.`user` WHERE user_name='" + user_name + "'"; sql = "SELECT balance,recharge_amount_total FROM `wxxd`.`user` WHERE user_name='" + user_name + "'";
@@ -1144,7 +1316,7 @@ namespace KJD_Web.BLL.WXXD
} }
/// <summary> /// <summary>
/// 充值二维码 /// 添加充值二维码
/// </summary> /// </summary>
/// <param name="inputData"></param> /// <param name="inputData"></param>
/// <returns></returns> /// <returns></returns>
@@ -1207,51 +1379,5 @@ namespace KJD_Web.BLL.WXXD
} }
return "{\"code\":19999,\"msg\":\"输入为空\"}"; return "{\"code\":19999,\"msg\":\"输入为空\"}";
} }
/// <summary>
/// temu退回包裹的密钥
/// </summary>
public string return_package_secret_key { get; set; } = "aaMETt2bPe6YHzZ1ojbC+6wOvgtwehqc6A+/Rz+pCUU=";
/// <summary>
/// temu退回包裹的签名
/// </summary>
/// <param name="inputData"></param>
/// <returns></returns>
public string GetPackageSign(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'");
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
var timestamp = RegexUtils.GetStringQuery(ref inputData, "timestamp")?.Replace("'", "\\'");
var mallId = RegexUtils.GetStringQuery(ref inputData, "mallId")?.Replace("'", "\\'");
var returnPackageNo = RegexUtils.GetStringQuery(ref inputData, "returnPackageNo")?.Replace("'", "\\'");
int r2 = RegexUtils.GetStringQuery(ref inputData, "r2").ParseToInt();
string c2 = RegexUtils.GetStringQuery(ref inputData, "c2");
if (EncrypUtil.Encryption(r2) != c2)
return "{\"code\":2,\"msg\":\"不合法的输入内容\"}";
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "select * from wxxd.user where user_name='"
+ mobile + "' and password='" + password + "'";
sql = "select * from wxxd.user where user_name='" + mobile + "'";
var dt = mySql.ExecuteDataTable(sql);
mySql.Close();
if (dt == null || dt.Rows.Count <=0)
{
return "{\"code\":1,\"msg\":\"用户不存在\"}";
}
string sign = EncrypUtil.GetMd5(timestamp + return_package_secret_key + mallId + returnPackageNo).ToLower();
return "{\"code\":200, \"sign\":\"" + sign + "\", \"msg\":\"\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
} }
} }
@@ -116,6 +116,7 @@
<Compile Include="BLL\KJD\UpdateManage.cs" /> <Compile Include="BLL\KJD\UpdateManage.cs" />
<Compile Include="BLL\KJD\UserManage.cs" /> <Compile Include="BLL\KJD\UserManage.cs" />
<Compile Include="BLL\WXXD\WXExpressOptimizeManage.cs" /> <Compile Include="BLL\WXXD\WXExpressOptimizeManage.cs" />
<Compile Include="BLL\WXXD\WXOemManage.cs" />
<Compile Include="BLL\WXXD\WXOrderManage.cs" /> <Compile Include="BLL\WXXD\WXOrderManage.cs" />
<Compile Include="BLL\WXXD\WXProductManage.cs" /> <Compile Include="BLL\WXXD\WXProductManage.cs" />
<Compile Include="BLL\WXXD\WXShopManage.cs" /> <Compile Include="BLL\WXXD\WXShopManage.cs" />
@@ -131,6 +132,8 @@
<Compile Include="Model\PddModel\PDDProductPropertyInfo.cs" /> <Compile Include="Model\PddModel\PDDProductPropertyInfo.cs" />
<Compile Include="Model\ShopModel\JSTListProductSkuInfo.cs" /> <Compile Include="Model\ShopModel\JSTListProductSkuInfo.cs" />
<Compile Include="Model\WXAddressInfo.cs" /> <Compile Include="Model\WXAddressInfo.cs" />
<Compile Include="Model\WxModel\oem.cs" />
<Compile Include="Model\WxModel\oms_wei_external_procurement_after_sale_info.cs" />
<Compile Include="Model\WxModel\oms_wei_external_procurement_log.cs" /> <Compile Include="Model\WxModel\oms_wei_external_procurement_log.cs" />
<Compile Include="Model\WxModel\oms_wei_order.cs" /> <Compile Include="Model\WxModel\oms_wei_order.cs" />
<Compile Include="Model\WxModel\oms_wei_order_item.cs" /> <Compile Include="Model\WxModel\oms_wei_order_item.cs" />
@@ -8,7 +8,7 @@
<IISExpressWindowsAuthentication /> <IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode /> <IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile /> <UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig> <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<ProjectView>ShowAllFiles</ProjectView> <ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
@@ -18,6 +18,13 @@ namespace KJD_Web.Model
/// </summary> /// </summary>
public string parent_user_name { get; set; } public string parent_user_name { get; set; }
/// <summary> /// <summary>
/// 贴牌编号
/// </summary>
public string oem_id { get; set; }
public string oem_name { get; set; }
public bool is_oem_owner { get; set; }
/// <summary>
/// 手机号(真实登录id,与用户名相同) /// 手机号(真实登录id,与用户名相同)
/// </summary> /// </summary>
public string mobile { get; set; } public string mobile { get; set; }
@@ -67,18 +74,28 @@ namespace KJD_Web.Model
/// </summary> /// </summary>
public string parent_authority { get; set; } public string parent_authority { get; set; }
/// <summary> /// <summary>
/// 子账号被禁止展示的功能页面
/// </summary>
public string forbidden_page { get; set; }
/// <summary>
/// 用户积分点数 /// 用户积分点数
/// </summary> /// </summary>
public int points { get; set; } public int points { get; set; }
public decimal balance { get; set; }
public decimal recharge_amount_total { get; set; }
/// <summary> /// <summary>
/// 单店铺续费1个月消耗的点数 /// 单店铺续费1个月消耗的点数
/// </summary> /// </summary>
public int shop_points_per_month { get; set; } public int shop_points_per_month { get; set; }
/// <summary> /// <summary>
/// 子账号被禁止展示的功能页面 /// 当前余额
/// </summary> /// </summary>
public string forbidden_page { get; set; } public decimal balance { get; set; }
/// <summary>
/// 历史充值总额
/// </summary>
public decimal recharge_amount_total { get; set; }
/// <summary>
/// 每单运费金额
/// </summary>
public decimal? postage_per_order { get; set; }
} }
} }
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace KJD_Web.Model.WxModel
{
public class oem
{
public int id { get; set; }
public string oem_id { get; set; }
public string oem_name { get; set; }
public string oem_owner { get; set; }
public string oem_icon { get; set; }
public string oem_img { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
}
}
@@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace KJD_Web.Model.WxModel
{
public class oms_wei_external_procurement_after_sale_info
{
public long id { get; set; }
public string order_no { get; set; }
/// <summary>
/// 订单唯一值:OrderCode (外采单号)
/// </summary>
public string order_code { get; set; }
/// <summary>
/// 中转仓售后订单号
/// </summary>
public string external_order_no { get; set; }
/// <summary>
/// 售后订单号
/// </summary>
public string after_sale_no { get; set; }
/// <summary>
/// 1=转寄,2=换货, 3=退货
/// </summary>
public int? return_or_exchange { get; set; }
/// <summary>
/// 退款地址-省
/// </summary>
public string refund_province { get; set; }
/// <summary>
/// 退款地址-市
/// </summary>
public string refund_city { get; set; }
/// <summary>
/// 退款地址-县/区
/// </summary>
public string refund_county { get; set; }
public string refund_detail_address { get; set; }
/// <summary>
/// 退款的快递单号
/// </summary>
public string refund_waybill { get; set; }
/// <summary>
/// 退货的快递公司
/// </summary>
public string return_express_company { get; set; }
/// <summary>
/// 收货人姓名
/// </summary>
public string recipient_name { get; set; }
/// <summary>
/// 收货人电话
/// </summary>
public string recipient_phone { get; set; }
/// <summary>
/// 原始消息/扩展信息(JSON)
/// </summary>
public string raw_message { get; set; }
/// <summary>
/// 售后处理状态,0未处理,1处理中,2已完成,9异常
/// </summary>
public int? status { get; set; }
public DateTime? created_time { get; set; }
public DateTime? updated_time { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string create_user { get; set; }
/// <summary>
/// 更新人
/// </summary>
public string update_user { get; set; }
/// <summary>
/// 账户名
/// </summary>
public string account_user { get; set; }
/// <summary>
/// 1=入库 2=出库
/// </summary>
public int? warehouse_status { get; set; }
/// <summary>
/// 入库时间
/// </summary>
public DateTime? inbound_time { get; set; }
/// <summary>
/// 出库时间
/// </summary>
public DateTime? outbound_time { get; set; }
/// <summary>
/// 下游快递单号
/// </summary>
public string downstream_waybill { get; set; }
/// <summary>
/// 下游快递公司编码
/// </summary>
public string downstream_express_code { get; set; }
}
}
@@ -35,6 +35,9 @@ namespace KJD_Web.Model.WxModel
/// </summary> /// </summary>
public int? pre_allocated_order_no { get; set; } public int? pre_allocated_order_no { get; set; }
public int? is_transfer_ship { get; set; } public int? is_transfer_ship { get; set; }
/// <summary>
/// 溯源码
/// </summary>
public string random_code { get; set; } public string random_code { get; set; }
/// <summary> /// <summary>
/// 1, "拒收" 2, "拦截" 3, "取消" 4, "订单作废" /// 1, "拒收" 2, "拦截" 3, "取消" 4, "订单作废"
@@ -44,5 +47,17 @@ namespace KJD_Web.Model.WxModel
/// 订单作废状态:0=正常,1=已作废,2=作废失败 /// 订单作废状态:0=正常,1=已作废,2=作废失败
/// </summary> /// </summary>
public int? order_void_status { get; set; } public int? order_void_status { get; set; }
/// <summary>
/// 0: 未使用, 1: 已入库, 2: 出库
/// </summary>
public int? warehouse_status { get; set; }
/// <summary>
/// 中转入库时间
/// </summary>
public DateTime? inbound_time { get; set; }
/// <summary>
/// 中转出库时间
/// </summary>
public DateTime? outbound_time { get; set; }
} }
} }
@@ -221,5 +221,19 @@ namespace KJD_Web
Context.Response.Write(result); Context.Response.Write(result);
Context.Response.End(); Context.Response.End();
} }
[WebMethod]
public void wx_get_transit_warehouse_aftersale_list()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOrderManage().WXGetTransitWarehouseAfterSaleList(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
} }
} }
+35 -13
View File
@@ -67,18 +67,6 @@ namespace KJD_Web
Context.Response.End(); Context.Response.End();
} }
[WebMethod]
public void get_package_sign()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXUserManage().GetPackageSign(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod] [WebMethod]
public void change_password() public void change_password()
{ {
@@ -244,6 +232,40 @@ namespace KJD_Web
Context.Response.Write(result); Context.Response.Write(result);
Context.Response.End(); Context.Response.End();
} }
//UpdateTopUpQrcode
[WebMethod]
public void add_mdy_oem()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOemManage().AddMdyOem(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void del_oem()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOemManage().DelOem(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void get_oem()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOemManage().GetOem(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
} }
} }
File diff suppressed because it is too large. Load diff
@@ -446,8 +446,6 @@ namespace TemuKJD.BLL.Wx
"&special_prod_type=爆款数据" + "&special_prod_type=爆款数据" +
"&is_not_count=true"; "&is_not_count=true";
var html = GetHtml.PostUtf8(url, data); var html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200")) if (!html.Contains("\"code\":200"))
{ {
info.failReason = "读取失败,库存商品查询失败"; info.failReason = "读取失败,库存商品查询失败";
+2
View File
@@ -17,6 +17,8 @@ namespace TemuKJD.BaseForms
{ {
public partial class BaseForm : Form public partial class BaseForm : Form
{ {
public bool IsFirstVisibile { get; set; } = true;
public bool IsFormLoad { get; set; } = false;
public bool IsSetFontScaleNone { get; set; } = true; public bool IsSetFontScaleNone { get; set; } = true;
public float FormDpi public float FormDpi
{ {
+27
View File
@@ -213,6 +213,12 @@
<Compile Include="WXForms\AdminForms\WXAdminTransitWarehouseManage.Designer.cs"> <Compile Include="WXForms\AdminForms\WXAdminTransitWarehouseManage.Designer.cs">
<DependentUpon>WXAdminTransitWarehouseManage.cs</DependentUpon> <DependentUpon>WXAdminTransitWarehouseManage.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="WXForms\AdminForms\WxOemManageForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WXForms\AdminForms\WxOemManageForm.Designer.cs">
<DependentUpon>WxOemManageForm.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\AiTalkForms\WxAiTalkForm.cs"> <Compile Include="WXForms\AiTalkForms\WxAiTalkForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -406,6 +412,18 @@
<Compile Include="WXForms\ProductForms\WXFinderSquareForm.Designer.cs"> <Compile Include="WXForms\ProductForms\WXFinderSquareForm.Designer.cs">
<DependentUpon>WXFinderSquareForm.cs</DependentUpon> <DependentUpon>WXFinderSquareForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="WXForms\ShopForms\WXOemAccountForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WXForms\ShopForms\WXOemAccountForm.Designer.cs">
<DependentUpon>WXOemAccountForm.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\ShopForms\WXTaxManage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WXForms\ShopForms\WXTaxManage.Designer.cs">
<DependentUpon>WXTaxManage.cs</DependentUpon>
</Compile>
<Compile Include="WXForms\ShopForms\WXPDDShopLoginForm.cs"> <Compile Include="WXForms\ShopForms\WXPDDShopLoginForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -1382,6 +1400,9 @@
<EmbeddedResource Include="WXForms\AdminForms\WXAdminTransitWarehouseManage.resx"> <EmbeddedResource Include="WXForms\AdminForms\WXAdminTransitWarehouseManage.resx">
<DependentUpon>WXAdminTransitWarehouseManage.cs</DependentUpon> <DependentUpon>WXAdminTransitWarehouseManage.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="WXForms\AdminForms\WxOemManageForm.resx">
<DependentUpon>WxOemManageForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\AiTalkForms\WxAiTalkForm.resx"> <EmbeddedResource Include="WXForms\AiTalkForms\WxAiTalkForm.resx">
<DependentUpon>WxAiTalkForm.cs</DependentUpon> <DependentUpon>WxAiTalkForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -1508,6 +1529,12 @@
<EmbeddedResource Include="WXForms\ProductForms\WXProductForm.resx"> <EmbeddedResource Include="WXForms\ProductForms\WXProductForm.resx">
<DependentUpon>WXProductForm.cs</DependentUpon> <DependentUpon>WXProductForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="WXForms\ShopForms\WXOemAccountForm.resx">
<DependentUpon>WXOemAccountForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\ShopForms\WXTaxManage.resx">
<DependentUpon>WXTaxManage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WXForms\ShopForms\WXPDDShopLoginForm.resx"> <EmbeddedResource Include="WXForms\ShopForms\WXPDDShopLoginForm.resx">
<DependentUpon>WXPDDShopLoginForm.cs</DependentUpon> <DependentUpon>WXPDDShopLoginForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -423,7 +423,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
} }
else else
{ {
data += "&send_to_out_server=0,1,2"; data += "&send_to_out_server=0,1,2,127";
} }
if (cmbSourceType.Text.Trim() != "全部") if (cmbSourceType.Text.Trim() != "全部")
@@ -475,8 +475,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
data += "&is_relation=1"; data += "&is_relation=1";
})); }));
var html = GetHtml.PostUtf8(url, data); 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")) if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data); html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
File diff suppressed because it is too large. Load diff
+106 -18
View File
@@ -55,6 +55,10 @@ namespace TemuKJD.WXForms.AdminForms
data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text)); data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text)); data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text)); data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text));
if (!string.IsNullOrEmpty(txtOemId.Text.Trim()))
{
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtOemId.Text.Trim()));
}
data.Append("&card_id="); data.Append("&card_id=");
if (cmbGroup.Text == "主账户") if (cmbGroup.Text == "主账户")
{ {
@@ -166,10 +170,14 @@ namespace TemuKJD.WXForms.AdminForms
user.points = BaseRegex.GetIntJson(ref oStr, "points"); user.points = BaseRegex.GetIntJson(ref oStr, "points");
user.balance = BaseRegex.GetDecimalJson(ref oStr, "balance"); user.balance = BaseRegex.GetDecimalJson(ref oStr, "balance");
user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month"); user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month");
user.postage_per_order = BaseRegex.GetDecimalJson(ref oStr, "postage_per_order");
user.oem_id = BaseRegex.GetStringJson(ref oStr, "oem_id");
user.oem_name = BaseRegex.GetStringJson(ref oStr, "oem_name");
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name"); var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
AllUsers.Add(user); AllUsers.Add(user);
dgvUser.Rows.Add( dgvUser.Rows.Add(
false,
user.id, user.id,
user.nick_name, user.nick_name,
user.user_name, user.user_name,
@@ -181,12 +189,16 @@ namespace TemuKJD.WXForms.AdminForms
user.sa_level, user.sa_level,
user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/, user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/,
user.authority, user.authority,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null, user.oem_id,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null, user.oem_name,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null, (user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null, (user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
user.balance.ParseToDecimal(), user.balance.ParseToDecimal(),
"+", "+",
Math.Max(2.2m, user.postage_per_order.ParseToDecimal()),
(user.group_id == "3") ? "改" : null,
user.group_id == "3" ? "添加店铺" : "", user.group_id == "3" ? "添加店铺" : "",
"编辑", "编辑",
"删除"); "删除");
@@ -209,6 +221,7 @@ namespace TemuKJD.WXForms.AdminForms
txtRePass.Clear(); txtRePass.Clear();
txtMobile.Clear(); txtMobile.Clear();
txtCompany.Clear(); txtCompany.Clear();
txtOemId.Clear();
cmbGroup.Text = "主账户"; cmbGroup.Text = "主账户";
cmbSaLevel.Text = "普通用户"; cmbSaLevel.Text = "普通用户";
chkWXComplateProd.Checked = false; chkWXComplateProd.Checked = false;
@@ -242,6 +255,8 @@ namespace TemuKJD.WXForms.AdminForms
string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString(); string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString();
string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString(); string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString();
int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt(); int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt();
decimal postagePerOrder = dgvUser.Rows[e.RowIndex].Cells["colPostagePerOrder"].Value.ParseToDecimal();
string oemId = dgvUser.Rows[e.RowIndex].Cells["colOemId"].Value.ParseToString();
var row = dgvUser.Rows[e.RowIndex]; var row = dgvUser.Rows[e.RowIndex];
if (columText == "编辑") if (columText == "编辑")
{ {
@@ -255,6 +270,8 @@ namespace TemuKJD.WXForms.AdminForms
btnOpUser.Text = "保存用户"; btnOpUser.Text = "保存用户";
btnCancel.Visible = true; btnCancel.Visible = true;
cmbSaLevel.Text = saLevelName; cmbSaLevel.Text = saLevelName;
txtOemId.Text = oemId;
chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text); chkWXComplateProd.Checked = authority.Contains(chkWXComplateProd.Text);
chkShopPoints.Checked = authority.Contains(chkShopPoints.Text); chkShopPoints.Checked = authority.Contains(chkShopPoints.Text);
chkProdFission.Checked = authority.Contains(chkProdFission.Text); chkProdFission.Checked = authority.Contains(chkProdFission.Text);
@@ -289,6 +306,7 @@ namespace TemuKJD.WXForms.AdminForms
this.numAddTopUp.Value = 0; this.numAddTopUp.Value = 0;
this.pnlTopUp.Tag = row; this.pnlTopUp.Tag = row;
this.pnlTopUp.Visible = true; this.pnlTopUp.Visible = true;
this.pnlTopUp.BringToFront();
} }
if (columName == "colBalancePlus") if (columName == "colBalancePlus")
{ {
@@ -296,15 +314,29 @@ namespace TemuKJD.WXForms.AdminForms
this.numAddBalance.Value = 0; this.numAddBalance.Value = 0;
this.pnlBalance.Tag = row; this.pnlBalance.Tag = row;
this.pnlBalance.Visible = true; this.pnlBalance.Visible = true;
this.pnlBalance.BringToFront();
} }
} }
if (columText == "改") if (columText == "改")
{ {
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName; if (columName == "colChangePointsPerMonth")
this.numShopPointsPerMonth.Value = shopPointsPerMonth; {
this.pnlShopPointsPerMonth.Tag = row; this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.pnlShopPointsPerMonth.Visible = true; this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.lblShopPointsPerMonthUserId.Text = uid; this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.pnlShopPointsPerMonth.BringToFront();
this.lblShopPointsPerMonthUserId.Text = uid;
}
if (columName == "colChangePostagePerOrder")
{
this.lblPostagePerOrderUserInfo.Text = mobile + " - " + nickName;
this.numPostagePerOrder.Value = postagePerOrder;
this.pnlPostagePerOrder.Tag = row;
this.pnlPostagePerOrder.Visible = true;
this.pnlPostagePerOrder.BringToFront();
this.lblPostagePerOrderUserId.Text = uid;
}
} }
} }
@@ -342,8 +374,11 @@ namespace TemuKJD.WXForms.AdminForms
private void MainAccountForm_Load(object sender, EventArgs e) private void MainAccountForm_Load(object sender, EventArgs e)
{ {
this.dgvUser.AddSelectorColumn("colCheck");
pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y); pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlBalance.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y); pnlBalance.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlPostagePerOrder.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
this.cmbGroup.Items.Clear(); this.cmbGroup.Items.Clear();
this.cmbGroup.Items.Add("主账户"); this.cmbGroup.Items.Add("主账户");
@@ -357,12 +392,14 @@ namespace TemuKJD.WXForms.AdminForms
this.txtSearch.GotFocus += TxtSearch_GotFocus; this.txtSearch.GotFocus += TxtSearch_GotFocus;
this.txtSearch.LostFocus += TxtSearch_LostFocus; this.txtSearch.LostFocus += TxtSearch_LostFocus;
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" }); this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数"); this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数");
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colBalance", "colBalancePlus" }); this.dgvUser.AddMergeColumn(new List<string> { "colBalance", "colBalancePlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colBalance", "colBalancePlus" }, "快递余额"); this.dgvUser.AddMergeColumnHeader(new List<string> { "colBalance", "colBalancePlus" }, "快递余额");
this.dgvUser.AddMergeColumn(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" }, "每单快递费");
} }
private void TxtSearch_LostFocus(object sender, EventArgs e) private void TxtSearch_LostFocus(object sender, EventArgs e)
@@ -415,6 +452,7 @@ namespace TemuKJD.WXForms.AdminForms
data += "&update_user_name=" + lblUserInfo.Text.Split('-')[0].Trim(); data += "&update_user_name=" + lblUserInfo.Text.Split('-')[0].Trim();
data += "&update_user_nick=" + lblUserInfo.Text.Split('-')[1].Trim(); data += "&update_user_nick=" + lblUserInfo.Text.Split('-')[1].Trim();
data += "&option_type=" + "充值"; data += "&option_type=" + "充值";
data += "&operator_type=" + "管理员"; data += "&operator_type=" + "管理员";
data += "&operator_name=" + BaseClass.UserName; data += "&operator_name=" + BaseClass.UserName;
data += "&delta_points=" + numAddTopUp.Value; data += "&delta_points=" + numAddTopUp.Value;
@@ -446,32 +484,43 @@ namespace TemuKJD.WXForms.AdminForms
} }
} }
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e) private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
{ {
pnlShopPointsPerMonth.Visible = false; if (updateShopPointsPerMonth(lblShopPointsPerMonthUserId.Text))
{
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
} }
private void btnShopPointsPerMonth_Click(object sender, EventArgs e) public bool updateShopPointsPerMonth(string userDbId, bool showFailBox = true)
{ {
string url = BaseClass.BuildObjString("user/update_user"); string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex(); string data = UserLogin.GetSignaturex();
data += "&id=" + lblShopPointsPerMonthUserId.Text; data += "&id=" + userDbId;
data += "&shop_points_per_month=" + numShopPointsPerMonth.Value; data += "&shop_points_per_month=" + numShopPointsPerMonth.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200")) if (!html.Contains("\"code\":200"))
{ {
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg"); var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg); if (showFailBox)
return; {
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
} }
var row = pnlShopPointsPerMonth.Tag as DataGridViewRow; var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null) if (row != null)
{ {
row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; Invoke(new Action(() => { row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; }));
} }
return true;
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false; pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
} }
private void btnChangeBalanceOK_Click(object sender, EventArgs e) private void btnChangeBalanceOK_Click(object sender, EventArgs e)
@@ -504,5 +553,44 @@ namespace TemuKJD.WXForms.AdminForms
{ {
pnlBalance.Visible = false; pnlBalance.Visible = false;
} }
private void btnPostagePerOrder_Click(object sender, EventArgs e)
{
if (updatePostagePerOrder(lblPostagePerOrderUserId.Text))
{
pnlPostagePerOrder.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updatePostagePerOrder(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&postage_per_order=" + numPostagePerOrder.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colPostagePerOrder"].Value = numPostagePerOrder.Value; }));
}
return true;
}
private void btnPostagePerOrderCancel_Click(object sender, EventArgs e)
{
pnlPostagePerOrder.Visible = false;
}
} }
} }
@@ -117,6 +117,9 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="UserIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="UserIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@@ -150,10 +153,10 @@
<metadata name="colAuthority.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colAuthority.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="colShopPointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colOemId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="colChangePointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colOemName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="colPoints.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colPoints.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -162,12 +165,24 @@
<metadata name="colPlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colPlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="colShopPointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalance.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colBalance.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="colBalancePlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colBalancePlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="colPostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colAddShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colAddShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
+45 -41
View File
@@ -30,19 +30,20 @@
{ {
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("超级店铺管理"); System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("超级店铺管理");
System.Windows.Forms.TreeNode treeNode2 = 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("PDD产品库"); System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("OEM贴牌管理");
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("厂家商品采集"); System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("设置禁售");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Sku采集回传"); System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("厂家商品采集");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("1688厂家采集"); System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Sku采集回传");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("随机厂商商品"); System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("1688厂家采集");
System.Windows.Forms.TreeNode treeNode9 = 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("带货助手"); System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("地址管理");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("图片工具"); System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("带货助手");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("运单管理"); System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("图片工具");
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("充值二维码"); System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("运单管理");
System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("中转订单管理"); System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("充值二维码");
System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] { System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("中转订单管理");
System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
treeNode1, treeNode1,
treeNode2, treeNode2,
treeNode3, treeNode3,
@@ -56,7 +57,8 @@
treeNode11, treeNode11,
treeNode12, treeNode12,
treeNode13, treeNode13,
treeNode14}); treeNode14,
treeNode15});
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
@@ -151,34 +153,36 @@
treeNode1.Text = "超级店铺管理"; treeNode1.Text = "超级店铺管理";
treeNode2.Name = "超级用户管理"; treeNode2.Name = "超级用户管理";
treeNode2.Text = "超级用户管理"; treeNode2.Text = "超级用户管理";
treeNode3.Name = "PDD产品库"; treeNode3.Name = "OEM贴牌管理";
treeNode3.Text = "PDD产品库"; treeNode3.Text = "OEM贴牌管理";
treeNode4.Name = "设置禁售"; treeNode4.Name = "产品数据库";
treeNode4.Text = "设置禁售"; treeNode4.Text = "产品数据库";
treeNode5.Name = "厂家商品采集"; treeNode5.Name = "设置禁售";
treeNode5.Text = "厂家商品采集"; treeNode5.Text = "设置禁售";
treeNode6.Name = "Sku采集回传"; treeNode6.Name = "厂家商品采集";
treeNode6.Text = "Sku采集回传"; treeNode6.Text = "厂家商品采集";
treeNode7.Name = "1688厂家采集"; treeNode7.Name = "Sku采集回传";
treeNode7.Text = "1688厂家采集"; treeNode7.Text = "Sku采集回传";
treeNode8.Name = "随机厂商商品"; treeNode8.Name = "1688厂家采集";
treeNode8.Text = "随机厂商商品"; treeNode8.Text = "1688厂家采集";
treeNode9.Name = "地址管理"; treeNode9.Name = "随机厂商商品";
treeNode9.Text = "地址管理"; treeNode9.Text = "随机厂商商品";
treeNode10.Name = "带货助手"; treeNode10.Name = "地址管理";
treeNode10.Text = "带货助手"; treeNode10.Text = "地址管理";
treeNode11.Name = "图片工具"; treeNode11.Name = "带货助手";
treeNode11.Text = "图片工具"; treeNode11.Text = "带货助手";
treeNode12.Name = "运单管理"; treeNode12.Name = "图片工具";
treeNode12.Text = "运单管理"; treeNode12.Text = "图片工具";
treeNode13.Name = "充值二维码"; treeNode13.Name = "运单管理";
treeNode13.Text = "充值二维码"; treeNode13.Text = "运单管理";
treeNode14.Name = "中转订单管理"; treeNode14.Name = "充值二维码";
treeNode14.Text = "中转订单管理"; treeNode14.Text = "充值二维码";
treeNode15.Name = "超级权限管理"; treeNode15.Name = "中转订单管理";
treeNode15.Text = "超级权限管理"; treeNode15.Text = "中转订单管理";
treeNode16.Name = "超级权限管理";
treeNode16.Text = "超级权限管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode15}); treeNode16});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); 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.Size = new System.Drawing.Size(140, 446);
this.tv.TabIndex = 1; this.tv.TabIndex = 1;
+8 -3
View File
@@ -20,6 +20,7 @@ namespace TemuKJD.WXForms.AdminForms
{ {
public Lazy<WXAdminAccountForm> adminAccountForm = new Lazy<WXAdminAccountForm>(); public Lazy<WXAdminAccountForm> adminAccountForm = new Lazy<WXAdminAccountForm>();
public Lazy<WXAdminShopListForm> adminShopForm = new Lazy<WXAdminShopListForm>(); public Lazy<WXAdminShopListForm> adminShopForm = new Lazy<WXAdminShopListForm>();
public Lazy<WxOemManageForm> oemManageForm = new Lazy<WxOemManageForm>();
public Lazy<PDDDBProdListForm> pddDbProdListForm = new Lazy<PDDDBProdListForm>(); public Lazy<PDDDBProdListForm> pddDbProdListForm = new Lazy<PDDDBProdListForm>();
public Lazy<GetJuShuitanProdForm> getJuShuitanProdForm = new Lazy<GetJuShuitanProdForm>(); public Lazy<GetJuShuitanProdForm> getJuShuitanProdForm = new Lazy<GetJuShuitanProdForm>();
public Lazy<GetJuShuitanProductSKUListForm> getJuShuitanProductSKUListForm = new Lazy<GetJuShuitanProductSKUListForm>(); public Lazy<GetJuShuitanProductSKUListForm> getJuShuitanProductSKUListForm = new Lazy<GetJuShuitanProductSKUListForm>();
@@ -43,7 +44,7 @@ namespace TemuKJD.WXForms.AdminForms
tv.ExpandGroup(tv.Nodes[0].Name); tv.ExpandGroup(tv.Nodes[0].Name);
List<string> hideName = new List<string>() { "运单管理", "地址管理1", "1688厂家采集1", "图片工具", "Sku采集回传1", List<string> hideName = new List<string>() { "运单管理", "地址管理1", "1688厂家采集1", "图片工具", "Sku采集回传1",
"超级用户管理", "超级店铺管理", "PDD产品库", "SKU替换图", "选品加价管理", "认领待上传", "库存上传", "商品核价" }; "超级用户管理", "超级店铺管理", "OEM贴牌管理", "产品数据库", "SKU替换图", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
if (BaseClass.GroupId == 3) if (BaseClass.GroupId == 3)
{ {
@@ -52,7 +53,8 @@ namespace TemuKJD.WXForms.AdminForms
{ {
hideName.Remove("超级用户管理"); hideName.Remove("超级用户管理");
hideName.Remove("超级店铺管理"); hideName.Remove("超级店铺管理");
hideName.Remove("PDD产品库"); hideName.Remove("OEM贴牌管理");
hideName.Remove("产品数据库");
//hideName.Remove("SKU替换图"); //hideName.Remove("SKU替换图");
} }
if (BaseClass.SaLevel==2) if (BaseClass.SaLevel==2)
@@ -90,7 +92,10 @@ namespace TemuKJD.WXForms.AdminForms
case "超级店铺管理": case "超级店铺管理":
SetForm(adminShopForm.Value); SetForm(adminShopForm.Value);
break; break;
case "PDD产品库": case "OEM贴牌管理":
SetForm(oemManageForm.Value);
break;
case "产品数据库":
SetForm(pddDbProdListForm.Value); SetForm(pddDbProdListForm.Value);
break; break;
case "设置禁售": case "设置禁售":
+576
View File
@@ -0,0 +1,576 @@
namespace TemuKJD.WXForms.AdminForms
{
partial class WxOemManageForm
{
/// <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 dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer5 = new System.Windows.Forms.SplitContainer();
this.btnCancelEdit = new DevComponents.DotNetBar.PanelEx();
this.btnAddMdy = new DevComponents.DotNetBar.PanelEx();
this.lblRandomOemId = new System.Windows.Forms.LinkLabel();
this.lblChoice = new System.Windows.Forms.LinkLabel();
this.label7 = new System.Windows.Forms.Label();
this.txtOemOwner = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.txtSearchOemName = new System.Windows.Forms.TextBox();
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
this.line2 = new DevComponents.DotNetBar.Controls.Line();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.txtSearchOemId = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.label35 = new System.Windows.Forms.Label();
this.label36 = new System.Windows.Forms.Label();
this.txtOemName = new System.Windows.Forms.TextBox();
this.label39 = new System.Windows.Forms.Label();
this.txtOemId = new System.Windows.Forms.TextBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.dgvOem = new TemuKJD.UserComponent.DataGridViewEx();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOemId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOemName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOemOwner = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colIco = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colImg = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.editColumn = new System.Windows.Forms.DataGridViewLinkColumn();
this.deleteColumn = new System.Windows.Forms.DataGridViewLinkColumn();
this.btnExportShopErp = new DevComponents.DotNetBar.PanelEx();
((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).BeginInit();
this.splitContainer5.Panel1.SuspendLayout();
this.splitContainer5.Panel2.SuspendLayout();
this.splitContainer5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvOem)).BeginInit();
this.SuspendLayout();
//
// splitContainer5
//
this.splitContainer5.BackColor = System.Drawing.Color.Transparent;
this.splitContainer5.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer5.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer5.Location = new System.Drawing.Point(0, 0);
this.splitContainer5.Name = "splitContainer5";
//
// splitContainer5.Panel1
//
this.splitContainer5.Panel1.BackColor = System.Drawing.Color.WhiteSmoke;
this.splitContainer5.Panel1.Controls.Add(this.btnCancelEdit);
this.splitContainer5.Panel1.Controls.Add(this.btnAddMdy);
this.splitContainer5.Panel1.Controls.Add(this.lblRandomOemId);
this.splitContainer5.Panel1.Controls.Add(this.lblChoice);
this.splitContainer5.Panel1.Controls.Add(this.label7);
this.splitContainer5.Panel1.Controls.Add(this.txtOemOwner);
this.splitContainer5.Panel1.Controls.Add(this.label6);
this.splitContainer5.Panel1.Controls.Add(this.label3);
this.splitContainer5.Panel1.Controls.Add(this.btnClear);
this.splitContainer5.Panel1.Controls.Add(this.txtSearchOemName);
this.splitContainer5.Panel1.Controls.Add(this.btnSearch);
this.splitContainer5.Panel1.Controls.Add(this.line2);
this.splitContainer5.Panel1.Controls.Add(this.label5);
this.splitContainer5.Panel1.Controls.Add(this.label4);
this.splitContainer5.Panel1.Controls.Add(this.txtSearchOemId);
this.splitContainer5.Panel1.Controls.Add(this.label2);
this.splitContainer5.Panel1.Controls.Add(this.label35);
this.splitContainer5.Panel1.Controls.Add(this.label36);
this.splitContainer5.Panel1.Controls.Add(this.txtOemName);
this.splitContainer5.Panel1.Controls.Add(this.label39);
this.splitContainer5.Panel1.Controls.Add(this.txtOemId);
//
// splitContainer5.Panel2
//
this.splitContainer5.Panel2.Controls.Add(this.splitContainer1);
this.splitContainer5.Panel2.Padding = new System.Windows.Forms.Padding(0, 5, 5, 5);
this.splitContainer5.Size = new System.Drawing.Size(1184, 623);
this.splitContainer5.SplitterDistance = 340;
this.splitContainer5.SplitterWidth = 1;
this.splitContainer5.TabIndex = 4;
//
// btnCancelEdit
//
this.btnCancelEdit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCancelEdit.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCancelEdit.DisabledBackColor = System.Drawing.Color.Empty;
this.btnCancelEdit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCancelEdit.Location = new System.Drawing.Point(52, 248);
this.btnCancelEdit.Name = "btnCancelEdit";
this.btnCancelEdit.Size = new System.Drawing.Size(68, 23);
this.btnCancelEdit.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancelEdit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancelEdit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnCancelEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnCancelEdit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnCancelEdit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnCancelEdit.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnCancelEdit.Style.GradientAngle = 90;
this.btnCancelEdit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnCancelEdit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnCancelEdit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnCancelEdit.TabIndex = 861;
this.btnCancelEdit.Text = "取消编辑";
this.btnCancelEdit.Click += new System.EventHandler(this.btnCancelEdit_Click);
//
// btnAddMdy
//
this.btnAddMdy.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddMdy.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddMdy.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddMdy.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddMdy.Location = new System.Drawing.Point(169, 248);
this.btnAddMdy.Name = "btnAddMdy";
this.btnAddMdy.Size = new System.Drawing.Size(68, 23);
this.btnAddMdy.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddMdy.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddMdy.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddMdy.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddMdy.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddMdy.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddMdy.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddMdy.Style.GradientAngle = 90;
this.btnAddMdy.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddMdy.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddMdy.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddMdy.TabIndex = 857;
this.btnAddMdy.Text = "添加贴牌";
this.btnAddMdy.Click += new System.EventHandler(this.btnAddMdy_Click);
//
// lblRandomOemId
//
this.lblRandomOemId.AutoSize = true;
this.lblRandomOemId.Location = new System.Drawing.Point(257, 125);
this.lblRandomOemId.Name = "lblRandomOemId";
this.lblRandomOemId.Size = new System.Drawing.Size(56, 17);
this.lblRandomOemId.TabIndex = 853;
this.lblRandomOemId.TabStop = true;
this.lblRandomOemId.Text = "随机生成";
this.lblRandomOemId.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lblRandomOemId_LinkClicked);
//
// lblChoice
//
this.lblChoice.AutoSize = true;
this.lblChoice.Location = new System.Drawing.Point(257, 192);
this.lblChoice.Name = "lblChoice";
this.lblChoice.Size = new System.Drawing.Size(56, 17);
this.lblChoice.TabIndex = 852;
this.lblChoice.TabStop = true;
this.lblChoice.Text = "选择用户";
this.lblChoice.Visible = false;
//
// label7
//
this.label7.AutoSize = true;
this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.label7.Location = new System.Drawing.Point(243, 192);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(13, 17);
this.label7.TabIndex = 851;
this.label7.Text = "*";
//
// txtOemOwner
//
this.txtOemOwner.Location = new System.Drawing.Point(89, 189);
this.txtOemOwner.Name = "txtOemOwner";
this.txtOemOwner.Size = new System.Drawing.Size(148, 23);
this.txtOemOwner.TabIndex = 850;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label6.Location = new System.Drawing.Point(21, 190);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(65, 20);
this.label6.TabIndex = 849;
this.label6.Text = "主体账户";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(21, 123);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 20);
this.label3.TabIndex = 848;
this.label3.Text = "贴牌编码";
//
// btnClear
//
this.btnClear.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClear.Location = new System.Drawing.Point(246, 40);
this.btnClear.Name = "btnClear";
this.btnClear.Size = new System.Drawing.Size(69, 23);
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClear.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.btnClear.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClear.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.btnClear.Style.GradientAngle = 90;
this.btnClear.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnClear.TabIndex = 847;
this.btnClear.Text = "置空";
//
// txtSearchOemName
//
this.txtSearchOemName.Location = new System.Drawing.Point(89, 40);
this.txtSearchOemName.Name = "txtSearchOemName";
this.txtSearchOemName.Size = new System.Drawing.Size(148, 23);
this.txtSearchOemName.TabIndex = 843;
//
// 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(247, 8);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(68, 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 = 836;
this.btnSearch.Text = "查询/刷新";
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// line2
//
this.line2.Location = new System.Drawing.Point(18, 67);
this.line2.Name = "line2";
this.line2.Size = new System.Drawing.Size(307, 10);
this.line2.TabIndex = 825;
this.line2.Text = "line2";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(21, 41);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 20);
this.label5.TabIndex = 43;
this.label5.Text = "贴牌名称";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(21, 9);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(65, 20);
this.label4.TabIndex = 42;
this.label4.Text = "贴牌编码";
//
// txtSearchOemId
//
this.txtSearchOemId.Location = new System.Drawing.Point(89, 8);
this.txtSearchOemId.Name = "txtSearchOemId";
this.txtSearchOemId.Size = new System.Drawing.Size(148, 23);
this.txtSearchOemId.TabIndex = 41;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.ForeColor = System.Drawing.SystemColors.ButtonShadow;
this.label2.Location = new System.Drawing.Point(96, 92);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(135, 20);
this.label2.TabIndex = 38;
this.label2.Text = "添加或编辑贴牌信息";
//
// label35
//
this.label35.AutoSize = true;
this.label35.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.label35.Location = new System.Drawing.Point(243, 157);
this.label35.Name = "label35";
this.label35.Size = new System.Drawing.Size(13, 17);
this.label35.TabIndex = 28;
this.label35.Text = "*";
//
// label36
//
this.label36.AutoSize = true;
this.label36.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.label36.Location = new System.Drawing.Point(243, 125);
this.label36.Name = "label36";
this.label36.Size = new System.Drawing.Size(13, 17);
this.label36.TabIndex = 27;
this.label36.Text = "*";
//
// txtOemName
//
this.txtOemName.Location = new System.Drawing.Point(89, 154);
this.txtOemName.Name = "txtOemName";
this.txtOemName.Size = new System.Drawing.Size(148, 23);
this.txtOemName.TabIndex = 21;
//
// label39
//
this.label39.AutoSize = true;
this.label39.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label39.Location = new System.Drawing.Point(21, 155);
this.label39.Name = "label39";
this.label39.Size = new System.Drawing.Size(65, 20);
this.label39.TabIndex = 20;
this.label39.Text = "贴牌名称";
//
// txtOemId
//
this.txtOemId.Location = new System.Drawing.Point(89, 122);
this.txtOemId.Name = "txtOemId";
this.txtOemId.Size = new System.Drawing.Size(148, 23);
this.txtOemId.TabIndex = 19;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 5);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.dgvOem);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.btnExportShopErp);
this.splitContainer1.Size = new System.Drawing.Size(838, 613);
this.splitContainer1.SplitterDistance = 582;
this.splitContainer1.TabIndex = 2;
//
// dgvOem
//
this.dgvOem.AllowUserToAddRows = false;
this.dgvOem.AllowUserToDeleteRows = false;
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
this.dgvOem.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5;
this.dgvOem.AutoRowNumber = true;
this.dgvOem.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvOem.BackgroundColor = System.Drawing.Color.White;
this.dgvOem.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvOem.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle6;
this.dgvOem.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvOem.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
this.colId,
this.colOemId,
this.colOemName,
this.colOemOwner,
this.colIco,
this.colImg,
this.editColumn,
this.deleteColumn});
this.dgvOem.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvOem.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
this.dgvOem.Location = new System.Drawing.Point(0, 0);
this.dgvOem.MultiSelectCheckBox = true;
this.dgvOem.Name = "dgvOem";
this.dgvOem.ReadOnly = true;
this.dgvOem.RowTemplate.Height = 23;
this.dgvOem.Size = new System.Drawing.Size(838, 582);
this.dgvOem.TabIndex = 1;
this.dgvOem.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvOem_CellContentClick);
//
// colCheck
//
this.colCheck.FillWeight = 30F;
this.colCheck.HeaderText = "选择";
this.colCheck.Name = "colCheck";
this.colCheck.ReadOnly = true;
//
// colId
//
this.colId.HeaderText = "id";
this.colId.Name = "colId";
this.colId.ReadOnly = true;
this.colId.Visible = false;
//
// colOemId
//
this.colOemId.HeaderText = "贴牌编码";
this.colOemId.Name = "colOemId";
this.colOemId.ReadOnly = true;
//
// colOemName
//
this.colOemName.HeaderText = "贴牌名称";
this.colOemName.Name = "colOemName";
this.colOemName.ReadOnly = true;
//
// colOemOwner
//
this.colOemOwner.HeaderText = "主体账号";
this.colOemOwner.Name = "colOemOwner";
this.colOemOwner.ReadOnly = true;
//
// colIco
//
this.colIco.HeaderText = "图标";
this.colIco.Name = "colIco";
this.colIco.ReadOnly = true;
//
// colImg
//
this.colImg.HeaderText = "题图";
this.colImg.Name = "colImg";
this.colImg.ReadOnly = true;
//
// editColumn
//
this.editColumn.FillWeight = 50F;
this.editColumn.HeaderText = "编辑";
this.editColumn.Name = "editColumn";
this.editColumn.ReadOnly = true;
this.editColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.editColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// deleteColumn
//
this.deleteColumn.FillWeight = 50F;
this.deleteColumn.HeaderText = "删除";
this.deleteColumn.Name = "deleteColumn";
this.deleteColumn.ReadOnly = true;
//
// btnExportShopErp
//
this.btnExportShopErp.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnExportShopErp.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnExportShopErp.DisabledBackColor = System.Drawing.Color.Empty;
this.btnExportShopErp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnExportShopErp.Location = new System.Drawing.Point(0, 1);
this.btnExportShopErp.Name = "btnExportShopErp";
this.btnExportShopErp.Size = new System.Drawing.Size(140, 25);
this.btnExportShopErp.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnExportShopErp.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnExportShopErp.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnExportShopErp.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnExportShopErp.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnExportShopErp.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnExportShopErp.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnExportShopErp.Style.GradientAngle = 90;
this.btnExportShopErp.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnExportShopErp.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnExportShopErp.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnExportShopErp.TabIndex = 439;
this.btnExportShopErp.Text = "导出用户到后台系统";
this.btnExportShopErp.Visible = false;
//
// WxOemManageForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1184, 623);
this.Controls.Add(this.splitContainer5);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.KeyPreview = true;
this.Name = "WxOemManageForm";
this.Text = "OEM贴牌管理";
this.Load += new System.EventHandler(this.WxOemManageForm_Load);
this.VisibleChanged += new System.EventHandler(this.WxOemManageForm_VisibleChanged);
this.splitContainer5.Panel1.ResumeLayout(false);
this.splitContainer5.Panel1.PerformLayout();
this.splitContainer5.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer5)).EndInit();
this.splitContainer5.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvOem)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer5;
private DevComponents.DotNetBar.PanelEx btnSearch;
private DevComponents.DotNetBar.Controls.Line line2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtSearchOemId;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label35;
private System.Windows.Forms.Label label36;
private System.Windows.Forms.TextBox txtOemName;
private System.Windows.Forms.Label label39;
private System.Windows.Forms.TextBox txtOemId;
private System.Windows.Forms.SplitContainer splitContainer1;
private UserComponent.DataGridViewEx dgvOem;
private DevComponents.DotNetBar.PanelEx btnExportShopErp;
private System.Windows.Forms.TextBox txtSearchOemName;
private DevComponents.DotNetBar.PanelEx btnClear;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.LinkLabel lblRandomOemId;
private System.Windows.Forms.LinkLabel lblChoice;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox txtOemOwner;
private System.Windows.Forms.Label label6;
private DevComponents.DotNetBar.PanelEx btnAddMdy;
private DevComponents.DotNetBar.PanelEx btnCancelEdit;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colId;
private System.Windows.Forms.DataGridViewTextBoxColumn colOemId;
private System.Windows.Forms.DataGridViewTextBoxColumn colOemName;
private System.Windows.Forms.DataGridViewTextBoxColumn colOemOwner;
private System.Windows.Forms.DataGridViewTextBoxColumn colIco;
private System.Windows.Forms.DataGridViewTextBoxColumn colImg;
private System.Windows.Forms.DataGridViewLinkColumn editColumn;
private System.Windows.Forms.DataGridViewLinkColumn deleteColumn;
}
}
@@ -0,0 +1,198 @@
using AllBase;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
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.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using Work;
namespace TemuKJD.WXForms.AdminForms
{
public partial class WxOemManageForm : BaseForm
{
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public WxOemManageForm()
{
InitializeComponent();
}
private void WxOemManageForm_Load(object sender, EventArgs e)
{
IsFormLoad = true;
}
private void WxOemManageForm_VisibleChanged(object sender, EventArgs e)
{
if (IsFirstVisibile)
{
btnSearch_Click(null, null);
IsFirstVisibile = false;
}
}
private void btnAddMdy_Click(object sender, EventArgs e)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtOemId.Text.Trim()));
data.Append("&oem_name=" + GetHtml.UrlEncodeUtf8(txtOemName.Text.Trim()));
data.Append("&oem_owner=" + GetHtml.UrlEncodeUtf8(txtOemOwner.Text));
string url = BaseClass.BuildWXObjString("user/add_mdy_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
if (btnAddMdy.Text != "添加贴牌")
btnCancelEdit_Click(null, null);
btnSearch_Click(null, null);
}
private void btnCancelEdit_Click(object sender, EventArgs e)
{
txtOemId.Text = "";
txtOemName.Text = "";
txtOemOwner.Text = "";
txtOemId.ReadOnly = false;
btnAddMdy.Text = "添加贴牌";
}
private void lblRandomOemId_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.txtOemId.Text = DateTime.Now.ToString("yy") + Randomx.GetNumber(2) + Randomx.GetWordWithNumber(4);
}
public string DbId = "";
private void dgvOem_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string columText = dgvOem.Columns[e.ColumnIndex].HeaderText;
string columName = dgvOem.Columns[e.ColumnIndex].Name;
string id = dgvOem.Rows[e.RowIndex].Cells["colId"].Value.ToString();
string oemId = dgvOem.Rows[e.RowIndex].Cells["colOemId"].Value.ToString();
string oemName = dgvOem.Rows[e.RowIndex].Cells["colOemName"].Value.ToString();
string oemOwner = dgvOem.Rows[e.RowIndex].Cells["colOemOwner"].Value.ToString();
var row = dgvOem.Rows[e.RowIndex];
if (columText == "编辑")
{
DbId = id;
txtOemId.ReadOnly = true;
txtOemId.Text = oemId;
txtOemName.Text = oemName;
txtOemOwner.Text = oemOwner;
btnAddMdy.Text = "编辑贴牌";
}
if (columText == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
DeleteOem(id);
}
}
}
private void DeleteOem(string dbId)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&db_id=" + dbId);
string url = BaseClass.BuildWXObjString("user/del_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
btnSearch_Click(null, null);
}
private void btnSearch_Click(object sender, EventArgs e)
{
if (cancellationTokenSource != null)
cancellationTokenSource.Cancel();
dgvOem.Rows.Clear();
cancellationTokenSource = new CancellationTokenSource();
Task.Run(() => {
var cancelToken = cancellationTokenSource;
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtSearchOemId.Text.Trim()));
data.Append("&oem_name=" + GetHtml.UrlEncodeUtf8(txtSearchOemName.Text.Trim()));
string url = BaseClass.BuildWXObjString("user/get_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
var jArr = JObject.Parse(html)["data"];
try
{
var list = JsonHelper.DeserializeJsonToList<oem>(JsonHelper.SerializeObject(jArr)).ToList();
Invoke(new Action(() => { dgvOem.Rows.Clear(); }));
foreach (var item in list)
{
if (cancelToken.IsCancellationRequested)
return;
Invoke(new Action(() =>
{
this.dgvOem.Rows.Add(
false,
item.id,
item.oem_id,
item.oem_name,
item.oem_owner,
"",
"",
"编辑",
"删除"
);
}));
}
}
catch (Exception ex)
{
}
}, cancellationTokenSource.Token);
}
}
}
@@ -0,0 +1,141 @@
<?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="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colIco.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">
<value>True</value>
</metadata>
<metadata name="editColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="deleteColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+7 -5
View File
@@ -1304,13 +1304,15 @@ namespace TemuKJD.WXForms.AiTalkForms
//if (BaseClass.ParentUserName == "15288888888" || BaseClass.UserName == "15288888888") //if (BaseClass.ParentUserName == "15288888888" || BaseClass.UserName == "15288888888")
{ {
#if DEBUG #if DEBUG
if (File.Exists(System.Environment.CurrentDirectory + "\\choice.debug.tools")) if (File.Exists(System.Environment.CurrentDirectory + "\\choice.debug.tools"))
{
if (dgvShop.Parent.Controls[0] != dgvShop) if (dgvShop.Parent.Controls[0] != dgvShop)
dgvShop.BringToFront(); dgvShop.BringToFront();
else else
dgvShop.SendToBack(); dgvShop.SendToBack();
} }
#endif #endif
}
} }
private void btnBatchBindShop_Click(object sender, EventArgs e) private void btnBatchBindShop_Click(object sender, EventArgs e)
@@ -69,6 +69,11 @@ namespace TemuKJD.WXForms.ProductForms
dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl"); dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl");
IsLoadComplate = true; IsLoadComplate = true;
cmbType.Enabled = false;
cmbType.Text = "价格比例";
txtPercent.Text = "10";
} }
private void chkSelectAll_CheckedChanged(object sender, EventArgs e) private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
@@ -899,7 +904,7 @@ namespace TemuKJD.WXForms.ProductForms
//{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"} //{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"}
JObject signActivityObj = new JObject(); JObject signActivityObj = new JObject();
signActivityObj["platformActivityId"] = "1016"; signActivityObj["platformActivityId"] = "1163";
var jArr = new JArray(); var jArr = new JArray();
bool hasProdForActivity = false; bool hasProdForActivity = false;
foreach (var row in rowLstTmp) foreach (var row in rowLstTmp)
@@ -1073,7 +1078,7 @@ namespace TemuKJD.WXForms.ProductForms
//{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"} //{"cosignmentOrderId":"4436464658179189760","cosignmentProductList":[{"spuId":"10000826730228","skuId":"14511204738","cancelScene":2}],"orderId":"3736464645960385280"}
JObject signActivityObj = new JObject(); JObject signActivityObj = new JObject();
signActivityObj["platformActivityId"] = "1016"; signActivityObj["platformActivityId"] = "1163";
var jArr = new JArray(); var jArr = new JArray();
bool hasProdForCancelActivity = false; bool hasProdForCancelActivity = false;
foreach (var row in rowLstTmp) foreach (var row in rowLstTmp)
@@ -1313,7 +1318,8 @@ namespace TemuKJD.WXForms.ProductForms
public class WXActivity public class WXActivity
{ {
public static string getShopCanActivity(ShopLoginInfo shop, string activityId = "1016") //1016 618活动 1163入夏好物
public static string getShopCanActivity(ShopLoginInfo shop, string activityId = "1163")
{ {
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/queryShopPlatformActivity?token=&lang=zh_CN&platformActivityId=" + activityId; string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/queryShopPlatformActivity?token=&lang=zh_CN&platformActivityId=" + activityId;
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2"; string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
@@ -1322,7 +1328,7 @@ namespace TemuKJD.WXForms.ProductForms
return result; return result;
} }
public static string applyShopActivity(ShopLoginInfo shop, string activityId = "1016") public static string applyShopActivity(ShopLoginInfo shop, string activityId = "1163")
{ {
string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/applyShopPlatformActivity?token=&lang=zh_CN"; string url = "https://store.weixin.qq.com/shop-faas/mmeckolmarketingnode/activity/cgi/applyShopPlatformActivity?token=&lang=zh_CN";
string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2"; string refere = "https://store.weixin.qq.com/shop/marketingkol/activity/detail?id=" + activityId + "&curTab=2";
@@ -1331,7 +1337,7 @@ namespace TemuKJD.WXForms.ProductForms
return result; return result;
} }
public static string getActivityProdList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1016") public static string getActivityProdList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1163")
{ {
//{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"} //{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"}
@@ -1342,7 +1348,7 @@ namespace TemuKJD.WXForms.ProductForms
return result; return result;
} }
public static string signWxActivity(ShopLoginInfo shop, JObject prodData, string activityId = "1016") public static string signWxActivity(ShopLoginInfo shop, JObject prodData, string activityId = "1163")
{ {
//{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"} //{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"}
@@ -1353,7 +1359,7 @@ namespace TemuKJD.WXForms.ProductForms
return result; return result;
} }
public static string getProdInActivityList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1016") public static string getProdInActivityList(ShopLoginInfo shop, int page, int pageSize = 10, string activityId = "1163")
{ {
//{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"} //{"keyword":"","pageNum":1,"pageSize":10,"platformActivityId":"1016"}
+173 -115
View File
@@ -32,14 +32,14 @@ namespace TemuKJD.WXForms.ProductForms
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.txtShippingPriceTimes = new System.Windows.Forms.TextBox(); this.txtShippingPriceTimes = new System.Windows.Forms.TextBox();
@@ -69,23 +69,27 @@ namespace TemuKJD.WXForms.ProductForms
this.chkStepAddPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkStepAddPrice = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.ucTabControlMetro1 = new TemuKJD.UserControls.UcTabControlMetro(); this.ucTabControlMetro1 = new TemuKJD.UserControls.UcTabControlMetro();
this.上传参数 = new System.Windows.Forms.TabPage(); this.上传参数 = new System.Windows.Forms.TabPage();
this.chkSameSpecPriceDown = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkLowestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkUseWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtMaxPrice = new System.Windows.Forms.TextBox();
this.chkUseRecommand = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkPreSale = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtDefaultBestBefore = new System.Windows.Forms.TextBox(); this.txtDefaultBestBefore = new System.Windows.Forms.TextBox();
this.chkDefaultBestBefore = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkDefaultBestBefore = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtMinPrice = new System.Windows.Forms.TextBox(); this.txtMinPrice = new System.Windows.Forms.TextBox();
this.btnFilterBound = new DevComponents.DotNetBar.PanelEx(); this.btnFilterBound = new DevComponents.DotNetBar.PanelEx();
this.txtFilterBoundMin = new System.Windows.Forms.TextBox(); this.txtFilterBoundMin = new System.Windows.Forms.TextBox();
this.chkUseWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkUpDraft = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkUpDraft = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.label25 = new System.Windows.Forms.Label(); this.label25 = new System.Windows.Forms.Label();
this.chkSkipUploaded = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkSkipUploaded = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkSameSpecPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkSameSpecPriceUp = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtPreDays = new System.Windows.Forms.TextBox(); this.txtPreDays = new System.Windows.Forms.TextBox();
this.txtReplaceText = new System.Windows.Forms.TextBox(); this.txtReplaceText = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label();
this.chkSaveBound = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkSaveBound = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkAiShortTitle = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkAiShortTitle = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.label5 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label();
this.chkPreSale = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.chkHighestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkHighestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtFilterBoundMax = new System.Windows.Forms.TextBox(); this.txtFilterBoundMax = new System.Windows.Forms.TextBox();
this.label18 = new System.Windows.Forms.Label(); this.label18 = new System.Windows.Forms.Label();
@@ -95,6 +99,7 @@ namespace TemuKJD.WXForms.ProductForms
this.txtTitleHeadWord = new System.Windows.Forms.TextBox(); this.txtTitleHeadWord = new System.Windows.Forms.TextBox();
this.label22 = new System.Windows.Forms.Label(); this.label22 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.label39 = new System.Windows.Forms.Label();
this.佣金上货 = new System.Windows.Forms.TabPage(); this.佣金上货 = new System.Windows.Forms.TabPage();
this.label31 = new System.Windows.Forms.Label(); this.label31 = new System.Windows.Forms.Label();
this.txtCommissionChangeValue = new System.Windows.Forms.TextBox(); this.txtCommissionChangeValue = new System.Windows.Forms.TextBox();
@@ -235,7 +240,6 @@ namespace TemuKJD.WXForms.ProductForms
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.btnClear = new DevComponents.DotNetBar.PanelEx(); this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.chkUseRecommand = new TemuKJD.UserComponent.UcCheckBox(this.components);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
@@ -286,7 +290,7 @@ namespace TemuKJD.WXForms.ProductForms
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); this.splitContainer1.Panel2.Controls.Add(this.splitContainer3);
this.splitContainer1.Size = new System.Drawing.Size(1684, 641); this.splitContainer1.Size = new System.Drawing.Size(1710, 641);
this.splitContainer1.SplitterDistance = 165; this.splitContainer1.SplitterDistance = 165;
this.splitContainer1.TabIndex = 11; this.splitContainer1.TabIndex = 11;
// //
@@ -322,7 +326,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx2.Controls.Add(this.ucTabControlMetro1); this.ucGroupBoxEx2.Controls.Add(this.ucTabControlMetro1);
this.ucGroupBoxEx2.Location = new System.Drawing.Point(595, 2); this.ucGroupBoxEx2.Location = new System.Drawing.Point(595, 2);
this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; this.ucGroupBoxEx2.Name = "ucGroupBoxEx2";
this.ucGroupBoxEx2.Size = new System.Drawing.Size(1087, 165); this.ucGroupBoxEx2.Size = new System.Drawing.Size(1113, 165);
this.ucGroupBoxEx2.TabIndex = 667; this.ucGroupBoxEx2.TabIndex = 667;
this.ucGroupBoxEx2.TabStop = false; this.ucGroupBoxEx2.TabStop = false;
this.ucGroupBoxEx2.Text = "商品上传"; this.ucGroupBoxEx2.Text = "商品上传";
@@ -354,7 +358,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnStop.CanvasColor = System.Drawing.SystemColors.Control; this.btnStop.CanvasColor = System.Drawing.SystemColors.Control;
this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnStop.DisabledBackColor = System.Drawing.Color.Empty; this.btnStop.DisabledBackColor = System.Drawing.Color.Empty;
this.btnStop.Location = new System.Drawing.Point(1015, 44); this.btnStop.Location = new System.Drawing.Point(1041, 44);
this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnStop.Name = "btnStop"; this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(64, 23); this.btnStop.Size = new System.Drawing.Size(64, 23);
@@ -378,7 +382,7 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label7.AutoSize = true; this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(993, 15); this.label7.Location = new System.Drawing.Point(1019, 15);
this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label7.Name = "label7"; this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(20, 17); this.label7.Size = new System.Drawing.Size(20, 17);
@@ -390,7 +394,7 @@ namespace TemuKJD.WXForms.ProductForms
this.chkRandomCompanyProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.chkRandomCompanyProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chkRandomCompanyProd.Checked = true; this.chkRandomCompanyProd.Checked = true;
this.chkRandomCompanyProd.CheckState = System.Windows.Forms.CheckState.Checked; this.chkRandomCompanyProd.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkRandomCompanyProd.Location = new System.Drawing.Point(819, 13); this.chkRandomCompanyProd.Location = new System.Drawing.Point(845, 13);
this.chkRandomCompanyProd.Name = "chkRandomCompanyProd"; this.chkRandomCompanyProd.Name = "chkRandomCompanyProd";
this.chkRandomCompanyProd.Size = new System.Drawing.Size(87, 21); this.chkRandomCompanyProd.Size = new System.Drawing.Size(87, 21);
this.chkRandomCompanyProd.TabIndex = 889; this.chkRandomCompanyProd.TabIndex = 889;
@@ -416,7 +420,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearDgv.CanvasColor = System.Drawing.SystemColors.Control; this.btnClearDgv.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearDgv.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnClearDgv.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearDgv.DisabledBackColor = System.Drawing.Color.Empty; this.btnClearDgv.DisabledBackColor = System.Drawing.Color.Empty;
this.btnClearDgv.Location = new System.Drawing.Point(1015, 72); this.btnClearDgv.Location = new System.Drawing.Point(1041, 72);
this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearDgv.Name = "btnClearDgv"; this.btnClearDgv.Name = "btnClearDgv";
this.btnClearDgv.Size = new System.Drawing.Size(64, 23); this.btnClearDgv.Size = new System.Drawing.Size(64, 23);
@@ -573,7 +577,7 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label6.AutoSize = true; this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(913, 15); this.label6.Location = new System.Drawing.Point(939, 15);
this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label6.Name = "label6"; this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(56, 17); this.label6.Size = new System.Drawing.Size(56, 17);
@@ -596,7 +600,7 @@ namespace TemuKJD.WXForms.ProductForms
// txtWaitSeconds // txtWaitSeconds
// //
this.txtWaitSeconds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.txtWaitSeconds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.txtWaitSeconds.Location = new System.Drawing.Point(969, 12); this.txtWaitSeconds.Location = new System.Drawing.Point(995, 12);
this.txtWaitSeconds.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtWaitSeconds.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtWaitSeconds.Name = "txtWaitSeconds"; this.txtWaitSeconds.Name = "txtWaitSeconds";
this.txtWaitSeconds.Size = new System.Drawing.Size(24, 23); this.txtWaitSeconds.Size = new System.Drawing.Size(24, 23);
@@ -644,7 +648,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnUpload.Cursor = System.Windows.Forms.Cursors.Hand; this.btnUpload.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnUpload.DisabledBackColor = System.Drawing.Color.Empty; this.btnUpload.DisabledBackColor = System.Drawing.Color.Empty;
this.btnUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUpload.Location = new System.Drawing.Point(1015, 16); this.btnUpload.Location = new System.Drawing.Point(1041, 16);
this.btnUpload.Name = "btnUpload"; this.btnUpload.Name = "btnUpload";
this.btnUpload.Size = new System.Drawing.Size(64, 23); this.btnUpload.Size = new System.Drawing.Size(64, 23);
this.btnUpload.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnUpload.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -721,7 +725,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucTabControlMetro1.Name = "ucTabControlMetro1"; this.ucTabControlMetro1.Name = "ucTabControlMetro1";
this.ucTabControlMetro1.SelectedIndex = 0; this.ucTabControlMetro1.SelectedIndex = 0;
this.ucTabControlMetro1.ShowCloseButton = false; this.ucTabControlMetro1.ShowCloseButton = false;
this.ucTabControlMetro1.Size = new System.Drawing.Size(591, 150); this.ucTabControlMetro1.Size = new System.Drawing.Size(617, 150);
this.ucTabControlMetro1.TabIndex = 822; this.ucTabControlMetro1.TabIndex = 822;
this.ucTabControlMetro1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucTabControlMetro1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucTabControlMetro1.TabSelectTextColor = System.Drawing.Color.Gray; this.ucTabControlMetro1.TabSelectTextColor = System.Drawing.Color.Gray;
@@ -729,7 +733,10 @@ namespace TemuKJD.WXForms.ProductForms
// //
// 上传参数 // 上传参数
// //
this.上传参数.Controls.Add(this.chkSameSpecPriceDown);
this.上传参数.Controls.Add(this.chkLowestPriceSku);
this.上传参数.Controls.Add(this.chkUseWXComplateProd); this.上传参数.Controls.Add(this.chkUseWXComplateProd);
this.上传参数.Controls.Add(this.txtMaxPrice);
this.上传参数.Controls.Add(this.chkUseRecommand); this.上传参数.Controls.Add(this.chkUseRecommand);
this.上传参数.Controls.Add(this.chkPreSale); this.上传参数.Controls.Add(this.chkPreSale);
this.上传参数.Controls.Add(this.txtDefaultBestBefore); this.上传参数.Controls.Add(this.txtDefaultBestBefore);
@@ -740,7 +747,7 @@ namespace TemuKJD.WXForms.ProductForms
this.上传参数.Controls.Add(this.chkUpDraft); this.上传参数.Controls.Add(this.chkUpDraft);
this.上传参数.Controls.Add(this.label25); this.上传参数.Controls.Add(this.label25);
this.上传参数.Controls.Add(this.chkSkipUploaded); this.上传参数.Controls.Add(this.chkSkipUploaded);
this.上传参数.Controls.Add(this.chkSameSpecPrice); this.上传参数.Controls.Add(this.chkSameSpecPriceUp);
this.上传参数.Controls.Add(this.txtPreDays); this.上传参数.Controls.Add(this.txtPreDays);
this.上传参数.Controls.Add(this.txtReplaceText); this.上传参数.Controls.Add(this.txtReplaceText);
this.上传参数.Controls.Add(this.label8); this.上传参数.Controls.Add(this.label8);
@@ -756,14 +763,80 @@ namespace TemuKJD.WXForms.ProductForms
this.上传参数.Controls.Add(this.txtTitleHeadWord); this.上传参数.Controls.Add(this.txtTitleHeadWord);
this.上传参数.Controls.Add(this.label22); this.上传参数.Controls.Add(this.label22);
this.上传参数.Controls.Add(this.label3); this.上传参数.Controls.Add(this.label3);
this.上传参数.Controls.Add(this.label39);
this.上传参数.Location = new System.Drawing.Point(4, 28); this.上传参数.Location = new System.Drawing.Point(4, 28);
this.上传参数.Name = "上传参数"; this.上传参数.Name = "上传参数";
this.上传参数.Padding = new System.Windows.Forms.Padding(3); this.上传参数.Padding = new System.Windows.Forms.Padding(3);
this.上传参数.Size = new System.Drawing.Size(583, 118); this.上传参数.Size = new System.Drawing.Size(609, 118);
this.上传参数.TabIndex = 1; this.上传参数.TabIndex = 1;
this.上传参数.Text = "上传参数"; this.上传参数.Text = "上传参数";
this.上传参数.UseVisualStyleBackColor = true; this.上传参数.UseVisualStyleBackColor = true;
// //
// chkSameSpecPriceDown
//
this.chkSameSpecPriceDown.AutoSize = true;
this.chkSameSpecPriceDown.Checked = true;
this.chkSameSpecPriceDown.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkSameSpecPriceDown.Location = new System.Drawing.Point(548, 3);
this.chkSameSpecPriceDown.Name = "chkSameSpecPriceDown";
this.chkSameSpecPriceDown.Size = new System.Drawing.Size(131, 21);
this.chkSameSpecPriceDown.TabIndex = 917;
this.chkSameSpecPriceDown.Text = "颜色规格同价(下浮)";
this.chkSameSpecPriceDown.UseVisualStyleBackColor = true;
//
// chkLowestPriceSku
//
this.chkLowestPriceSku.AutoSize = true;
this.chkLowestPriceSku.Checked = true;
this.chkLowestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkLowestPriceSku.Location = new System.Drawing.Point(433, 3);
this.chkLowestPriceSku.Name = "chkLowestPriceSku";
this.chkLowestPriceSku.Size = new System.Drawing.Size(119, 21);
this.chkLowestPriceSku.TabIndex = 916;
this.chkLowestPriceSku.Text = "只保留最低价sku";
this.chkLowestPriceSku.UseVisualStyleBackColor = true;
//
// chkUseWXComplateProd
//
this.chkUseWXComplateProd.Location = new System.Drawing.Point(529, 28);
this.chkUseWXComplateProd.Name = "chkUseWXComplateProd";
this.chkUseWXComplateProd.Size = new System.Drawing.Size(87, 21);
this.chkUseWXComplateProd.TabIndex = 876;
this.chkUseWXComplateProd.Text = "使用回采数据";
this.chkUseWXComplateProd.UseVisualStyleBackColor = true;
this.chkUseWXComplateProd.Visible = false;
this.chkUseWXComplateProd.CheckedChanged += new System.EventHandler(this.chkUseWXComplateProd_CheckedChanged);
//
// txtMaxPrice
//
this.txtMaxPrice.Location = new System.Drawing.Point(117, 2);
this.txtMaxPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtMaxPrice.Name = "txtMaxPrice";
this.txtMaxPrice.Size = new System.Drawing.Size(36, 23);
this.txtMaxPrice.TabIndex = 912;
this.txtMaxPrice.Text = "9999";
//
// chkUseRecommand
//
this.chkUseRecommand.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chkUseRecommand.AutoSize = true;
this.chkUseRecommand.Location = new System.Drawing.Point(490, 51);
this.chkUseRecommand.Name = "chkUseRecommand";
this.chkUseRecommand.Size = new System.Drawing.Size(123, 21);
this.chkUseRecommand.TabIndex = 907;
this.chkUseRecommand.Text = "使用推荐属性数值";
this.chkUseRecommand.UseVisualStyleBackColor = true;
//
// chkPreSale
//
this.chkPreSale.Location = new System.Drawing.Point(281, 28);
this.chkPreSale.Name = "chkPreSale";
this.chkPreSale.Size = new System.Drawing.Size(65, 21);
this.chkPreSale.TabIndex = 789;
this.chkPreSale.Text = "预售天数";
this.chkPreSale.UseVisualStyleBackColor = true;
this.chkPreSale.CheckedChanged += new System.EventHandler(this.chkPreSale_CheckedChanged);
//
// txtDefaultBestBefore // txtDefaultBestBefore
// //
this.txtDefaultBestBefore.Location = new System.Drawing.Point(529, 93); this.txtDefaultBestBefore.Location = new System.Drawing.Point(529, 93);
@@ -830,21 +903,11 @@ namespace TemuKJD.WXForms.ProductForms
this.txtFilterBoundMin.Text = "1000"; this.txtFilterBoundMin.Text = "1000";
this.txtFilterBoundMin.TextChanged += new System.EventHandler(this.txtFilterBoundMin_TextChanged); this.txtFilterBoundMin.TextChanged += new System.EventHandler(this.txtFilterBoundMin_TextChanged);
// //
// chkUseWXComplateProd
//
this.chkUseWXComplateProd.Location = new System.Drawing.Point(541, 28);
this.chkUseWXComplateProd.Name = "chkUseWXComplateProd";
this.chkUseWXComplateProd.Size = new System.Drawing.Size(87, 21);
this.chkUseWXComplateProd.TabIndex = 876;
this.chkUseWXComplateProd.Text = "使用回采数据";
this.chkUseWXComplateProd.UseVisualStyleBackColor = true;
this.chkUseWXComplateProd.Visible = false;
this.chkUseWXComplateProd.CheckedChanged += new System.EventHandler(this.chkUseWXComplateProd_CheckedChanged);
//
// chkUpDraft // chkUpDraft
// //
this.chkUpDraft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chkUpDraft.AutoSize = true; this.chkUpDraft.AutoSize = true;
this.chkUpDraft.Location = new System.Drawing.Point(447, 3); this.chkUpDraft.Location = new System.Drawing.Point(490, 72);
this.chkUpDraft.Name = "chkUpDraft"; this.chkUpDraft.Name = "chkUpDraft";
this.chkUpDraft.Size = new System.Drawing.Size(87, 21); this.chkUpDraft.Size = new System.Drawing.Size(87, 21);
this.chkUpDraft.TabIndex = 769; this.chkUpDraft.TabIndex = 769;
@@ -867,7 +930,7 @@ namespace TemuKJD.WXForms.ProductForms
this.chkSkipUploaded.AutoSize = true; this.chkSkipUploaded.AutoSize = true;
this.chkSkipUploaded.Checked = true; this.chkSkipUploaded.Checked = true;
this.chkSkipUploaded.CheckState = System.Windows.Forms.CheckState.Checked; this.chkSkipUploaded.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkSkipUploaded.Location = new System.Drawing.Point(341, 3); this.chkSkipUploaded.Location = new System.Drawing.Point(424, 28);
this.chkSkipUploaded.Name = "chkSkipUploaded"; this.chkSkipUploaded.Name = "chkSkipUploaded";
this.chkSkipUploaded.Size = new System.Drawing.Size(111, 21); this.chkSkipUploaded.Size = new System.Drawing.Size(111, 21);
this.chkSkipUploaded.TabIndex = 755; this.chkSkipUploaded.TabIndex = 755;
@@ -875,18 +938,18 @@ namespace TemuKJD.WXForms.ProductForms
this.chkSkipUploaded.UseVisualStyleBackColor = true; this.chkSkipUploaded.UseVisualStyleBackColor = true;
this.chkSkipUploaded.CheckedChanged += new System.EventHandler(this.chkSkipUploaded_CheckedChanged); this.chkSkipUploaded.CheckedChanged += new System.EventHandler(this.chkSkipUploaded_CheckedChanged);
// //
// chkSameSpecPrice // chkSameSpecPriceUp
// //
this.chkSameSpecPrice.AutoSize = true; this.chkSameSpecPriceUp.AutoSize = true;
this.chkSameSpecPrice.Checked = true; this.chkSameSpecPriceUp.Checked = true;
this.chkSameSpecPrice.CheckState = System.Windows.Forms.CheckState.Checked; this.chkSameSpecPriceUp.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkSameSpecPrice.Location = new System.Drawing.Point(246, 3); this.chkSameSpecPriceUp.Location = new System.Drawing.Point(308, 3);
this.chkSameSpecPrice.Name = "chkSameSpecPrice"; this.chkSameSpecPriceUp.Name = "chkSameSpecPriceUp";
this.chkSameSpecPrice.Size = new System.Drawing.Size(99, 21); this.chkSameSpecPriceUp.Size = new System.Drawing.Size(131, 21);
this.chkSameSpecPrice.TabIndex = 745; this.chkSameSpecPriceUp.TabIndex = 745;
this.chkSameSpecPrice.Text = "颜色规格同价"; this.chkSameSpecPriceUp.Text = "颜色规格同价(上浮)";
this.chkSameSpecPrice.UseVisualStyleBackColor = true; this.chkSameSpecPriceUp.UseVisualStyleBackColor = true;
this.chkSameSpecPrice.CheckedChanged += new System.EventHandler(this.chkSameSpecPrice_CheckedChanged); this.chkSameSpecPriceUp.CheckedChanged += new System.EventHandler(this.chkSameSpecPriceUp_CheckedChanged);
// //
// txtPreDays // txtPreDays
// //
@@ -904,9 +967,10 @@ namespace TemuKJD.WXForms.ProductForms
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtReplaceText.Location = new System.Drawing.Point(65, 52); this.txtReplaceText.Location = new System.Drawing.Point(65, 52);
this.txtReplaceText.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtReplaceText.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtReplaceText.MaxLength = 1000000;
this.txtReplaceText.Multiline = true; this.txtReplaceText.Multiline = true;
this.txtReplaceText.Name = "txtReplaceText"; this.txtReplaceText.Name = "txtReplaceText";
this.txtReplaceText.Size = new System.Drawing.Size(510, 40); this.txtReplaceText.Size = new System.Drawing.Size(420, 40);
this.txtReplaceText.TabIndex = 740; this.txtReplaceText.TabIndex = 740;
this.txtReplaceText.Text = "真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草"; this.txtReplaceText.Text = "真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草";
this.txtReplaceText.TextChanged += new System.EventHandler(this.txtReplaceText_TextChanged); this.txtReplaceText.TextChanged += new System.EventHandler(this.txtReplaceText_TextChanged);
@@ -949,29 +1013,19 @@ namespace TemuKJD.WXForms.ProductForms
// label5 // label5
// //
this.label5.AutoSize = true; this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(89, 5); this.label5.Location = new System.Drawing.Point(153, 5);
this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label5.Name = "label5"; this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(40, 17); this.label5.Size = new System.Drawing.Size(40, 17);
this.label5.TabIndex = 744; this.label5.TabIndex = 744;
this.label5.Text = "元sku"; this.label5.Text = "元sku";
// //
// chkPreSale
//
this.chkPreSale.Location = new System.Drawing.Point(281, 28);
this.chkPreSale.Name = "chkPreSale";
this.chkPreSale.Size = new System.Drawing.Size(65, 21);
this.chkPreSale.TabIndex = 789;
this.chkPreSale.Text = "预售天数";
this.chkPreSale.UseVisualStyleBackColor = true;
this.chkPreSale.CheckedChanged += new System.EventHandler(this.chkPreSale_CheckedChanged);
//
// chkHighestPriceSku // chkHighestPriceSku
// //
this.chkHighestPriceSku.AutoSize = true; this.chkHighestPriceSku.AutoSize = true;
this.chkHighestPriceSku.Checked = true; this.chkHighestPriceSku.Checked = true;
this.chkHighestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked; this.chkHighestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkHighestPriceSku.Location = new System.Drawing.Point(129, 3); this.chkHighestPriceSku.Location = new System.Drawing.Point(193, 3);
this.chkHighestPriceSku.Name = "chkHighestPriceSku"; this.chkHighestPriceSku.Name = "chkHighestPriceSku";
this.chkHighestPriceSku.Size = new System.Drawing.Size(119, 21); this.chkHighestPriceSku.Size = new System.Drawing.Size(119, 21);
this.chkHighestPriceSku.TabIndex = 739; this.chkHighestPriceSku.TabIndex = 739;
@@ -1061,6 +1115,16 @@ namespace TemuKJD.WXForms.ProductForms
this.label3.TabIndex = 741; this.label3.TabIndex = 741;
this.label3.Text = "移除敏感词"; this.label3.Text = "移除敏感词";
// //
// label39
//
this.label39.AutoSize = true;
this.label39.Location = new System.Drawing.Point(90, 5);
this.label39.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label39.Name = "label39";
this.label39.Size = new System.Drawing.Size(32, 17);
this.label39.TabIndex = 911;
this.label39.Text = "或>";
//
// 佣金上货 // 佣金上货
// //
this.佣金上货.Controls.Add(this.label31); this.佣金上货.Controls.Add(this.label31);
@@ -1078,7 +1142,7 @@ namespace TemuKJD.WXForms.ProductForms
this.佣金上货.Location = new System.Drawing.Point(4, 28); this.佣金上货.Location = new System.Drawing.Point(4, 28);
this.佣金上货.Name = "佣金上货"; this.佣金上货.Name = "佣金上货";
this.佣金上货.Padding = new System.Windows.Forms.Padding(3); this.佣金上货.Padding = new System.Windows.Forms.Padding(3);
this.佣金上货.Size = new System.Drawing.Size(583, 118); this.佣金上货.Size = new System.Drawing.Size(609, 118);
this.佣金上货.TabIndex = 2; this.佣金上货.TabIndex = 2;
this.佣金上货.Text = "佣金上货"; this.佣金上货.Text = "佣金上货";
this.佣金上货.UseVisualStyleBackColor = true; this.佣金上货.UseVisualStyleBackColor = true;
@@ -1246,7 +1310,7 @@ namespace TemuKJD.WXForms.ProductForms
this.裂变调试.Location = new System.Drawing.Point(4, 28); this.裂变调试.Location = new System.Drawing.Point(4, 28);
this.裂变调试.Name = "裂变调试"; this.裂变调试.Name = "裂变调试";
this.裂变调试.Padding = new System.Windows.Forms.Padding(3); this.裂变调试.Padding = new System.Windows.Forms.Padding(3);
this.裂变调试.Size = new System.Drawing.Size(583, 118); this.裂变调试.Size = new System.Drawing.Size(609, 118);
this.裂变调试.TabIndex = 3; this.裂变调试.TabIndex = 3;
this.裂变调试.Text = "裂变调试"; this.裂变调试.Text = "裂变调试";
this.裂变调试.UseVisualStyleBackColor = true; this.裂变调试.UseVisualStyleBackColor = true;
@@ -1260,7 +1324,7 @@ namespace TemuKJD.WXForms.ProductForms
this.txtFissionTitle.Multiline = true; this.txtFissionTitle.Multiline = true;
this.txtFissionTitle.Name = "txtFissionTitle"; this.txtFissionTitle.Name = "txtFissionTitle";
this.txtFissionTitle.ScrollBars = System.Windows.Forms.ScrollBars.Both; this.txtFissionTitle.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.txtFissionTitle.Size = new System.Drawing.Size(496, 79); this.txtFissionTitle.Size = new System.Drawing.Size(522, 79);
this.txtFissionTitle.TabIndex = 0; this.txtFissionTitle.TabIndex = 0;
this.txtFissionTitle.TextChanged += new System.EventHandler(this.txtFissionTitle_TextChanged); this.txtFissionTitle.TextChanged += new System.EventHandler(this.txtFissionTitle_TextChanged);
// //
@@ -1375,7 +1439,7 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.label32.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label32.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label32.AutoSize = true; this.label32.AutoSize = true;
this.label32.Location = new System.Drawing.Point(549, 57); this.label32.Location = new System.Drawing.Point(575, 57);
this.label32.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label32.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label32.Name = "label32"; this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(20, 17); this.label32.Size = new System.Drawing.Size(20, 17);
@@ -1386,7 +1450,7 @@ namespace TemuKJD.WXForms.ProductForms
// txtAiImgCount // txtAiImgCount
// //
this.txtAiImgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.txtAiImgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.txtAiImgCount.Location = new System.Drawing.Point(524, 54); this.txtAiImgCount.Location = new System.Drawing.Point(550, 54);
this.txtAiImgCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtAiImgCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtAiImgCount.Name = "txtAiImgCount"; this.txtAiImgCount.Name = "txtAiImgCount";
this.txtAiImgCount.Size = new System.Drawing.Size(24, 23); this.txtAiImgCount.Size = new System.Drawing.Size(24, 23);
@@ -1398,7 +1462,7 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.chkAiImage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.chkAiImage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.chkAiImage.AutoSize = true; this.chkAiImage.AutoSize = true;
this.chkAiImage.Location = new System.Drawing.Point(455, 55); this.chkAiImage.Location = new System.Drawing.Point(481, 55);
this.chkAiImage.Name = "chkAiImage"; this.chkAiImage.Name = "chkAiImage";
this.chkAiImage.Size = new System.Drawing.Size(74, 21); this.chkAiImage.Size = new System.Drawing.Size(74, 21);
this.chkAiImage.TabIndex = 892; this.chkAiImage.TabIndex = 892;
@@ -2325,7 +2389,7 @@ namespace TemuKJD.WXForms.ProductForms
// splitContainer3.Panel2 // splitContainer3.Panel2
// //
this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); this.splitContainer3.Panel2.Controls.Add(this.splitContainer4);
this.splitContainer3.Size = new System.Drawing.Size(1684, 472); this.splitContainer3.Size = new System.Drawing.Size(1710, 472);
this.splitContainer3.SplitterDistance = 442; this.splitContainer3.SplitterDistance = 442;
this.splitContainer3.TabIndex = 1; this.splitContainer3.TabIndex = 1;
// //
@@ -2355,7 +2419,7 @@ namespace TemuKJD.WXForms.ProductForms
this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload); this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload);
this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct); this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct);
this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0);
this.splitContainer2.Size = new System.Drawing.Size(1684, 442); this.splitContainer2.Size = new System.Drawing.Size(1710, 442);
this.splitContainer2.SplitterDistance = 410; this.splitContainer2.SplitterDistance = 410;
this.splitContainer2.TabIndex = 0; this.splitContainer2.TabIndex = 0;
// //
@@ -2422,19 +2486,19 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false; this.dgvShop.AllowUserToDeleteRows = false;
dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke; dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9; this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.dgvShop.AutoRowNumber = true; this.dgvShop.AutoRowNumber = true;
this.dgvShop.BackgroundColor = System.Drawing.Color.White; this.dgvShop.BackgroundColor = System.Drawing.Color.White;
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText; dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10; this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect, this.colSelect,
@@ -2582,7 +2646,7 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(610, 196); this.pbLoading.Location = new System.Drawing.Point(623, 196);
this.pbLoading.Name = "pbLoading"; this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -2597,7 +2661,7 @@ namespace TemuKJD.WXForms.ProductForms
this.并发上传.Cursor = System.Windows.Forms.Cursors.Hand; this.并发上传.Cursor = System.Windows.Forms.Cursors.Hand;
this.并发上传.DisabledBackColor = System.Drawing.Color.Empty; this.并发上传.DisabledBackColor = System.Drawing.Color.Empty;
this.并发上传.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.并发上传.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.并发上传.Location = new System.Drawing.Point(1144, 30); this.并发上传.Location = new System.Drawing.Point(1170, 30);
this.并发上传.Name = "并发上传"; this.并发上传.Name = "并发上传";
this.并发上传.Size = new System.Drawing.Size(118, 23); this.并发上传.Size = new System.Drawing.Size(118, 23);
this.并发上传.Style.Alignment = System.Drawing.StringAlignment.Center; this.并发上传.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -2666,19 +2730,19 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.dgvSelectProduct.AllowUserToAddRows = false; this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false; this.dgvSelectProduct.AllowUserToDeleteRows = false;
dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke; dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11; this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
this.dgvSelectProduct.AutoRowNumber = true; this.dgvSelectProduct.AutoRowNumber = true;
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText; dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12; this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck, this.colCheck,
@@ -2709,7 +2773,7 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvSelectProduct.Name = "dgvSelectProduct"; this.dgvSelectProduct.Name = "dgvSelectProduct";
this.dgvSelectProduct.ReadOnly = true; this.dgvSelectProduct.ReadOnly = true;
this.dgvSelectProduct.RowTemplate.Height = 23; this.dgvSelectProduct.RowTemplate.Height = 23;
this.dgvSelectProduct.Size = new System.Drawing.Size(1266, 442); this.dgvSelectProduct.Size = new System.Drawing.Size(1292, 442);
this.dgvSelectProduct.TabIndex = 187; this.dgvSelectProduct.TabIndex = 187;
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
// //
@@ -2740,8 +2804,8 @@ namespace TemuKJD.WXForms.ProductForms
// //
// colSupplierName // colSupplierName
// //
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13; this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
this.colSupplierName.Frozen = true; this.colSupplierName.Frozen = true;
this.colSupplierName.HeaderText = "店铺名称"; this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName"; this.colSupplierName.Name = "colSupplierName";
@@ -2821,8 +2885,8 @@ namespace TemuKJD.WXForms.ProductForms
// //
// colProductName // colProductName
// //
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle14; this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
this.colProductName.HeaderText = "商品标题"; this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName"; this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true; this.colProductName.ReadOnly = true;
@@ -2830,8 +2894,8 @@ namespace TemuKJD.WXForms.ProductForms
// //
// colProductCat // colProductCat
// //
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15; this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
this.colProductCat.HeaderText = "商品类目"; this.colProductCat.HeaderText = "商品类目";
this.colProductCat.Name = "colProductCat"; this.colProductCat.Name = "colProductCat";
this.colProductCat.ReadOnly = true; this.colProductCat.ReadOnly = true;
@@ -2886,8 +2950,8 @@ namespace TemuKJD.WXForms.ProductForms
// //
// colAddTime // colAddTime
// //
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16; this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
this.colAddTime.HeaderText = "上传时间"; this.colAddTime.HeaderText = "上传时间";
this.colAddTime.Name = "colAddTime"; this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true; this.colAddTime.ReadOnly = true;
@@ -2915,8 +2979,8 @@ namespace TemuKJD.WXForms.ProductForms
// //
this.splitContainer4.Panel2.Controls.Add(this.btnClear); this.splitContainer4.Panel2.Controls.Add(this.btnClear);
this.splitContainer4.Panel2.Controls.Add(this.panelEx1); this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
this.splitContainer4.Size = new System.Drawing.Size(1684, 26); this.splitContainer4.Size = new System.Drawing.Size(1710, 26);
this.splitContainer4.SplitterDistance = 993; this.splitContainer4.SplitterDistance = 1019;
this.splitContainer4.TabIndex = 3; this.splitContainer4.TabIndex = 3;
// //
// statusBar // statusBar
@@ -2927,7 +2991,7 @@ namespace TemuKJD.WXForms.ProductForms
this.statusBar.Location = new System.Drawing.Point(0, 0); this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0); this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar"; this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(993, 26); this.statusBar.Size = new System.Drawing.Size(1019, 26);
this.statusBar.TabIndex = 2; this.statusBar.TabIndex = 2;
// //
// btnClear // btnClear
@@ -2980,21 +3044,11 @@ namespace TemuKJD.WXForms.ProductForms
this.panelEx1.Text = "停止当前操作"; this.panelEx1.Text = "停止当前操作";
this.panelEx1.Visible = false; this.panelEx1.Visible = false;
// //
// chkUseRecommand
//
this.chkUseRecommand.AutoSize = true;
this.chkUseRecommand.Location = new System.Drawing.Point(422, 28);
this.chkUseRecommand.Name = "chkUseRecommand";
this.chkUseRecommand.Size = new System.Drawing.Size(123, 21);
this.chkUseRecommand.TabIndex = 907;
this.chkUseRecommand.Text = "使用推荐属性数值";
this.chkUseRecommand.UseVisualStyleBackColor = true;
//
// WXDBProdUploadForm // WXDBProdUploadForm
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1684, 641); this.ClientSize = new System.Drawing.Size(1710, 641);
this.Controls.Add(this.splitContainer1); this.Controls.Add(this.splitContainer1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.KeyPreview = true; this.KeyPreview = true;
@@ -3105,7 +3159,7 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox txtMinPrice; private System.Windows.Forms.TextBox txtMinPrice;
private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label8;
private UserComponent.UcCheckBox chkSameSpecPrice; private UserComponent.UcCheckBox chkSameSpecPriceUp;
private System.Windows.Forms.ComboBox cmbSourceType; private System.Windows.Forms.ComboBox cmbSourceType;
private System.Windows.Forms.Label lblSourceType; private System.Windows.Forms.Label lblSourceType;
private System.Windows.Forms.ComboBox cmbWxSafe; private System.Windows.Forms.ComboBox cmbWxSafe;
@@ -3245,5 +3299,9 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.TextBox txtRandomFissionProductCount; private System.Windows.Forms.TextBox txtRandomFissionProductCount;
private UserComponent.UcCheckBox chkRandomFissionProduct; private UserComponent.UcCheckBox chkRandomFissionProduct;
private UserComponent.UcCheckBox chkUseRecommand; private UserComponent.UcCheckBox chkUseRecommand;
private System.Windows.Forms.TextBox txtMaxPrice;
private System.Windows.Forms.Label label39;
private UserComponent.UcCheckBox chkSameSpecPriceDown;
private UserComponent.UcCheckBox chkLowestPriceSku;
} }
} }
@@ -186,9 +186,12 @@ namespace TemuKJD.WXForms.ProductForms
this.txtPreDays.TextChanged -= txtPreDays_TextChanged; this.txtPreDays.TextChanged -= txtPreDays_TextChanged;
this.txtReplaceText.TextChanged -= txtReplaceText_TextChanged; this.txtReplaceText.TextChanged -= txtReplaceText_TextChanged;
this.txtMinPrice.TextChanged -= txtMinPrice_TextChanged; this.txtMinPrice.TextChanged -= txtMinPrice_TextChanged;
this.txtMaxPrice.TextChanged -= txtMaxPrice_TextChanged;
this.txtWaitSeconds.TextChanged -= txtWaitSeconds_TextChanged; this.txtWaitSeconds.TextChanged -= txtWaitSeconds_TextChanged;
this.chkHighestPriceSku.CheckedChanged -= chkHighestPriceSku_CheckedChanged; this.chkHighestPriceSku.CheckedChanged -= chkHighestPriceSku_CheckedChanged;
this.chkSameSpecPrice.CheckedChanged -= chkSameSpecPrice_CheckedChanged; this.chkLowestPriceSku.CheckedChanged -= chkLowestPriceSku_CheckedChanged;
this.chkSameSpecPriceUp.CheckedChanged -= chkSameSpecPriceUp_CheckedChanged;
this.chkSameSpecPriceDown.CheckedChanged -= chkSameSpecPriceDown_CheckedChanged;
this.chkSkipUploaded.CheckedChanged -= chkSkipUploaded_CheckedChanged; this.chkSkipUploaded.CheckedChanged -= chkSkipUploaded_CheckedChanged;
this.chkUpDraft.CheckedChanged -= chkUpDraft_CheckedChanged; this.chkUpDraft.CheckedChanged -= chkUpDraft_CheckedChanged;
this.chkPreSale.CheckedChanged -= chkPreSale_CheckedChanged; this.chkPreSale.CheckedChanged -= chkPreSale_CheckedChanged;
@@ -204,7 +207,9 @@ namespace TemuKJD.WXForms.ProductForms
this.txtMinPrice.Text = wxUploadRule.SkuMinPrice.ParseToString(); this.txtMinPrice.Text = wxUploadRule.SkuMinPrice.ParseToString();
this.txtWaitSeconds.Text = wxUploadRule.WaitSeconds.ParseToString(); this.txtWaitSeconds.Text = wxUploadRule.WaitSeconds.ParseToString();
this.chkHighestPriceSku.Checked = wxUploadRule.OnlyHighestPriceSku.ParseToBool(); this.chkHighestPriceSku.Checked = wxUploadRule.OnlyHighestPriceSku.ParseToBool();
this.chkSameSpecPrice.Checked = wxUploadRule.SameSpecSamePrice.ParseToBool(); this.chkLowestPriceSku.Checked = wxUploadRule.OnlyLowestPriceSku.ParseToBool();
this.chkSameSpecPriceUp.Checked = wxUploadRule.SameSpecSamePriceUp.ParseToBool();
this.chkSameSpecPriceDown.Checked = wxUploadRule.SameSpecSamePriceDown.ParseToBool();
this.chkSkipUploaded.Checked = wxUploadRule.SkipUploaded.ParseToBool(); this.chkSkipUploaded.Checked = wxUploadRule.SkipUploaded.ParseToBool();
this.chkUpDraft.Checked = wxUploadRule.UpDraft.ParseToBool(); this.chkUpDraft.Checked = wxUploadRule.UpDraft.ParseToBool();
this.chkPreSale.Checked = wxUploadRule.IsPreSale.ParseToBool(); this.chkPreSale.Checked = wxUploadRule.IsPreSale.ParseToBool();
@@ -223,7 +228,9 @@ namespace TemuKJD.WXForms.ProductForms
this.txtMinPrice.TextChanged += txtMinPrice_TextChanged; this.txtMinPrice.TextChanged += txtMinPrice_TextChanged;
this.txtWaitSeconds.TextChanged += txtWaitSeconds_TextChanged; this.txtWaitSeconds.TextChanged += txtWaitSeconds_TextChanged;
this.chkHighestPriceSku.CheckedChanged += chkHighestPriceSku_CheckedChanged; this.chkHighestPriceSku.CheckedChanged += chkHighestPriceSku_CheckedChanged;
this.chkSameSpecPrice.CheckedChanged += chkSameSpecPrice_CheckedChanged; this.chkLowestPriceSku.CheckedChanged += chkLowestPriceSku_CheckedChanged;
this.chkSameSpecPriceUp.CheckedChanged += chkSameSpecPriceUp_CheckedChanged;
this.chkSameSpecPriceDown.CheckedChanged += chkSameSpecPriceDown_CheckedChanged;
this.chkSkipUploaded.CheckedChanged += chkSkipUploaded_CheckedChanged; this.chkSkipUploaded.CheckedChanged += chkSkipUploaded_CheckedChanged;
this.chkUpDraft.CheckedChanged += chkUpDraft_CheckedChanged; this.chkUpDraft.CheckedChanged += chkUpDraft_CheckedChanged;
this.chkPreSale.CheckedChanged += chkPreSale_CheckedChanged; this.chkPreSale.CheckedChanged += chkPreSale_CheckedChanged;
@@ -1254,9 +1261,15 @@ namespace TemuKJD.WXForms.ProductForms
if (result.Contains("今日提审次数已用尽,请明日再试") || result.Contains("如需上架请先缴纳足额保证金") || result.Contains("在架商品数已达到上限") || if (result.Contains("今日提审次数已用尽,请明日再试") || result.Contains("如需上架请先缴纳足额保证金") || result.Contains("在架商品数已达到上限") ||
result.Contains("提审次数已达上限") || result.Contains("拥金上货失败:需要开通优选联盟") || result.Contains("本店铺近期提审失败比例较高,已被限")) result.Contains("提审次数已达上限") || result.Contains("拥金上货失败:需要开通优选联盟") || result.Contains("本店铺近期提审失败比例较高,已被限"))
{ {
var shopRow = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); shop.upLimitRetryCount++;
if (shopRow != null) if (shop.upLimitRetryCount > 3)
Invoke(new Action(() => { shopRow.Cells["colSelect"].Value = false; })); {
shop.upLimitRetryCount = 0;
var shopRow = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
if (shopRow != null)
Invoke(new Action(() => { shopRow.Cells["colSelect"].Value = false; }));
}
} }
// 图片重复的,修改图片缓存为空再传一次 // 图片重复的,修改图片缓存为空再传一次
if (result.Contains("10020225") || result.Contains("10020226")) if (result.Contains("10020225") || result.Contains("10020226"))
@@ -1828,7 +1841,8 @@ namespace TemuKJD.WXForms.ProductForms
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}"; return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
} }
} }
if (chkSameSpecPrice.Checked) // 同颜色规格向上浮动同价格
if (chkSameSpecPriceUp.Checked)
{ {
var priceTextLst = dbProd.price_text.Split('-'); var priceTextLst = dbProd.price_text.Split('-');
if (priceTextLst.Length != 2 || priceTextLst[0] != priceTextLst[1]) if (priceTextLst.Length != 2 || priceTextLst[0] != priceTextLst[1])
@@ -1865,6 +1879,45 @@ namespace TemuKJD.WXForms.ProductForms
} }
} }
} }
// 同颜色规格向下浮动同价格
if (chkSameSpecPriceDown.Checked)
{
var priceTextLst = dbProd.price_text.Split('-');
if (priceTextLst.Length != 2 || priceTextLst[0] != priceTextLst[1])
{
Dictionary<string, int> specPriceDic = new Dictionary<string, int>();
Dictionary<string, int> specMultiPriceDic = new Dictionary<string, int>();
var skuJArr = prodJObj["detail"]["sku"] as JArray;
try
{
// 计算主spec的最低价
foreach (var skuJObj in skuJArr)
{
var specJArr = skuJObj["spec"] as JArray;
if (!specPriceDic.ContainsKey(specJArr[0]["spec_name"].ParseToString()) || skuJObj["price"].ParseToInt() < specPriceDic[specJArr[0]["spec_name"].ParseToString()])
{
specPriceDic[specJArr[0]["spec_name"].ParseToString()] = skuJObj["price"].ParseToInt();
}
if (!specMultiPriceDic.ContainsKey(specJArr[0]["spec_name"].ParseToString()) || skuJObj["multi_price"].ParseToInt() < specMultiPriceDic[specJArr[0]["spec_name"].ParseToString()])
{
specMultiPriceDic[specJArr[0]["spec_name"].ParseToString()] = skuJObj["multi_price"].ParseToInt();
}
}
// 统一按最低价设置
foreach (var skuJObj in skuJArr)
{
var specJArr = skuJObj["spec"] as JArray;
skuJObj["price"] = specPriceDic[specJArr[0]["spec_name"].ParseToString()];
skuJObj["multi_price"] = specMultiPriceDic[specJArr[0]["spec_name"].ParseToString()];
}
}
catch (Exception ex)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
}
}
}
// 只保留最高价
if (chkHighestPriceSku.Checked) if (chkHighestPriceSku.Checked)
{ {
int price = 0; int price = 0;
@@ -1901,6 +1954,43 @@ namespace TemuKJD.WXForms.ProductForms
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}"; return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
} }
} }
// 只保留最低价
if (chkLowestPriceSku.Checked)
{
int price = 99999999;
var skuJArr = prodJObj["detail"]["sku"] as JArray;
try
{
// 计算主spec的最低价
foreach (var skuJObj in skuJArr)
{
if (price > skuJObj["multi_price"].ParseToInt())
price = skuJObj["multi_price"].ParseToInt();
}
var product_json_tmp = JsonHelper.SerializeObject(prodJObj);
// 移除第一组所有sku
skuJArr.RemoveAll();
// 序列化第二组,从组中挑选符合价格条件的sku往第一组内填写
var prodJObj2 = JObject.Parse(product_json_tmp);
var skuJArr2 = prodJObj2["detail"]["sku"] as JArray;
foreach (var skuJObj2 in skuJArr2)
{
if (skuJObj2["multi_price"].ParseToInt() <= price)
skuJArr.Add(skuJObj2);
}
if (skuJArr.Count == 0)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku差价不满足上货条件,跳过\"}";
}
}
catch (Exception ex)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品数据初始化失败" + ex.Message + "\"}";
}
}
// 过滤低价sku,如果所有sku都不达标,跳过商品 // 过滤低价sku,如果所有sku都不达标,跳过商品
if (!string.IsNullOrEmpty(txtMinPrice.Text)) if (!string.IsNullOrEmpty(txtMinPrice.Text))
{ {
@@ -1915,11 +2005,11 @@ namespace TemuKJD.WXForms.ProductForms
var skuJArr2 = prodJObj2["detail"]["sku"] as JArray; var skuJArr2 = prodJObj2["detail"]["sku"] as JArray;
foreach (var skuJObj2 in skuJArr2) foreach (var skuJObj2 in skuJArr2)
{ {
var limitPrice = this.txtMinPrice.Text.Trim().ParseToDecimal() * 100; var limitMinPrice = this.txtMinPrice.Text.Trim().ParseToDecimal() * 100;
// 供应商价加价10%(最低1元)赚取差价 先加价后过滤,过滤条件也要相应增加10% // 供应商价加价10%(最低1元)赚取差价 先加价后过滤,过滤条件也要相应增加10%
//if (dbProd.product_get_type_text == "厂商直采") //if (dbProd.product_get_type_text == "厂商直采")
// limitPrice += Math.Max(100m, limitPrice * 0.1m); // limitPrice += Math.Max(100m, limitPrice * 0.1m);
if (skuJObj2["multi_price"].ParseToInt() >= limitPrice) if (skuJObj2["multi_price"].ParseToInt() >= limitMinPrice)
skuJArr.Add(skuJObj2); skuJArr.Add(skuJObj2);
} }
if (skuJArr.Count == 0) if (skuJArr.Count == 0)
@@ -1927,6 +2017,33 @@ namespace TemuKJD.WXForms.ProductForms
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku价格不满足上货条件,跳过\"}"; return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku价格不满足上货条件,跳过\"}";
} }
} }
// 过滤高价sku,如果所有sku都不达标,跳过商品
if (!string.IsNullOrEmpty(txtMaxPrice.Text))
{
var product_json_tmp = JsonHelper.SerializeObject(prodJObj);
// 移除第一组所有sku
var skuJArr = prodJObj["detail"]["sku"] as JArray;
skuJArr.RemoveAll();
// 序列化第二组,从组中挑选符合价格条件的sku往第一组内填写
var prodJObj2 = JObject.Parse(product_json_tmp);
var skuJArr2 = prodJObj2["detail"]["sku"] as JArray;
foreach (var skuJObj2 in skuJArr2)
{
var limitMaxPrice = this.txtMaxPrice.Text.Trim().ParseToDecimal() * 100;
// 供应商价加价10%(最低1元)赚取差价 先加价后过滤,过滤条件也要相应增加10%
//if (dbProd.product_get_type_text == "厂商直采")
// limitPrice += Math.Max(100m, limitPrice * 0.1m);
if (skuJObj2["multi_price"].ParseToInt() <= limitMaxPrice)
skuJArr.Add(skuJObj2);
}
if (skuJArr.Count == 0)
{
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品sku价格不满足上货条件,跳过\"}";
}
}
dbProd.product_json = JsonHelper.SerializeObject(prodJObj); dbProd.product_json = JsonHelper.SerializeObject(prodJObj);
} }
catch (Exception ex) catch (Exception ex)
@@ -5937,6 +6054,12 @@ namespace TemuKJD.WXForms.ProductForms
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
} }
private void txtMaxPrice_TextChanged(object sender, EventArgs e)
{
wxUploadRule.SkuMaxPrice = txtMaxPrice.Text.Trim().ParseToInt();
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void txtWaitSeconds_TextChanged(object sender, EventArgs e) private void txtWaitSeconds_TextChanged(object sender, EventArgs e)
{ {
wxUploadRule.WaitSeconds = txtWaitSeconds.Text.Trim().ParseToInt(); wxUploadRule.WaitSeconds = txtWaitSeconds.Text.Trim().ParseToInt();
@@ -5946,12 +6069,30 @@ namespace TemuKJD.WXForms.ProductForms
private void chkHighestPriceSku_CheckedChanged(object sender, EventArgs e) private void chkHighestPriceSku_CheckedChanged(object sender, EventArgs e)
{ {
wxUploadRule.OnlyHighestPriceSku = chkHighestPriceSku.Checked; wxUploadRule.OnlyHighestPriceSku = chkHighestPriceSku.Checked;
if (chkHighestPriceSku.Checked)
chkLowestPriceSku.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void chkLowestPriceSku_CheckedChanged(object sender, EventArgs e)
{
wxUploadRule.OnlyLowestPriceSku = chkLowestPriceSku.Checked;
if (chkLowestPriceSku.Checked)
chkHighestPriceSku.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
} }
private void chkSameSpecPrice_CheckedChanged(object sender, EventArgs e) private void chkSameSpecPriceUp_CheckedChanged(object sender, EventArgs e)
{ {
wxUploadRule.SameSpecSamePrice = chkSameSpecPrice.Checked; wxUploadRule.SameSpecSamePriceUp = chkSameSpecPriceUp.Checked;
if (chkSameSpecPriceUp.Checked)
chkSameSpecPriceDown.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
}
private void chkSameSpecPriceDown_CheckedChanged(object sender, EventArgs e)
{
wxUploadRule.SameSpecSamePriceDown = chkSameSpecPriceDown.Checked;
if (chkSameSpecPriceDown.Checked)
chkSameSpecPriceUp.Checked = false;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule);
} }
@@ -6372,6 +6513,11 @@ namespace TemuKJD.WXForms.ProductForms
fillWxCate(); fillWxCate();
} }
} }
private void chkSameSpecPrice_CheckedChanged(object sender, EventArgs e)
{
}
} }
public class WXUpload public class WXUpload
@@ -6823,11 +6969,14 @@ Content-Type: application/octet-stream
public string FilterWords { get; set; } = "顶级,之王,二手,亏本,冲量,白菜价,跳楼价,xx,xxx,最大,最小,低价,降价,成本,赔钱,甩卖,真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草"; public string FilterWords { get; set; } = "顶级,之王,二手,亏本,冲量,白菜价,跳楼价,xx,xxx,最大,最小,低价,降价,成本,赔钱,甩卖,真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草";
public int SkuMinPrice { get; set; } = 10; public int SkuMinPrice { get; set; } = 10;
public int SkuMaxPrice { get; set; } = 9999;
public int WaitSeconds { get; set; } = 10; public int WaitSeconds { get; set; } = 10;
public bool OnlyHighestPriceSku { get; set; } = true; public bool OnlyHighestPriceSku { get; set; } = false;
public bool SameSpecSamePrice { get; set; } = true; public bool OnlyLowestPriceSku { get; set; } = false;
public bool SameSpecSamePriceUp { get; set; } = false;
public bool SameSpecSamePriceDown { get; set; } = false;
public bool SkipUploaded { get; set; } = true; public bool SkipUploaded { get; set; } = true;
public bool UpDraft { get; set; } = false; public bool UpDraft { get; set; } = false;
public bool IsPreSale { get; set; } = false; public bool IsPreSale { get; set; } = false;
+57 -39
View File
@@ -55,6 +55,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearList = new DevComponents.DotNetBar.PanelEx(); this.btnClearList = new DevComponents.DotNetBar.PanelEx();
this.btnDown = new DevComponents.DotNetBar.PanelEx(); this.btnDown = new DevComponents.DotNetBar.PanelEx();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbChangePriceType = new System.Windows.Forms.ComboBox();
this.btnRestorePrice = new DevComponents.DotNetBar.PanelEx(); this.btnRestorePrice = new DevComponents.DotNetBar.PanelEx();
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.txtPrice = new System.Windows.Forms.TextBox(); this.txtPrice = new System.Windows.Forms.TextBox();
@@ -71,12 +72,9 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearDgv = new DevComponents.DotNetBar.PanelEx(); this.btnClearDgv = new DevComponents.DotNetBar.PanelEx();
this.btnSetPreSale = new DevComponents.DotNetBar.PanelEx(); this.btnSetPreSale = new DevComponents.DotNetBar.PanelEx();
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.label9 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label();
this.chkSearchPromotionLink = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkSearchPromotionLink = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.cmbOnSaleStatus = new System.Windows.Forms.ComboBox(); this.cmbOnSaleStatus = new System.Windows.Forms.ComboBox();
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
this.chkProdTime = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.dtpStartTime = new System.Windows.Forms.DateTimePicker(); this.dtpStartTime = new System.Windows.Forms.DateTimePicker();
this.cmbPreType = new System.Windows.Forms.ComboBox(); this.cmbPreType = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
@@ -85,6 +83,7 @@ namespace TemuKJD.WXForms.ProductForms
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.btnClearFilter = new DevComponents.DotNetBar.PanelEx(); this.btnClearFilter = new DevComponents.DotNetBar.PanelEx();
this.btnSearchProd = new DevComponents.DotNetBar.PanelEx(); this.btnSearchProd = new DevComponents.DotNetBar.PanelEx();
this.chkProdTime = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbFilterShopGroup = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.cmbFilterShopGroup = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
this.label24 = new System.Windows.Forms.Label(); this.label24 = new System.Windows.Forms.Label();
@@ -102,9 +101,11 @@ namespace TemuKJD.WXForms.ProductForms
this.label17 = new System.Windows.Forms.Label(); this.label17 = new System.Windows.Forms.Label();
this.splitContainer3 = new System.Windows.Forms.SplitContainer(); this.splitContainer3 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.label9 = new System.Windows.Forms.Label();
this.pbLoadingShop = new System.Windows.Forms.PictureBox(); this.pbLoadingShop = new System.Windows.Forms.PictureBox();
this.txtPageBegin = new System.Windows.Forms.TextBox(); this.txtPageBegin = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.dtpEndTime = new System.Windows.Forms.DateTimePicker();
this.txtIdFilter = new System.Windows.Forms.TextBox(); this.txtIdFilter = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label();
this.lblIdFilter = new System.Windows.Forms.Label(); this.lblIdFilter = new System.Windows.Forms.Label();
@@ -454,6 +455,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.ucGroupBoxEx2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
this.ucGroupBoxEx2.Controls.Add(this.cmbChangePriceType);
this.ucGroupBoxEx2.Controls.Add(this.btnRestorePrice); this.ucGroupBoxEx2.Controls.Add(this.btnRestorePrice);
this.ucGroupBoxEx2.Controls.Add(this.label7); this.ucGroupBoxEx2.Controls.Add(this.label7);
this.ucGroupBoxEx2.Controls.Add(this.txtPrice); this.ucGroupBoxEx2.Controls.Add(this.txtPrice);
@@ -476,13 +478,28 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx2.TabStop = false; this.ucGroupBoxEx2.TabStop = false;
this.ucGroupBoxEx2.Text = "设置预售/价格"; this.ucGroupBoxEx2.Text = "设置预售/价格";
// //
// cmbChangePriceType
//
this.cmbChangePriceType.FormattingEnabled = true;
this.cmbChangePriceType.Items.AddRange(new object[] {
"指定价格",
"原价×",
"原价÷",
"原价+",
"原价−"});
this.cmbChangePriceType.Location = new System.Drawing.Point(107, 128);
this.cmbChangePriceType.Name = "cmbChangePriceType";
this.cmbChangePriceType.Size = new System.Drawing.Size(74, 25);
this.cmbChangePriceType.TabIndex = 870;
this.cmbChangePriceType.Text = "固定价格";
//
// btnRestorePrice // btnRestorePrice
// //
this.btnRestorePrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnRestorePrice.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnRestorePrice.Cursor = System.Windows.Forms.Cursors.Hand; this.btnRestorePrice.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRestorePrice.DisabledBackColor = System.Drawing.Color.Empty; this.btnRestorePrice.DisabledBackColor = System.Drawing.Color.Empty;
this.btnRestorePrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnRestorePrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRestorePrice.Location = new System.Drawing.Point(242, 129); this.btnRestorePrice.Location = new System.Drawing.Point(309, 129);
this.btnRestorePrice.Name = "btnRestorePrice"; this.btnRestorePrice.Name = "btnRestorePrice";
this.btnRestorePrice.Size = new System.Drawing.Size(84, 23); this.btnRestorePrice.Size = new System.Drawing.Size(84, 23);
this.btnRestorePrice.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnRestorePrice.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -513,7 +530,7 @@ namespace TemuKJD.WXForms.ProductForms
// //
// txtPrice // txtPrice
// //
this.txtPrice.Location = new System.Drawing.Point(113, 129); this.txtPrice.Location = new System.Drawing.Point(184, 129);
this.txtPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.txtPrice.Name = "txtPrice"; this.txtPrice.Name = "txtPrice";
this.txtPrice.Size = new System.Drawing.Size(33, 23); this.txtPrice.Size = new System.Drawing.Size(33, 23);
@@ -525,7 +542,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnSetPrice.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSetPrice.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSetPrice.DisabledBackColor = System.Drawing.Color.Empty; this.btnSetPrice.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSetPrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnSetPrice.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSetPrice.Location = new System.Drawing.Point(152, 129); this.btnSetPrice.Location = new System.Drawing.Point(221, 129);
this.btnSetPrice.Name = "btnSetPrice"; this.btnSetPrice.Name = "btnSetPrice";
this.btnSetPrice.Size = new System.Drawing.Size(84, 23); this.btnSetPrice.Size = new System.Drawing.Size(84, 23);
this.btnSetPrice.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnSetPrice.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -731,17 +748,6 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.TabStop = false; this.ucGroupBoxEx4.TabStop = false;
this.ucGroupBoxEx4.Text = "商品查询"; this.ucGroupBoxEx4.Text = "商品查询";
// //
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(17, 144);
this.label9.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(32, 17);
this.label9.TabIndex = 988;
this.label9.Text = "结束";
this.label9.Visible = false;
//
// label5 // label5
// //
this.label5.AutoSize = true; this.label5.AutoSize = true;
@@ -782,28 +788,6 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbOnSaleStatus.SelectedIndexChanged += new System.EventHandler(this.cmbOnSaleStatus_SelectedIndexChanged); this.cmbOnSaleStatus.SelectedIndexChanged += new System.EventHandler(this.cmbOnSaleStatus_SelectedIndexChanged);
this.cmbOnSaleStatus.TextChanged += new System.EventHandler(this.cmbOnSaleStatus_TextChanged); this.cmbOnSaleStatus.TextChanged += new System.EventHandler(this.cmbOnSaleStatus_TextChanged);
// //
// dtpEndTime
//
this.dtpEndTime.CustomFormat = "yyyy-MM-dd HH:mm";
this.dtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEndTime.Location = new System.Drawing.Point(49, 141);
this.dtpEndTime.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.dtpEndTime.Name = "dtpEndTime";
this.dtpEndTime.Size = new System.Drawing.Size(134, 23);
this.dtpEndTime.TabIndex = 986;
this.dtpEndTime.Visible = false;
//
// chkProdTime
//
this.chkProdTime.AutoSize = true;
this.chkProdTime.Location = new System.Drawing.Point(211, 59);
this.chkProdTime.Name = "chkProdTime";
this.chkProdTime.Size = new System.Drawing.Size(60, 21);
this.chkProdTime.TabIndex = 837;
this.chkProdTime.Text = "时间>";
this.chkProdTime.UseVisualStyleBackColor = true;
this.chkProdTime.CheckedChanged += new System.EventHandler(this.chkProdTime_CheckedChanged);
//
// dtpStartTime // dtpStartTime
// //
this.dtpStartTime.CustomFormat = "yyyy-MM-dd HH:mm"; this.dtpStartTime.CustomFormat = "yyyy-MM-dd HH:mm";
@@ -936,6 +920,17 @@ namespace TemuKJD.WXForms.ProductForms
this.btnSearchProd.Text = "商品查询"; this.btnSearchProd.Text = "商品查询";
this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click); this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click);
// //
// chkProdTime
//
this.chkProdTime.AutoSize = true;
this.chkProdTime.Location = new System.Drawing.Point(211, 59);
this.chkProdTime.Name = "chkProdTime";
this.chkProdTime.Size = new System.Drawing.Size(60, 21);
this.chkProdTime.TabIndex = 837;
this.chkProdTime.Text = "时间>";
this.chkProdTime.UseVisualStyleBackColor = true;
this.chkProdTime.CheckedChanged += new System.EventHandler(this.chkProdTime_CheckedChanged);
//
// ucGroupBoxEx1 // ucGroupBoxEx1
// //
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -1273,6 +1268,17 @@ namespace TemuKJD.WXForms.ProductForms
this.splitContainer2.SplitterDistance = 350; this.splitContainer2.SplitterDistance = 350;
this.splitContainer2.TabIndex = 0; this.splitContainer2.TabIndex = 0;
// //
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(17, 144);
this.label9.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(32, 17);
this.label9.TabIndex = 988;
this.label9.Text = "结束";
this.label9.Visible = false;
//
// pbLoadingShop // pbLoadingShop
// //
this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None;
@@ -1309,6 +1315,17 @@ namespace TemuKJD.WXForms.ProductForms
this.label1.Text = "开始页"; this.label1.Text = "开始页";
this.label1.Visible = false; this.label1.Visible = false;
// //
// dtpEndTime
//
this.dtpEndTime.CustomFormat = "yyyy-MM-dd HH:mm";
this.dtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEndTime.Location = new System.Drawing.Point(49, 141);
this.dtpEndTime.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.dtpEndTime.Name = "dtpEndTime";
this.dtpEndTime.Size = new System.Drawing.Size(134, 23);
this.dtpEndTime.TabIndex = 986;
this.dtpEndTime.Visible = false;
//
// txtIdFilter // txtIdFilter
// //
this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F); this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
@@ -2020,5 +2037,6 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.DateTimePicker dtpStartTime; private System.Windows.Forms.DateTimePicker dtpStartTime;
private System.Windows.Forms.DateTimePicker dtpEndTime; private System.Windows.Forms.DateTimePicker dtpEndTime;
private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label9;
private System.Windows.Forms.ComboBox cmbChangePriceType;
} }
} }
@@ -1753,7 +1753,16 @@ namespace TemuKJD.WXForms.ProductForms
return; return;
} }
var downProdRst = changePrice(shop, prodId, skuPricesStr, (newPrice * 100).ParseToInt()); var ChangePriceType = "固定价格";
Invoke(new Action(() =>
{
ChangePriceType = cmbChangePriceType.Text.Trim();
// 提前保存防止修改时出错/闪退导致保存失败。
dicProductBasePrice[prodId] = skuPricesStr;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_product_base_price", dicProductBasePrice);
}));
var downProdRst = changePrice(shop, prodId, skuPricesStr, (newPrice * 100).ParseToInt(), false, ChangePriceType);
Thread.Sleep(Randomx.GetId(200, 500)); Thread.Sleep(Randomx.GetId(200, 500));
if (!downProdRst.Contains("\"code\":0")) if (!downProdRst.Contains("\"code\":0"))
{ {
@@ -1783,10 +1792,46 @@ namespace TemuKJD.WXForms.ProductForms
{ {
Invoke(new Action(() => Invoke(new Action(() =>
{ {
dicProductBasePrice[prodId] = skuPricesStr;
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_product_base_price", dicProductBasePrice);
row.Cells["colOpResult"].Value = "修改价格成功"; row.Cells["colOpResult"].Value = "修改价格成功";
row.Cells["colPrice"].Value = newPrice;
if (ChangePriceType == "原价×")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice * newPrice).ParseToInt() * 0.01m;
var highPrice = (oldHighPrice * newPrice).ParseToInt() * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else if (ChangePriceType == "原价÷")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice / newPrice).ParseToInt() * 0.01m;
var highPrice = (oldHighPrice / newPrice).ParseToInt() * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else if (ChangePriceType == "原价+")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice + (newPrice * 100).ParseToInt()) * 0.01m;
var highPrice = (oldHighPrice + (newPrice * 100).ParseToInt()) * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else if (ChangePriceType == "原价−")
{
var priceArr = JArray.Parse(skuPricesStr);
var oldLowPrice = priceArr.Min(p => p["price"].ParseToInt());
var oldHighPrice = priceArr.Max(p => p["price"].ParseToInt());
var lowPrice = (oldLowPrice - (newPrice * 100).ParseToInt()) * 0.01m;
var highPrice = (oldHighPrice - (newPrice * 100).ParseToInt()) * 0.01m;
row.Cells["colPrice"].Value = "" + lowPrice + " - " + highPrice;
}
else
row.Cells["colPrice"].Value = newPrice;
})); }));
} }
}); });
@@ -1814,7 +1859,7 @@ namespace TemuKJD.WXForms.ProductForms
/// <param name="newPrice">新价格 单位分</param> /// <param name="newPrice">新价格 单位分</param>
/// <param name="isRestore">是否是还原价格</param> /// <param name="isRestore">是否是还原价格</param>
/// <returns></returns> /// <returns></returns>
private string changePrice(ShopLoginInfo shop, string spuId, string skuPrices, int newPrice, bool isRestore = false) private string changePrice(ShopLoginInfo shop, string spuId, string skuPrices, int newPrice, bool isRestore = false, string newPriceType = "固定价格")
{ {
try try
{ {
@@ -1829,7 +1874,18 @@ namespace TemuKJD.WXForms.ProductForms
if (isRestore) if (isRestore)
obj["salePrice"] = sku["price"].ParseToInt(); obj["salePrice"] = sku["price"].ParseToInt();
else else
obj["salePrice"] = newPrice; {
if (newPriceType == "原价×")
obj["salePrice"] = sku["price"].ParseToInt() * newPrice / 100;
else if (newPriceType == "原价÷")
obj["salePrice"] = sku["price"].ParseToInt() * 100 / newPrice;
else if (newPriceType == "原价+")
obj["salePrice"] = sku["price"].ParseToInt() + newPrice;
else if (newPriceType == "原价−")
obj["salePrice"] = sku["price"].ParseToInt() - newPrice;
else
obj["salePrice"] = newPrice;
}
skuArr.Add(obj); skuArr.Add(obj);
} }
changePriceObj["skuList"] = skuArr; changePriceObj["skuList"] = skuArr;
@@ -169,13 +169,21 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvDbProduct.Rows.Clear(); this.dgvDbProduct.Rows.Clear();
lstTemuDbProduct.Clear(); lstTemuDbProduct.Clear();
} }
bool isNotCount = true;
if (BaseClass.UserName == "13313717678" || BaseClass.ParentUserName == "13313717678")
{
ucSplitPage1.lblTotal.Visible = true;
isNotCount = false;
}
Task.Run(() => Task.Run(() =>
{ {
int pageCount; int pageCount;
int pageSize = 100; int pageSize = 100;
decimal seconds; decimal seconds;
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; })); Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
var list = GetProductList(out pageCount, out seconds, page, pageSize); var list = GetProductList(out pageCount, out seconds, page, pageSize, isNotCount);
lstTemuDbProduct.AddRange(list); lstTemuDbProduct.AddRange(list);
this.ucSplitPage1.TotalPage = pageCount; this.ucSplitPage1.TotalPage = pageCount;
@@ -485,8 +493,6 @@ namespace TemuKJD.WXForms.ProductForms
data += "&is_not_count=true"; data += "&is_not_count=true";
})); }));
var html = GetHtml.PostUtf8(url, data); 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")) if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data); html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
+148 -6
View File
@@ -33,25 +33,34 @@ namespace TemuKJD.WXForms.ShopForms
this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.btnRefresh = new DevComponents.DotNetBar.PanelEx(); this.btnRefresh = new DevComponents.DotNetBar.PanelEx();
this.pbLoading = new System.Windows.Forms.PictureBox(); this.pbLoading = new System.Windows.Forms.PictureBox();
this.numAddTopUp = new System.Windows.Forms.NumericUpDown();
this.label8 = new System.Windows.Forms.Label();
this.btnAddPoints = new DevComponents.DotNetBar.PanelEx();
this.btnAddBalance = new DevComponents.DotNetBar.PanelEx();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numAddTopUp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// label1 // label1
// //
this.label1.Font = new System.Drawing.Font("微软雅黑", 11F); this.label1.Font = new System.Drawing.Font("微软雅黑", 11F);
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0))))); this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.label1.Location = new System.Drawing.Point(30, 420); this.label1.Location = new System.Drawing.Point(27, 283);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(384, 44); this.label1.Size = new System.Drawing.Size(228, 72);
this.label1.TabIndex = 1; this.label1.TabIndex = 1;
this.label1.Text = "支付宝扫码充值,备注软件登录账户。如忘记备注,请联系购买方充值。"; this.label1.Text = "支付宝扫码充值,备注软件登录账户。如忘记备注,请联系购买方充值。";
// //
// pictureBox1 // pictureBox1
// //
this.pictureBox1.Location = new System.Drawing.Point(30, 30); this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBox1.Location = new System.Drawing.Point(30, 31);
this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(384, 384); this.pictureBox1.Size = new System.Drawing.Size(212, 212);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 3; this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false; this.pictureBox1.TabStop = false;
@@ -62,7 +71,7 @@ namespace TemuKJD.WXForms.ShopForms
this.btnRefresh.Cursor = System.Windows.Forms.Cursors.Hand; this.btnRefresh.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnRefresh.DisabledBackColor = System.Drawing.Color.Empty; this.btnRefresh.DisabledBackColor = System.Drawing.Color.Empty;
this.btnRefresh.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnRefresh.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRefresh.Location = new System.Drawing.Point(330, 467); this.btnRefresh.Location = new System.Drawing.Point(158, 358);
this.btnRefresh.Name = "btnRefresh"; this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(84, 23); this.btnRefresh.Size = new System.Drawing.Size(84, 23);
this.btnRefresh.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnRefresh.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -83,7 +92,7 @@ namespace TemuKJD.WXForms.ShopForms
// pbLoading // pbLoading
// //
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(197, 197); this.pbLoading.Location = new System.Drawing.Point(111, 112);
this.pbLoading.Name = "pbLoading"; this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -91,11 +100,135 @@ namespace TemuKJD.WXForms.ShopForms
this.pbLoading.TabStop = false; this.pbLoading.TabStop = false;
this.pbLoading.Visible = false; this.pbLoading.Visible = false;
// //
// numAddTopUp
//
this.numAddTopUp.DecimalPlaces = 2;
this.numAddTopUp.Location = new System.Drawing.Point(116, 418);
this.numAddTopUp.Maximum = new decimal(new int[] {
100000,
0,
0,
0});
this.numAddTopUp.Minimum = new decimal(new int[] {
1,
0,
0,
131072});
this.numAddTopUp.Name = "numAddTopUp";
this.numAddTopUp.Size = new System.Drawing.Size(66, 23);
this.numAddTopUp.TabIndex = 1140;
this.numAddTopUp.Value = new decimal(new int[] {
1,
0,
0,
131072});
this.numAddTopUp.Visible = false;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(33, 421);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(92, 17);
this.label8.TabIndex = 1141;
this.label8.Text = "积分充值金额:";
this.label8.Visible = false;
//
// btnAddPoints
//
this.btnAddPoints.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddPoints.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddPoints.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddPoints.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddPoints.Location = new System.Drawing.Point(186, 418);
this.btnAddPoints.Name = "btnAddPoints";
this.btnAddPoints.Size = new System.Drawing.Size(56, 23);
this.btnAddPoints.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddPoints.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddPoints.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddPoints.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddPoints.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddPoints.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddPoints.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddPoints.Style.GradientAngle = 90;
this.btnAddPoints.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddPoints.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddPoints.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddPoints.TabIndex = 1145;
this.btnAddPoints.Text = "充值";
this.btnAddPoints.Visible = false;
this.btnAddPoints.Click += new System.EventHandler(this.btnAddPoints_Click);
//
// btnAddBalance
//
this.btnAddBalance.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnAddBalance.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnAddBalance.DisabledBackColor = System.Drawing.Color.Empty;
this.btnAddBalance.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddBalance.Location = new System.Drawing.Point(186, 452);
this.btnAddBalance.Name = "btnAddBalance";
this.btnAddBalance.Size = new System.Drawing.Size(56, 23);
this.btnAddBalance.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddBalance.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddBalance.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnAddBalance.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.btnAddBalance.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
this.btnAddBalance.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
this.btnAddBalance.Style.ForeColor.Color = System.Drawing.Color.White;
this.btnAddBalance.Style.GradientAngle = 90;
this.btnAddBalance.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.btnAddBalance.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddBalance.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnAddBalance.TabIndex = 1151;
this.btnAddBalance.Text = "充值";
this.btnAddBalance.Visible = false;
this.btnAddBalance.Click += new System.EventHandler(this.btnAddBalance_Click);
//
// numericUpDown1
//
this.numericUpDown1.DecimalPlaces = 2;
this.numericUpDown1.Location = new System.Drawing.Point(116, 452);
this.numericUpDown1.Maximum = new decimal(new int[] {
100000,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
1,
0,
0,
131072});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(66, 23);
this.numericUpDown1.TabIndex = 1149;
this.numericUpDown1.Value = new decimal(new int[] {
1,
0,
0,
131072});
this.numericUpDown1.Visible = false;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(33, 455);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(92, 17);
this.label2.TabIndex = 1150;
this.label2.Text = "余额充值金额:";
this.label2.Visible = false;
//
// WXGetTopUpQrCode // WXGetTopUpQrCode
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(800, 522); this.ClientSize = new System.Drawing.Size(800, 522);
this.Controls.Add(this.btnAddBalance);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label2);
this.Controls.Add(this.btnAddPoints);
this.Controls.Add(this.numAddTopUp);
this.Controls.Add(this.label8);
this.Controls.Add(this.pbLoading); this.Controls.Add(this.pbLoading);
this.Controls.Add(this.btnRefresh); this.Controls.Add(this.btnRefresh);
this.Controls.Add(this.pictureBox1); this.Controls.Add(this.pictureBox1);
@@ -106,7 +239,10 @@ namespace TemuKJD.WXForms.ShopForms
this.Load += new System.EventHandler(this.WXGetTopUpQrCode_Load); this.Load += new System.EventHandler(this.WXGetTopUpQrCode_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numAddTopUp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout();
} }
@@ -115,5 +251,11 @@ namespace TemuKJD.WXForms.ShopForms
private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.PictureBox pictureBox1;
private DevComponents.DotNetBar.PanelEx btnRefresh; private DevComponents.DotNetBar.PanelEx btnRefresh;
private System.Windows.Forms.PictureBox pbLoading; private System.Windows.Forms.PictureBox pbLoading;
private System.Windows.Forms.NumericUpDown numAddTopUp;
private System.Windows.Forms.Label label8;
private DevComponents.DotNetBar.PanelEx btnAddPoints;
private DevComponents.DotNetBar.PanelEx btnAddBalance;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label2;
} }
} }
@@ -3,12 +3,15 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Security.Policy;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using TemuKJD.BaseForms; using TemuKJD.BaseForms;
using TemuKJD.KJDForms.ShopForms;
using Work; using Work;
using Work.BLL.Tools; using Work.BLL.Tools;
@@ -60,6 +63,27 @@ namespace TemuKJD.WXForms.ShopForms
{ {
Task.Run(() => { refreshQrcode(); }); Task.Run(() => { refreshQrcode(); });
} }
private void btnAddPoints_Click(object sender, EventArgs e)
{
try
{
Process.Start(new ProcessStartInfo("https://excashier.alipay.com/standard/auth.htm?payOrderId=5afc56d40af64001ad2a486cce1ca579.25") { UseShellExecute = true });
}
catch (Exception ex)
{
// 处理可能出现的异常,例如找不到浏览器等
MessageBox.Show("无法打开浏览器: " + ex.Message);
}
}
private void btnAddBalance_Click(object sender, EventArgs e)
{
ShopLoginForm loginForm = new ShopLoginForm(new AllBase.Model.Result.ShopLoginInfo());
loginForm.InitUrl = "https://excashier.alipay.com/standard/auth.htm?payOrderId=5afc56d40af64001ad2a486cce1ca579.25";
loginForm.openType = KJDForms.ShopForms.EnumOpenType.manage;
loginForm.ShowDialog();
}
} }
} }
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,508 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.BLL;
using TemuKJD.Extension;
using Work;
namespace TemuKJD.WXForms.ShopForms
{
public partial class WXOemAccountForm
: BaseForm
{
public static List<UserSubAccountInfo> AllUsers { get; set; } = new List<UserSubAccountInfo>();
public MainForm Mf { get; set; } = null;
public string Uid { get; set; } = "";
public WXOemAccountForm()
{
InitializeComponent();
}
private void btnOpUser_Click(object sender, EventArgs e)
{
if (txtPassword.Text != txtRePass.Text)
{
BaseMsgForm.ShowInfo("两次密码不正确", "提示");
return;
}
if (btnOpUser.Text == "添加用户" && txtPassword.Text.Length < 6)
{
BaseMsgForm.ShowInfo("密码最少6位", "提示");
return;
}
if (string.IsNullOrEmpty(txtNickName.Text) || string.IsNullOrEmpty(txtMobile.Text) ||
txtMobile.Text.Length != 11)
{
BaseMsgForm.ShowInfo("信息不正确", "提示");
return;
}
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&add_nick_name=" + GetHtml.UrlEncodeUtf8(txtNickName.Text));
data.Append("&add_user_name=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_mobile=" + GetHtml.UrlEncodeUtf8(txtMobile.Text));
data.Append("&add_company=" + GetHtml.UrlEncodeUtf8(txtCompany.Text));
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(BaseClass.OemId.Trim()));
if (!string.IsNullOrEmpty(txtPassword.Text))
data.Append("&add_password=" + Md5Base.GetMd5(txtPassword.Text).ToLower());
// 主账户
data.Append("&group_id=3");
string url = BaseClass.BuildObjString("user/add_user");
if (btnOpUser.Text != "添加用户" && !string.IsNullOrEmpty(Uid))
{
data.Append("&id=" + Uid);
url = BaseClass.BuildObjString("user/update_user");
}
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!string.IsNullOrEmpty(html))
{
if (html.Contains("\"code\":200"))
{
btnOpUser.Text = "添加用户";
EmptyInput();
btnCancel.Visible = false;
GetUser();
return;
}
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
BaseMsgForm.ShowError("出现异常,添加失败", "错误");
}
private void GetUser()
{
dgvUser.Rows.Clear();
AllUsers.Clear();
if (BaseClass.OemId.IsNullOrEmpty() || BaseClass.IsOemOwner == false)
return;
string url = BaseClass.BuildObjString("user/get_all_user");
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
// 主账户
data.Append("&group_id=3");
data.Append("&oem_id=" + BaseClass.OemId);
if (!string.IsNullOrWhiteSpace(txtSearch.Text))
data.Append("&search=" + txtSearch.Text.Replace("'","'"));
string html = GetHtml.PostUtf8(url, data.ToString());
if (string.IsNullOrEmpty(html))
return;
if (html.Contains("\"data\""))
{
var userObj = Newtonsoft.Json.Linq.JObject.Parse(html);
foreach (Newtonsoft.Json.Linq.JObject obj in userObj["data"])
{
string oStr = JsonHelper.SerializeObject(obj);
UserSubAccountInfo user = new UserSubAccountInfo();
user.id = BaseRegex.GetIntJson(ref oStr, "id");
user.user_name = BaseRegex.GetStringJson(ref oStr, "user_name");
user.nick_name = BaseRegex.GetStringJson(ref oStr, "nick_name");
user.mobile = BaseRegex.GetStringJson(ref oStr, "mobile");
user.group_id = BaseRegex.GetStringJson(ref oStr, "group_id");
user.shop_count = BaseRegex.GetIntJson(ref oStr, "shop_count");
user.company_name = BaseRegex.GetStringJson(ref oStr, "company_name");
user.sa_level = BaseRegex.GetIntJson(ref oStr, "sa_level");
user.authority = BaseRegex.GetStringJson(ref oStr, "authority");
user.points = BaseRegex.GetIntJson(ref oStr, "points");
user.balance = BaseRegex.GetDecimalJson(ref oStr, "balance");
user.shop_points_per_month = BaseRegex.GetIntJson(ref oStr, "shop_points_per_month");
user.postage_per_order = BaseRegex.GetDecimalJson(ref oStr, "postage_per_order");
user.oem_id = BaseRegex.GetStringJson(ref oStr, "oem_id");
user.oem_name = BaseRegex.GetStringJson(ref oStr, "oem_name");
var parent_user_name = BaseRegex.GetStringJson(ref oStr, "parent_user_name");
AllUsers.Add(user);
dgvUser.Rows.Add(
false,
user.id,
user.nick_name,
user.user_name,
parent_user_name,
user.group_id,
user.group_name,
user.company_name,
user.shop_count,
user.sa_level,
user.sa_level_name /*+ (user.group_id == "4" ? "(客服)" : "")*/,
user.authority,
user.oem_id,
user.oem_name,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.points : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "+" : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? (int?)user.shop_points_per_month : null,
(user.authority.Contains("充值用户") && user.group_id == "3") ? "改" : null,
user.balance.ParseToDecimal(),
"+",
Math.Max(2.2m, user.postage_per_order.ParseToDecimal()),
(user.group_id == "3") ? "改" : null,
user.group_id == "3" ? "添加店铺" : "",
"编辑",
"删除");
}
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
btnOpUser.Text = "添加用户";
Uid = "";
EmptyInput();
btnCancel.Visible = false;
}
private void EmptyInput()
{
txtNickName.Clear();
txtPassword.Clear();
txtRePass.Clear();
txtMobile.Clear();
txtCompany.Clear();
}
private void btnRefresh_Click(object sender, EventArgs e)
{
GetUser();
}
private void dgvUser_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string columText = dgvUser.Columns[e.ColumnIndex].HeaderText;
string columName = dgvUser.Columns[e.ColumnIndex].Name;
string uid = dgvUser.Rows[e.RowIndex].Cells["UseridColumn"].Value.ToString();
string nickName = dgvUser.Rows[e.RowIndex].Cells["UserNickNameColumn"].Value.ToString();
string mobile = dgvUser.Rows[e.RowIndex].Cells["mobileColumn"].Value.ToString();
string groupName = dgvUser.Rows[e.RowIndex].Cells["groupNameColumn"].Value.ToString();
string company = dgvUser.Rows[e.RowIndex].Cells["colCompany"].Value.ToString();
string saLevelName = dgvUser.Rows[e.RowIndex].Cells["colSaLevelName"].Value.ToString();
string authority = dgvUser.Rows[e.RowIndex].Cells["colAuthority"].Value.ParseToString();
int shopPointsPerMonth = dgvUser.Rows[e.RowIndex].Cells["colShopPointsPerMonth"].Value.ParseToInt();
decimal postagePerOrder = dgvUser.Rows[e.RowIndex].Cells["colPostagePerOrder"].Value.ParseToDecimal();
var row = dgvUser.Rows[e.RowIndex];
if (columText == "编辑")
{
Uid = uid;
txtNickName.Text = nickName;
txtMobile.Text = mobile;
txtPassword.Text = "";
txtRePass.Text = "";
txtCompany.Text = company;
btnOpUser.Text = "保存用户";
btnCancel.Visible = true;
}
if (columText == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
Delete(uid);
}
}
if (columText == "+")
{
if (columName == "colPlus")
{
this.lblUserInfo.Text = mobile + " - " + nickName;
this.numAddTopUp.Value = 0;
this.pnlTopUp.Tag = row;
this.pnlTopUp.Visible = true;
this.pnlTopUp.BringToFront();
}
if (columName == "colBalancePlus")
{
this.lblUserBalanceInfo.Text = mobile + " - " + nickName;
this.numAddBalance.Value = 0;
this.pnlBalance.Tag = row;
this.pnlBalance.Visible = true;
this.pnlBalance.BringToFront();
}
}
if (columText == "改")
{
if (columName == "colChangePointsPerMonth")
{
this.lblShopPointsPerMonthUserInfo.Text = mobile + " - " + nickName;
this.numShopPointsPerMonth.Value = shopPointsPerMonth;
this.pnlShopPointsPerMonth.Tag = row;
this.pnlShopPointsPerMonth.Visible = true;
this.pnlShopPointsPerMonth.BringToFront();
this.lblShopPointsPerMonthUserId.Text = uid;
}
if (columName == "colChangePostagePerOrder")
{
this.lblPostagePerOrderUserInfo.Text = mobile + " - " + nickName;
this.numPostagePerOrder.Value = postagePerOrder;
this.pnlPostagePerOrder.Tag = row;
this.pnlPostagePerOrder.Visible = true;
this.pnlPostagePerOrder.BringToFront();
this.lblPostagePerOrderUserId.Text = uid;
}
}
if (columText == "")
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
}
public void Delete(string uid)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&id=" + uid);
string url = BaseClass.BuildObjString("user/delete_user");
string html = GetHtml.PostUtf8(url, data.ToString());
if (!string.IsNullOrEmpty(html))
{
if (html.Contains("\"code\":200"))
{
BaseMsgForm.ShowInfo("删除成功", "提示");
GetUser();
return;
}
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
BaseMsgForm.ShowError("返回异常", "错误");
}
private void MainAccountForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible)
{
GetUser();
}
}
private void MainAccountForm_Load(object sender, EventArgs e)
{
this.dgvUser.AddSelectorColumn("colCheck");
pnlShopPointsPerMonth.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlBalance.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
pnlPostagePerOrder.Location = new Point(pnlTopUp.Location.X, pnlTopUp.Location.Y);
this.txtSearch.GotFocus += TxtSearch_GotFocus;
this.txtSearch.LostFocus += TxtSearch_LostFocus;
this.dgvUser.AddMergeColumn(new List<string> { "colPoints", "colPlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPoints", "colPlus" }, "积分点数");
this.dgvUser.AddMergeColumn(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colShopPointsPerMonth", "colChangePointsPerMonth" }, "月费耗点");
this.dgvUser.AddMergeColumn(new List<string> { "colBalance", "colBalancePlus" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colBalance", "colBalancePlus" }, "快递余额");
this.dgvUser.AddMergeColumn(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" });
this.dgvUser.AddMergeColumnHeader(new List<string> { "colPostagePerOrder", "colChangePostagePerOrder" }, "每单快递费");
}
private void TxtSearch_LostFocus(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtSearch.Text))
lblWatermark.Visible = true;
}
private void TxtSearch_GotFocus(object sender, EventArgs e)
{
lblWatermark.Visible = false;
}
private void lblWatermark_Click(object sender, EventArgs e)
{
this.txtSearch.Focus();
this.lblWatermark.Visible = false;
}
private void btnExportShopErp_Click(object sender, EventArgs e)
{
foreach (var user in AllUsers)
{
//if (user.group_id != "3")
// continue;
//string prodDataStr = "{\"userName\":\"15288888888\",\"password\":\"Andy@1984\",\"phonenumber\":\"15288888888\",\"status\": \"0\",\"remark\":\"a15288888888.\",\"roleIds\":[\"5\"]}";
//prodDataStr = "{\"userName\":\"" + user.user_name + "\",\"password\":\"" + user.user_name + "\",\"phonenumber\":\"" + user.mobile +
// "\",\"status\": \"0\",\"nickName\":\"" + user.nick_name + "\",\"roleIds\":[\"5\"]}";
//string url = "https://po.e57.cn/prod-api/api/sys-api/system/user";
//var exportRst = WXHttpResponseBLL.e57PostResponse(url, prodDataStr, "", "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlODI2ZjNiLTFhMzItNDEwOS04ODlmLTIzYmEwOTUyMDYxYiJ9.L68qzzZZxaQoxrUeB8pBt4TWB7UbTwHkxlmQduzy-VEFkBI4oxtj4VrH-2yJpSD--ZdM-5Wm3VtTvy57nMaFMQ");
//Thread.Sleep(500);
//if (!exportRst.Contains("\"code\":200"))
//{
//}
}
}
private void pnlCancel_Click(object sender, EventArgs e)
{
pnlTopUp.Visible = false;
}
private void btnTopUpOK_Click(object sender, EventArgs e)
{
var userName = lblUserInfo.Text.Split('-')[0].Trim();
var userNick = lblUserInfo.Text.Split('-')[1].Trim();
string url = BaseClass.BuildObjString("user/update_user_points");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + userName;
data += "&update_user_nick=" + userNick;
data += "&option_type=转移";
data += "&operator_type=代理商";
data += "&operator_name=" + BaseClass.UserName;
data += "&operator_nick=" + BaseClass.NickName;
data += "&delta_points=" + numAddTopUp.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
}
BaseClass.Points = BaseRegex.GetIntJson(ref html, "newOperatorPoints");
MainForm.instance.lblPoints.Text = "账户积分:" + BaseClass.Points;
var operatorRow = this.dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["mobileColumn"].Value.ParseToString() == BaseClass.UserName);
if (operatorRow != null)
operatorRow.Cells["colPoints"].Value = BaseClass.Points;
var newUserPoints = BaseRegex.GetIntJson(ref html, "newUserPoints");
var row = this.dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["mobileColumn"].Value.ParseToString() == userName);
if (row != null)
{
row.Cells["colPoints"].Value = newUserPoints;
}
pnlTopUp.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnShopPointsPerMonth_Click(object sender, EventArgs e)
{
if (updateShopPointsPerMonth(lblShopPointsPerMonthUserId.Text))
{
pnlShopPointsPerMonth.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updateShopPointsPerMonth(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&shop_points_per_month=" + numShopPointsPerMonth.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colShopPointsPerMonth"].Value = numShopPointsPerMonth.Value; }));
}
return true;
}
private void btnShopPointsPerMonthCancel_Click(object sender, EventArgs e)
{
pnlShopPointsPerMonth.Visible = false;
}
private void btnChangeBalanceOK_Click(object sender, EventArgs e)
{
string url = BaseClass.BuildObjString("user/update_user_balance");
string data = UserLogin.GetSignaturex();
data += "&update_user_name=" + lblUserBalanceInfo.Text.Split('-')[0].Trim();
data += "&update_user_nick=" + lblUserBalanceInfo.Text.Split('-')[1].Trim();
data += "&option_type=" + "充值";
data += "&operator_name=" + BaseClass.UserName;
data += "&delta_balance=" + numAddBalance.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError(msg);
return;
}
var row = pnlBalance.Tag as DataGridViewRow;
if (row != null)
{
row.Cells["colBalance"].Value = row.Cells["colBalance"].Value.ParseToDecimal() + numAddBalance.Value;
}
pnlBalance.Visible = false;
BaseMsgForm.ShowInfo("充值成功");
}
private void btnChangeBalanceCancel_Click(object sender, EventArgs e)
{
pnlBalance.Visible = false;
}
private void btnPostagePerOrder_Click(object sender, EventArgs e)
{
if (updatePostagePerOrder(lblPostagePerOrderUserId.Text))
{
pnlPostagePerOrder.Visible = false;
BaseMsgForm.ShowInfo("修改充值用户店铺月费金额成功");
}
}
public bool updatePostagePerOrder(string userDbId, bool showFailBox = true)
{
string url = BaseClass.BuildObjString("user/update_user");
string data = UserLogin.GetSignaturex();
data += "&id=" + userDbId;
data += "&postage_per_order=" + numPostagePerOrder.Value;
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (!html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
if (showFailBox)
{
Invoke(new Action(() => { BaseMsgForm.ShowError(msg); }));
}
return false;
}
var row = dgvUser.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["UserIdColumn"].Value.ParseToString() == userDbId);
if (row != null)
{
Invoke(new Action(() => { row.Cells["colPostagePerOrder"].Value = numPostagePerOrder.Value; }));
}
return true;
}
private void btnPostagePerOrderCancel_Click(object sender, EventArgs e)
{
pnlPostagePerOrder.Visible = false;
}
}
}
@@ -0,0 +1,192 @@
<?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="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="UserIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="UserNickNameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="mobileColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colParentUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupIdColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupNameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCompany.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="shopCountColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSaLevel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSaLevelName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colAuthority.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOemName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPoints.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopPointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePointsPerMonth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalance.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBalancePlus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChangePostagePerOrder.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="editColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="deleteColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+25 -17
View File
@@ -30,17 +30,21 @@
{ {
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表"); System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表");
System.Windows.Forms.TreeNode treeNode2 = 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 treeNode3 = new System.Windows.Forms.TreeNode("OEM账号管理");
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("评分考核"); System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("店铺经营统计");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("充值二维码"); System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("评分考核");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] { 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("店铺管理", new System.Windows.Forms.TreeNode[] {
treeNode1, treeNode1,
treeNode2, treeNode2,
treeNode3, treeNode3,
treeNode4, treeNode4,
treeNode5, treeNode5,
treeNode6}); treeNode6,
treeNode7,
treeNode8});
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
@@ -136,18 +140,22 @@
treeNode1.Text = "店铺列表"; treeNode1.Text = "店铺列表";
treeNode2.Name = "子账号管理"; treeNode2.Name = "子账号管理";
treeNode2.Text = "子账号管理"; treeNode2.Text = "子账号管理";
treeNode3.Name = "店铺地址管理"; treeNode3.Name = "OEM账号管理";
treeNode3.Text = "店铺地址管理"; treeNode3.Text = "OEM账号管理";
treeNode4.Name = "店铺经营统计"; treeNode4.Name = "店铺地址管理";
treeNode4.Text = "店铺经营统计"; treeNode4.Text = "店铺地址管理";
treeNode5.Name = "评分考核"; treeNode5.Name = "店铺经营统计";
treeNode5.Text = "评分考核"; treeNode5.Text = "店铺经营统计";
treeNode6.Name = "充值二维码"; treeNode6.Name = "评分考核";
treeNode6.Text = "充值二维码"; treeNode6.Text = "评分考核";
treeNode7.Name = "店铺管理"; treeNode7.Name = "税务申报";
treeNode7.Text = "店铺管理"; treeNode7.Text = "税务申报";
treeNode8.Name = "充值二维码";
treeNode8.Text = "充值二维码";
treeNode9.Name = "店铺管理";
treeNode9.Text = "店铺管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode7}); treeNode9});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 461); this.tv.Size = new System.Drawing.Size(140, 461);
this.tv.TabIndex = 1; this.tv.TabIndex = 1;
+14 -1
View File
@@ -14,6 +14,7 @@ using TemuKJD.BaseForms;
using TemuKJD.KJDForms.ProductSelectForms; using TemuKJD.KJDForms.ProductSelectForms;
using TemuKJD.KJDForms.ProductThirdSelectForms; using TemuKJD.KJDForms.ProductThirdSelectForms;
using TemuKJD.KJDForms.ShopForms.Statistics; using TemuKJD.KJDForms.ShopForms.Statistics;
using NaiBa.Util.Extension;
namespace TemuKJD.WXForms.ShopForms namespace TemuKJD.WXForms.ShopForms
{ {
@@ -24,9 +25,11 @@ namespace TemuKJD.WXForms.ShopForms
public Lazy<WXShopListForm> shopListForm = new Lazy<WXShopListForm>(); public Lazy<WXShopListForm> shopListForm = new Lazy<WXShopListForm>();
public Lazy<WXSubAccountListForm> sbuAccountForm = new Lazy<WXSubAccountListForm>(); public Lazy<WXSubAccountListForm> sbuAccountForm = new Lazy<WXSubAccountListForm>();
public Lazy<WxShopStatisticsForm> shopStatisticsForm = new Lazy<WxShopStatisticsForm>(); public Lazy<WxShopStatisticsForm> shopStatisticsForm = new Lazy<WxShopStatisticsForm>();
public Lazy<WXTaxManage> taxManageForm = new Lazy<WXTaxManage>();
public Lazy<WXShopOptimizeForm> shopOptimizeForm = new Lazy<WXShopOptimizeForm>(); public Lazy<WXShopOptimizeForm> shopOptimizeForm = new Lazy<WXShopOptimizeForm>();
public Lazy<WXShopDefaultAddressListForm> shopAfterSaleAddressListForm = new Lazy<WXShopDefaultAddressListForm>(); public Lazy<WXShopDefaultAddressListForm> shopAfterSaleAddressListForm = new Lazy<WXShopDefaultAddressListForm>();
public Lazy<WXGetTopUpQrCode> getTopUpQrCode = new Lazy<WXGetTopUpQrCode>(); public Lazy<WXGetTopUpQrCode> getTopUpQrCode = new Lazy<WXGetTopUpQrCode>();
public Lazy<WXOemAccountForm> oemAccountForm = new Lazy<WXOemAccountForm>();
public WXShopForm() public WXShopForm()
@@ -54,7 +57,7 @@ namespace TemuKJD.WXForms.ShopForms
public List<string> getHideTreeNodes() public List<string> getHideTreeNodes()
{ {
List<string> hideNames = new List<string>() { "充值二维码", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" }; List<string> hideNames = new List<string>() { "OEM账号管理", "充值二维码", "店铺地址管理", "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
if (BaseClass.SaLevel == 1) if (BaseClass.SaLevel == 1)
{ {
@@ -74,6 +77,10 @@ namespace TemuKJD.WXForms.ShopForms
{ {
hideNames.Remove("充值二维码"); hideNames.Remove("充值二维码");
} }
if (!BaseClass.OemId.IsNullOrEmpty() && BaseClass.IsOemOwner)
{
hideNames.Remove("OEM账号管理");
}
foreach (var forbiddenPage in BaseClass.ForbiddenPage.Split(',')) foreach (var forbiddenPage in BaseClass.ForbiddenPage.Split(','))
{ {
@@ -112,6 +119,9 @@ namespace TemuKJD.WXForms.ShopForms
case "店铺经营统计": case "店铺经营统计":
SetForm(shopStatisticsForm.Value); SetForm(shopStatisticsForm.Value);
break; break;
case "税务申报":
SetForm(taxManageForm.Value);
break;
case "店铺地址管理": case "店铺地址管理":
SetForm(shopAfterSaleAddressListForm.Value); SetForm(shopAfterSaleAddressListForm.Value);
break; break;
@@ -121,6 +131,9 @@ namespace TemuKJD.WXForms.ShopForms
case "充值二维码": case "充值二维码":
SetForm(getTopUpQrCode.Value); SetForm(getTopUpQrCode.Value);
break; break;
case "OEM账号管理":
SetForm(oemAccountForm.Value);
break;
} }
})); }));
}).Start(); }).Start();
File diff suppressed because it is too large. Load diff
+850
View File
@@ -0,0 +1,850 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.Config;
using AllBase.Model.Param.WXParam;
using AllBase.Model.Result;
using AllBase.Model.Result.PDDResult;
using AllBase.Model.Result.WXResult;
using CefSharp;
using CefSharp.WinForms;
using NaiBa.CefHelper;
using NaiBa.CefHelper.Handler;
using NaiBa.Util;
using NaiBa.Util.Extension;
using Newtonsoft.Json;
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.Net.Http;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.BLL;
using TemuKJD.Extension;
using TemuKJD.Helper;
using TemuKJD.PDDForms.ProductSelectForms;
using TemuKJD.ToolForms;
using TemuKJD.WXForms.ShopForms;
using Work;
using static TemuKJD.WXForms.ShopForms.WXTaxManage;
namespace TemuKJD.WXForms.ShopForms
{
public partial class WXTaxManage : BaseForm
{
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public bool IsLoadComplate { get; set; } = false;
CheckBox chkSelectAll = null;
ConcurrentList<WxTaxMoneyInfo> lstWxTaxMoneyInfo = new ConcurrentList<WxTaxMoneyInfo>();
public WXTaxManage()
{
InitializeComponent();
}
private void UserSelectDbProductForm_Load(object sender, EventArgs e)
{
this.splitContainer1.Dock = DockStyle.Fill;
chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false);
dgvShop.Columns["colSelect"].HeaderText = "";
chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
this.dgvTaxMoney.AddSelectorColumn("colCheck");
//dgvTaxMoney.AddImgColumn("colLiveObjectImg", "colLiveObjectImgUrl");
//dgvTaxMoney.AddImgColumn("colDgvProdImg", "colDgvProdImgUrl");
dtpTimeBegin.Value = DateTime.Now.Date.AddDays(-7);
dtpTimeEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
IsLoadComplate = true;
}
private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
{
if (!chkSelectAll.Checked)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
row.Cells["colSelect"].Value = false;
}
}
else
{
//var list = GlobalConfig.ValidShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId);
foreach (DataGridViewRow row in dgvShop.Rows)
{
//if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
if (row.Visible == true)
row.Cells["colSelect"].Value = true;
}
}
}
private void btnRefreshShop_Click(object sender, EventArgs e)
{
pbLoadingShop.Visible = true;
RefreshShopLogin();
}
private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e)
{
if (Visible == true)
{
RefreshShopLogin();
}
}
private void RefreshShopLogin()
{
// 店铺Id
var selectIds = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
// 获取被删除的店铺
List<DataGridViewRow> dgvRowList = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
=> !GlobalConfig.ValidShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList();
// 更新被删除的店铺列表
foreach (var row in dgvRowList)
{
dgvShop.Rows.Remove(row);
}
// 绑定其他店铺(含新导入的店铺)
foreach (ShopLoginInfo shopEntity in GlobalConfig.ValidShopLoginList)
{
if (!string.IsNullOrEmpty(shopEntity.ShopId))
BindShop(shopEntity, selectIds);
}
cmbFilterShopNotes.Items.Clear();
foreach (var note in GlobalConfig.ValidShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct())
{
cmbFilterShopNotes.Items.Add(note);
}
cmbFilterShopGroup.Items.Clear();
foreach (var group in GlobalConfig.ValidShopLoginList.Select(s => s.GroupName).Where(s => !s.IsNullOrEmpty()).Distinct())
{
cmbFilterShopGroup.Items.Add(group);
}
pbLoadingShop.Visible = false;
}
private void BindShop(ShopLoginInfo shopEntity, List<string> selectShopId = null, string msg = "")
{
if (shopEntity == null)
return;
if (shopEntity.is_point_shop_expire)
return;
if (selectShopId == null)
selectShopId = new List<string>();
bool canUse = shopEntity.LoginStatus == "登录成功";
//canUse = true; // 内部库不需要校验登录状态
var row = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId);
var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt();
if (row == null)
{
this.dgvShop.Rows.Add(
false, //dgvShop.Rows.Count == 0 ? true : (selectShopId.Contains(shopEntity.ShopId) && canUse),
shopEntity.LoginName,
shopEntity.ShopId,
shopEntity.ShopAccount,
shopEntity.Notes,
shopEntity.GroupName,
"选择商品",
canUse ? "在线" : "掉线",
GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期",
canUse,
GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].DicDayUploadCount[day] : 0,
GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].OnSaleCount : 0,
shopEntity.AddProductRemaining,
msg
);
}
else
{
row.Cells["colSelect"].Value = selectShopId.Contains(shopEntity.ShopId) && canUse;
row.Cells["colShopLoginName"].Value = shopEntity.LoginName;
row.Cells["colShopName"].Value = shopEntity.ShopAccount;
row.Cells["colShopNotes"].Value = shopEntity.Notes;
row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
row.Cells["colCanUse"].Value = canUse;
row.Cells["colApi"].Value = GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期";
row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining;
row.Cells["colUploadCount"].Value = GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].DicDayUploadCount[day] : 0;
row.Cells["colOnSaleNum"].Value = GlobalConfig.dicWxShopUploadInfo.ContainsKey(shopEntity.ShopId) ? GlobalConfig.dicWxShopUploadInfo[shopEntity.ShopId].OnSaleCount : 0;
row.Cells["colMessage"].Value = msg;
}
displayAuthStatus(shopEntity);
}
void displayAuthStatus(ShopLoginInfo shop)
{
var rows = this.dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId);
foreach (var row in rows)
{
bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线";
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
canUse = row.Cells["colApi"].Value.ParseToString() == "可用";
(row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
(row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
(row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
}
}
private void dgvShop_CellClick(object sender, DataGridViewCellEventArgs e)
{
//if (e.ColumnIndex < 0 || e.RowIndex < 0)
// return;
//string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
//string columnName = dgvShop.Columns[e.ColumnIndex].Name;
//string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
//string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
//var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
//var row = dgvShop.Rows[e.RowIndex];
//foreach(DataGridViewRow r in dgvShop.Rows)
//{
// if (r == row)
// continue;
// if (r.Cells["colSelect"].Value.ParseToBool() == true)
// r.Cells["colSelect"].Value = false;
//}
//row.Cells["colSelect"].Value = true;
}
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
string columnName = dgvShop.Columns[e.ColumnIndex].Name;
string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
var row = dgvShop.Rows[e.RowIndex];
switch (columnName)
{
case "colSelect":
////if (row.Cells["colCanUse"].Value.ParseToBool())
//{
// row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
// chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged;
// if (dgvShop.Rows.Cast<DataGridViewRow>().All(r => r.Cells["colSelect"].Value.ParseToBool()))
// chkSelectAll.Checked = true;
// else
// chkSelectAll.Checked = false;
// chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
//}
////else
////{
//// //BaseMsgForm.ShowInfo("店铺未登录!");
////}
//dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool();
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
break;
case "colLoginStatus":
{
if (WXShopListForm.Instance == null)
WXShopListForm.Instance = new WXShopListForm();
WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false);
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
//shopLoginForm.prodUserSelectForm = this;
if (shop.LoginStatus != "登录成功")
{
shopLoginForm.openType = EnumOpenType.login;
shopLoginForm.ShowDialog();
RefreshShopLogin();
}
else
{
shopLoginForm.openType = EnumOpenType.manage;
shopLoginForm.WindowState = FormWindowState.Maximized;
shopLoginForm.Show();
}
}
break;
case "colApi":
{
WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
shopLoginForm.openType = EnumOpenType.manage;
shopLoginForm.WindowState = FormWindowState.Maximized;
shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139";
shopLoginForm.Show();
}
break;
}
}
private void btnStop_Click(object sender, EventArgs e)
{
if (this.cancellationTokenSource != null)
this.cancellationTokenSource.Cancel();
}
private void btnSearchOrderLst_Click(object sender, EventArgs e)
{
var selectRows = dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true).ToList();
if (selectRows.Count == 0)
{
BaseMsgForm.ShowError("请选择店铺");
return;
}
pictureBox1.Visible = true;
this.btnExport.Enabled = false;
this.btnSearch.Enabled = false;
Task.Run(() => {
Thread.Sleep(5000);
Invoke(new Action(() =>
{
this.btnExport.Enabled = true;
this.btnSearch.Enabled = true;
}));
});
dgvTaxMoney.Rows.Clear();
lstWxTaxMoneyInfo.Clear();
var createTimeBegin = 0;
if (chkTimeBegin.Checked)
createTimeBegin = BaseClass.DateTimeToTimestampSeconds(dtpTimeBegin.Value.Date);
var createTimeEnd = BaseClass.DateTimeToTimestampSeconds(DateTime.Now.Date.AddDays(1).AddSeconds(-1));
if (chkTimeEnd.Checked)
createTimeEnd = BaseClass.DateTimeToTimestampSeconds(dtpTimeEnd.Value.Date.AddDays(1).AddSeconds(-1));
enumOrderSettleState orderSettleState = enumOrderSettleState.全部;
if (cmbOrderSettleState.Text == "无需结算")
orderSettleState = enumOrderSettleState.无需结算;
if (cmbOrderSettleState.Text == "已结算")
orderSettleState = enumOrderSettleState.已结算;
if (cmbOrderSettleState.Text == "待结算")
orderSettleState = enumOrderSettleState.待结算;
if (cmbOrderSettleState.Text == "部分结算")
orderSettleState = enumOrderSettleState.部分结算;
enumSearchOrderState orderState = enumSearchOrderState.全部;
if (cmbOrderState.Text == "已完成")
orderState = enumSearchOrderState.已完成;
if (cmbOrderState.Text == "已取消")
orderState = enumSearchOrderState.已取消;
if (cmbOrderState.Text == "已发货")
orderState = enumSearchOrderState.已发货;
if (cmbOrderState.Text == "待发货")
orderState = enumSearchOrderState.待发货;
enumOrderPayMethod orderPayMethod = enumOrderPayMethod.全部;
if (cmbOrderPayMethod.Text == "微信支付")
orderPayMethod = enumOrderPayMethod.微信支付;
if (cmbOrderPayMethod.Text == "先付后用")
orderPayMethod = enumOrderPayMethod.先付后用;
if (cancellationTokenSource != null)
cancellationTokenSource.Cancel();
cancellationTokenSource = new CancellationTokenSource();
Task.Run(() =>
{
int num = 0;
foreach (var row in selectRows)
{
num++;
Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "店铺订单流水查询 第 " + num + " 个店铺,共 " + selectRows.Count + " 个店铺";
row.Cells["colMessage"].Value = "";
}));
if (this.cancellationTokenSource.IsCancellationRequested)
break;
var shopId = row.Cells["colShopId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop != null)
{
// 短视频带货
//if (chkFeed.Checked)
{
int page = 0;
int pageSize = 20;
while (true)
{
if (this.cancellationTokenSource.IsCancellationRequested)
break;
page++;
var getTaxMoneyRst = WXTaxBLL.getListOrderFlow(shop, page, orderSettleState.ParseToInt(), orderState.ParseToInt(), orderPayMethod.ParseToInt(), createTimeBegin, createTimeEnd);
Thread.Sleep(Randomx.GetId(300, 600));
if (!getTaxMoneyRst.ParseToString().Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref getTaxMoneyRst, getTaxMoneyRst, "errmsg");
if (error.ParseToString().Contains("biz magic invalid"))
{
shop.LoginStatus = "未登录";
var selectIds = dgvShop.Rows.Cast<DataGridViewRow>().Where(r
=> r.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); }));
error = "店铺掉线";
}
Invoke(new Action(() =>
{
row.Cells["colMessage"].Value = "店铺流水查询失败 " + error;
}));
break;
}
var wxTaxMoneyList = JsonHelper.DeserializeJsonToList<WxTaxMoneyInfo>(JsonHelper.JObjectParse(getTaxMoneyRst)["dataList"].ParseToString());
if (wxTaxMoneyList == null)
wxTaxMoneyList = new List<WxTaxMoneyInfo>();
this.lstWxTaxMoneyInfo.AddRange(wxTaxMoneyList);
foreach (var tax in wxTaxMoneyList)
{
Invoke(new Action(() =>
{
//if (prod.spuMonthSales.ParseToInt() >= txtSaleCount.Text.Trim().ParseToInt() &&
// !dgvDaRenProd.Rows.Cast<DataGridViewRow>().Any(r => r.Cells["colTalentSpuId"].Value.ParseToString() == prod.spuId))
{
var rowIndex = dgvTaxMoney.Rows.Add(
true,
shop.ShopId,
shop.ShopAccount,
"登录",
"进店",
tax.orderId, // 订单号
BaseClass.StampToDateTime(tax.orderCreateTime.ParseToInt()).ToString("yyyy年MM月dd日 HH:mm:ss"),
(enumRstOrderState)tax.orderState,
(enumOrderSettleState)tax.orderSettleState,
tax.buyerPaidAmount.IsNullOrZero() ? "-" : "¥" + (tax.buyerPaidAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.mchReceivedAmount.IsNullOrZero() ? "-" : "¥" + (tax.mchReceivedAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.platformCommissionAmount.IsNullOrZero() ? "-" : "-¥" + (tax.platformCommissionAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.buyerRefundAmount.IsNullOrZero() ? "-" : "-¥" + (tax.buyerRefundAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.otherExpenseAmount.IsNullOrZero() ? "-" : "-¥" + (tax.otherExpenseAmount * 0.01m).ParseToDecimal().ToString("0.00"),
tax.mchSettleAmount.IsNullOrZero() ? "-" : "¥" + (tax.mchSettleAmount * 0.01m).ParseToDecimal().ToString("0.00"),
shop.ShopAccount
);
dgvTaxMoney.Rows[rowIndex].Height = 60;
}
}));
}
var total = BaseRegex.GetIntJson(ref getTaxMoneyRst, "totalCount").ParseToInt();
var totalPage = Math.Ceiling(total * 1m / pageSize).ParseToInt();
if (page >= totalPage)
break;
}
}
}
}
Invoke(new Action(() =>
{
pictureBox1.Visible = false;
if (cancellationTokenSource.IsCancellationRequested)
{
this.statusBar.lblTaskStatus.Text += " 查询操作中断";
BaseMsgForm.ShowInfo("查询操作中断");
}
else
{
this.statusBar.lblTaskStatus.Text += " 查询操作结束";
BaseMsgForm.ShowInfo("查询操作结束");
}
}));
}, cancellationTokenSource.Token);
}
private void btnClearFilter_Click(object sender, EventArgs e)
{
}
private void btnFilterShop_Click(object sender, EventArgs e)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
notes = "";
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
if (group == "全部")
group = "";
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
{
row.Visible = false;
row.Cells["colSelect"].Value = false;
continue;
}
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
{
row.Visible = false;
row.Cells["colSelect"].Value = false;
continue;
}
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
{
row.Visible = false;
row.Cells["colSelect"].Value = false;
continue;
}
row.Visible = true;
}
}
private void btnEmptyShop_Click(object sender, EventArgs e)
{
txtFilterShopName.Text = "";
cmbFilterShopNotes.Text = "全部";
cmbFilterShopGroup.Text = "全部";
btnFilterShop_Click(null, null);
}
private void btnReverse_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
}
}
private void btnAddSelect_Click(object sender, EventArgs e)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
notes = "";
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
if (group == "全部")
group = "";
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == false)
continue;
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
continue;
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
continue;
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
continue;
row.Cells["colSelect"].Value = true;
}
}
private void btnAddUnSelect_Click(object sender, EventArgs e)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
notes = "";
List<string> notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
string group = cmbFilterShopGroup.Text.Trim().Trim(';');
if (group == "全部")
group = "";
List<string> groupLst = group.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == false)
continue;
if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
continue;
if (!string.IsNullOrWhiteSpace(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
continue;
if (!string.IsNullOrWhiteSpace(group) && !groupLst.Contains(row.Cells["colGroup"].Value.ParseToString()))
continue;
row.Cells["colSelect"].Value = false;
}
}
private void btnSelectOnline_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
{
if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线")
{
row.Cells["colSelect"].Value = true;
}
else
{
row.Cells["colSelect"].Value = false;
}
}
}
}
private void btnSelectOffline_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
{
if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线")
{
row.Cells["colSelect"].Value = true;
}
else
{
row.Cells["colSelect"].Value = false;
}
}
}
}
private void btnExportCSV_Click(object sender, EventArgs e)
{
var selectRows = dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true).ToList();
if (selectRows.Count == 0)
{
BaseMsgForm.ShowError("请选择店铺");
return;
}
var selectTaxRows = dgvTaxMoney.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
if (selectTaxRows.Count == 0)
{
BaseMsgForm.ShowError("请选择要导出的流水");
return;
}
SaveFileDialog dialog = new SaveFileDialog();
dialog.Title = "保存文件...";
dialog.Filter = "CSV文件 (*.csv)|*.csv|All files (*.*)|*.*";
dialog.RestoreDirectory = true;
dialog.FileName = "用户 " + BaseClass.NickName + DateTime.Now.ToString(" 订单流水yyyyMMddHHmmss") + ".csv";
if (dialog.ShowDialog() != DialogResult.OK)
return;
var path = dialog.FileName;
//FolderBrowserDialog dialog = new FolderBrowserDialog();
//if (dialog.ShowDialog() != DialogResult.OK)
// return;
//var path = dialog.SelectedPath;
//string fileName = path + "\\用户 " + base + DateTime.Now.ToString("订单流水yyyyMMddHHmmss") + ".csv";
pictureBox1.Visible = true;
this.btnExport.Enabled = false;
this.btnSearch.Enabled = false;
Task.Run(() => {
Thread.Sleep(5000);
Invoke(new Action(() =>
{
this.btnExport.Enabled = true;
this.btnSearch.Enabled = true;
}));
});
Task.Run(() =>
{
int num = 0;
foreach (var row in selectRows)
{
num++;
Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "正在导出 第 " + num + " 个店铺,共 " + selectRows.Count + " 个店铺";
row.Cells["colMessage"].Value = "";
}));
if (this.cancellationTokenSource.IsCancellationRequested)
break;
var shopId = row.Cells["colShopId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop != null)
{
var rows = dgvTaxMoney.Rows.Cast<DataGridViewRow>()
.Where(r => r.Cells["colDgvTaxShopId"].Value.ParseToString() == shop.ShopId && r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
var rst = OutExcel.SaveFile(path, num == 1, true, rows, "", "登录", "进店", "店铺");
}
}
Invoke(new Action(() =>
{
pictureBox1.Visible = false;
if (cancellationTokenSource.IsCancellationRequested)
{
this.statusBar.lblTaskStatus.Text += " 导出操作中断";
BaseMsgForm.ShowInfo("导出操作中断");
}
else
{
this.statusBar.lblTaskStatus.Text += " 导出操作结束";
BaseMsgForm.ShowInfo("导出操作结束");
}
}));
}, cancellationTokenSource.Token);
}
private void dgvDaRenProd_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvTaxMoney.Columns[e.ColumnIndex].HeaderText;
var shopId = dgvTaxMoney.Rows[e.RowIndex].Cells["colDgvTaxShopId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.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(dgvTaxMoney.Rows[e.RowIndex].Cells["colDgvProdImgUrl"].Value.ParseToString());
// imgFrom.ShowDialog();
// break;
// }
//case "带货题图":
// {
// ShowImgForm imgFrom = new ShowImgForm(dgvTaxMoney.Rows[e.RowIndex].Cells["colLiveObjectImgUrl"].Value.ParseToString());
// imgFrom.ShowDialog();
// break;
// }
case "":
dgvTaxMoney.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvTaxMoney.Rows[e.RowIndex].Cells["colCheck"].Value;
break;
default:
break;
}
}
public enum enumOrderSettleState
{
全部 = 0,
待结算 = 1,
无需结算 = 2,
已结算 = 60,
部分结算 = 100,
}
public enum enumSearchOrderState
{
全部 = 0,
待发货 = 20,
已发货 = 30,
已完成 = 100,
已取消 = 250,
}
public enum enumRstOrderState
{
全部 = 0,
礼物待收下 = 12,
待发货 = 20,
已发货 = 30,
已完成 = 100,
已取消 = 200,
}
public enum enumOrderPayMethod
{
全部 = 0,
微信支付 = 1,
先付后用 = 3,
}
}
public class WXTaxBLL
{
/// <summary>
///
/// </summary>
/// <param name="shop"></param>
/// <param name="orderSettleState">结算状态 0全部 1待结算 2无需结算 60已结算 100部分结算</param>
/// <param name="orderState">订单状态 0全部 20待发货 30已发货 100已完成 250已取消</param>
/// <param name="orderPayMethod">支付方式 0全部 1微信支付 3先用后付</param>
/// <param name="createTimeBegin">开始时间</param>
/// <param name="createTimeEnd">结束时间</param>
/// <param name="page"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static string getListOrderFlow(ShopLoginInfo shop, int page = 1, int orderSettleState = 60, int orderState = 100, int orderPayMethod = 1,
int createTimeBegin = 0, int createTimeEnd = 0, int pageSize = 20)
{
if (createTimeEnd == 0)
createTimeEnd = BaseClass.DateTimeToTimestampSeconds(DateTime.Now.Date.AddDays(1).AddSeconds(-1));
pageSize = 20;
var offset = Math.Max(page - 1, 0) * pageSize;
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradefunds/cgi/listOrderFlow?token=&lang=zh_CN";
string body = @"{""orderSettleState"":" + orderSettleState + @",""orderState"":" + orderState + @",""orderPayMethod"":" + orderPayMethod +
@",""createTimeBegin"":""" + createTimeBegin + @""",""createTimeEnd"":""" + createTimeEnd + @""",""paginationInfo"":{""limit"":20,""offset"":" + offset + "}}";
string referer = "https://store.weixin.qq.com/shop/funds/moneyManage?section=3";
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
}
public class WXAddFinderParam
{
public string ContactPerson { get; set; }
public string WxNumber { get; set; }
public string Mobile { get; set; }
public string Explain { get; set; }
}
public class WXProdIdWithListingTime
{
public string spuId { get; set; } // "10000538960743"
public string productName { get; set; } // "点教英语 《高中英语听力精听训练》强化版"
public int? listingTime { get; set; } // 1773912220
public int? soldNum { get; set; }
}
}
+207
View File
@@ -0,0 +1,207 @@
<?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="colShopLoginName.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="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colGroup.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colSelectProduct.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colApi.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCanUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUploadCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOnSaleNum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colRemaining.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMessage.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="colDgvTaxShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvTaxShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvProdLogin.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDgvProdInShop.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="colCreateTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOrderState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOrderSettleState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBuyerPaidAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMchReceivedAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPlatformCommissionAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colBuyerRefundAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOtherExpenseAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMchSettleAmount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colTaxMoneyShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+1 -1
View File
@@ -47,7 +47,7 @@ namespace Work.Api
data += "&mall_id=" + shop.MallId; data += "&mall_id=" + shop.MallId;
data += "&access_token=" + shop.AccessToken; data += "&access_token=" + shop.AccessToken;
data += "&refresh_token=" + shop.RefreshToken; data += "&refresh_token=" + shop.RefreshToken;
data += "&from_tool=" + GetHtml.UrlEncodeUtf8(BaseClass.AgentName); data += "&from_tool=" + GetHtml.UrlEncodeUtf8(BaseClass.ToolName);
string html = GetHtml.PostUtf8(url, data); string html = GetHtml.PostUtf8(url, data);
url = BaseClass.LoginApiUrl + "?obj=product/image_pinbaobao&act=update_cookies"; url = BaseClass.LoginApiUrl + "?obj=product/image_pinbaobao&act=update_cookies";
data = UserLogin.GetSignaturex(shop.ShopId, shop.ShopName); data = UserLogin.GetSignaturex(shop.ShopId, shop.ShopName);
+6 -1
View File
@@ -40,7 +40,7 @@ namespace Work
} }
Agian: Agian:
string data = "mobile=" + mobile + "&r2=" + r2 + "&password=" + passwordMd5 + "&" + GetSignature() + "&mac=" + BaseClass.MacInfo + "&version=" + BaseClass.VersionCount; string data = "mobile=" + mobile + "&r2=" + r2 + "&password=" + passwordMd5 + "&" + GetSignature() + "&mac=" + BaseClass.MacInfo + "&version=" + BaseClass.VersionCount;
data += "&from_tool=" + GetHtml.UrlEncodeUtf8(BaseClass.AgentName) + "&client_ip=" + GetHtml.UrlEncodeUtf8(BaseClass.IPAddress) + "+&client_addr=" + GetHtml.UrlEncodeUtf8(BaseClass.IPAddressName); data += "&from_tool=" + GetHtml.UrlEncodeUtf8(BaseClass.ToolName) + "&client_ip=" + GetHtml.UrlEncodeUtf8(BaseClass.IPAddress) + "+&client_addr=" + GetHtml.UrlEncodeUtf8(BaseClass.IPAddressName);
string html = GetHtml.PostUtf8(url, data); string html = GetHtml.PostUtf8(url, data);
lockUserName = -1; lockUserName = -1;
weakPassword = -1; weakPassword = -1;
@@ -91,6 +91,11 @@ namespace Work
BaseClass.AuthorizedAmount = BaseRegex.GetNullableDecimalJson(ref html, "authorized_amount"); BaseClass.AuthorizedAmount = BaseRegex.GetNullableDecimalJson(ref html, "authorized_amount");
BaseClass.Points = BaseRegex.GetStringJson(ref html, "points").ParseToInt(); BaseClass.Points = BaseRegex.GetStringJson(ref html, "points").ParseToInt();
BaseClass.ShopPointsPerMonth = BaseRegex.GetStringJson(ref html, "shop_points_per_month").ParseToInt(); BaseClass.ShopPointsPerMonth = BaseRegex.GetStringJson(ref html, "shop_points_per_month").ParseToInt();
BaseClass.Balance = BaseRegex.GetDecimalJson(ref html, "balance");
BaseClass.PostagePerOrder = Math.Max(2.2m, BaseRegex.GetDecimalJson(ref html, "postage_per_order"));
BaseClass.OemId = BaseRegex.GetStringJson(ref html, "oem_id");
BaseClass.OemName = BaseRegex.GetStringJson(ref html, "oem_name");
BaseClass.IsOemOwner = BaseRegex.GetBoolJson(ref html, "is_oem_owner");
if (BaseClass.GroupId != 3 && BaseClass.GroupId != 4 && BaseClass.GroupId != 9 && BaseClass.GroupId != 10 && BaseClass.GroupId != 11) if (BaseClass.GroupId != 3 && BaseClass.GroupId != 4 && BaseClass.GroupId != 9 && BaseClass.GroupId != 10 && BaseClass.GroupId != 11)
{ {