old_flsystem/类库/Api.Framework/Tools/VariateReplace.cs

1222 lines
78 KiB
C#
Raw Permalink Normal View History

2022-09-20 03:10:29 +00:00
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
{
/// <summary>
/// 变量替换
/// </summary>
public class VariateReplace
{
private static List<string> pddlist = new List<string>() { "[拼多多待结算数量]", "[拼多多待结算金额]", "[拼多多冻结金额]", "[拼多多冻结订单数]", "[拼多多未收货金额]", "[拼多多未收货订单数]" };
private static List<string> tblist = new List<string>() { "[淘宝待结算数量]", "[淘宝待结算金额]", "[淘宝冻结金额]", "[淘宝冻结订单数]", "[淘宝未收货金额]", "[淘宝未收货订单数]" };
private static List<string> jdlist = new List<string>() { "[京东待结算数量]", "[京东待结算金额]", "[京东冻结金额]", "[京东冻结订单数]", "[京东未收货金额]", "[京东未收货订单数]" };
private static List<string> wphlist = new List<string>() { "[唯品会待结算数量]", "[唯品会待结算金额]", "[唯品会冻结金额]", "[唯品会冻结订单数]", "[唯品会未收货金额]", "[唯品会未收货订单数]" };
private static List<string> dylist = new List<string>() { "[抖音待结算数量]", "[抖音待结算金额]", "[抖音冻结金额]", "[抖音冻结订单数]", "[抖音未收货金额]", "[抖音未收货订单数]" };
private static List<string> snlist = new List<string>() { "[苏宁待结算数量]", "[苏宁待结算金额]", "[苏宁冻结金额]", "[苏宁冻结订单数]", "[苏宁未收货金额]", "[苏宁未收货订单数]" };
private static List<string> kslist = new List<string>() { "[快手待结算数量]", "[快手待结算金额]", "[快手冻结金额]", "[快手冻结订单数]", "[快手未收货金额]", "[快手未收货订单数]" };
private static List<string> list = new List<string>() { "[待结算总数数量]", "[待结算总数金额]", "[待收货积分]", "[未收货积分]", "[未收货总金额]", "[待结算积分]", "[冻结总金额]", "[待收货订单数]", "[未收货订单数]", "[待结算订单数]", "[冻结订单数]" };
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);
}
}
/// <summary>
/// 通用替换变量
/// </summary>
/// <param name="_mess">替换的内容</param>
/// <param name="objs">与变量有关联的对象</param>
/// <returns></returns>
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<Action> actions = new List<Action>();
//List<Task> tasks = new List<Task>();
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<fl_order_refund_alimama>("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<fl_point_hist>("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<ItemPoint>(rhPoint.db_point) as ItemPoint;
if (point != null)
{
Replace("[原始返利积分]", point.UserPoint.ToString("0.00"));
isReplace = true;
}
}
if (!isReplace)
{
#region
//获取历史的增加积分
var pointHists = session.Find<fl_point_hist>("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<string, decimal> pddDic = null;
Dictionary<string, decimal> tbDic = null;
Dictionary<string, decimal> jdDic = null;
Dictionary<string, decimal> wphDic = null;
Dictionary<string, decimal> dyDic = null;
Dictionary<string, decimal> snDic = null;
Dictionary<string, decimal> 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<object>();
//查阿里妈妈订单
//var list_alimama = session.Queryable<fl_order_alimama>().Where(f => f.db_userid == member.id).OrderBy(f => f.id, SqlSugar.OrderByType.Desc).ToPageList(1, 30);
var list_alimama = session.Find<fl_order_alimama>("select * from fl_order_alimama where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
//this.OnLog("阿里妈妈数量:"+list_alimama.Count+",您的ID:"+ id);
foreach (var aimama in list_alimama)
{
_dics.Add(new
{
orderId = aimama.trade_parent_id,
title = aimama.item_title,
status = aimama.db_status.ToString(),
money = aimama.alipay_total_price.ToString("0.00"),
fanli = aimama.db_userpoint.ToString("0.00"),
nums = aimama.item_num,
crtTime = aimama.create_time.ToString("yyyy-MM-dd HH:mm:ss")
});
}
LogHelper.GetSingleObj().Debug("", $"AA:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
timeNow = DateTime.Now;
//查最近拼多多订单
var list_pinduoduo = session.Find<fl_order_pinduoduo>("select * from fl_order_pinduoduo where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
foreach (var pdd in list_pinduoduo)
{
_dics.Add(new
{
orderId = pdd.order_sn,
title = pdd.goods_name,
status = pdd.db_status.ToString(),
money = pdd.order_amount.ToString("0.00"),
fanli = pdd.db_userpoint.ToString("0.00"),
nums = pdd.goods_quantity,
crtTime = pdd.order_create_time.ToString("yyyy-MM-dd HH:mm:ss")
});
}
LogHelper.GetSingleObj().Debug("", $"BB:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
timeNow = DateTime.Now;
//查最近京东订单
var list_jingdong = session.Find<fl_order_jingdong>("select * from fl_order_jingdong where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
foreach (var jd in list_jingdong)
{
_dics.Add(new
{
orderId = jd.orderId,
title = jd.skuName,
status = jd.db_status.ToString(),
money = jd.estimateCosPrice.ToString("0.00"),
fanli = jd.db_userpoint.ToString("0.00"),
nums = jd.skuNum,
crtTime = jd.orderTime.ToString("yyyy-MM-dd HH:mm:ss")
});
}
LogHelper.GetSingleObj().Debug("", $"CC:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
timeNow = DateTime.Now;
//查最近唯品会订单
var list_weipinhui = session.Find<fl_order_weipinhui>("select * from fl_order_weipinhui where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
foreach (var wph in list_weipinhui)
{
_dics.Add(new
{
orderId = wph.orderSn,
title = wph.goodsName,
status = wph.db_status.ToString(),
money = wph.commission.ToString("0.00"),
fanli = wph.db_userpoint.ToString("0.00"),
nums = wph.goodsCount,
crtTime = Util.GetDateTime(wph.orderTime).ToString("yyyy-MM-dd HH:mm:ss")
});
}
//查最近抖音订单
var list_douyin = session.Find<fl_order_douyin>("select * from fl_order_douyin where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
foreach (var dy in list_douyin)
{
_dics.Add(new
{
orderId = dy.order_id,
title = dy.product_name,
status = dy.db_status.ToString(),
money = Util.ConvertDouble_FenToYuan(dy.estimated_comission),
fanli = dy.db_userpoint.ToString("0.00"),
nums = 1,
crtTime = Util.GetDateTime(dy.pay_time).ToString("yyyy-MM-dd HH:mm:ss")
});
}
//查最近苏宁订单
var list_suning = session.Find<fl_order_suning>("select * from fl_order_suning where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
foreach (var sn in list_suning)
{
_dics.Add(new
{
orderId = sn.orderCode,
title = sn.productName,
status = sn.db_status.ToString(),
money = double.Parse(sn.prePayCommission).ToString("0.00"),
fanli = sn.db_userpoint.ToString("0.00"),
nums = sn.saleNum,
crtTime = sn.payTime.ToString("yyyy-MM-dd HH:mm:ss")
});
}
//查最近苏宁订单
var list_kuaishou = session.Find<fl_order_kuaishou>("select * from fl_order_kuaishou where db_userid=@uid order by id desc limit 0,30", new { uid = member.id });
foreach (var ks in list_kuaishou)
{
_dics.Add(new
{
orderId = ks.oid.ToString(),
title = ks.itemTitle,
status = ks.db_status.ToString(),
money = ks.estimatedIncome.ToString("0.00"),
fanli = ks.db_userpoint.ToString("0.00"),
nums = ks.num,
crtTime = ks.payTime.ToString("yyyy-MM-dd HH:mm:ss")
});
}
LogHelper.GetSingleObj().Debug("", $"DD:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
timeNow = DateTime.Now;
// var count = list_alimama.Count + list_pinduoduo.Count + list_jingdong.Count;
if (_dics.Count == 0)
Replace("[订单记录]", "暂无记录");
else
{
string key = HttpHelper.ToMD5("aliorder_" + member.username).ToLower();
var _url = FindTransferAddress(TargetType., true);
var url = GetOrderList(_url, key, HttpHelper.ObjectToJson(_dics));
if (string.IsNullOrWhiteSpace(url))
Replace("[订单记录]", "查询失败");
else
{
var url_ = string.Empty;
if (ApiClient.Setting.SystemConfig.dwz_type != DwzType.)
url_ = ApiClient.ShortURL(url).Result;
else
url_ = ApiClient.ShortURL(url, DwzType.).Result;
Replace("[订单记录]", url_);
}
}
LogHelper.GetSingleObj().Debug("", $"订单记录:{(DateTime.Now - timeNow).TotalSeconds}\r\n");
}
#endregion
#region
if (_mess.Contains("[下级列表]"))
{
var subordinate = new StringBuilder();
var memberList = session.Find<fl_member_info>("select * from fl_member_info where inviter_id = @uid order by crt_time desc", new { uid = member.id }).Take(10).ToList();
for (int i = 0; i < memberList.Count; i++)
{
subordinate.AppendLine($"{i + 1}.{memberList[i].realnick}");
}
Replace("[下级列表]", subordinate.ToString());
}
#endregion
}
else if (type == typeof(ItemPoint))
{
var point = item as ItemPoint;
Replace("[返利积分]", point.UserPoint.ToString("0.00"));
Replace("[总积分]", point.SumPoint.ToString("0.00"));
Replace("[总佣金]", point.Commission.ToString("0.00"));
Replace("[三级提成积分]", point.AwardThree.ToString("0.00"));
Replace("[二级提成积分]", point.AwardTwo.ToString("0.00"));
Replace("[一级提成积分]", point.AwardOne.ToString("0.00"));
Replace("[群负责人提成积分]", point.AwardCreate.ToString("0.00"));
Replace("[维权返利积分]", point.UserPoint.ToString("0.00"));
}
}
int excute_num = 0;
object lock_action = new object();
if (actions.Count > 0)
{
Parallel.ForEach(actions, action => action.Invoke());
}
Replace("[创建时间]", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
catch (Exception ex)
{
EventClient.OnEvent(null, $"{ex.Message} - {ex.StackTrace}");
}
return mess.ToString();
}
/// <summary>
/// 统计阿里妈妈,京东,拼多多,(付款状态订单合计/冻结状态订单合计/付款和冻结状态订单合计)
/// </summary>
/// <param name="tableName">表名</param>
/// <param name="uid">用户id</param>
/// <returns></returns>
private Dictionary<string, decimal> FindOrderTotalInfo(string tableName, long uid)
{
var sql = string.Empty;
try
{
var sqlwhere = string.Empty;
switch (tableName)
{
case "fl_order_pinduoduo":
sqlwhere += $" and '{DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss")}' <= order_create_time";
break;
case "fl_order_alimama":
sqlwhere += $" and '{DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss")}' <= create_time";
break;
case "fl_order_jingdong":
sqlwhere += $" and '{DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss")}' <= orderTime";
break;
case "fl_order_weipinhui": //下单时间为 int
sqlwhere += $" and '{HttpExtend.GetTimeStamp(DateTime.Now.AddYears(-1))}' <= orderTime";
break;
case "fl_order_douyin": //下单时间为 int
sqlwhere += $" and '{HttpExtend.GetTimeStamp(DateTime.Now.AddYears(-1))}' <= pay_time";
break;
case "fl_order_suning":
sqlwhere += $" and '{DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss")}' <= payTime";
break;
case "fl_order_kuaishou":
sqlwhere += $" and '{DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss")}' <= payTime";
break;
default:
break;
}
var session = ApiClient.GetSession();
sql = $"select round(COALESCE(sum(db_userpoint),0) ,2) as sum ,count(id) as count from {tableName} where db_userid = @id and db_status = 1001 {sqlwhere} UNION ALL select round(COALESCE(sum(db_userpoint), 0), 2) as sum, count(id) as count from {tableName} where db_userid = @id and db_status = 1005 {sqlwhere}";
var result = session.FindTable(sql, new { id = uid });
if (result.Rows.Count != 0 && result.Rows.Count == 2)
{
var dic = new Dictionary<string, decimal>();
var point_sleep = decimal.Parse(result.Rows[0]["sum"].ToString());
var count_sleep = int.Parse(result.Rows[0]["count"].ToString());
var point_pay = decimal.Parse(result.Rows[1]["sum"].ToString());
var count_pay = int.Parse(result.Rows[1]["count"].ToString());
dic.Add("point_sleep", point_sleep);
dic.Add("count_sleep", count_sleep);
dic.Add("point_pay", point_pay);
dic.Add("count_pay", count_pay);
dic.Add("point", point_sleep + point_pay);
dic.Add("count", count_sleep + count_pay);
return dic;
}
}
catch (Exception ex)
{
EventClient.OnEvent("", $"查询积分异常:{tableName} - {uid} - {ex.Message} - {ex.StackTrace}");
LogHelper.GetSingleObj().Error("", $"查询积分异常:{tableName} - {uid} - {ex.Message} - {ex.StackTrace} - {sql}");
}
return null;
}
private enum OrderStateType
{
退 = 0,
退 = 1
}
/// <summary>
/// 已退款积分
/// </summary>
/// <param name="status_id"></param>
/// <param name="uid"></param>
/// <param name="stateType"></param>
/// <returns></returns>
private string FindOrderInfoByState(int status_id, long uid, OrderStateType stateType)
{
try
{
//key == "[待收货积分]" ? 1005 : key == "[已退款积分]" ? 1003 : 1001
var session = ApiClient.GetSession();
var sql = string.Empty;
if (uid != 999)
{
if (stateType == OrderStateType.退)
{
sql = $@"select COALESCE(SUM(num),0) as num from (select COALESCE(SUM(db_userpoint),0) as num from fl_order_alimama where db_userid = @userid and db_status = @status
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_pinduoduo where db_userid = @userid and db_status = @status
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_jingdong where db_userid = @userid and db_status = @status) as temp";
return double.Parse(session.FindRow(sql, new { userid = uid, status = status_id })["num"].ToString()).ToString("0.00");
}
else
{
sql = $@"select COALESCE(SUM(num),0) as num from (select count(*) as num from fl_order_alimama where db_userid = @userid and db_status = @status
UNION all
select count(*) as num from fl_order_pinduoduo where db_userid = @userid and db_status = @status
UNION all
select count(*) as num from fl_order_jingdong where db_userid = @userid and db_status = @status) as temp";
return session.FindRow(sql, new { userid = uid, status = status_id })["num"].ToString();
}
}
else
{
if (stateType == OrderStateType.退)
{
sql = $@"select COALESCE(SUM(num),0) as num from (select COALESCE(SUM(db_userpoint),0) as num from fl_order_alimama where db_userid = @userid and (db_status = @status or db_status = @status2)
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_pinduoduo where db_userid = @userid and (db_status = @status or db_status = @status2)
UNION all
select COALESCE(SUM(db_userpoint),0) as num from fl_order_jingdong where db_userid = @userid and (db_status = @status or db_status = @status2)) as temp";
return double.Parse(session.FindRow(sql, new { userid = uid, status = status_id, status2 = 1003 })["num"].ToString()).ToString("0.00");
}
else
{
sql = $@"select COALESCE(SUM(num),0) as num from (select count(*) as num from fl_order_alimama where db_userid = @userid and (db_status = @status or db_status = @status2)
UNION all
select count(*) as num from fl_order_pinduoduo where db_userid = @userid and (db_status = @status or db_status = @status2)
UNION all
select count(*) as num from fl_order_jingdong where db_userid = @userid and (db_status = @status or db_status = @status2)) as temp";
return session.FindRow(sql, new { userid = uid, status = status_id, status2 = 1003 })["num"].ToString();
}
}
}
catch (Exception ex)
{ }
return "0";
}
#region
private string FindAlreadyExchange(long uid)
{
try
{
var session = ApiClient.GetSession();
var sumPoint = double.Parse(session.FindRow("select COALESCE(SUM(point),0) as num from fl_point_hist where uid = @uid and type = '提现扣除'", new { uid = uid })["num"].ToString());
var thSumPoint = double.Parse(session.FindRow("select COALESCE(SUM(point),0) as num from fl_point_hist where uid = @uid and type = '退回积分'", new { uid = uid })["num"].ToString());
return (sumPoint + thSumPoint).ToString("0.00").Replace("-", "");
}
catch (Exception ex)
{
EventClient.OnEvent(null, $"查询已兑换总额异常:{ex.Message} - {ex.StackTrace}");
}
return "-1";
}
#endregion
/// <summary>
/// 获取订单详情
/// </summary>
/// <param name="key"></param>
/// <param name="json"></param>
/// <returns></returns>
private string GetOrderList(string _url, string key, string json)
{
try
{
var http = new HttpHelper();
var item = http.GetItem("http://api.view.52cmg.cn/api/util.asmx/SetCache");
item.Postdata = "key=" + key + "&json=" + HttpHelper.URLEncode(json, Encoding.UTF8);
item.Encoding = Encoding.UTF8;
item.Method = "post";
var result = http.GetHtml(item);
if (!string.IsNullOrWhiteSpace(ApiClient.Setting.SystemConfig.URLTbDdxq))
_url = ApiClient.Setting.SystemConfig.URLTbDdxq;
return _url.Replace("[key]", key);
}
catch (Exception ex)
{
EventClient.OnEvent(this, $"获取订单详情:{ex.Message}");
}
return string.Empty;
}
/// <summary>
/// 用户自定义变量替换
/// </summary>
/// <param name="str">替换的原内容</param>
/// <returns>替换后的内容,报错将返回原内容</returns>
internal string ReplaceUserVariate(string str)
{
StringBuilder strb = new StringBuilder();
strb.Append(str);
try
{
var session = ApiClient.GetSession();
var uservariaters = session.FindUserVariates();
if (uservariaters != null && uservariaters.Count != 0)
{
foreach (var variater in uservariaters)
{
strb = strb.Replace(variater.variate, variater.data);
}
}
return strb.ToString();
}
catch (Exception ex)
{ }
return str;
}
}
}