using Api.Framework.Cps;
using Api.Framework.Enums;
using Api.Framework.Model;
using Api.Framework.Tools;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CsharpHttpHelper;
using System.IO;
using Api.Framework.SDK;
using Api.Framework.Timers;
using System.Threading;
namespace Api.Framework
{
///
/// Cps管理端
///
public class CpsClient
{
static CpsClient()
{
RefreshCps();
GuideMembers = new List();
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "1929015", usernick = "w", cookies = "1929015_24223399" });//吴嘉华
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "8701005", usernick = "zyy", cookies = "8701005_194371009" });//张谊玉
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15528847", usernick = "zl", cookies = "15528847_194372142" });//周雷
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "8364424", usernick = "zcg", cookies = "8364424_194372426" });//钟成刚
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15529092", usernick = "lcr", cookies = "15529092_194372782" });//廖春容
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15529109", usernick = "yc", cookies = "15529109_194373136" });//杨灿
GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15531182", usernick = "lxy", cookies = "15531182_194378363" });//李馨雨
}
///
/// 软件登录的cps集合
///
public static List Members { get; private set; }
///
/// 公共的Cps集合
///
internal static List GuideMembers { get; private set; }
///
/// 刷新cps缓存
///
public static void RefreshCps()
{
Members = ApiClient.GetSession().Find("select * from fl_cps_member");
}
///
/// 创建拼多多API请求
///
/// cps对象
///
public static PinduoduoApi CreatePinduoduoRequest(fl_cps_member member)
{
if (member != null && member.cpstype != CpsType.多多进宝) throw new Exception("CreatePinduoduoRequest 失败,您当前账号类型为:" + member.cpstype);
return new PinduoduoApi(member);
}
///
/// 创建一个阿里妈妈API请求
///
/// cps对象
///
public static AlimamaApi CreateAlimamaRequest(fl_cps_member member)
{
if (member.cpstype != CpsType.阿里妈妈) throw new Exception("CreateAlimamaRequest 失败,您当前账号类型为:" + member.cpstype);
return new AlimamaApi(member);
}
///
/// 创建一个京东联盟API请求
///
/// cps对象
///
public static JingdongApi CreateJingdongRequest(fl_cps_member member)
{
if (member.cpstype != CpsType.京东联盟) throw new Exception("CreateJingdongRequest 失败,您当前账号类型为:" + member.cpstype);
return new JingdongApi(member);
}
///
/// 创建一个唯品联盟API请求
///
/// cps对象
///
public static WeipinhuiApi CreateWeipinhuiRequest(fl_cps_member member)
{
if (member.cpstype != CpsType.唯品联盟) throw new Exception("CreateWeipinhuiRequest 失败,您当前账号类型为:" + member.cpstype);
return new WeipinhuiApi(member);
}
///
/// 创建一个苏宁易购API请求
///
/// cps对象
///
public static SuNingApi CreateSuNingRequest(fl_cps_member member)
{
if (member.cpstype != CpsType.苏宁易购) throw new Exception("CreateSuNingRequest 失败,您当前账号类型为:" + member.cpstype);
return new SuNingApi(member);
}
///
/// 创建一个抖音联盟API请求
///
/// cps对象
///
public static DouyinApi CreateDouyinRequest(fl_cps_member member)
{
if (member != null && member.cpstype != CpsType.抖音联盟) throw new Exception("CreateDouyinRequest 失败,您当前账号类型为:" + member.cpstype);
return new DouyinApi(member);
}
public static KuaiShouApi CreateKuaiShouRequest(fl_cps_member member)
{
if (member.cpstype != CpsType.快手联盟) throw new Exception("CreateDouyinRequest 失败,您当前账号类型为:" + member.cpstype);
return new KuaiShouApi(member);
}
///
/// cps登录
///
/// 需要登录cps类型
///
public static fl_cps_member Login(CpsType type)
{
// MiniblinkNet.WebView.PerformCookieCommand( MiniblinkNet.wkeCookieCommand.ClearAllCookies);
fl_cps_member member = null;
switch (type)
{
case CpsType.唯品联盟:
{
var form = new weipinhui_form_login();
form.ShowDialog();
member = form.member;
break;
}
//登录拼多多
case CpsType.多多进宝:
{
var form = new pinduoduo_form_login();
form.ShowDialog();
member = form.member;
break;
}
case CpsType.阿里妈妈:
{
//清理Cookies
Tools.Util.SuppressWininetBehavior();
try
{
var CookiesFile = HttpExtend.MapFile("cookies.dat");
if (File.Exists(CookiesFile)) File.Delete(CookiesFile);
}
catch (Exception)
{
}
//开始登陆
var login = new alimama_form_login();
login.ShowDialog();
member = login.Member;
break;
}
case CpsType.京东联盟:
{
var form = new jingdong_form_login();
form.ShowDialog();
member = form.member;
break;
}
case CpsType.抖音联盟:
{
var form = new douyin_form_login();
form.ShowDialog();
member = form.Member;
break;
}
case CpsType.苏宁易购:
{
var form = new suning_form_login1();
form.ShowDialog();
member = form.member;
break;
}
case CpsType.快手联盟:
{
var form = new kuaishou_form_login();
form.ShowDialog();
member = form.member;
break;
}
}
if (member != null)
{
try
{
switch (type)
{
case CpsType.阿里妈妈:
new AlimamaApi(member).RefToken();
break;
case CpsType.多多进宝:
new PinduoduoApi(member).RefToken();
break;
case CpsType.唯品联盟:
new WeipinhuiApi(member).RefToken();
break;
case CpsType.快手联盟:
new KuaiShouApi(member).RefToken();
break;
case CpsType.京东联盟:
//new JingdongApi(member).RefToken();
break;
default:
break;
}
}
catch (Exception)
{ }
var session = ApiClient.GetSession();
session.SaveOrUpdate(member);
return member;
}
return null;
}
///
/// cps选择推广位
///
/// cps类型
///
///
///
///
public static object SelectTuiguangwei(CpsType type, bool isalone = true, bool isgroup = false, bool isactivity = false)
{
switch (type)
{
case CpsType.阿里妈妈:
{
var f = new alimama_form_select_tgw(isalone, isgroup, isactivity);
f.ShowDialog();
if (f.Tuiguangwei != null)
return f.Tuiguangwei;
else
return f.AdzoneGroup;
}
case CpsType.多多进宝:
{
var f = new pinduoduo_form_select_tgw();
f.ShowDialog();
return f.Tuiguangwei;
}
case CpsType.京东联盟:
{
var f = new jingdong_form_select_tgw();
f.ShowDialog();
return f.Tuiguangwei;
}
case CpsType.唯品联盟:
{
var f = new weipinhui_form_select_tgw();
f.ShowDialog();
return f.Tuiguangwei;
}
case CpsType.抖音联盟:
{
var f = new douyin_form_select_tgw();
f.ShowDialog();
return f.Tuiguangwei;
}
case CpsType.苏宁易购:
{
var f = new suning_form_select_tgw();
f.ShowDialog();
return f.Tuiguangwei;
}
case CpsType.快手联盟:
{
var f = new kuaishou_form_select_tgw();
f.ShowDialog();
return f.Tuiguangwei;
}
//case CpsType.考拉联盟:
// {
// var f = new laola_form_select_tgw();
// f.ShowDialog();
// return f.Tuiguangwei;
// }
default:
break;
}
return null;
}
///
/// 更新订单
///
/// cps类型
/// 开始时间
/// 结束时间
/// 订单id
public static void UpdateOrder(CpsType type, DateTime startTime, DateTime endTime, string order_id)
{
try
{
switch (type)
{
case CpsType.阿里妈妈:
{
var timer = TimerTask.GetTimer() as DownAlimamaTimer;
timer.UpdateOrder(startTime, endTime, order_id);
break;
}
case CpsType.多多进宝:
{
var timer = TimerTask.GetTimer() as DownPinduoduoTimer;
timer.UpdateOrder(startTime, endTime, order_id);
break;
}
case CpsType.京东联盟:
{
var timer = TimerTask.GetTimer() as DownJingdongTimer;
timer.UpdateOrder(startTime, order_id);
break;
}
case CpsType.唯品联盟:
{
var timer = TimerTask.GetTimer() as DownWeipinhuiTimer;
timer.UpdateOrder(startTime, endTime, order_id);
break;
}
//case CpsType.抖音联盟:
// {
// var timer = TimerTask.GetTimer() as DownDouyinTimer;
// timer.UpdateOrder(startTime, endTime, order_id);
// break;
// }
case CpsType.苏宁易购:
{
var timer = TimerTask.GetTimer() as DownSuningTimer;
timer.UpdateOrder(startTime, endTime, order_id);
break;
}
case CpsType.快手联盟:
{
var timer = TimerTask.GetTimer() as DownKuaiShouTimer;
timer.UpdateOrder(startTime, endTime);
break;
}
default:
break;
}
}
catch { }
}
internal static string _key { get; set; }
internal static int _appid { get; set; }
internal static string _host
{
get { return ApiClient.Setting.SystemConfig.cps_server_api; }
//set;
}
internal static void SetEnckey(int appid, string host, string key)
{
//_host = host;
_appid = appid;
_key = key;
}
///
/// 像服务器发送数据包
///
///
///
///
///
internal static object SendServer(string method, string target, object param)
{
AuthEndpoint end = new AuthEndpoint()
{
Appid = CpsClient._appid,
Enckey = CpsClient._key,
Host = CpsClient._host + "/api/" + target + "/send_data",
Method = method
};
if (param != null)
{
var _param = param.GetType().GetProperties();
foreach (var item in _param)
{
end.Param[item.Name] = item.GetValue(param);
}
}
HttpHelper http = new HttpHelper();
for (int i = 0; i < 3; i++)
{
var result = http.SendData(end);
if (result != null)
{
if (!result.ok) throw new Exception(result.message.ToString());
return result.message;
}
Thread.Sleep(50);
}
return null;
}
}
}