using Api.Framework.Enums;
using Api.Framework.Model;
using Api.Framework.SDK;
using Api.Framework.Utils;
using CsharpHttpHelper;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using static Api.Framework.Cps.AlimamaApi;
namespace Api.Framework.Tools
{
///
/// 变量替换
///
public class VariateReplace
{
private static List pddlist = new List() { "[拼多多待结算数量]", "[拼多多待结算金额]", "[拼多多冻结金额]", "[拼多多冻结订单数]", "[拼多多未收货金额]", "[拼多多未收货订单数]" };
private static List tblist = new List() { "[淘宝待结算数量]", "[淘宝待结算金额]", "[淘宝冻结金额]", "[淘宝冻结订单数]", "[淘宝未收货金额]", "[淘宝未收货订单数]" };
private static List jdlist = new List() { "[京东待结算数量]", "[京东待结算金额]", "[京东冻结金额]", "[京东冻结订单数]", "[京东未收货金额]", "[京东未收货订单数]" };
private static List wphlist = new List() { "[唯品会待结算数量]", "[唯品会待结算金额]", "[唯品会冻结金额]", "[唯品会冻结订单数]", "[唯品会未收货金额]", "[唯品会未收货订单数]" };
private static List dylist = new List() { "[抖音待结算数量]", "[抖音待结算金额]", "[抖音冻结金额]", "[抖音冻结订单数]", "[抖音未收货金额]", "[抖音未收货订单数]" };
private static List snlist = new List() { "[苏宁待结算数量]", "[苏宁待结算金额]", "[苏宁冻结金额]", "[苏宁冻结订单数]", "[苏宁未收货金额]", "[苏宁未收货订单数]" };
private static List kslist = new List() { "[快手待结算数量]", "[快手待结算金额]", "[快手冻结金额]", "[快手冻结订单数]", "[快手未收货金额]", "[快手未收货订单数]" };
private static List list = new List() { "[待结算总数数量]", "[待结算总数金额]", "[待收货积分]", "[未收货积分]", "[未收货总金额]", "[待结算积分]", "[冻结总金额]", "[待收货订单数]", "[未收货订单数]", "[待结算订单数]", "[冻结订单数]" };
StringBuilder mess = null;
private object lock_replace = new object();
private void Replace(string key, string value)
{
if (mess != null)
{
lock (lock_replace) mess = mess.Replace(key, value);
}
}
///
/// 通用替换变量
///
/// 替换的内容
/// 与变量有关联的对象
///
public string CommonReplace(string _mess, params object[] objs)
{
if (string.IsNullOrEmpty(_mess)) return string.Empty;
mess = new StringBuilder(_mess);
try
{
Replace("[积分名称]", ApiClient.Setting.SystemConfig.PointName);
List actions = new List();
//List tasks = new List();
foreach (var item in objs)
{
var type = item.GetType();
if (type == typeof(fl_order_alimama))
{
var order = item as fl_order_alimama;
Replace("[订单号]", order.trade_parent_id);
Replace("[商品标题]", order.item_title);
Replace("[子订单号]", order.trade_id);
Replace("[付款金额]", order.alipay_total_price.ToString());
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
#region [原始返利积分] [维权金额] 淘宝变量
if (order != null)
{
var session = ApiClient.GetSession();
if (_mess.Contains("[维权金额]"))
{
var refund_alimama = session.Find("select * from fl_order_refund_alimama where tbtradeparentid = @tbtradeparentid and tbtradeid = @tbtradeid", new { tbtradeparentid = order.trade_parent_id, tbtradeid = order.trade_id }).FirstOrDefault();
if (refund_alimama != null)
Replace("[维权金额]", refund_alimama.refundfee.ToString());
}
if (_mess.Contains("[原始返利积分]"))
{
if (order.db_userid != 0)
{
var member = session.FindMemberInfoById(order.db_userid);
if (member != null)
{
////获取历史的增加积分
//var pointHists = session.Find("select * from fl_point_hist where uid = @uid and type = @pointType_name and message = @message", new { uid = order.db_userid, pointType_name = PointType.消费补贴, message = $"淘宝购买:{order.item_title} - ({order.trade_parent_id}) - ({order.trade_id})" });
//var histAddPoint = 0d;
////if (pointHists != null && pointHists.Count == 1)
//if (pointHists != null && pointHists.Count != 0)
//{
// pointHists = pointHists.OrderByDescending(f => f.crt_time).ToList();
// histAddPoint = pointHists[0].point;
//}
//if (histAddPoint != 0)
//{
// Replace("[原始返利积分]", histAddPoint.ToString("0.00"));
//}
//else
//{
// var itempoint = session.FindItemPoint(member, (double)(Math.Round((decimal)order.alipay_total_price * (decimal)order.income_rate, 2, MidpointRounding.AwayFromZero)), order.item_num, CpsType.阿里妈妈);//重新计算阿里妈妈给的佣金
// if (itempoint != null)
// {
// Replace("[原始返利积分]", itempoint.UserPoint.ToString());
// }
//}
var isReplace = false;
var rhPoint = session.FindRefundHistPoint(order.trade_parent_id, order.trade_id, CpsType.阿里妈妈);
if (rhPoint != null)
{
//获取积分信息
var point = HttpHelper.JsonToObject(rhPoint.db_point) as ItemPoint;
if (point != null)
{
Replace("[原始返利积分]", point.UserPoint.ToString("0.00"));
isReplace = true;
}
}
if (!isReplace)
{
#region 其他方案
//获取历史的增加积分
var pointHists = session.Find("select * from fl_point_hist where uid = @uid and type = @pointType_name and message = @message", new { uid = order.db_userid, pointType_name = PointType.消费补贴.ToString(), message = $"淘宝购买:{order.item_title} - ({order.trade_parent_id}) - ({order.trade_id})" });
var histAddPoint = 0d;
//if (pointHists != null && pointHists.Count == 1)
if (pointHists != null && pointHists.Count != 0)
{
pointHists = pointHists.OrderByDescending(f => f.crt_time).ToList();
histAddPoint = pointHists[0].point;
}
if (histAddPoint != 0)
{
Replace("[原始返利积分]", histAddPoint.ToString("0.00"));
}
else
{
var itempoint = session.FindItemPoint(member, (double)(Math.Round((decimal)order.alipay_total_price * (decimal)order.income_rate, 2, MidpointRounding.AwayFromZero)), order.item_num, CpsType.阿里妈妈);//重新计算阿里妈妈给的佣金
if (itempoint != null)
{
Replace("[原始返利积分]", itempoint.UserPoint.ToString());
}
}
#endregion
}
}
}
Replace("[原始返利积分]", "0.00");
}
}
#endregion
}
if (type == typeof(fl_order_jingdong))
{
var order = item as fl_order_jingdong;
Replace("[订单号]", order.orderId.ToString());
Replace("[商品标题]", order.skuName);
Replace("[付款金额]", order.estimateCosPrice.ToString());
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
if (type == typeof(fl_order_pinduoduo))
{
var order = item as fl_order_pinduoduo;
Replace("[订单号]", order.order_sn);
Replace("[商品标题]", order.goods_name);
Replace("[付款金额]", order.order_amount.ToString());
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
if (type == typeof(fl_order_douyin))
{
var order = item as fl_order_douyin;
Replace("[订单号]", order.order_id);
Replace("[商品标题]", order.product_name);
Replace("[付款金额]", Util.ConvertDouble_FenToYuan(order.total_pay_amount).ToString("0.00"));
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
if (type == typeof(fl_order_weipinhui))
{
var order = item as fl_order_weipinhui;
Replace("[订单号]", order.orderSn);
Replace("[商品标题]", order.goodsName);
Replace("[付款金额]", order.goodsFinalPrice.ToString());
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
if (type == typeof(fl_order_douyin))
{
var order = item as fl_order_douyin;
Replace("[订单号]", order.order_id);
Replace("[商品标题]", order.product_name);
Replace("[付款金额]", Util.ConvertDouble_FenToYuan(order.total_pay_amount).ToString());
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
if (type == typeof(fl_order_suning))
{
var order = item as fl_order_suning;
Replace("[订单号]", order.orderCode);
Replace("[商品标题]", order.productName);
Replace("[付款金额]", Util.ConvertDouble_FenToYuan((int)(double.Parse(order.payAmount) * 100)).ToString("0.00"));
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
if (type == typeof(fl_order_kuaishou))
{
var order = item as fl_order_kuaishou;
Replace("[订单号]", order.oid.ToString());
Replace("[商品标题]", order.itemTitle);
Replace("[付款金额]", order.paymentFee.ToString("0.00"));
Replace("[结算时间]", order.db_endtime.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[下级订单状态]", order.db_status.ToString());
}
else if (type == typeof(fl_robot_info))
{
var robot = item as fl_robot_info;
Replace("[机器人账号]", robot.name);
Replace("[机器人昵称]", robot.nick);
}
else if (type == typeof(fl_member_info))
{
var session = ApiClient.GetSession();
var member = item as fl_member_info;
if (_mess.Contains("[上级昵称]"))
{
var m = session.FindMemberInfoById(member.inviter_id);
if (m != null)
Replace("[上级昵称]", m.realnick);
else
Replace("[上级昵称]", "无");
}
Replace("[消费者昵称]", member.realnick);
Replace("[限制兑换时间]", member.ban_exchange_time.ToString("yyyy-MM-dd HH:mm:ss"));
Replace("[可兑换积分]", "[剩余积分]");
Replace("[剩余积分]", member.cur_point.ToString());
Replace("[账号]", member.username);
Replace("[昵称]", member.realnick);
Replace("[累计积分]", member.sum_point.ToString());
Replace("[提成积分]", member.ext_point.ToString());
Replace("[其他积分]", member.rew_point.ToString());
Replace("[消费积分]", member.buy_point.ToString());
Replace("[推广积分]", ((decimal)member.rew_point + (decimal)member.ext_point).ToString());
Replace("[支付宝账号]", member.alipay_num);
Replace("[支付宝姓名]", member.alipay_name);
Replace("[身份证号]", member.identity_card);
Replace("[身份证号码]", member.identity_card);
Replace("[姓名]", member.identity_name);
Replace("[身份证姓名]", member.identity_name);
Replace("[平台类型]", member.robot_type.ToString());
#region 今日订单信息/已退款订单数/今日总积分/已退款积分
if (_mess.Contains("[订单总数]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var data = session1.FindRow($@"select COALESCE(SUM(num),0) as num from (
select count(*) as num from fl_order_alimama where db_userid = @userid
UNION all
select count(*) as num from fl_order_pinduoduo where db_userid = @userid
UNION all
select count(*) as num from fl_order_jingdong where db_userid = @userid
UNION all
select count(*) as num from fl_order_weipinhui where db_userid = @userid
UNION all
select count(*) as num from fl_order_suning where db_userid = @userid
UNION all
select count(*) as num from fl_order_douyin where db_userid = @userid
UNION all
select count(*) as num from fl_order_kuaishou where db_userid = @userid
) as temp", new { userid = member.id });
Replace("[订单总数]", data["num"].ToString());
LogHelper.GetSingleObj().Debug("", $"订单总数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
if (_mess.Contains("[今日总订单]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var data = session1.FindRow($@"select COALESCE(SUM(num),0) as num from (
select count(*) as num from fl_order_alimama where @begin_time < create_time and create_time <= @end_time and db_userid = @userid
UNION All
select count(*) as num from fl_order_pinduoduo where @begin_time < order_create_time and order_create_time <= @end_time and db_userid = @userid
UNION All
select count(*) as num from fl_order_jingdong where @begin_time < orderTime and orderTime <= @end_time and db_userid = @userid
UNION All
select count(*) as num from fl_order_suning where @begin_time < orderSubmitTime and orderSubmitTime <= @end_time and db_userid = @userid
UNION All
select count(*) as num from fl_order_weipinhui where @begin_time1 < orderTime and orderTime <= @end_time1 and db_userid = @userid
UNION All
select count(*) as num from fl_order_douyin where @begin_time2 < pay_time and pay_time <= @end_time2 and db_userid = @userid
UNION All
select count(*) as num from fl_order_kuaishou where @begin_time < payTime and payTime <= @end_time and db_userid = @userid
) as temp", new
{
begin_time = DateTime.Today.AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss"),
end_time = DateTime.Today.AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss"),
begin_time1 = Util.GetTimeSpan(DateTime.Today.AddSeconds(-1), true),
end_time1 = Util.GetTimeSpan(DateTime.Today.AddDays(1).AddSeconds(-1), true),
begin_time2 = Util.GetTimeSpan(DateTime.Today.AddSeconds(-1), false),
end_time2 = Util.GetTimeSpan(DateTime.Today.AddDays(1).AddSeconds(-1), false),
userid = member.id
});
Replace("[今日总订单]", data["num"].ToString());
LogHelper.GetSingleObj().Debug("", $"今日总订单:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
if (_mess.Contains("[已退款订单数]"))
{
Replace("[已退款订单数]", FindOrderInfoByState(999, member.id, OrderStateType.退款订单数));
}
if (_mess.Contains("[今日总积分]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var result = session1.FindRow($@"select COALESCE(SUM(num),0) as num from (
select COALESCE(SUM(db_userpoint),0) as num from fl_order_alimama where @begin_time < create_time and create_time <= @end_time and db_userid = @userid
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_pinduoduo where @begin_time < order_create_time and order_create_time <= @end_time and db_userid = @userid
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_jingdong where @begin_time < orderTime and orderTime <= @end_time and db_userid = @userid
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_suning where @begin_time < orderSubmitTime and orderSubmitTime <= @end_time and db_userid = @userid
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_weipinhui where @begin_time1 < orderTime and orderTime <= @end_time1 and db_userid = @userid
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_douyin where @begin_time2 < pay_time and pay_time <= @end_time2 and db_userid = @userid
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_kuaishou where @begin_time < payTime and payTime <= @end_time and db_userid = @userid
) as temp", new
{
begin_time = DateTime.Today.AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss"),
end_time = DateTime.Today.AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss"),
begin_time1 = Util.GetTimeSpan(DateTime.Today.AddSeconds(-1), true),
end_time1 = Util.GetTimeSpan(DateTime.Today.AddDays(1).AddSeconds(-1), true),
begin_time2 = Util.GetTimeSpan(DateTime.Today.AddSeconds(-1), false),
end_time2 = Util.GetTimeSpan(DateTime.Today.AddDays(1).AddSeconds(-1), false),
userid = member.id
});
Replace("[今日总积分]", double.Parse(result["num"].ToString()).ToString());
LogHelper.GetSingleObj().Debug("", $"今日总积分:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
if (_mess.Contains("[已退款积分]"))
Replace("[已退款积分]", FindOrderInfoByState(999, member.id, OrderStateType.退款总金额));
if (_mess.Contains("[已兑换积分]") || _mess.Contains("[已兑换总额]"))
{
Replace("[已兑换总额]", "[已兑换积分]");
Replace("[已兑换积分]", FindAlreadyExchange(member.id));
}
if (_mess.Contains("[兑换中积分]"))
Replace("[兑换中积分]", session.FindRow($"select COALESCE(SUM(point),0) as num from fl_exchange_info where uid = @uid and state = 1", new { uid = member.id })["num"].ToString());
if (_mess.Contains("[下级总提成]"))
Replace("[下级总提成]", member.ext_point.ToString("0.00"));
#endregion
#region 各种订单金额数量查询
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
//[拼多多待结算数量]、[拼多多待结算金额]、[淘宝待结算数量]、[淘宝待结算金额]、[京东待结算数量]、[京东待结算金额]、[待结算总数数量]、[待结算总数金额]、[淘宝售后中订单数]、[京东售后中订单数]
decimal pddPendingPoint_sleep, pddPendingPoint_pay, pddPendingPoint, alimamaPendingPoint_sleep, alimamaPendingPoint_pay, alimamaPendingPoint, jdPendingPoint_sleep, jdPendingPoint_pay, jdPendingPoint, wphPendingPoint_sleep, wphPendingPoint_pay, wphPendingPoint, dyPendingPoint_sleep, dyPendingPoint_pay, dyPendingPoint, snPendingPoint_sleep, snPendingPoint_pay, snPendingPoint, ksPendingPoint_sleep, ksPendingPoint_pay, ksPendingPoint, sumPendingPoint;
pddPendingPoint_sleep = pddPendingPoint_pay = pddPendingPoint = alimamaPendingPoint_sleep = alimamaPendingPoint_pay = alimamaPendingPoint = jdPendingPoint_sleep = jdPendingPoint_pay = jdPendingPoint = wphPendingPoint_sleep = wphPendingPoint_pay = wphPendingPoint = dyPendingPoint_sleep = dyPendingPoint_pay = dyPendingPoint = snPendingPoint_sleep = snPendingPoint_pay = snPendingPoint = ksPendingPoint_sleep = ksPendingPoint_pay = ksPendingPoint = sumPendingPoint = 0m;
int pddPendingCount_sleep, pddPendingCount_pay, pddPendingCount, alimamaPendingCount_sleep, alimamaPendingCount_pay, alimamaPendingCount, jdPendingCount_sleep, jdPendingCount_pay, jdPendingCount, wphPendingCount_sleep, wphPendingCount_pay, wphPendingCount, dyPendingCount_sleep, dyPendingCount_pay, dyPendingCount, snPendingCount_sleep, snPendingCount_pay, snPendingCount, ksPendingCount_sleep, ksPendingCount_pay, ksPendingCount, sumPendingCount, alimamaReturnNum, jingdongReturnNum, weipinhuiReturnNum, douyinReturnNum, suningReturnNum, kuaishouReturnNum;
pddPendingCount_sleep = pddPendingCount_pay = pddPendingCount = alimamaPendingCount_sleep = alimamaPendingCount_pay = alimamaPendingCount = jdPendingCount_sleep = jdPendingCount_pay = jdPendingCount = wphPendingCount_sleep = wphPendingCount_pay = wphPendingCount = dyPendingCount_sleep = dyPendingCount_pay = dyPendingCount = snPendingCount_sleep = snPendingCount_pay = snPendingCount = ksPendingCount_sleep = ksPendingCount_pay = ksPendingCount = sumPendingCount = alimamaReturnNum = jingdongReturnNum = weipinhuiReturnNum = douyinReturnNum = suningReturnNum = kuaishouReturnNum = 0;
Dictionary pddDic = null;
Dictionary tbDic = null;
Dictionary jdDic = null;
Dictionary wphDic = null;
Dictionary dyDic = null;
Dictionary snDic = null;
Dictionary ksDic = null;
if (pddlist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
pddDic = FindOrderTotalInfo("fl_order_pinduoduo", member.id);
if (pddDic != null)
{
pddPendingPoint_sleep = pddDic["point_sleep"];
pddPendingCount_sleep = (int)pddDic["count_sleep"];
pddPendingPoint_pay = pddDic["point_pay"];
pddPendingCount_pay = (int)pddDic["count_pay"];
pddPendingPoint = pddDic["point"];
pddPendingCount = (int)pddDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_pinduoduo:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (tblist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
tbDic = FindOrderTotalInfo("fl_order_alimama", member.id);
if (tbDic != null)
{
alimamaPendingPoint_sleep = tbDic["point_sleep"];
alimamaPendingCount_sleep = (int)tbDic["count_sleep"];
alimamaPendingPoint_pay = tbDic["point_pay"];
alimamaPendingCount_pay = (int)tbDic["count_pay"];
alimamaPendingPoint = tbDic["point"];
alimamaPendingCount = (int)tbDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_alimama:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (jdlist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
jdDic = FindOrderTotalInfo("fl_order_jingdong", member.id);
if (jdDic != null)
{
jdPendingPoint_sleep = jdDic["point_sleep"];
jdPendingCount_sleep = (int)jdDic["count_sleep"];
jdPendingPoint_pay = jdDic["point_pay"];
jdPendingCount_pay = (int)jdDic["count_pay"];
jdPendingPoint = jdDic["point"];
jdPendingCount = (int)jdDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_jingdong:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (wphlist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
wphDic = FindOrderTotalInfo("fl_order_weipinhui", member.id);
if (wphDic != null)
{
wphPendingPoint_sleep = wphDic["point_sleep"];
wphPendingCount_sleep = (int)wphDic["count_sleep"];
wphPendingPoint_pay = wphDic["point_pay"];
wphPendingCount_pay = (int)wphDic["count_pay"];
wphPendingPoint = wphDic["point"];
wphPendingCount = (int)wphDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_weipinhui:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (dylist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
dyDic = FindOrderTotalInfo("fl_order_douyin", member.id);
if (dyDic != null)
{
dyPendingPoint_sleep = dyDic["point_sleep"];
dyPendingCount_sleep = (int)dyDic["count_sleep"];
dyPendingPoint_pay = dyDic["point_pay"];
dyPendingCount_pay = (int)dyDic["count_pay"];
dyPendingPoint = dyDic["point"];
dyPendingCount = (int)dyDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_douyin:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (snlist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
snDic = FindOrderTotalInfo("fl_order_suning", member.id);
if (snDic != null)
{
snPendingPoint_sleep = snDic["point_sleep"];
snPendingCount_sleep = (int)snDic["count_sleep"];
snPendingPoint_pay = snDic["point_pay"];
snPendingCount_pay = (int)snDic["count_pay"];
snPendingPoint = snDic["point"];
snPendingCount = (int)snDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_suning:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (kslist.FirstOrDefault(f => _mess.Contains(f)) != null)
{
timeNow = DateTime.Now;
ksDic = FindOrderTotalInfo("fl_order_kuaishou", member.id);
if (ksDic != null)
{
ksPendingPoint_sleep = ksDic["point_sleep"];
ksPendingCount_sleep = (int)ksDic["count_sleep"];
ksPendingPoint_pay = ksDic["point_pay"];
ksPendingCount_pay = (int)ksDic["count_pay"];
ksPendingPoint = ksDic["point"];
ksPendingCount = (int)ksDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"A_suning:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (list.FirstOrDefault(f => _mess.Contains(f)) != null)
{
if (pddDic == null)
{
timeNow = DateTime.Now;
pddDic = FindOrderTotalInfo("fl_order_pinduoduo", member.id);
if (pddDic != null)
{
pddPendingPoint_sleep = pddDic["point_sleep"];
pddPendingCount_sleep = (int)pddDic["count_sleep"];
pddPendingPoint_pay = pddDic["point_pay"];
pddPendingCount_pay = (int)pddDic["count_pay"];
pddPendingPoint = pddDic["point"];
pddPendingCount = (int)pddDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_pinduoduo:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (tbDic == null)
{
timeNow = DateTime.Now;
tbDic = FindOrderTotalInfo("fl_order_alimama", member.id);
if (tbDic != null)
{
alimamaPendingPoint_sleep = tbDic["point_sleep"];
alimamaPendingCount_sleep = (int)tbDic["count_sleep"];
alimamaPendingPoint_pay = tbDic["point_pay"];
alimamaPendingCount_pay = (int)tbDic["count_pay"];
alimamaPendingPoint = tbDic["point"];
alimamaPendingCount = (int)tbDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_alimama:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (jdDic == null)
{
timeNow = DateTime.Now;
jdDic = FindOrderTotalInfo("fl_order_jingdong", member.id);
if (jdDic != null)
{
jdPendingPoint_sleep = jdDic["point_sleep"];
jdPendingCount_sleep = (int)jdDic["count_sleep"];
jdPendingPoint_pay = jdDic["point_pay"];
jdPendingCount_pay = (int)jdDic["count_pay"];
jdPendingPoint = jdDic["point"];
jdPendingCount = (int)jdDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_jingdong:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (wphDic == null)
{
timeNow = DateTime.Now;
wphDic = FindOrderTotalInfo("fl_order_weipinhui", member.id);
if (wphDic != null)
{
wphPendingPoint_sleep = wphDic["point_sleep"];
wphPendingCount_sleep = (int)wphDic["count_sleep"];
wphPendingPoint_pay = wphDic["point_pay"];
wphPendingCount_pay = (int)wphDic["count_pay"];
wphPendingPoint = wphDic["point"];
wphPendingCount = (int)wphDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_weipinhui:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (dyDic == null)
{
timeNow = DateTime.Now;
dyDic = FindOrderTotalInfo("fl_order_douyin", member.id);
if (dyDic != null)
{
dyPendingPoint_sleep = dyDic["point_sleep"];
dyPendingCount_sleep = (int)dyDic["count_sleep"];
dyPendingPoint_pay = dyDic["point_pay"];
dyPendingCount_pay = (int)dyDic["count_pay"];
dyPendingPoint = dyDic["point"];
dyPendingCount = (int)dyDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_douyin:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (snDic == null)
{
timeNow = DateTime.Now;
snDic = FindOrderTotalInfo("fl_order_suning", member.id);
if (snDic != null)
{
snPendingPoint_sleep = snDic["point_sleep"];
snPendingCount_sleep = (int)snDic["count_sleep"];
snPendingPoint_pay = snDic["point_pay"];
snPendingCount_pay = (int)snDic["count_pay"];
snPendingPoint = snDic["point"];
snPendingCount = (int)snDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_suning:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (ksDic == null)
{
timeNow = DateTime.Now;
ksDic = FindOrderTotalInfo("fl_order_kuaishou", member.id);
if (ksDic != null)
{
ksPendingPoint_sleep = ksDic["point_sleep"];
ksPendingCount_sleep = (int)ksDic["count_sleep"];
ksPendingPoint_pay = ksDic["point_pay"];
ksPendingCount_pay = (int)ksDic["count_pay"];
ksPendingPoint = ksDic["point"];
ksPendingCount = (int)ksDic["count"];
}
LogHelper.GetSingleObj().Debug("", $"B_kuaishou:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
sumPendingPoint = pddPendingPoint + alimamaPendingPoint + jdPendingPoint + wphPendingPoint + dyPendingPoint + snPendingPoint + ksPendingPoint;
sumPendingCount = pddPendingCount + alimamaPendingCount + jdPendingCount + wphPendingCount + dyPendingCount + snPendingCount + ksPendingCount;
}
if (_mess.Contains("[淘宝售后中订单数]"))
{
timeNow = DateTime.Now;
var result = session1.FindRow("select count(*) as count from fl_order_alimama where db_userid = @id and db_status = 1000", new { id = member.id });
alimamaReturnNum = int.Parse(result["count"].ToString());
LogHelper.GetSingleObj().Debug("", $"淘宝售后中订单数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (_mess.Contains("[京东售后中订单数]"))
{
timeNow = DateTime.Now;
var result = session1.FindRow("select count(*) as count from fl_order_jingdong where db_userid = @id and db_status = 1000", new { id = member.id });
jingdongReturnNum = int.Parse(result["count"].ToString());
LogHelper.GetSingleObj().Debug("", $"京东售后中订单数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (_mess.Contains("[唯品会售后中订单数]"))
{
timeNow = DateTime.Now;
var result = session1.FindRow("select count(*) as count from fl_order_weipinhui where db_userid = @id and db_status = 1000", new { id = member.id });
weipinhuiReturnNum = int.Parse(result["count"].ToString());
LogHelper.GetSingleObj().Debug("", $"唯品会售后中订单数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (_mess.Contains("[抖音售后中订单数]"))
{
timeNow = DateTime.Now;
var result = session1.FindRow("select count(*) as count from fl_order_douyin where db_userid = @id and db_status = 1000", new { id = member.id });
douyinReturnNum = int.Parse(result["count"].ToString());
LogHelper.GetSingleObj().Debug("", $"抖音售后中订单数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (_mess.Contains("[苏宁售后中订单数]"))
{
timeNow = DateTime.Now;
var result = session1.FindRow("select count(*) as count from fl_order_suning where db_userid = @id and db_status = 1000", new { id = member.id });
suningReturnNum = int.Parse(result["count"].ToString());
LogHelper.GetSingleObj().Debug("", $"苏宁售后中订单数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
if (_mess.Contains("[快手售后中订单数]"))
{
timeNow = DateTime.Now;
var result = session1.FindRow("select count(*) as count from fl_order_kuaishou where db_userid = @id and db_status = 1000", new { id = member.id });
kuaishouReturnNum = int.Parse(result["count"].ToString());
LogHelper.GetSingleObj().Debug("", $"快手售后中订单数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
Replace("[淘宝售后中订单数]", alimamaReturnNum.ToString());
Replace("[京东售后中订单数]", jingdongReturnNum.ToString());
Replace("[唯品会售后中订单数]", weipinhuiReturnNum.ToString());
Replace("[抖音售后中订单数]", douyinReturnNum.ToString());
Replace("[苏宁售后中订单数]", suningReturnNum.ToString());
Replace("[快手售后中订单数]", kuaishouReturnNum.ToString());
Replace("[拼多多待结算数量]", pddPendingCount.ToString());
Replace("[拼多多待结算金额]", pddPendingPoint.ToString("0.00"));
Replace("[淘宝待结算数量]", alimamaPendingCount.ToString());
Replace("[淘宝待结算金额]", alimamaPendingPoint.ToString("0.00"));
Replace("[京东待结算数量]", jdPendingCount.ToString());
Replace("[京东待结算金额]", jdPendingPoint.ToString("0.00"));
Replace("[唯品会待结算数量]", wphPendingCount.ToString());
Replace("[唯品会待结算金额]", wphPendingPoint.ToString("0.00"));
Replace("[抖音待结算数量]", dyPendingCount.ToString());
Replace("[抖音待结算金额]", dyPendingPoint.ToString("0.00"));
Replace("[苏宁待结算数量]", snPendingCount.ToString());
Replace("[苏宁待结算金额]", snPendingPoint.ToString("0.00"));
Replace("[快手待结算数量]", ksPendingCount.ToString());
Replace("[快手待结算金额]", ksPendingPoint.ToString("0.00"));
Replace("[待结算总数数量]", sumPendingCount.ToString());
Replace("[待结算总数金额]", sumPendingPoint.ToString("0.00"));
Replace("[淘宝冻结金额]", alimamaPendingPoint_sleep.ToString("0.00"));
Replace("[拼多多冻结金额]", pddPendingPoint_sleep.ToString("0.00"));
Replace("[京东冻结金额]", jdPendingPoint_sleep.ToString("0.00"));
Replace("[唯品会冻结金额]", wphPendingPoint_sleep.ToString("0.00"));
Replace("[抖音冻结金额]", dyPendingPoint_sleep.ToString("0.00"));
Replace("[苏宁冻结金额]", snPendingPoint_sleep.ToString("0.00"));
Replace("[快手冻结金额]", ksPendingPoint_sleep.ToString("0.00"));
Replace("[淘宝冻结订单数]", alimamaPendingCount_sleep.ToString());
Replace("[拼多多冻结订单数]", pddPendingCount_sleep.ToString());
Replace("[京东冻结订单数]", jdPendingCount_sleep.ToString());
Replace("[唯品会冻结订单数]", wphPendingCount_sleep.ToString());
Replace("[抖音冻结订单数]", dyPendingCount_sleep.ToString());
Replace("[苏宁冻结订单数]", snPendingCount_sleep.ToString());
Replace("[快手冻结订单数]", ksPendingCount_sleep.ToString());
Replace("[淘宝未收货金额]", alimamaPendingPoint_pay.ToString("0.00"));
Replace("[拼多多未收货金额]", pddPendingPoint_pay.ToString("0.00"));
Replace("[京东未收货金额]", jdPendingPoint_pay.ToString("0.00"));
Replace("[唯品会未收货金额]", wphPendingPoint_pay.ToString("0.00"));
Replace("[抖音未收货金额]", dyPendingPoint_pay.ToString("0.00"));
Replace("[苏宁未收货金额]", snPendingPoint_pay.ToString("0.00"));
Replace("[快手未收货金额]", ksPendingPoint_pay.ToString("0.00"));
Replace("[淘宝未收货订单数]", alimamaPendingCount_pay.ToString());
Replace("[拼多多未收货订单数]", pddPendingCount_pay.ToString());
Replace("[京东未收货订单数]", jdPendingCount_pay.ToString());
Replace("[唯品会未收货订单数]", wphPendingCount_pay.ToString());
Replace("[抖音未收货订单数]", dyPendingCount_pay.ToString());
Replace("[苏宁未收货订单数]", snPendingCount_pay.ToString());
Replace("[快手未收货订单数]", ksPendingCount_pay.ToString());
Replace("[未收货积分]", "[未收货总金额]");
Replace("[待收货积分]", "[未收货总金额]");
Replace("[未收货总金额]", (alimamaPendingPoint_pay + pddPendingPoint_pay + jdPendingPoint_pay + wphPendingPoint_pay + dyPendingPoint_pay + snPendingPoint_pay + ksPendingPoint_pay).ToString("0.00"));
Replace("[待结算积分]", "[冻结总金额]");
Replace("[冻结总金额]", (alimamaPendingPoint_sleep + pddPendingPoint_sleep + jdPendingPoint_sleep + wphPendingPoint_sleep + dyPendingPoint_sleep + snPendingPoint_sleep + ksPendingPoint_sleep).ToString("0.00"));
Replace("[待收货订单数]", "[未收货订单数]");
Replace("[未收货订单数]", (alimamaPendingCount_pay + pddPendingCount_pay + jdPendingCount_pay + wphPendingCount_pay + dyPendingCount_pay + snPendingCount_pay + ksPendingCount_pay).ToString());
Replace("[待结算订单数]", "[冻结订单数]");
Replace("[冻结订单数]", (alimamaPendingCount_sleep + pddPendingCount_sleep + jdPendingCount_sleep + wphPendingCount_sleep + dyPendingCount_sleep + snPendingCount_sleep + ksPendingCount_sleep).ToString());
}));
#endregion
#region 统计邀请数据
if (_mess.Contains("[下级人数]") || _mess.Contains("[推荐人数]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var temp = session1.FindRow($"select count(id) as num from fl_member_info where inviter_id = @id", new { id = member.id })["num"].ToString();
Replace("[下级人数]", "[推荐人数]");
Replace("[推荐人数]", temp);
LogHelper.GetSingleObj().Debug("", $"下级人数|推荐人数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
if (_mess.Contains("[完成首单人数]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var temp = session1.FindRow($"select count(id) as num from fl_member_info where inviter_id = @id and finish_order != @finish_order", new { id = member.id, finish_order = 0 })["num"].ToString();
Replace("[完成首单人数]", temp);
LogHelper.GetSingleObj().Debug("", $"完成首单人数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
string UnfinishOrderNum = "0";//完成订单数
if (_mess.Contains("[未完成首单人数]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var temp = session1.FindRow($"select count(id) as num from fl_member_info where inviter_id = @id and finish_order = @finish_order", new { id = member.id, finish_order = 0 })["num"].ToString();
Replace("[未完成首单人数]", temp);
LogHelper.GetSingleObj().Debug("", $"未完成首单人数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
if (_mess.Contains("[三级邀请人数]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var temp = session1.FindRow($@"select count(*) as num from (
select id from fl_member_info where inviter_id = @id
UNION all
select id from fl_member_info where inviter_id in (select id from fl_member_info where inviter_id = @id ) and inviter_id != '0'
UNION all
select id from fl_member_info where inviter_id in (select id from fl_member_info where inviter_id in (select id from fl_member_info where inviter_id = @id) and inviter_id != '0') and inviter_id != '0'
) as temp", new { id = member.id })["num"].ToString();
Replace("[三级邀请人数]", temp);
LogHelper.GetSingleObj().Debug("", $"三级邀请人数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
if (_mess.Contains("[三级有效人数]"))
{
actions.Add(new Action(delegate
{
var timeNow = DateTime.Now;
var session1 = ApiClient.GetSession();
var temp = session1.FindRow($@"select count(*) as num from (
select id from fl_member_info where inviter_id = @id and finish_order != 0
UNION all
select id from fl_member_info where inviter_id in (select id from fl_member_info where inviter_id = @id) and inviter_id != '0' and finish_order != 0
UNION all
select id from fl_member_info where inviter_id in (select id from fl_member_info where inviter_id in (select id from fl_member_info where inviter_id = @id) and inviter_id != '0') and inviter_id != '0' and finish_order != 0
) as temp", new { id = member.id })["num"].ToString();
Replace("[三级有效人数]", temp);
LogHelper.GetSingleObj().Debug("", $"三级有效人数:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}));
}
#endregion
#region 获取订单记录
if (_mess.Contains("[订单记录]"))
{
var timeNow = DateTime.Now;
var _dics = new List