180 lines
8.4 KiB
C#
180 lines
8.4 KiB
C#
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<ShopLoginInfo> AdminGetServerShopLstByIds(List<string> shop_ids)
|
||
{
|
||
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
|
||
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<ShopLoginInfo>();
|
||
}
|
||
|
||
return ShopBLL.DeserializationShop(html);
|
||
}
|
||
|
||
public static string AdminGetServerShopLstForSetCookie(ShopLoginInfo loginShop, List<ShopLoginInfo> lstRst)
|
||
{
|
||
if (lstRst == null)
|
||
lstRst = new List<ShopLoginInfo>();
|
||
|
||
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<ShopLoginInfo> DeserializationShop(string shopJson)
|
||
{
|
||
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
|
||
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<string>(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;
|
||
}
|
||
}
|
||
}
|