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 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() + "&shop_user_name=" + _shop.UserName + "&login_name=" + _shop.LoginName + "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password) + "&shop_id=" + _shop.ShopId + "&shop_account=" + _shop.ShopAccount + "&cookie=" + _shop.Cookies + "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName) + "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName) + "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes) + "&login_status=" + _shop.LoginStatus; 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 AdminMdyServerShop(ShopLoginInfo _shop) { var url = BaseClass.BuildObjString("shop/admin_mdy_shop"); var data = UserLogin.GetSignaturex() + "&shop_user_name=" + _shop.UserName + "&login_name=" + _shop.LoginName + "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password) + "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName) + "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName) + "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes); 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 = BaseRegex.GetStringJson(ref shopStr, "cookie"); shop.Cookies = jObj["cookie"].IsNullOrEmpty() ? "[]" : jObj["cookie"].ToString(); shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+"); //shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString(); shop.Cookies2 = jObj["cookie2"].ToString(); shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+"); shop.AntiContents.Clear(); shop.AntiContents.AddRange(JsonHelper.DeserializeJsonToList(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString())); 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"); list.Add(shop); } return list; } } }