using AllBase; using AllBase.Model.Result; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TemuKJD.BaseForms; using Work; namespace TemuKJD.BLL { public class ShopBLL { public static string AddServerShop(ShopLoginInfo _shop) { var url = BaseClass.BuildObjString("shop/add_shop"); var data = UserLogin.GetSignaturex() + "&login_name=" + _shop.LoginName + "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password) + "&shop_id=" + _shop.ShopId + "&shop_account=" + _shop.ShopAccount + "&cookie=" + _shop.Cookies + "&cookie2=" + _shop.Cookies2 + "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName) + "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName) + "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes) + "&login_status=" + _shop.LoginStatus + "&anti_contents=" + JsonHelper.SerializeObject(_shop.AntiContents); var result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200")) { var msg = BaseRegex.GetStringJson(ref result, "msg"); if (string.IsNullOrEmpty(msg)) msg = "店铺保存失败!"; BaseMsgForm.ShowError(msg); } return result; } /// /// 更新店铺子账号和分组备注信息 /// /// /// public static string MdyServerShopSubInfo(ShopLoginInfo _shop, bool isEditSingleShopNotes = false) { var url = BaseClass.BuildObjString("shop/mdy_shop"); var data = UserLogin.GetSignaturex(); if (isEditSingleShopNotes) { data += "&login_name=" + _shop.LoginName; data += "&shop_id=" + _shop.ShopId; data += "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes); } else { data += "&login_name=" + _shop.LoginName; data += "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password); data += "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName); data += "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName); } var result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200")) { var msg = BaseRegex.GetStringJson(ref result, "msg"); if (string.IsNullOrEmpty(msg)) msg = "店铺保存失败!"; BaseMsgForm.ShowError(msg); } return result; } public static string MdyAntiContent(ShopLoginInfo shop) { var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content"); var data = UserLogin.GetSignaturex() + "&login_name=" + shop.LoginName + "&shop_id=" + shop.ShopId + "&anti_contents=[]"; //+ JsonHelper.SerializeObject(shop.AntiContents); var result = GetHtml.PostUtf8(urlAddress, data); NaiBa.Util.Helper.ConfigHelper.SaveConfig("verifi_code\\" + shop.ShopId, JsonHelper.SerializeObject(shop.AntiContents)); return result; } public static List AdminGetServerShopLstByIds(List shop_ids) { List list = new List(); shop_ids = shop_ids.Where(s => !string.IsNullOrEmpty(s)).ToList(); var url = BaseClass.BuildObjString("shop/admin_get_shop_list"); var data = UserLogin.GetSignaturex() + "&shop_ids='" + string.Join("','", shop_ids) + "'"; data += "&page_size=200"; var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) { return new List(); } return ShopBLL.DeserializationShop(html); } public static string AdminGetServerShopLstForSetCookie(ShopLoginInfo loginShop, List lstRst) { if (lstRst == null) lstRst = new List(); var url = BaseClass.BuildObjString("shop/admin_get_shop_list"); var data = UserLogin.GetSignaturex() + "&search_user_name=" + loginShop.UserName + "&search_login_name=" + loginShop.LoginName; var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) { return "获取失败:" + BaseRegex.GetStringJson(ref html, "msg"); } lstRst.AddRange(ShopBLL.DeserializationShop(html)); return "success"; } public static string AdminAddServerShop(ShopLoginInfo _shop) { var url = BaseClass.BuildObjString("shop/admin_add_shop"); var data = UserLogin.GetSignaturex() + "&login_name=" + _shop.LoginName + "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password) + "&shop_id=" + _shop.ShopId + "&shop_account=" + _shop.ShopAccount + "&cookie=" + _shop.Cookies + "&cookie2=" + _shop.Cookies2 + "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName) + "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName) + "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes) + "&login_status=" + _shop.LoginStatus + "&shop_user_name=" + _shop.UserName; var result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200")) { var msg = BaseRegex.GetStringJson(ref result, "msg"); if (string.IsNullOrEmpty(msg)) msg = "店铺保存失败!"; BaseMsgForm.ShowError(msg); } return result; } public static string AdminMdyServerShop(ShopLoginInfo _shop, bool isEditSingleShopNotes = false) { var url = BaseClass.BuildObjString("shop/admin_mdy_shop"); var data = UserLogin.GetSignaturex(); if (isEditSingleShopNotes) { data += "&shop_user_name=" + _shop.UserName; data += "&login_name=" + _shop.LoginName; data += "&shop_id=" + _shop.ShopId; data += "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes); } else { data += "&shop_user_name=" + _shop.UserName; data += "&login_name=" + _shop.LoginName; data += "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password); data += "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName); data += "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName); } var result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在")) result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200")) { var msg = BaseRegex.GetStringJson(ref result, "msg"); if (string.IsNullOrEmpty(msg)) msg = "店铺保存失败!"; BaseMsgForm.ShowError(msg); } return result; } public static bool AdminDelServerShop(ShopLoginInfo _shop) { var url = BaseClass.BuildObjString("shop/admin_del_shop"); var data = UserLogin.GetSignaturex() + "&login_name=" + _shop.LoginName + "&shop_user_name=" + _shop.UserName; var result = GetHtml.PostUtf8(url, data); if (!result.Contains("\"code\":200")) { BaseMsgForm.ShowError("删除失败:" + BaseRegex.GetStringJson(ref result, "msg")); return false; } return true; } public static List DeserializationShop(string shopJson) { List list = new List(); if (!shopJson.Contains("data")) return list; var jArr = JObject.Parse(shopJson)["data"]; if (jArr.Count() == 0) return list; foreach (JObject jObj in jArr) { string shopStr = jObj.ToString(); ShopLoginInfo shop = new ShopLoginInfo(); shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id"); if (shop.DbId == null) continue; shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name"); shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass"); shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id"); shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account"); shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name"); shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name"); shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group"); shop.Cookies = jObj["cookie"].ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\""); shop.Cookies2 = jObj["cookie2"].ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\""); shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name"); shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2"); shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining"); shop.ad_cookie = BaseRegex.GetStringJson(ref shopStr, "ad_cookie").ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\""); shop.ad_login_status = BaseRegex.GetStringJson(ref shopStr, "ad_login_status"); shop.ad_seller_unique_id = BaseRegex.GetStringJson(ref shopStr, "ad_seller_unique_id"); shop.ad_url = BaseRegex.GetStringJson(ref shopStr, "ad_url"); shop.pddid = BaseRegex.GetStringJson(ref shopStr, "pddid"); shop.jit_expire_time = BaseRegex.GetStringJson(ref shopStr, "jit_expire_time") == null ? new DateTime?() : Convert.ToDateTime(BaseRegex.GetStringJson(ref shopStr, "jit_expire_time")); if (BaseClass.MainPath == "binxixi") { shop.AntiContents.Clear(); //shop.AntiContents.AddRange(JsonHelper.DeserializeJsonToList(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString())); shop.AntiContents = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("verifi_code\\" + shop.ShopId); if (shop.AntiContents == null) shop.AntiContents = new NaiBa.Util.ConcurrentList(); } list.Add(shop); } return list; } } }