diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index 6fb6a2d..aa60cd3 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -27,7 +27,7 @@ namespace AllBase
///
/// 版本ID
///
- public static int VersionCount = 1187;
+ public static int VersionCount = 1189;
public static string MainPath = "29wx";
//public static string MainPath = "29wx";
//public static string MainPath = "29pdd";
diff --git a/AllBase/ImageBuild.cs b/AllBase/ImageBuild.cs
index c96c6ee..b3da4a6 100644
--- a/AllBase/ImageBuild.cs
+++ b/AllBase/ImageBuild.cs
@@ -368,7 +368,7 @@ namespace AllBase
return ms.ToArray();
}
///
- /// 根据路劲得出图片编码信息
+ /// 根据路径得出图片编码信息
///
///
///
diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXOrderManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXOrderManage.cs
new file mode 100644
index 0000000..ba3818a
--- /dev/null
+++ b/KJDService/KJD_WebService/BLL/WXXD/WXOrderManage.cs
@@ -0,0 +1,172 @@
+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;
+using System.Web.UI.WebControls;
+
+namespace KJD_Web.BLL.WXXD
+{
+ public class WXOrderManage
+ {
+ public string WXGetErpOrderList(string inputData, bool isDetail = false)
+ {
+ if (!string.IsNullOrEmpty(inputData))
+ {
+ var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt();
+ string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
+ if (time1 != EncrypUtil.Encryption(time))
+ return "{\"code\":50000,\"msg\":\"校验失败\"}";
+
+ var erp_shop_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_shop_id_in")?.Replace("'", "\\'");
+ if (erp_shop_id_in.IsNullOrEmpty())
+ {
+ return "{\"code\":500,\"msg\":\"未指定店铺\"}";
+ }
+ var query_status = RegexUtils.GetStringQuery(ref inputData, "query_status")?.Replace("'", "\\'");
+ var purchase_status = RegexUtils.GetStringQuery(ref inputData, "purchase_status")?.Replace("'", "\\'");
+ var sort_type = RegexUtils.GetStringQuery(ref inputData, "sort_type")?.Replace("'", "\\'");
+
+ int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
+ int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
+
+ string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
+ MysqlUtils mySql = new MysqlUtils(conn);
+
+ string sql = "SELECT COUNT(id) FROM erp.oms_wei_order o WHERE 1=1 ";
+
+ string where = "";
+ if (!string.IsNullOrWhiteSpace(erp_shop_id_in))
+ where += " and o.shop_id in (" + erp_shop_id_in + ")";
+ if (!string.IsNullOrWhiteSpace(query_status))
+ where += " and o.status = " + query_status;
+ if (!string.IsNullOrWhiteSpace(purchase_status))
+ where += " and o.purchase_status = " + purchase_status;
+ sql += where;
+
+ var count = mySql.ExecuteRowCount(sql);
+
+ DataTable dt;
+ if (count == 0)
+ {
+ dt = new DataTable();
+ }
+ else
+ {
+ sql = "SELECT o.* FROM" +
+ " erp.oms_wei_order o " +
+ " WHERE 1=1";
+
+ //where子句
+ sql += where;
+
+ if (sort_type == "asc")
+ //sql += " ORDER BY o.create_time ASC, o.id desc";
+ sql += " ORDER BY o.create_time ASC";
+ else
+ sql += " ORDER BY o.create_time DESC";
+ sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size;
+ dt = mySql.ExecuteDataTable(sql);
+ }
+
+ mySql.Close();
+ if (dt != null)
+ {
+ try
+ {
+ List orderList = new List();
+ foreach (DataRow row in dt.Rows)
+ {
+ oms_wei_order order = new oms_wei_order
+ {
+ id = row["id"].ParseToLong(),
+ aftersale_detail = row["aftersale_detail"].ParseToString(),
+ audit_status = row["audit_status"].ParseToNullableInt(),
+ audit_time = row["audit_time"].ParseToString().ParseToDateTime(),
+ city_name = row["city_name"].ParseToString(),
+ colour_flag = row["colour_flag"].ParseToNullableInt(),
+ colour_flag_update_time = row["colour_flag_update_time"].ParseToString().ParseToDateTime(),
+ commission_amount = row["commission_amount"].ParseToNullableInt(),
+ county_name = row["county_name"].ParseToString(),
+ create_time = row["create_time"].ParseToInt(),
+ delivery_deadline = row["delivery_deadline"].ParseToNullableInt(),
+ delivery_product_info = row["delivery_product_info"].ParseToString(),
+ delivery_time = row["delivery_time"].ParseToNullableInt(),
+ detail_info = row["detail_info"].ParseToString(),
+ discounted_price = row["discounted_price"].ParseToNullableInt(),
+ erp_send_code = row["erp_send_code"].ParseToString(),
+ erp_send_company = row["erp_send_company"].ParseToString(),
+ erp_send_status = row["erp_send_status"].ParseToNullableInt(),
+ erp_send_time = row["erp_send_time"].ParseToString().ParseToDateTime(),
+ ewaybill_order_code = row["ewaybill_order_code"].ParseToString(),
+ external_gift = row["external_gift"].ParseToNullableInt(),
+ ext_info = row["ext_info"].ParseToString(),
+ freight = row["freight"].ParseToNullableInt(),
+ freight_insurance_amount = row["freight_insurance_amount"].ParseToNullableInt(),
+ gift_order_status = row["gift_order_status"].ParseToNullableInt(),
+ hash_code = row["hash_code"].ParseToString(),
+ has_freight_insurance = row["has_freight_insurance"].ParseToNullableInt(),
+ house_number = row["house_number"].ParseToString(),
+ is_express_no_used = row["is_express_no_used"].ParseToNullableInt(),
+ is_shipment_optimized = row["is_shipment_optimized"].ParseToNullableInt(),
+ merchant_id = row["merchant_id"].ParseToString(),
+ openid = row["openid"].ParseToString(),
+ order_id = row["order_id"].ParseToString(),
+ order_price = row["order_price"].ParseToNullableInt(),
+ out_account = row["out_account"].ParseToString(),
+ out_after_sale_status = row["out_after_sale_status"].ParseToString(),
+ out_amount = row["out_amount"].ParseToNullableInt(),
+ out_express_company = row["out_express_company"].ParseToString(),
+ out_express_no = row["out_express_no"].ParseToString(),
+ out_order_no = row["out_order_no"].ParseToString(),
+ out_shipped = row["out_shipped"].ParseToNullableInt(),
+ pay_info = row["pay_info"].ParseToString(),
+ postal_code = row["postal_code"].ParseToString(),
+ predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(),
+ product_price = row["product_price"].ParseToNullableInt(),
+ province_name = row["province_name"].ParseToString(),
+ purchase_price = row["purchase_price"].ParseToNullableInt(),
+ purchase_status = row["purchase_status"].ParseToNullableInt(),
+ purchase_time = row["purchase_time"].ParseToNullableInt(),
+ settle_info = row["settle_info"].ParseToString(),
+ ship_done_time = row["ship_done_time"].ParseToNullableInt(),
+ shop_id = row["shop_id"].ParseToLong(),
+ shop_name = row["shop_name"].ParseToString(),
+ shop_remark = row["shop_remark"].ParseToString(),
+ soft_remark = row["soft_remark"].ParseToString(),
+ status = row["status"].ParseToNullableInt(),
+ supplier_remark_exception = row["supplier_remark_exception"].ParseToString(),
+ tel_number = row["tel_number"].ParseToString(),
+ tel_number_ext_info = row["tel_number_ext_info"].ParseToString(),
+ transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(),
+ unionid = row["unionid"].ParseToString(),
+ update_time = row["update_time"].ParseToInt(),
+ user_name = row["user_name"].ParseToString(),
+ use_tel_number = row["use_tel_number"].ParseToNullableInt(),
+ virtual_order_tel_number = row["virtual_order_tel_number"].ParseToString(),
+ };
+ orderList.Add(order);
+ }
+ JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
+ var data = JsonUtils.SerializeObjectToString(orderList, jsonSetting);
+ return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}";
+ }
+ 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\":\"输入为空\"}";
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs
index 0afc495..ffcd085 100644
--- a/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs
+++ b/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs
@@ -39,6 +39,7 @@ namespace KJD_Web.BLL.WXXD
var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'");
var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", "");
var is_show_expire = RegexUtils.GetStringQuery(ref inputData, "is_show_expire")?.ParseToBool();
+ var is_get_erp_shop_id = RegexUtils.GetStringQuery(ref inputData, "is_get_erp_shop_id")?.ParseToBool();
if (!string.IsNullOrWhiteSpace(shop_ids))
{
@@ -144,7 +145,6 @@ namespace KJD_Web.BLL.WXXD
if (dt != null)
{
List shopList = new List();
- List allShopList = new List();
foreach (DataRow row in dt.Rows)
{
ShopParam shop = new ShopParam
@@ -182,11 +182,38 @@ namespace KJD_Web.BLL.WXXD
shopList.Add(shop);
}
- var valid_data = JsonUtils.SerializeObjectToString(shopList);
- var all_data = JsonUtils.SerializeObjectToString(allShopList);
+
+ if (is_get_erp_shop_id == true)
+ {
+ conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
+ mySql = new MysqlUtils(conn);
+ sql = " SELECT app_key,id " +
+ " FROM erp.o_shop" +
+ " WHERE app_key in ('" + string.Join ("','", shopList.Select(s=>s.shop_id)) + "');";
+ dt = mySql.ExecuteDataTable(sql);
+
+ mySql.Close();
+ if (!string.IsNullOrEmpty(mySql.Message))
+ {
+ return "{\"code\":501,\"msg\":\"" + mySql.Message + "\",\"data\":null}";
+ }
+ if (dt != null)
+ {
+ foreach (DataRow row in dt.Rows)
+ {
+ var erpDbId = row["id"].ParseToNullableLong();
+ var appKey = row["app_key"].ParseToString();
+ var shop = shopList.FirstOrDefault(s => s.shop_id == appKey && !s.shop_id.IsNullOrEmpty());
+ if (shop != null)
+ shop.erp_shop_id = erpDbId;
+ }
+ }
+ }
+
+ var data = JsonUtils.SerializeObjectToString(shopList);
var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000");
- return "{\"code\":200,\"msg\":\"success\",\"data\":" + valid_data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}";
+ return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}";
}
}
return "{\"code\":19999,\"msg\":\"未知错误\"}";
diff --git a/KJDService/KJD_WebService/Global.asax.cs b/KJDService/KJD_WebService/Global.asax.cs
index 316c7fa..cb13802 100644
--- a/KJDService/KJD_WebService/Global.asax.cs
+++ b/KJDService/KJD_WebService/Global.asax.cs
@@ -155,6 +155,11 @@ namespace KJD_Web
hPath = hPath.Replace("/wxxd_price/", "/WXPriceService.asmx/");
Context.RewritePath(hPath);
}
+ else if (!hPath.Contains(".asmx") && hPath.Contains("/wxxd_order/"))
+ {
+ hPath = hPath.Replace("/wxxd_order/", "/WXOrderService.asmx/");
+ Context.RewritePath(hPath);
+ }
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj b/KJDService/KJD_WebService/KJD_WebService.csproj
index 6520939..0fcc610 100644
--- a/KJDService/KJD_WebService/KJD_WebService.csproj
+++ b/KJDService/KJD_WebService/KJD_WebService.csproj
@@ -75,6 +75,7 @@
+
@@ -115,6 +116,7 @@
+
@@ -128,6 +130,7 @@
+
@@ -135,6 +138,10 @@
+
+ WXOrderService.asmx
+ Component
+
diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj.user b/KJDService/KJD_WebService/KJD_WebService.csproj.user
index c789fae..1b87364 100644
--- a/KJDService/KJD_WebService/KJD_WebService.csproj.user
+++ b/KJDService/KJD_WebService/KJD_WebService.csproj.user
@@ -1,4 +1,4 @@
-
+
true
@@ -8,7 +8,7 @@
- Release|Any CPU
+ Debug|Any CPU
ShowAllFiles
diff --git a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs
index 64b5703..af0404c 100644
--- a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs
+++ b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs
@@ -71,6 +71,7 @@ namespace KJD_Web.Model.ShopModel
public DateTime add_time { get; set; }
//public DateTime mdy_time { get; set; }
public bool? is_point_shop_expire { get; set; } = false;
+ public long? erp_shop_id { get; internal set; }
}
public class AuthInfo
diff --git a/KJDService/KJD_WebService/Model/WxModel/oms_wei_order.cs b/KJDService/KJD_WebService/Model/WxModel/oms_wei_order.cs
new file mode 100644
index 0000000..e011ae2
--- /dev/null
+++ b/KJDService/KJD_WebService/Model/WxModel/oms_wei_order.cs
@@ -0,0 +1,241 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace KJD_Web.Model.WxModel
+{
+ public class oms_wei_order
+ {
+ public long id { get; set; }
+ public long shop_id { get; set; }
+ public string shop_name { get; set; }
+ ///
+ /// 商户ID
+ ///
+ public string merchant_id { get; set; }
+ public string order_id { get; set; }
+ ///
+ /// 买家身份标识
+ ///
+ public string openid { get; set; }
+ public int create_time { get; set; }
+ public int update_time { get; set; }
+ public string unionid { get; set; }
+ ///
+ /// 状态10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消;
+ ///
+ public int? status { get; set; }
+ ///
+ /// 售后信息json
+ ///
+ public string aftersale_detail { get; set; }
+ ///
+ /// 支付信息
+ ///
+ public string pay_info { get; set; }
+ ///
+ /// 额外信息
+ ///
+ public string ext_info { get; set; }
+ ///
+ /// 商品总价
+ ///
+ public int? product_price { get; set; }
+ ///
+ /// 订单金额,单位为分,order_price=original_order_price-discounted_price-deduction_price-change_down_price
+ ///
+ public int? order_price { get; set; }
+ ///
+ /// 采购价,单位为分
+ ///
+ public int? purchase_price { get; set; }
+ ///
+ /// 采购时间
+ ///
+ public int? purchase_time { get; set; }
+ ///
+ /// 运费,单位为分
+ ///
+ public int? freight { get; set; }
+ ///
+ /// 平台服务费(微信小店:预计技术服务费),单位为分
+ ///
+ public int? predict_commission_fee { get; set; }
+ ///
+ /// 达人佣金(微信小店:分账金额),单位为分
+ ///
+ public int? commission_amount { get; set; }
+ ///
+ /// 优惠券优惠金额,单位为分
+ ///
+ public int? discounted_price { get; set; }
+ ///
+ /// 采购状态,默认值为:0未采购,推送仓库时修改为1采购
+ ///
+ public int? purchase_status { get; set; }
+ ///
+ /// 延迟发货时间(微信小店:商品发货时效,超时此时间未发货即为发货超时)
+ ///
+ public int? delivery_deadline { get; set; }
+ ///
+ /// 发货时间
+ ///
+ public int? delivery_time { get; set; }
+ ///
+ /// 收货人姓名
+ ///
+ public string user_name { get; set; }
+ ///
+ /// 邮编
+ ///
+ public string postal_code { get; set; }
+ public string province_name { get; set; }
+ public string city_name { get; set; }
+ ///
+ /// 区
+ ///
+ public string county_name { get; set; }
+ ///
+ /// 详细地址
+ ///
+ public string detail_info { get; set; }
+ public string tel_number { get; set; }
+ ///
+ /// 门牌号码
+ ///
+ public string house_number { get; set; }
+ ///
+ /// 虚拟发货订单联系方式(deliver_method=1时返回)
+ ///
+ public string virtual_order_tel_number { get; set; }
+ ///
+ /// 额外的联系方式信息(虚拟号码相关)
+ ///
+ public string tel_number_ext_info { get; set; }
+ ///
+ /// 0:不使用虚拟号码,1:使用虚拟号码
+ ///
+ public int? use_tel_number { get; set; }
+ ///
+ /// 标识当前店铺下一个唯一的用户收货地址
+ ///
+ public string hash_code { get; set; }
+ ///
+ /// 发货物流信息JSON
+ ///
+ public string delivery_product_info { get; set; }
+ ///
+ /// 发货完成时间,秒级时间戳
+ ///
+ public int? ship_done_time { get; set; }
+ ///
+ /// 电子面单代发时的订单密文
+ ///
+ public string ewaybill_order_code { get; set; }
+ ///
+ /// 结算信息json
+ ///
+ public string settle_info { get; set; }
+ ///
+ /// 订单审核状态(0待审核1已审核)
+ ///
+ public int? audit_status { get; set; }
+ ///
+ /// 订单审核时间
+ ///
+ public DateTime audit_time { get; set; }
+ ///
+ /// erp发货快递公司
+ ///
+ public string erp_send_company { get; set; }
+ ///
+ /// erp发货快递单号
+ ///
+ public string erp_send_code { get; set; }
+ ///
+ /// erp发货状态
+ ///
+ public int? erp_send_status { get; set; }
+ ///
+ /// erp发货时间
+ ///
+ public DateTime erp_send_time { get; set; }
+ ///
+ /// 旗帜颜色备注,1:灰旗,2:红旗,3:橙旗,4:绿旗,5:天蓝旗,6:紫旗
+ ///
+ public int? colour_flag { get; set; }
+ ///
+ /// 旗帜备注时间
+ ///
+ public DateTime colour_flag_update_time { get; set; }
+ ///
+ /// 供应商备注异常单
+ ///
+ public string supplier_remark_exception { get; set; }
+ ///
+ /// 礼物单状态,默认值0:不存在礼物单,1:礼物单已发货,2:礼物单信息已更正
+ ///
+ public int? gift_order_status { get; set; }
+ ///
+ /// 店铺备注:取微信ext_info.merchant_notes
+ ///
+ public string shop_remark { get; set; }
+ ///
+ /// 软件备注
+ ///
+ public string soft_remark { get; set; }
+ ///
+ /// 外采金额(单位:分,整数存储)
+ ///
+ public int? out_amount { get; set; }
+ ///
+ /// 外采账户
+ ///
+ public string out_account { get; set; }
+ ///
+ /// 外采订单号
+ ///
+ public string out_order_no { get; set; }
+ ///
+ /// 外采快递公司
+ ///
+ public string out_express_company { get; set; }
+ ///
+ /// 外采快递单号
+ ///
+ public string out_express_no { get; set; }
+ ///
+ /// 外采是否发货(0 未发货,1 已发货)
+ ///
+ public int? out_shipped { get; set; }
+ ///
+ /// 判断是否优化过发货0 未优化, 1已优化
+ ///
+ public int? is_shipment_optimized { get; set; }
+ ///
+ /// 判断是否优随机使用快递单号0 未使用, 1已使用
+ ///
+ public int? is_express_no_used { get; set; }
+ ///
+ /// 外采订单售后状态
+ ///
+ public string out_after_sale_status { get; set; }
+ ///
+ /// 是否支持运费险:0-不支持,1-支持
+ ///
+ public int? has_freight_insurance { get; set; }
+ ///
+ /// 运费险金额(单位:元)
+ ///
+ public decimal? freight_insurance_amount { get; set; }
+ ///
+ /// 是否外采礼物单:0-否,1-是(外采订单)
+ ///
+ public int? external_gift { get; set; }
+ ///
+ /// 中转仓的状态 0未使用,1已创建,2创建失败(购买失败),3已创建未有上游快递单号,4已创建有上游快递单号
+ ///
+ public decimal? transfer_warehouse_status { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/KJDService/KJD_WebService/WXOrderService.asmx b/KJDService/KJD_WebService/WXOrderService.asmx
new file mode 100644
index 0000000..a8cbb72
--- /dev/null
+++ b/KJDService/KJD_WebService/WXOrderService.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="WXOrderService.asmx.cs" Class="KJD_Web.WXOrderService" %>
diff --git a/KJDService/KJD_WebService/WXOrderService.asmx.cs b/KJDService/KJD_WebService/WXOrderService.asmx.cs
new file mode 100644
index 0000000..dde6aac
--- /dev/null
+++ b/KJDService/KJD_WebService/WXOrderService.asmx.cs
@@ -0,0 +1,64 @@
+using KJD_Web.BLL;
+using KJD_Web.BLL.WXXD;
+using KJD_Web.Utils;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+using System.Web.Services;
+
+namespace KJD_Web
+{
+ ///
+ /// OrderService 的摘要说明
+ ///
+ [WebService(Namespace = "http://tempuri.org/")]
+ [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
+ [System.ComponentModel.ToolboxItem(false)]
+ // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
+ // [System.Web.Script.Services.ScriptService]
+ public class WXOrderService : System.Web.Services.WebService
+ {
+ private string GetRequestJsonString()
+ {
+ Context.Response.ContentType = "text/html;charset=utf-8";
+ Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
+
+ using (Stream s = HttpContext.Current.Request.InputStream) // 获得json 字符流
+ {
+ // 还原数据流
+ byte[] b = new byte[s.Length];
+ s.Read(b, 0, (int)s.Length);
+ string jsonText = Encoding.UTF8.GetString(b); // JSON字符串
+ if (string.IsNullOrEmpty(jsonText))
+ {
+ var qs = HttpContext.Current.Request.QueryString;
+ if (qs != null && qs.Keys.Count > 0)
+ {
+ jsonText = "{";
+ foreach (var key in qs.Keys)
+ {
+ jsonText += "\"" + key + "\":" + "\"" + qs[key.ToString()] + "\";";
+ }
+ jsonText = jsonText.TrimEnd(';') + "}";
+ }
+ }
+ return jsonText;
+ }
+ }
+
+ [WebMethod]
+ public void get_order_list()
+ {
+ string jsontext = GetRequestJsonString();
+
+ var result = jsontext;
+ result = new WXOrderManage().WXGetErpOrderList(jsontext);
+
+ Context.Response.Write(result);
+ Context.Response.End();
+ }
+ }
+}
diff --git a/TEMUKJD/BLL/PDDProdFormConverter.cs b/TEMUKJD/BLL/PDDProdFormConverter.cs
index e047b82..ae4c046 100644
--- a/TEMUKJD/BLL/PDDProdFormConverter.cs
+++ b/TEMUKJD/BLL/PDDProdFormConverter.cs
@@ -332,8 +332,8 @@ namespace TemuKJD.BLL
collectAuthorityTag = "-" + BaseClass.UserName;
bool isExist = false;
- var existUrl = BaseClass.BuildPDDObjString("product/get_product_list");
- string existData = UserLogin.GetSignaturex() + "&search_spu=" + prodInfo.detail.goods_id + collectAuthorityTag;
+ var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
+ string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prodInfo.detail.goods_id + collectAuthorityTag;
string html = GetHtml.PostUtf8(existUrl, existData);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(existUrl, existData);
@@ -469,6 +469,32 @@ namespace TemuKJD.BLL
prodInfo.detail.extend_warranty_dto = new extend_warranty_dto_item() { extend_warranty = 0 };
//prodInfo.detail.fabric = null;
//prodInfo.detail.fabric_content = null;
+ if (!frontProdInfo.goods.gallery.Any(g => g.type == 1) && frontProdInfo.goods.gallery.Any(g => g.type == 13))
+ {
+ foreach (var g in frontProdInfo.goods.gallery)
+ {
+ if (g.type == 13)
+ g.type = 1;
+ }
+ }
+ if (!frontProdInfo.goods.gallery.Any(g => g.type == 1) && frontProdInfo.goods.gallery.Any(g => g.type == 2))
+ {
+ foreach (var g in frontProdInfo.goods.gallery.Where(g => g.type == 2)
+ .OrderBy(g => Math.Abs(100m - 100m * g.width.ParseToDecimal() / g.height.ParseToDecimal(1))).Take(3).ToList())
+ {
+ frontProdInfo.goods.gallery.Add(new PDDFrontProductInfo2_gallery()
+ {
+ enable_share = g.enable_share,
+ goods_id = g.goods_id,
+ height = g.height,
+ id = g.id,
+ priority = g.priority,
+ type = 1,
+ url = g.url,
+ width = g.width,
+ });
+ }
+ }
prodInfo.detail.galleries = new List();
int galleryIndex = 0;
foreach (var frontGallery in frontProdInfo.goods.gallery)
@@ -655,6 +681,9 @@ namespace TemuKJD.BLL
shipment_limit_second_list = null,
sku69_code = "",
};
+ if ((int)frontSku.sku_price.ParseToDecimal() > 0)
+ skuInfo.multi_price = Math.Min(skuInfo.multi_price.ParseToInt(), (int)frontSku.group_price.ParseToDecimal());
+
//List specIds = frontSku.spec.Split(',').ToList();
//List specKeys = frontSku.spec_keys.Split(';').ToList();
//List specValues = frontSku.spec_values.Split(';').ToList();
@@ -723,8 +752,8 @@ namespace TemuKJD.BLL
collectAuthorityTag = "-" + BaseClass.UserName;
bool isExist = false;
- var existUrl = BaseClass.BuildPDDObjString("product/get_product_list");
- string existData = UserLogin.GetSignaturex() + "&search_spu=" + prodInfo.detail.goods_id + collectAuthorityTag;
+ var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
+ string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prodInfo.detail.goods_id + collectAuthorityTag;
string html = GetHtml.PostUtf8(existUrl, existData);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(existUrl, existData);
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs
index c21cbc0..e316529 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs
@@ -38,6 +38,15 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.pbLoading = new System.Windows.Forms.PictureBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
+ this.flowLayoutPanel5 = new System.Windows.Forms.FlowLayoutPanel();
+ this.label10 = new System.Windows.Forms.Label();
+ this.flpMainImage = new System.Windows.Forms.FlowLayoutPanel();
+ this.flowLayoutPanel6 = new System.Windows.Forms.FlowLayoutPanel();
+ this.label11 = new System.Windows.Forms.Label();
+ this.flpDetailImage = new System.Windows.Forms.FlowLayoutPanel();
+ this.flowLayoutPanel7 = new System.Windows.Forms.FlowLayoutPanel();
+ this.label12 = new System.Windows.Forms.Label();
+ this.flpProp = new System.Windows.Forms.FlowLayoutPanel();
this.pnlSpec1 = new System.Windows.Forms.Panel();
this.btnAddSpec1 = new DevComponents.DotNetBar.PanelEx();
this.label1 = new System.Windows.Forms.Label();
@@ -87,6 +96,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.flowLayoutPanel3.SuspendLayout();
+ this.flowLayoutPanel5.SuspendLayout();
+ this.flowLayoutPanel6.SuspendLayout();
+ this.flowLayoutPanel7.SuspendLayout();
this.pnlSpec1.SuspendLayout();
this.flowLayoutPanel1.SuspendLayout();
this.pnlSpec2.SuspendLayout();
@@ -155,6 +167,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// flowLayoutPanel3
//
this.flowLayoutPanel3.AutoScroll = true;
+ this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel5);
+ this.flowLayoutPanel3.Controls.Add(this.flpMainImage);
+ this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel6);
+ this.flowLayoutPanel3.Controls.Add(this.flpDetailImage);
+ this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel7);
+ this.flowLayoutPanel3.Controls.Add(this.flpProp);
this.flowLayoutPanel3.Controls.Add(this.pnlSpec1);
this.flowLayoutPanel3.Controls.Add(this.flowLayoutPanel1);
this.flowLayoutPanel3.Controls.Add(this.pnlSpec2);
@@ -171,11 +189,129 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.flowLayoutPanel3.TabIndex = 1;
this.flowLayoutPanel3.WrapContents = false;
//
+ // flowLayoutPanel5
+ //
+ this.flowLayoutPanel5.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.flowLayoutPanel5.AutoSize = true;
+ this.flowLayoutPanel5.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.flowLayoutPanel5.Controls.Add(this.label10);
+ this.flowLayoutPanel5.Location = new System.Drawing.Point(3, 0);
+ this.flowLayoutPanel5.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+ this.flowLayoutPanel5.MaximumSize = new System.Drawing.Size(1240, 9999);
+ this.flowLayoutPanel5.MinimumSize = new System.Drawing.Size(1250, 10);
+ this.flowLayoutPanel5.Name = "flowLayoutPanel5";
+ this.flowLayoutPanel5.Size = new System.Drawing.Size(1250, 22);
+ this.flowLayoutPanel5.TabIndex = 20;
+ this.flowLayoutPanel5.Tag = "";
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label10.Location = new System.Drawing.Point(3, 5);
+ this.label10.Margin = new System.Windows.Forms.Padding(3, 5, 3, 0);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(44, 17);
+ this.label10.TabIndex = 0;
+ this.label10.Text = "主图:";
+ //
+ // flpMainImage
+ //
+ this.flpMainImage.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.flpMainImage.AutoSize = true;
+ this.flpMainImage.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.flpMainImage.Location = new System.Drawing.Point(3, 25);
+ this.flpMainImage.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+ this.flpMainImage.MaximumSize = new System.Drawing.Size(1240, 9999);
+ this.flpMainImage.MinimumSize = new System.Drawing.Size(1250, 10);
+ this.flpMainImage.Name = "flpMainImage";
+ this.flpMainImage.Size = new System.Drawing.Size(1250, 10);
+ this.flpMainImage.TabIndex = 16;
+ this.flpMainImage.Tag = "";
+ //
+ // flowLayoutPanel6
+ //
+ this.flowLayoutPanel6.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.flowLayoutPanel6.AutoSize = true;
+ this.flowLayoutPanel6.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.flowLayoutPanel6.Controls.Add(this.label11);
+ this.flowLayoutPanel6.Location = new System.Drawing.Point(3, 38);
+ this.flowLayoutPanel6.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+ this.flowLayoutPanel6.MaximumSize = new System.Drawing.Size(1240, 9999);
+ this.flowLayoutPanel6.MinimumSize = new System.Drawing.Size(1250, 10);
+ this.flowLayoutPanel6.Name = "flowLayoutPanel6";
+ this.flowLayoutPanel6.Size = new System.Drawing.Size(1250, 17);
+ this.flowLayoutPanel6.TabIndex = 21;
+ this.flowLayoutPanel6.Tag = "";
+ //
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label11.Location = new System.Drawing.Point(3, 0);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(56, 17);
+ this.label11.TabIndex = 0;
+ this.label11.Text = "详情图:";
+ //
+ // flpDetailImage
+ //
+ this.flpDetailImage.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.flpDetailImage.AutoSize = true;
+ this.flpDetailImage.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.flpDetailImage.Location = new System.Drawing.Point(3, 58);
+ this.flpDetailImage.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+ this.flpDetailImage.MaximumSize = new System.Drawing.Size(1240, 9999);
+ this.flpDetailImage.MinimumSize = new System.Drawing.Size(1250, 10);
+ this.flpDetailImage.Name = "flpDetailImage";
+ this.flpDetailImage.Size = new System.Drawing.Size(1250, 10);
+ this.flpDetailImage.TabIndex = 18;
+ this.flpDetailImage.Tag = "";
+ //
+ // flowLayoutPanel7
+ //
+ this.flowLayoutPanel7.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.flowLayoutPanel7.AutoSize = true;
+ this.flowLayoutPanel7.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.flowLayoutPanel7.Controls.Add(this.label12);
+ this.flowLayoutPanel7.Location = new System.Drawing.Point(3, 71);
+ this.flowLayoutPanel7.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+ this.flowLayoutPanel7.MaximumSize = new System.Drawing.Size(1240, 9999);
+ this.flowLayoutPanel7.MinimumSize = new System.Drawing.Size(1250, 10);
+ this.flowLayoutPanel7.Name = "flowLayoutPanel7";
+ this.flowLayoutPanel7.Size = new System.Drawing.Size(1250, 17);
+ this.flowLayoutPanel7.TabIndex = 22;
+ this.flowLayoutPanel7.Tag = "";
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label12.Location = new System.Drawing.Point(3, 0);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(68, 17);
+ this.label12.TabIndex = 0;
+ this.label12.Text = "商品属性:";
+ //
+ // flpProp
+ //
+ this.flpProp.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.flpProp.AutoSize = true;
+ this.flpProp.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.flpProp.Location = new System.Drawing.Point(3, 91);
+ this.flpProp.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+ this.flpProp.MaximumSize = new System.Drawing.Size(1240, 9999);
+ this.flpProp.MinimumSize = new System.Drawing.Size(1250, 10);
+ this.flpProp.Name = "flpProp";
+ this.flpProp.Size = new System.Drawing.Size(1250, 10);
+ this.flpProp.TabIndex = 19;
+ this.flpProp.Tag = "";
+ //
// pnlSpec1
//
this.pnlSpec1.Controls.Add(this.btnAddSpec1);
this.pnlSpec1.Controls.Add(this.label1);
- this.pnlSpec1.Location = new System.Drawing.Point(3, 3);
+ this.pnlSpec1.Location = new System.Drawing.Point(3, 107);
this.pnlSpec1.MinimumSize = new System.Drawing.Size(1250, 10);
this.pnlSpec1.Name = "pnlSpec1";
this.pnlSpec1.Size = new System.Drawing.Size(1250, 23);
@@ -209,12 +345,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// label1
//
this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(3, 3);
this.label1.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(51, 17);
this.label1.TabIndex = 0;
- this.label1.Text = "属性1:";
+ this.label1.Text = "规格1:";
//
// flowLayoutPanel1
//
@@ -222,7 +359,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.flowLayoutPanel1.AutoSize = true;
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel1.Controls.Add(this.ucPddSpecEdit1);
- this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 29);
+ this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 133);
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
this.flowLayoutPanel1.MaximumSize = new System.Drawing.Size(1240, 9999);
this.flowLayoutPanel1.MinimumSize = new System.Drawing.Size(1250, 10);
@@ -245,7 +382,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.pnlSpec2.Controls.Add(this.btnAddSpec2);
this.pnlSpec2.Controls.Add(this.label2);
- this.pnlSpec2.Location = new System.Drawing.Point(3, 90);
+ this.pnlSpec2.Location = new System.Drawing.Point(3, 194);
this.pnlSpec2.MinimumSize = new System.Drawing.Size(1250, 10);
this.pnlSpec2.Name = "pnlSpec2";
this.pnlSpec2.Size = new System.Drawing.Size(1250, 23);
@@ -279,12 +416,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// label2
//
this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(3, 3);
this.label2.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(51, 17);
this.label2.TabIndex = 1;
- this.label2.Text = "属性2:";
+ this.label2.Text = "规格2:";
//
// flowLayoutPanel2
//
@@ -292,7 +430,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.flowLayoutPanel2.AutoSize = true;
this.flowLayoutPanel2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel2.Controls.Add(this.ucPddSpecEdit2);
- this.flowLayoutPanel2.Location = new System.Drawing.Point(3, 116);
+ this.flowLayoutPanel2.Location = new System.Drawing.Point(3, 220);
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
this.flowLayoutPanel2.MaximumSize = new System.Drawing.Size(1240, 9999);
this.flowLayoutPanel2.MinimumSize = new System.Drawing.Size(1250, 10);
@@ -313,7 +451,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// panel4
//
this.panel4.Controls.Add(this.label3);
- this.panel4.Location = new System.Drawing.Point(3, 177);
+ this.panel4.Location = new System.Drawing.Point(3, 281);
this.panel4.MinimumSize = new System.Drawing.Size(1250, 10);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(1250, 23);
@@ -322,6 +460,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// label3
//
this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(1, 3);
this.label3.Margin = new System.Windows.Forms.Padding(5, 5, 3, 3);
this.label3.Name = "label3";
@@ -332,7 +471,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// panel6
//
this.panel6.Controls.Add(this.flowLayoutPanel4);
- this.panel6.Location = new System.Drawing.Point(3, 203);
+ this.panel6.Location = new System.Drawing.Point(3, 307);
this.panel6.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
this.panel6.MinimumSize = new System.Drawing.Size(1250, 10);
this.panel6.Name = "panel6";
@@ -528,7 +667,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.colEditSkuImg,
this.colSkuSn});
this.dgvDbProduct.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
- this.dgvDbProduct.Location = new System.Drawing.Point(5, 236);
+ this.dgvDbProduct.Location = new System.Drawing.Point(5, 340);
this.dgvDbProduct.Margin = new System.Windows.Forms.Padding(5, 0, 3, 3);
this.dgvDbProduct.MultiSelectCheckBox = true;
this.dgvDbProduct.Name = "dgvDbProduct";
@@ -555,13 +694,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
// colSpec1
//
- this.colSpec1.HeaderText = "属性1";
+ this.colSpec1.HeaderText = "规格1";
this.colSpec1.Name = "colSpec1";
this.colSpec1.ReadOnly = true;
//
// colSpec2
//
- this.colSpec2.HeaderText = "属性2";
+ this.colSpec2.HeaderText = "规格2";
this.colSpec2.Name = "colSpec2";
this.colSpec2.ReadOnly = true;
//
@@ -619,7 +758,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
// panel5
//
- this.panel5.Location = new System.Drawing.Point(3, 842);
+ this.panel5.Location = new System.Drawing.Point(3, 946);
this.panel5.MinimumSize = new System.Drawing.Size(1250, 10);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(1250, 10);
@@ -720,6 +859,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.splitContainer1.ResumeLayout(false);
this.flowLayoutPanel3.ResumeLayout(false);
this.flowLayoutPanel3.PerformLayout();
+ this.flowLayoutPanel5.ResumeLayout(false);
+ this.flowLayoutPanel5.PerformLayout();
+ this.flowLayoutPanel6.ResumeLayout(false);
+ this.flowLayoutPanel6.PerformLayout();
+ this.flowLayoutPanel7.ResumeLayout(false);
+ this.flowLayoutPanel7.PerformLayout();
this.pnlSpec1.ResumeLayout(false);
this.pnlSpec1.PerformLayout();
this.flowLayoutPanel1.ResumeLayout(false);
@@ -780,6 +925,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
public DevComponents.DotNetBar.PanelEx btnSaveSkuLst;
public DevComponents.DotNetBar.PanelEx btnRestoreAll;
private System.Windows.Forms.Panel panel6;
+ private System.Windows.Forms.Panel panel7;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.FlowLayoutPanel flpMainImage;
+ private System.Windows.Forms.FlowLayoutPanel flpDetailImage;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSpec1;
@@ -791,7 +940,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
private System.Windows.Forms.DataGridViewImageColumn colSkuImg;
private System.Windows.Forms.DataGridViewLinkColumn colEditSkuImg;
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuSn;
- private System.Windows.Forms.Panel panel7;
- private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.FlowLayoutPanel flpProp;
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel5;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel6;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel7;
+ private System.Windows.Forms.Label label12;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs
index 3b73a8b..25e759a 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs
@@ -28,6 +28,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
{
public KJDDBProduct DbProd { get; set; }
public KJDDBProduct DbProdDetail { get; set; }
+ Dictionary imgDic { get; set; } = new Dictionary();
List lstSkuEditItem { get; set; } = new List();
sku_edit_item defaultSkuEditItem { get; set; }
int addSpecIndex1 = 1;
@@ -66,6 +67,42 @@ namespace TemuKJD.PDDForms.ProductSelectForms
Invoke(new Action(() =>
{
+ label5.Text = "单价";
+
+ var prodInfo = JsonHelper.DeserializeJsonToObject(DbProdDetail.product_json);
+ // 加载主图和详情图
+ foreach (var image in prodInfo.detail.galleries)
+ {
+ var imgUrl = image.url.ParseToString().Replace("https", "http") + "?" + Randomx.GetId(10000000, 99999999);
+ imgDic[imgUrl] = imgUrl;
+ var pb = new PictureBox()
+ {
+ Size = new Size(128, 128),
+ SizeMode = PictureBoxSizeMode.Zoom,
+ Tag = imgUrl,
+ ImageLocation = imgUrl,
+ BorderStyle = BorderStyle.FixedSingle,
+ };
+ pb.Click += Pb_Click;
+
+ if (image.type == 1)
+ {
+ this.flpMainImage.Controls.Add(pb);
+ }
+ else
+ this.flpDetailImage.Controls.Add(pb);
+ }
+
+ //加载商品属性
+ foreach (var prop in prodInfo.property.goods_properties)
+ {
+ var panel = new FlowLayoutPanel() { AutoSize = true };
+ panel.Controls.Add(new Label() { AutoSize = true, Text = prop.name });
+ panel.Controls.Add(new Label() { AutoSize= true, BorderStyle = BorderStyle.FixedSingle, Text = string.Join(";", prop.values.Select(v => v.value)), BackColor = Color.White, /*ReadOnly = true*/ });
+ this.flpProp.Controls.Add(panel);
+ }
+
+ //加载规格
if (!string.IsNullOrWhiteSpace(DbProdDetail.sku_edit_json))
{
// 如果有编辑过的sku使用编辑过的sku
@@ -74,7 +111,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
else
{
// 否则使用原版sku
- var prodInfo = JsonHelper.DeserializeJsonToObject(DbProdDetail.product_json);
lstSkuEditItem = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(prodInfo.detail.sku));
}
DisplaySkuData(lstSkuEditItem);
@@ -83,6 +119,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
});
}
+ private void Pb_Click(object sender, EventArgs e)
+ {
+ var pb = sender as PictureBox;
+ if (pb == null)
+ return;
+
+ ShowImgForm imgFrom = new ShowImgForm(pb.ImageLocation, imgDic);
+ imgFrom.ShowDialog();
+ }
+
void DisplaySkuData(List lstSkuEditItem)
{
defaultSkuEditItem = lstSkuEditItem.FirstOrDefault();
@@ -293,7 +339,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
if (spec == null)
return;
- if (edit.pictureBox1.Visible == true) // 第一组属性
+ if (edit.pictureBox1.Visible == true) // 第一组规格
{
if (lstSkuEditItem.All(s => s.spec.Count > 0))
{
@@ -308,7 +354,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
else
{
- if (lstSkuEditItem.All(s => s.spec.Count > 1)) // 第二组属性
+ if (lstSkuEditItem.All(s => s.spec.Count > 1)) // 第二组规格
{
var rows = this.dgvDbProduct.Rows.Cast().Where(r => r.Cells["colSpec2"].Value.ParseToString() == spec.spec_name).ToList();
foreach (var row in rows)
@@ -470,7 +516,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
skuEditItem.spec.Count > 1 ? skuEditItem.spec[1].spec_name : "",
skuEditItem.multi_price * 0.01m,
skuEditItem.price * 0.01m,
- skuEditItem.quantity,
+ skuEditItem.quantity.IsNullOrZero() ? skuEditItem.quantity_delta : skuEditItem.quantity,
skuEditItem.thumb_url,
DataGridViewExtension.defaultBitmap,
"编辑",
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs
index 0bbfe07..1045f51 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs
@@ -51,6 +51,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucTabControlMetro1 = new TemuKJD.UserControls.UcTabControlMetro();
this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.btnAddUserProd = new DevComponents.DotNetBar.PanelEx();
this.btnTitleFission = new DevComponents.DotNetBar.PanelEx();
this.btnSetGroup = new DevComponents.DotNetBar.PanelEx();
this.btnDelSelect = new DevComponents.DotNetBar.PanelEx();
@@ -179,7 +180,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
- this.btnAddUserProd = new DevComponents.DotNetBar.PanelEx();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -265,6 +265,32 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.tabPage1.Text = "数据操作";
this.tabPage1.UseVisualStyleBackColor = true;
//
+ // btnAddUserProd
+ //
+ this.btnAddUserProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnAddUserProd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnAddUserProd.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnAddUserProd.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnAddUserProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnAddUserProd.Location = new System.Drawing.Point(6, 41);
+ this.btnAddUserProd.Name = "btnAddUserProd";
+ this.btnAddUserProd.Size = new System.Drawing.Size(96, 25);
+ this.btnAddUserProd.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnAddUserProd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnAddUserProd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnAddUserProd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnAddUserProd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnAddUserProd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnAddUserProd.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnAddUserProd.Style.GradientAngle = 90;
+ this.btnAddUserProd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnAddUserProd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnAddUserProd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnAddUserProd.TabIndex = 800;
+ this.btnAddUserProd.Text = "添加到用户商品";
+ this.btnAddUserProd.Visible = false;
+ this.btnAddUserProd.Click += new System.EventHandler(this.btnAddUserProd_Click);
+ //
// btnTitleFission
//
this.btnTitleFission.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -424,7 +450,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.btnOutProdSaveDb.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
this.btnOutProdSaveDb.TabIndex = 1154;
this.btnOutProdSaveDb.Text = "导入已采集数据";
- this.btnOutProdSaveDb.Visible = false;
this.btnOutProdSaveDb.Click += new System.EventHandler(this.btnOutProdSaveDb_Click);
//
// btnImport
@@ -2032,32 +2057,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.statusBar.Size = new System.Drawing.Size(1438, 25);
this.statusBar.TabIndex = 5;
//
- // btnAddUserProd
- //
- this.btnAddUserProd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btnAddUserProd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.btnAddUserProd.Cursor = System.Windows.Forms.Cursors.Hand;
- this.btnAddUserProd.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnAddUserProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnAddUserProd.Location = new System.Drawing.Point(6, 41);
- this.btnAddUserProd.Name = "btnAddUserProd";
- this.btnAddUserProd.Size = new System.Drawing.Size(96, 25);
- this.btnAddUserProd.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.btnAddUserProd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnAddUserProd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnAddUserProd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
- this.btnAddUserProd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
- this.btnAddUserProd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
- this.btnAddUserProd.Style.ForeColor.Color = System.Drawing.Color.White;
- this.btnAddUserProd.Style.GradientAngle = 90;
- this.btnAddUserProd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.btnAddUserProd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnAddUserProd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnAddUserProd.TabIndex = 800;
- this.btnAddUserProd.Text = "添加到用户商品";
- this.btnAddUserProd.Visible = false;
- this.btnAddUserProd.Click += new System.EventHandler(this.btnAddUserProd_Click);
- //
// PDDDBProdListForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs
index 3abef37..ba036a7 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs
@@ -1150,14 +1150,31 @@ namespace TemuKJD.PDDForms.ProductSelectForms
string rst = "";
try
{
- using (StreamReader sr = new StreamReader(path))
+ using (StreamReader sr = new StreamReader(path, Work.Api.UploadPinduoduoMain.GetFileEncoding(path)))
{
- content = sr.ReadToEnd();
+ content = sr.ReadToEnd();
}
if (content.Contains("\"spec_keys\"") && content.Contains("\"spec_values\"") && content.Contains("\"is_sku_pre_sale\""))
rst = new PDDProdFormConverter().PddFrontToPddBackConvert(content);
- else if (content.Contains("\"destination_url\"") && content.Contains("\"destination_type\"") && content.Contains("\"pre_render_url\""))
+ //else if (content.Contains("\"destination_url\"") && content.Contains("\"destination_type\"") && content.Contains("\"pre_render_url\""))
+ //{
+ // rst = new PDDProdFormConverter().PddFrontToPddBackConvert2(content);
+ //}
+ //else if (content.Contains("\"goods_id\"") && content.Contains("\"goods_name\"") && content.Contains("\"gallery\"") &&
+ // content.Contains("\"priority\"") && content.Contains("\"enable_share\"") && content.Contains("\"decoration\"") &&
+ // content.Contains("\"goods_property\"") && content.Contains("\"ref_pid\"") && content.Contains("\"sku_id\"") &&
+ // content.Contains("\"quantity\"") && content.Contains("\"specs\"") && content.Contains("\"spec_key\"") &&
+ // content.Contains("\"spec_value\"") && content.Contains("\"group_price\"") && content.Contains("\"sku_price\"") &&
+ // content.Contains("img.pddpic.com") )
+ //{
+ // rst = new PDDProdFormConverter().PddFrontToPddBackConvert2(content);
+ //}
+ else if (content.Contains("\"goods_id\"") && content.Contains("\"goods_name\"") && content.Contains("\"gallery\"") &&
+ content.Contains("\"priority\"") && content.Contains("\"enable_share\"") && content.Contains("\"goods_property\"") &&
+ (content.Contains("\"ref_pid\"") || content.Contains("\"goods_property\":[]")) && content.Contains("\"sku_id\"") && content.Contains("\"quantity\"") &&
+ content.Contains("\"specs\"") && content.Contains("\"spec_key\"") && content.Contains("\"spec_value\"") &&
+ content.Contains("\"group_price\"") && content.Contains("img.pddpic.com"))
{
rst = new PDDProdFormConverter().PddFrontToPddBackConvert2(content);
}
@@ -1173,13 +1190,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
Invoke(new Action(() =>
{
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
- this.statusBar.lblTaskStatus.Text = "正在导入";
+ this.statusBar.lblTaskStatus.Text = "正在导入,尝试导入" + (successNum + failedNum) + ",成功" + successNum + ",失败" + failedNum;
}));
}
Invoke(new Action(() =>
{
pbLoading.Visible = false;
- this.statusBar.lblTaskStatus.Text = "导入完成";
+ this.statusBar.lblTaskStatus.Text = "导入完成,尝试导入" + (successNum + failedNum) + ",成功" + successNum + ",失败" + failedNum;
BaseMsgForm.ShowInfo("导入完成!");
}));
});
diff --git a/TEMUKJD/ToolForms/ShowImgForm.Designer.cs b/TEMUKJD/ToolForms/ShowImgForm.Designer.cs
index d7c0f46..9dfcc3a 100644
--- a/TEMUKJD/ToolForms/ShowImgForm.Designer.cs
+++ b/TEMUKJD/ToolForms/ShowImgForm.Designer.cs
@@ -32,11 +32,11 @@ namespace TemuKJD.ToolForms
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShowImgForm));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.label1 = new System.Windows.Forms.Label();
this.btnSave = new DevComponents.DotNetBar.PanelEx();
this.btnCopy = new DevComponents.DotNetBar.PanelEx();
this.btnCopyUrl = new DevComponents.DotNetBar.PanelEx();
this.btnClose = new DevComponents.DotNetBar.PanelEx();
- this.label1 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -80,9 +80,19 @@ namespace TemuKJD.ToolForms
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(265, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(188, 17);
+ this.label1.TabIndex = 518;
+ this.label1.Text = "点击图片或按空格键切换列表图片";
+ this.label1.Visible = false;
+ //
// btnSave
//
- this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSave.DisabledBackColor = System.Drawing.Color.Empty;
@@ -107,7 +117,7 @@ namespace TemuKJD.ToolForms
//
// btnCopy
//
- this.btnCopy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnCopy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnCopy.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCopy.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCopy.DisabledBackColor = System.Drawing.Color.Empty;
@@ -132,7 +142,7 @@ namespace TemuKJD.ToolForms
//
// btnCopyUrl
//
- this.btnCopyUrl.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnCopyUrl.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnCopyUrl.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnCopyUrl.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCopyUrl.DisabledBackColor = System.Drawing.Color.Empty;
@@ -180,16 +190,6 @@ namespace TemuKJD.ToolForms
this.btnClose.Text = "关闭";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(265, 9);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(188, 17);
- this.label1.TabIndex = 518;
- this.label1.Text = "点击图片或按空格键切换列表图片";
- this.label1.Visible = false;
- //
// ShowImgForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
diff --git a/TEMUKJD/ToolForms/ShowImgForm.cs b/TEMUKJD/ToolForms/ShowImgForm.cs
index 341673c..647a593 100644
--- a/TEMUKJD/ToolForms/ShowImgForm.cs
+++ b/TEMUKJD/ToolForms/ShowImgForm.cs
@@ -17,12 +17,10 @@ namespace TemuKJD.ToolForms
string currentImgUrl = null;
Dictionary imgDic = new Dictionary();
- public ShowImgForm(string picUrl, Dictionary picDic = null)
+ public ShowImgForm(string picUrl)
{
InitializeComponent();
currentImgUrl = picUrl;
- if (picDic != null)
- imgDic = picDic;
if (!string.IsNullOrEmpty(currentImgUrl))
{
@@ -37,6 +35,20 @@ namespace TemuKJD.ToolForms
}
}
+ public ShowImgForm(string picUrl, Dictionary picDic)
+ {
+ InitializeComponent();
+ currentImgUrl = picUrl;
+ if (picDic != null)
+ imgDic = picDic;
+
+ if (!string.IsNullOrEmpty(currentImgUrl))
+ {
+ if (picDic != null)
+ this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http");
+ }
+ }
+
public ShowImgForm(Image img)
{
InitializeComponent();
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
index 5e5506c..978c80d 100644
--- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
@@ -466,9 +466,24 @@ namespace TemuKJD.WXForms.ProductForms
if (itemObj["serviceName"].ParseToString() == "店统领供应链-商品管理")
{
var expiresTick = itemObj["expireTime"].ParseToLong();
- GlobalConfig.lstWxShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, UpdateTime = DateTime.Now, ExpiresTime = BaseClass.StampToDateTime(expiresTick.ParseToInt()) });
- Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); }));
- return;
+ var WxShopAuthInfo = new AuthInfo() { ShopId = shop.ShopId, UpdateTime = DateTime.Now, ExpiresTime = BaseClass.StampToDateTime(expiresTick.ParseToInt()) };
+ if (WxShopAuthInfo.ExpiresTime > DateTime.Now)
+ {
+ GlobalConfig.lstWxShopAuthInfo.Add(WxShopAuthInfo);
+ Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); }));
+ return;
+ }
+ }
+ if (itemObj["serviceName"].ParseToString() == "东内部")
+ {
+ var expiresTick = itemObj["expireTime"].ParseToLong();
+ var WxShopAuthInfo = new AuthInfo() { ShopId = shop.ShopId, UpdateTime = DateTime.Now, ExpiresTime = BaseClass.StampToDateTime(expiresTick.ParseToInt()) };
+ if (WxShopAuthInfo.ExpiresTime > DateTime.Now)
+ {
+ GlobalConfig.lstWxShopAuthInfo.Add(WxShopAuthInfo);
+ Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); }));
+ return;
+ }
}
}
// 没找到指定服务
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs
index 0ad88b7..1dc79e8 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs
@@ -493,12 +493,12 @@ namespace TemuKJD.WXForms.ProductForms
{
var prodObjs = JsonHelper.JObjectParse(getProdOnSaleRst);
// 按商品id查询不需要
- //if (page == 1 || 1 == 1)
- //{
- // var totalNum = prodObjs["totalNum"].ParseToInt();
- // totalPage = Math.Ceiling(1m * totalNum / pageSize).ParseToInt();
- //}
- //nextKey = prodObjs["nextKey"].ParseToString();
+ if (page == 1 || 1 == 1)
+ {
+ var totalNum = prodObjs["totalNum"].ParseToInt();
+ totalPage = Math.Ceiling(1m * totalNum / pageSize).ParseToInt();
+ }
+ nextKey = prodObjs["nextKey"].ParseToString();
Invoke(new Action(() =>
{
this.pbLoading.Visible = true;
diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs
index a94904e..a9823bb 100644
--- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs
@@ -152,7 +152,7 @@ namespace TemuKJD.WXForms.ProductForms
SearchDbProd(1);
}
- public void SearchDbProd(int page)
+ public void SearchDbProd(int page, string needKeepStatusText = "")
{
if (InvokeRequired)
{
@@ -256,6 +256,7 @@ namespace TemuKJD.WXForms.ProductForms
#if DEBUG
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
#endif
+ this.statusBar.lblTaskStatus.Text += needKeepStatusText;
}));
});
}
@@ -1093,19 +1094,37 @@ namespace TemuKJD.WXForms.ProductForms
foreach (var path in filePathLst)
{
string content = "";
- string rst = "";
+ string rst = "商品未识别";
try
{
- using (StreamReader sr = new StreamReader(path))
+ using (StreamReader sr = new StreamReader(path, Work.Api.UploadPinduoduoMain.GetFileEncoding(path)))
{
content = sr.ReadToEnd();
}
+ content = JsonHelper.SerializeObject(JsonHelper.JObjectParse(content));
if (content.Contains("\"spec_keys\"") && content.Contains("\"spec_values\"") && content.Contains("\"is_sku_pre_sale\""))
{
rst = new PDDProdFormConverter().PddFrontToPddBackConvert(content, true, null, true);
}
- else if (content.Contains("\"destination_url\"") && content.Contains("\"destination_type\"") && content.Contains("\"pre_render_url\""))
+ //else if (content.Contains("\"destination_url\"") && content.Contains("\"destination_type\"") && content.Contains("\"pre_render_url\""))
+ //{
+ // rst = new PDDProdFormConverter().PddFrontToPddBackConvert2(content, true, null, true);
+ //}
+ //else if (content.Contains("\"goods_id\"") && content.Contains("\"goods_name\"") && content.Contains("\"gallery\"") &&
+ // content.Contains("\"priority\"") && content.Contains("\"enable_share\"") && content.Contains("\"decoration\"") &&
+ // content.Contains("\"goods_property\"") && content.Contains("\"ref_pid\"") && content.Contains("\"sku_id\"") &&
+ // content.Contains("\"quantity\"") && content.Contains("\"specs\"") && content.Contains("\"spec_key\"") &&
+ // content.Contains("\"spec_value\"") && content.Contains("\"group_price\"") && content.Contains("\"sku_price\"") &&
+ // content.Contains("img.pddpic.com") )
+ //{
+ // rst = new PDDProdFormConverter().PddFrontToPddBackConvert2(content, true, null, true);
+ //}
+ else if (content.Contains("\"goods_id\"") && content.Contains("\"goods_name\"") && content.Contains("\"gallery\"") &&
+ content.Contains("\"priority\"") && content.Contains("\"enable_share\"") && content.Contains("\"goods_property\"") &&
+ (content.Contains("\"ref_pid\"") || content.Contains("\"goods_property\":[]")) && content.Contains("\"sku_id\"") && content.Contains("\"quantity\"") &&
+ content.Contains("\"specs\"") && content.Contains("\"spec_key\"") && content.Contains("\"spec_value\"") &&
+ content.Contains("\"group_price\"") && content.Contains("img.pddpic.com"))
{
rst = new PDDProdFormConverter().PddFrontToPddBackConvert2(content, true, null, true);
}
@@ -1121,14 +1140,14 @@ namespace TemuKJD.WXForms.ProductForms
Invoke(new Action(() =>
{
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
- this.statusBar.lblTaskStatus.Text = "正在导入";
+ this.statusBar.lblTaskStatus.Text = "正在导入,尝试导入" + (successNum + failedNum) + ",成功" + successNum + ",失败" + failedNum;
}));
}
- SearchDbProd(1);
+ SearchDbProd(1, " 导入完成,尝试导入" + (successNum + failedNum) + ",成功" + successNum + ",失败" + failedNum);
Invoke(new Action(() =>
{
pbLoading.Visible = false;
- this.statusBar.lblTaskStatus.Text = "导入完成";
+ this.statusBar.lblTaskStatus.Text = "导入完成,尝试导入" + (successNum + failedNum) + ",成功" + successNum + ",失败" + failedNum;
BaseMsgForm.ShowInfo("导入完成!");
}));
});
diff --git a/TEMUKJD/WXForms/ShopForms/WXPDDShopLoginForm.cs b/TEMUKJD/WXForms/ShopForms/WXPDDShopLoginForm.cs
index ef94e74..5f1f1bb 100644
--- a/TEMUKJD/WXForms/ShopForms/WXPDDShopLoginForm.cs
+++ b/TEMUKJD/WXForms/ShopForms/WXPDDShopLoginForm.cs
@@ -116,7 +116,8 @@ namespace TemuKJD.WXForms.ShopForms
if (!this.Created)
break;
- if (this.shop != null && currentUrl.TrimEnd('/') == shopMainUrl)
+ //if (this.shop != null && currentUrl.TrimEnd('/') == shopMainUrl)
+ if (this.shop != null && currentUrl.StartsWith( shopMainUrl))
{
if (!cefWebBrowser.GetBrowser().MainFrame.IsValid)
continue;
@@ -678,6 +679,7 @@ namespace TemuKJD.WXForms.ShopForms
{
var username = BaseRegex.GetStringJson(ref data, "username");
var maskMobile = BaseRegex.GetStringJson(ref data, "mobile");
+ var mall_name = BaseRegex.GetStringJson(ref data, "mall_name");
if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(maskMobile))
{
@@ -685,7 +687,7 @@ namespace TemuKJD.WXForms.ShopForms
if (string.IsNullOrWhiteSpace(maskMobile) || string.IsNullOrWhiteSpace(username))
return;
- if (shop.LoginName.EndsWith(maskMobile) || shop.LoginName == username)
+ if (shop.LoginName.EndsWith(maskMobile) || shop.LoginName == username || shop.LoginName == mall_name)
{
lstShopCompany.Clear();
//var jObj = JObject.Parse(data);
@@ -709,6 +711,8 @@ namespace TemuKJD.WXForms.ShopForms
}
}
+
+
if (openType == EnumOpenType.manage && string.IsNullOrWhiteSpace(shop.MallId))
{
shop.MallId = BaseRegex.GetStringJson(ref data, "mall_id");