277 lines
13 KiB
C#
277 lines
13 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 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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新店铺子账号和分组备注信息
|
||
/// </summary>
|
||
/// <param name="_shop"></param>
|
||
/// <returns></returns>
|
||
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<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()
|
||
+ "&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<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 = 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<string>(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString()));
|
||
shop.AntiContents = NaiBa.Util.Helper.ConfigHelper.LoadConfig<NaiBa.Util.ConcurrentList<string>>("verifi_code\\" + shop.ShopId);
|
||
if (shop.AntiContents == null)
|
||
shop.AntiContents = new NaiBa.Util.ConcurrentList<string>();
|
||
}
|
||
list.Add(shop);
|
||
}
|
||
return list;
|
||
}
|
||
}
|
||
}
|