1058 lines
61 KiB
C#
1058 lines
61 KiB
C#
|
using Api.Framework.Enums;
|
|||
|
using Api.Framework.Events;
|
|||
|
using Api.Framework.Model;
|
|||
|
using CsharpHttpHelper;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text.RegularExpressions;
|
|||
|
|
|||
|
namespace Api.Framework.Tools
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 订单助手
|
|||
|
/// </summary>
|
|||
|
public class OrderHelper
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 判断是否是三个平台的订单号
|
|||
|
/// </summary>
|
|||
|
/// <param name="mess">判断是否为已知的cps订单</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static bool IsOrderId(string mess)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (Regex.IsMatch(mess, @"^(\d{4})\s(\d{4})\s(\d{4})\s(\d{4})\s(\d{3})$") || Regex.IsMatch(mess, @"^\d{18,19}$") || Regex.IsMatch(mess, @"^\d{6}-\d{15}$") || Regex.IsMatch(mess, @"^\d{11,12}$"))
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
#region 返利平台消息类型简单判断(较少误判断)
|
|||
|
/// <summary>
|
|||
|
/// 简单判断消息是否为指定cps类型
|
|||
|
/// </summary>
|
|||
|
/// <param name="mess">消息</param>
|
|||
|
/// <param name="cpsType">cps类型</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static bool IsCurrentCpsMess(string mess, CpsType cpsType)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
switch (cpsType)
|
|||
|
{
|
|||
|
case CpsType.阿里妈妈:
|
|||
|
return !(isPDD(mess) || isJD(mess) || isWPH(mess));
|
|||
|
case CpsType.多多进宝:
|
|||
|
return !(isTB(mess) || isJD(mess) || isWPH(mess));
|
|||
|
case CpsType.京东联盟:
|
|||
|
return !(isPDD(mess) || isTB(mess) || isWPH(mess));
|
|||
|
case CpsType.唯品联盟:
|
|||
|
return !(isPDD(mess) || isJD(mess) || isTB(mess));
|
|||
|
default:
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否为拼多多
|
|||
|
/// </summary>
|
|||
|
/// <param name="mess">消息</param>
|
|||
|
/// <returns></returns>
|
|||
|
private static bool isPDD(string mess)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (mess.Trim().Contains("jinbao.pinduoduo.com") ||
|
|||
|
mess.Trim().Contains("yangkeduo.com") ||
|
|||
|
mess.Trim().Contains("pinduoduo.com")
|
|||
|
)
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否为京东
|
|||
|
/// </summary>
|
|||
|
/// <param name="mess">消息</param>
|
|||
|
/// <returns></returns>
|
|||
|
private static bool isJD(string mess)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (mess.Trim().Contains(".jd.com"))
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
private static bool isWPH(string mess)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (mess.Trim().Contains(".vip.com"))
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否为阿里
|
|||
|
/// </summary>
|
|||
|
/// <param name="mess">消息</param>
|
|||
|
/// <returns></returns>
|
|||
|
private static bool isTB(string mess)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//yukhj.com|m.tb.cn|m.yeeoq.top|m.uqlsi|m.rijni|m.gkqmj|m.mulwt|uland\\.taobao\\.com|sjtm.me|aa5d.com|d11a.com|f61[a-z].com|92db.com|yqt.so|e22a.com|f61b.com|detail.m.tmall.hk|k.83jie.com|ewqcxz.com|items.alitrip.com|tmqd.me|detail.tmall.hk|url.cn|taobao.com|mashort.cn|tmall.com|tb.cn|detail.yao.95095.com|laiwang.com|dwz.cn|juhuasuan.com|detail.m.tmall.com|zmnxbc.com|s.click.taobao|detail.liangxinyao.com|m.tb.cn
|
|||
|
if (mess.Trim().Contains("taobao.com") ||
|
|||
|
mess.Trim().Contains("detail.tmall") ||
|
|||
|
mess.Trim().Contains(".tb.cn") ||
|
|||
|
mess.Trim().Contains("yukhj.com") ||
|
|||
|
mess.Trim().Contains("m.yeeoq.top") ||
|
|||
|
mess.Trim().Contains("m.uqlsi") ||
|
|||
|
mess.Trim().Contains("m.rijni") ||
|
|||
|
mess.Trim().Contains("m.gkqmj") ||
|
|||
|
mess.Trim().Contains("m.mulwt") ||
|
|||
|
mess.Trim().Contains("sjtm.me") ||
|
|||
|
mess.Trim().Contains("aa5d.com") ||
|
|||
|
mess.Trim().Contains("d11a.com") ||
|
|||
|
mess.Trim().Contains("92db.com") ||
|
|||
|
mess.Trim().Contains("yqt.so") ||
|
|||
|
mess.Trim().Contains("e22a.com") ||
|
|||
|
mess.Trim().Contains("f61b.com") ||
|
|||
|
mess.Trim().Contains("detail.m.tmall") ||
|
|||
|
mess.Trim().Contains("k.83jie.com") ||
|
|||
|
mess.Trim().Contains("ewqcxz.com") ||
|
|||
|
mess.Trim().Contains("items.alitrip.com") ||
|
|||
|
mess.Trim().Contains("tmqd.me") ||
|
|||
|
mess.Trim().Contains("detail.tmall.hk") ||
|
|||
|
mess.Trim().Contains("mashort.cn") ||
|
|||
|
mess.Trim().Contains("tmall.com") ||
|
|||
|
mess.Trim().Contains("detail.yao.95095.com") ||
|
|||
|
mess.Trim().Contains("laiwang.com") ||
|
|||
|
mess.Trim().Contains("juhuasuan.com") ||
|
|||
|
mess.Trim().Contains("s.click.taobao") ||
|
|||
|
mess.Trim().Contains("detail.liangxinyao.com"))
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 获取淘宝配置
|
|||
|
private static Dictionary<string, object> tbConfig;
|
|||
|
/// <summary>
|
|||
|
/// 获取阿里配置
|
|||
|
/// </summary>
|
|||
|
/// <param name="refresh">刷新</param>
|
|||
|
public static Dictionary<string, object> RefreshTbConfig(bool refresh = false)
|
|||
|
{
|
|||
|
if (refresh || tbConfig == null)
|
|||
|
tbConfig = Util.ReadConfig("插件-淘宝返利-配置", true);
|
|||
|
return tbConfig;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 获取拼多多配置
|
|||
|
private static Dictionary<string, object> pddConfig;
|
|||
|
/// <summary>
|
|||
|
/// 获取拼多多配置
|
|||
|
/// </summary>
|
|||
|
/// <param name="refresh">刷新</param>
|
|||
|
public static Dictionary<string, object> RefreshPddConfig(bool refresh = false)
|
|||
|
{
|
|||
|
if (refresh || pddConfig == null)
|
|||
|
pddConfig = Util.ReadConfig("插件-拼多多返利-配置", true);
|
|||
|
return pddConfig;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 获取抖音配置
|
|||
|
private static Dictionary<string, object> dyConfig;
|
|||
|
/// <summary>
|
|||
|
/// 获取抖音配置
|
|||
|
/// </summary>
|
|||
|
/// <param name="refresh">刷新</param>
|
|||
|
public static Dictionary<string, object> RefreshDyConfig(bool refresh = false)
|
|||
|
{
|
|||
|
if (refresh || dyConfig == null)
|
|||
|
dyConfig = Util.ReadConfig("插件-抖音返利-配置", true);
|
|||
|
return dyConfig;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
private static Dictionary<string, object> config;
|
|||
|
|
|||
|
static OrderHelper()
|
|||
|
{
|
|||
|
RefreshConfig();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 刷新用户裂变配置
|
|||
|
/// </summary>
|
|||
|
/// <param name="refresh">刷新</param>
|
|||
|
public static void RefreshConfig(bool refresh = false)
|
|||
|
{
|
|||
|
if (refresh || config == null)
|
|||
|
{
|
|||
|
config = Util.ReadConfig("插件-用户裂变-配置", true);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static readonly Object lockObj_1 = new Object();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 判断上级是否获得推荐奖励
|
|||
|
/// </summary>
|
|||
|
/// <param name="_member">订单所绑定的用户对象</param>
|
|||
|
/// <param name="_endtime">订单结算时间</param>
|
|||
|
/// <param name="_price">付款金额</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static bool CheckSuperiorInviteRewards(fl_member_info _member, DateTime _endtime, double _price)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
var member = _member;
|
|||
|
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
var record = session.FindStatisticsRecord(member.id);
|
|||
|
if (record != null && record.ex1 == 1)
|
|||
|
return false;
|
|||
|
|
|||
|
lock (lockObj_1)
|
|||
|
{
|
|||
|
var price = _price;
|
|||
|
var endtime = _endtime;
|
|||
|
|
|||
|
record = session.FindStatisticsRecord(member.id);
|
|||
|
if (record == null || record.ex1 == 0)
|
|||
|
{
|
|||
|
if (config != null && config.ContainsKey("SuperiorSumSwitch"))//上级奖励开关
|
|||
|
{
|
|||
|
var SuperiorSumSwitch = config["SuperiorSumSwitch"].ToString();
|
|||
|
if (SuperiorSumSwitch == "1")
|
|||
|
{
|
|||
|
if (member.inviter_id != 0 && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
if (config.ContainsKey("SuperiorRewardWay"))
|
|||
|
{
|
|||
|
var SuperiorRewardWay = config["SuperiorRewardWay"].ToString().Trim();
|
|||
|
if (SuperiorRewardWay == "2")// 新人完成首单奖励 = 2,新人首单满足付款金额奖励 = 3
|
|||
|
{
|
|||
|
if (record == null)
|
|||
|
record = new fl_statistics_record()
|
|||
|
{
|
|||
|
uid = member.id,
|
|||
|
ex1 = 1
|
|||
|
};
|
|||
|
else
|
|||
|
record.ex1 = 1;
|
|||
|
session.Saveable<fl_statistics_record>(record).ExecuteCommand();
|
|||
|
|
|||
|
var flag = false;
|
|||
|
var orderCount = 0;//历史是否存在已结算的订单
|
|||
|
var db_endtime = (endtime.Year == 1900 ? DateTime.Now : endtime);
|
|||
|
orderCount += session.Find<fl_order_alimama>("select * from fl_order_alimama where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_jingdong>("select * from fl_order_jingdong where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_pinduoduo>("select * from fl_order_pinduoduo where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_weipinhui>("select * from fl_order_weipinhui where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_douyin>("select * from fl_order_douyin where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_suning>("select * from fl_order_suning where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime }).Count;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
EventClient.OnEvent("【新人完成首单奖励】", $"(【{member.id}】{member.username},上级:【{member.inviter_id}】),结算订单数:{orderCount}");
|
|||
|
return orderCount == 0;
|
|||
|
}
|
|||
|
else if (SuperiorRewardWay == "3")
|
|||
|
{
|
|||
|
//Console.WriteLine("endtime.Year = " + endtime.Year);
|
|||
|
var db_endtime = (endtime.Year == 1900 ? DateTime.Now : endtime);
|
|||
|
if (config.ContainsKey("SuperiorReward_FirstSinglePaymentSum"))
|
|||
|
{
|
|||
|
var SuperiorReward_FirstSinglePaymentSum = double.Parse(config["SuperiorReward_FirstSinglePaymentSum"].ToString());//下级首单付款金额
|
|||
|
if (price < SuperiorReward_FirstSinglePaymentSum) return false;
|
|||
|
|
|||
|
if (record == null)
|
|||
|
record = new fl_statistics_record() { uid = member.id, ex1 = 1 };
|
|||
|
else
|
|||
|
record.ex1 = 1;
|
|||
|
session.Saveable<fl_statistics_record>(record).ExecuteCommand();
|
|||
|
|
|||
|
var orderCount = 0;//历史是否存在已结算的订单
|
|||
|
orderCount += session.Find<fl_order_alimama>("select * from fl_order_alimama where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime and alipay_total_price >= @alipay_total_price", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime, alipay_total_price = SuperiorReward_FirstSinglePaymentSum }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_jingdong>("select * from fl_order_jingdong where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime and estimateCosPrice >= @estimateCosPrice", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime, estimateCosPrice = SuperiorReward_FirstSinglePaymentSum }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_pinduoduo>("select * from fl_order_pinduoduo where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime and order_amount >= @order_amount", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime, order_amount = SuperiorReward_FirstSinglePaymentSum }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_weipinhui>("select * from fl_order_weipinhui where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime and commissionTotalCost >= @commissionTotalCost", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime, commissionTotalCost = SuperiorReward_FirstSinglePaymentSum }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_douyin>("select * from fl_order_douyin where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime and total_pay_amount >= @total_pay_amount", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime, total_pay_amount = SuperiorReward_FirstSinglePaymentSum }).Count;
|
|||
|
if (orderCount == 0)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_suning>("select * from fl_order_suning where db_userid = @db_userid and db_status = @db_status and db_endtime < @db_endtime and payAmount >= @payAmount", new { db_userid = member.id, db_status = SystemOrderStatus.订单结算, db_endtime = db_endtime, payAmount = SuperiorReward_FirstSinglePaymentSum }).Count;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
EventClient.OnEvent("【新人首单满足付款金额奖励】", $@"(【{member.id}】{member.username},上级:【{member.inviter_id}】),结算订单数:{orderCount} - {price}~{SuperiorReward_FirstSinglePaymentSum} - {endtime} - {db_endtime}");
|
|||
|
return orderCount == 0;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
private static readonly Object lockObj_2 = new Object();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 判断是否用户首单奖励
|
|||
|
/// </summary>
|
|||
|
/// <param name="member">用户对象</param>
|
|||
|
/// <param name="_orderStatus">系统订单类型</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static bool CheckMemberFirstOrderRewards(fl_member_info _member, SystemOrderStatus _orderStatus)//, DateTime endtime
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
lock (lockObj_2)
|
|||
|
{
|
|||
|
var member = _member;
|
|||
|
var orderStatus = _orderStatus;
|
|||
|
if (member == null)
|
|||
|
return false;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
var record = session.FindStatisticsRecord(member.id);
|
|||
|
if (record != null && record.ex2 >= 1)
|
|||
|
return false;
|
|||
|
|
|||
|
#region 记录首次下单的时间
|
|||
|
if (orderStatus == SystemOrderStatus.订单付款)
|
|||
|
{
|
|||
|
if (record == null)
|
|||
|
{
|
|||
|
record = new fl_statistics_record() { uid = member.id, ex2 = 0, ex4 = CsharpHttpHelper.HttpExtend.GetTimeStamp(DateTime.Now) };
|
|||
|
session.Saveable<fl_statistics_record>(record).ExecuteCommand();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (record.ex2 == 0 && record.ex4 == 0)
|
|||
|
record.ex4 = CsharpHttpHelper.HttpExtend.GetTimeStamp(DateTime.Now);
|
|||
|
session.Saveable<fl_statistics_record>(record).ExecuteCommand();
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
if (config.ContainsKey("FirstOrder_SumSwitch") && config["FirstOrder_SumSwitch"].ToString() == "1")
|
|||
|
{
|
|||
|
record = session.FindStatisticsRecord(member.id);
|
|||
|
if (record == null || record.ex2 == 0)
|
|||
|
{
|
|||
|
if (config.ContainsKey("FirstOrder_InitialAwardNewcomerType"))//判断首单奖励新人类型
|
|||
|
{
|
|||
|
var newcomerType = config["FirstOrder_InitialAwardNewcomerType"].ToString();//所有新用户 = 1,被邀请用户 = 2,非邀请用户 = 3
|
|||
|
if (newcomerType == "2" && member.inviter_id == 0)
|
|||
|
return false;
|
|||
|
else if (newcomerType == "3" && member.inviter_id != 0)
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
if (config.ContainsKey("FirstOrderAwardWay"))//判断首单奖励的方式
|
|||
|
{
|
|||
|
var FirstOrderAwardWay = config["FirstOrderAwardWay"].ToString();//订单付款后奖励 = 1,订单结算后奖励 = 2
|
|||
|
if (FirstOrderAwardWay == "1" && orderStatus == SystemOrderStatus.订单付款)
|
|||
|
{
|
|||
|
if (record == null)
|
|||
|
record = new fl_statistics_record() { uid = member.id, ex2 = 1 };
|
|||
|
else
|
|||
|
record.ex2 = 1;
|
|||
|
session.Saveable<fl_statistics_record>(record).ExecuteCommand();
|
|||
|
|
|||
|
var orderCount = 0;
|
|||
|
orderCount += session.Find<fl_order_alimama>("select * from fl_order_alimama where db_userid = @db_userid", new { db_userid = member.id }).Count;
|
|||
|
if (orderCount == 0 || orderCount == 1)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_jingdong>("select * from fl_order_jingdong where db_userid = @db_userid", new { db_userid = member.id }).Count;
|
|||
|
if (orderCount == 0 || orderCount == 1)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_pinduoduo>("select * from fl_order_pinduoduo where db_userid = @db_userid", new { db_userid = member.id }).Count;
|
|||
|
if (orderCount == 0 || orderCount == 1)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_weipinhui>("select * from fl_order_weipinhui where db_userid = @db_userid", new { db_userid = member.id }).Count;
|
|||
|
if (orderCount == 0 || orderCount == 1)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_douyin>("select * from fl_order_douyin where db_userid = @db_userid", new { db_userid = member.id }).Count;
|
|||
|
if (orderCount == 0 || orderCount == 1)
|
|||
|
{
|
|||
|
orderCount += session.Find<fl_order_suning>("select * from fl_order_suning where db_userid = @db_userid", new { db_userid = member.id }).Count;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return (orderCount == 1);
|
|||
|
}
|
|||
|
else if (FirstOrderAwardWay == "2" && orderStatus == SystemOrderStatus.订单结算)
|
|||
|
{
|
|||
|
if (record == null)
|
|||
|
record = new fl_statistics_record() { uid = member.id, ex2 = 1 };
|
|||
|
else
|
|||
|
record.ex2 = 1;
|
|||
|
session.Saveable<fl_statistics_record>(record).ExecuteCommand();
|
|||
|
|
|||
|
return (member.finish_order == 1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经阿里结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notices">通知集合</param>
|
|||
|
/// <param name="order">阿里订单对象</param>
|
|||
|
public void DeductAliOrderPoint(List<OrderNoticeEvent> notices, fl_order_alimama order)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (order.db_userid == 0) return;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = order.db_userid });
|
|||
|
if (member == null) return;
|
|||
|
|
|||
|
session.InsertRefundHistPoint(order.trade_parent_id, order.trade_id, CpsType.阿里妈妈, order.db_point, member.id);
|
|||
|
|
|||
|
//获取积分信息
|
|||
|
var point = HttpHelper.JsonToObject<ItemPoint>(order.db_point) as ItemPoint;
|
|||
|
if (point == null) return;
|
|||
|
|
|||
|
#region 维权扣除 - 全部
|
|||
|
member = session.ChangePoint(PointType.维权扣除, point.UserPoint, member.id, $"退款:{order.item_title}({order.trade_parent_id})({order.trade_id})");
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.阿里妈妈, member, order));
|
|||
|
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//多级提成计算..用户自己的上级不能为自己
|
|||
|
//if (point.AwardOne > 0 && member.inviter_id > 0 && !ids.Contains(member.inviter_id))
|
|||
|
if (point.AwardOne > 0 && member.inviter_id > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},淘宝购物1级提成!{order.item_title} - ({order.trade_parent_id})({order.trade_id})");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
if (notices != null)
|
|||
|
{
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.阿里妈妈, flag, order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
}
|
|||
|
if (point.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
flag = session.ChangePoint(PointType.维权扣除, point.AwardTwo, flag.inviter_id, $"{member.usernick},淘宝购物2级提成!{order.item_title} - ({order.trade_parent_id})({order.trade_id})");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
if (notices != null && flag != null)
|
|||
|
{
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.阿里妈妈, flag, order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardThree > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
flag = session.ChangePoint(PointType.维权扣除, point.AwardThree, flag.inviter_id, $"{member.usernick},淘宝购物3级提成!{order.item_title} - ({order.trade_parent_id})({order.trade_id})");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
if (notices != null && flag != null) notices.Add(new OrderNoticeEvent(CpsType.阿里妈妈, flag, order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (point.AwardCreate > 0 && !string.IsNullOrEmpty(order.msg_groupid) && !string.IsNullOrEmpty(order.db_robotname))
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(order.msg_groupid, order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardCreate, create.mid, $"{member.usernick},淘宝维护提成!{order.item_title} - ({order.trade_parent_id})({order.trade_id})");
|
|||
|
if (notices != null && flag != null) notices.Add(new OrderNoticeEvent(CpsType.阿里妈妈, flag, order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经京东结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notices">通知集合</param>
|
|||
|
/// <param name="order">京东订单对象</param>
|
|||
|
/// <param name="itempoint">积分分配对象</param>
|
|||
|
public void DeductJingDongOrderPoint(List<OrderNoticeEvent> notices, fl_order_jingdong order, ItemPoint itempoint)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (order == null || order.db_userid == 0) return;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
if (itempoint == null) return;
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = order.db_userid });
|
|||
|
if (member == null) return;
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//用户自身加积分
|
|||
|
member = session.ChangePoint(PointType.维权扣除, itempoint.UserPoint, member.id, $"京东购买:{order.skuName}({order.orderId}) - 售后中(扣除)");
|
|||
|
//var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},京东购物1级提成 - 售后中(扣除)!");
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.京东联盟, member, order));
|
|||
|
//多级提成计算
|
|||
|
if (itempoint.AwardOne > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, itempoint.AwardOne, member.inviter_id, $"{member.usernick},京东购物1级提成 - 售后中(扣除) - {order.skuName}({order.orderId})");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.京东联盟, flag, order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
|
|||
|
if (itempoint.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
var flag2 = session.ChangePoint(PointType.维权扣除, itempoint.AwardTwo, flag.inviter_id, $"{member.usernick},京东购物2级提成 - 售后中(扣除) - {order.skuName}({order.orderId})");
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
ids.Add(flag2.id);
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.京东联盟, flag2, order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (itempoint.AwardThree > 0 && flag2.inviter_id != 0 && !ids.Contains(flag2.inviter_id))
|
|||
|
{
|
|||
|
var flag3 = session.ChangePoint(PointType.维权扣除, itempoint.AwardThree, flag2.inviter_id, $"{member.usernick},京东购物3级提成 - 售后中(扣除) - {order.skuName}({order.orderId})");
|
|||
|
if (flag3 != null)
|
|||
|
{
|
|||
|
ids.Add(flag3.id);
|
|||
|
if (flag3 != null) notices.Add(new OrderNoticeEvent(CpsType.京东联盟, flag3, order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (itempoint.AwardCreate > 0 && !string.IsNullOrEmpty(order.msg_groupid) && !string.IsNullOrEmpty(order.db_robotname))
|
|||
|
{
|
|||
|
var robot = session.FindRobotInfo(order.db_robotname, order.db_robottype);
|
|||
|
if (robot != null)
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(order.msg_groupid, order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, itempoint.AwardCreate, create.mid, $"{member.usernick},京东维护提成 - 售后中(扣除) - {order.skuName}({order.orderId})");
|
|||
|
if (flag != null) notices.Add(new OrderNoticeEvent(CpsType.京东联盟, flag, order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经快手结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notices">通知集合</param>
|
|||
|
/// <param name="order">快手订单对象</param>
|
|||
|
/// <param name="itempoint">积分分配对象</param>
|
|||
|
public void DeductKuaiShouOrderPoint(List<OrderNoticeEvent> notices, fl_order_kuaishou order, ItemPoint itempoint)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (order == null || order.db_userid == 0) return;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
if (itempoint == null) return;
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = order.db_userid });
|
|||
|
if (member == null) return;
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//用户自身加积分
|
|||
|
member = session.ChangePoint(PointType.维权扣除, itempoint.UserPoint, member.id, $"快手购买:{order.itemTitle}({order.oid}-{order.oid2}) - 售后中(扣除)");
|
|||
|
//var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},快手购物1级提成 - 售后中(扣除)!");
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.快手联盟, member, order));
|
|||
|
//多级提成计算
|
|||
|
if (itempoint.AwardOne > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, itempoint.AwardOne, member.inviter_id, $"{member.usernick},快手购物1级提成 - 售后中(扣除) - {order.itemTitle}({order.oid}-{order.oid2})");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.快手联盟, flag, order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
|
|||
|
if (itempoint.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
var flag2 = session.ChangePoint(PointType.维权扣除, itempoint.AwardTwo, flag.inviter_id, $"{member.usernick},快手购物2级提成 - 售后中(扣除) - {order.itemTitle}({order.oid}-{order.oid2})");
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
ids.Add(flag2.id);
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.快手联盟, flag2, order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (itempoint.AwardThree > 0 && flag2.inviter_id != 0 && !ids.Contains(flag2.inviter_id))
|
|||
|
{
|
|||
|
var flag3 = session.ChangePoint(PointType.维权扣除, itempoint.AwardThree, flag2.inviter_id, $"{member.usernick},快手购物3级提成 - 售后中(扣除) - {order.itemTitle}({order.oid}-{order.oid2})");
|
|||
|
if (flag3 != null)
|
|||
|
{
|
|||
|
ids.Add(flag3.id);
|
|||
|
if (flag3 != null) notices.Add(new OrderNoticeEvent(CpsType.快手联盟, flag3, order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (itempoint.AwardCreate > 0 && !string.IsNullOrEmpty(order.msg_groupid) && !string.IsNullOrEmpty(order.db_robotname))
|
|||
|
{
|
|||
|
var robot = session.FindRobotInfo(order.db_robotname, order.db_robottype);
|
|||
|
if (robot != null)
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(order.msg_groupid, order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, itempoint.AwardCreate, create.mid, $"{member.usernick},快手维护提成 - 售后中(扣除) - {order.itemTitle}({order.oid}-{order.oid2})");
|
|||
|
if (flag != null) notices.Add(new OrderNoticeEvent(CpsType.快手联盟, flag, order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经抖音结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notices">通知集合</param>
|
|||
|
/// <param name="order">抖音订单对象</param>
|
|||
|
/// <param name="itempoint">积分分配对象</param>
|
|||
|
public void DeductDouYinOrderPoint(List<OrderNoticeEvent> notices, fl_order_douyin order, ItemPoint itempoint)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (order == null || order.db_userid == 0) return;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
if (itempoint == null) return;
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = order.db_userid });
|
|||
|
if (member == null) return;
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//用户自身加积分
|
|||
|
member = session.ChangePoint(PointType.维权扣除, itempoint.UserPoint, member.id, $"抖音购买:{order.product_name}({order.order_id}) - 售后中(扣除)");
|
|||
|
//var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},抖音购物1级提成 - 售后中(扣除)!");
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.抖音联盟, member, order));
|
|||
|
//多级提成计算
|
|||
|
if (itempoint.AwardOne > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, itempoint.AwardOne, member.inviter_id, $"{member.usernick},抖音购物1级提成 - 售后中(扣除) - {order.product_name}({order.order_id})");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.抖音联盟, flag, order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
|
|||
|
if (itempoint.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
var flag2 = session.ChangePoint(PointType.维权扣除, itempoint.AwardTwo, flag.inviter_id, $"{member.usernick},抖音购物2级提成 - 售后中(扣除) - {order.product_name}({order.order_id})");
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
ids.Add(flag2.id);
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
notices.Add(new OrderNoticeEvent(CpsType.抖音联盟, flag2, order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (itempoint.AwardThree > 0 && flag2.inviter_id != 0 && !ids.Contains(flag2.inviter_id))
|
|||
|
{
|
|||
|
var flag3 = session.ChangePoint(PointType.维权扣除, itempoint.AwardThree, flag2.inviter_id, $"{member.usernick},抖音购物3级提成 - 售后中(扣除) - {order.product_name}({order.order_id})");
|
|||
|
if (flag3 != null)
|
|||
|
{
|
|||
|
ids.Add(flag3.id);
|
|||
|
if (flag3 != null) notices.Add(new OrderNoticeEvent(CpsType.抖音联盟, flag3, order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (itempoint.AwardCreate > 0 && !string.IsNullOrEmpty(order.msg_groupid) && !string.IsNullOrEmpty(order.db_robotname))
|
|||
|
{
|
|||
|
var robot = session.FindRobotInfo(order.db_robotname, order.db_robottype);
|
|||
|
if (robot != null)
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(order.msg_groupid, order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, itempoint.AwardCreate, create.mid, $"{member.usernick},抖音维护提成 - 售后中(扣除) - {order.product_name}({order.order_id})");
|
|||
|
if (flag != null) notices.Add(new OrderNoticeEvent(CpsType.抖音联盟, flag, order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经拼多结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notice">通知集合</param>
|
|||
|
/// <param name="db_order">拼多多订单对象</param>
|
|||
|
public void DeductPinDuoOrderPoint(List<OrderNoticeEvent> notice, fl_order_pinduoduo db_order)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (db_order.db_userid == 0) return;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = db_order.db_userid });
|
|||
|
|
|||
|
if (member == null) return;
|
|||
|
|
|||
|
var point = HttpHelper.JsonToObject<ItemPoint>(db_order.db_point) as ItemPoint;
|
|||
|
if (point == null) return;
|
|||
|
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//用户自身加积分
|
|||
|
member = session.ChangePoint(PointType.维权扣除, point.UserPoint, member.id, $"拼多多购买:{db_order.goods_name}({db_order.order_sn}) - 售后中(扣除)");
|
|||
|
|
|||
|
//#region 判断用户是否符合获得新人奖励
|
|||
|
//isFirstOrder = OrderHelper.CheckMemberFirstOrderRewards(member, db_order.db_status);
|
|||
|
//#endregion
|
|||
|
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.多多进宝, member, db_order));
|
|||
|
//多级提成计算
|
|||
|
|
|||
|
//一级的提成小于等于0时,并且判断一级是否符合获得推荐新人奖励(无奖励一级提成)
|
|||
|
if (point.AwardOne <= 0 && member.inviter_id > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
if (notice != null)
|
|||
|
{
|
|||
|
var inviter = session.FindMemberInfoById(member.inviter_id);
|
|||
|
if (inviter != null)
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.多多进宝, inviter, db_order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
else if (point.AwardOne > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},拼多多购物1级提成! - {db_order.goods_name}({db_order.order_sn}) - 售后中(扣除)");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.多多进宝, flag, db_order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
var flag2 = session.ChangePoint(PointType.维权扣除, point.AwardTwo, flag.inviter_id, $"{member.usernick},拼多多购物2级提成! - {db_order.goods_name}({db_order.order_sn}) - 售后中(扣除)");
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
ids.Add(flag2.id);
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.多多进宝, flag2, db_order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardThree > 0 && flag2.inviter_id != 0 && !ids.Contains(flag2.inviter_id))
|
|||
|
{
|
|||
|
var flag3 = session.ChangePoint(PointType.维权扣除, point.AwardThree, flag2.inviter_id, $"{member.usernick},拼多多购物3级提成! - {db_order.goods_name}({db_order.order_sn}) - 售后中(扣除)");
|
|||
|
if (flag3 != null)
|
|||
|
{
|
|||
|
ids.Add(flag3.id);
|
|||
|
if (flag3 != null) notice.Add(new OrderNoticeEvent(CpsType.多多进宝, flag3, db_order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (point.AwardCreate > 0 && !string.IsNullOrEmpty(db_order.msg_groupid) && !string.IsNullOrEmpty(db_order.db_robotname))
|
|||
|
{
|
|||
|
var robot = session.FindRobotInfo(db_order.db_robotname, db_order.db_robottype);
|
|||
|
if (robot != null)
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(db_order.msg_groupid, db_order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardCreate, create.mid, $"{member.usernick},拼多多维护提成! - {db_order.goods_name}({db_order.order_sn}) - 售后中(扣除)");
|
|||
|
if (flag != null) notice.Add(new OrderNoticeEvent(CpsType.多多进宝, flag, db_order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经拼多结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notice">通知集合</param>
|
|||
|
/// <param name="db_order">拼多多订单对象</param>
|
|||
|
public void DeductSuningOrderPoint(List<OrderNoticeEvent> notice, fl_order_suning db_order)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (db_order.db_userid == 0) return;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = db_order.db_userid });
|
|||
|
|
|||
|
if (member == null) return;
|
|||
|
|
|||
|
var point = HttpHelper.JsonToObject<ItemPoint>(db_order.db_point) as ItemPoint;
|
|||
|
if (point == null) return;
|
|||
|
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//用户自身加积分
|
|||
|
member = session.ChangePoint(PointType.维权扣除, point.UserPoint, member.id, $"苏宁易购购买:{db_order.productName}({db_order.orderCode}-{db_order.orderLineNumber}) - 售后中(扣除)");
|
|||
|
|
|||
|
//#region 判断用户是否符合获得新人奖励
|
|||
|
//isFirstOrder = OrderHelper.CheckMemberFirstOrderRewards(member, db_order.db_status);
|
|||
|
//#endregion
|
|||
|
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.苏宁易购, member, db_order));
|
|||
|
//多级提成计算
|
|||
|
|
|||
|
//一级的提成小于等于0时,并且判断一级是否符合获得推荐新人奖励(无奖励一级提成)
|
|||
|
if (point.AwardOne <= 0 && member.inviter_id > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
if (notice != null)
|
|||
|
{
|
|||
|
var inviter = session.FindMemberInfoById(member.inviter_id);
|
|||
|
if (inviter != null)
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.苏宁易购, inviter, db_order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
else if (point.AwardOne > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},苏宁易购购物1级提成! - {db_order.productName}({db_order.orderCode}-{db_order.orderLineNumber}) - 售后中(扣除)");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.苏宁易购, flag, db_order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
var flag2 = session.ChangePoint(PointType.维权扣除, point.AwardTwo, flag.inviter_id, $"{member.usernick},苏宁易购购物2级提成! - {db_order.productName}({db_order.orderCode}-{db_order.orderLineNumber}) - 售后中(扣除)");
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
ids.Add(flag2.id);
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.苏宁易购, flag2, db_order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardThree > 0 && flag2.inviter_id != 0 && !ids.Contains(flag2.inviter_id))
|
|||
|
{
|
|||
|
var flag3 = session.ChangePoint(PointType.维权扣除, point.AwardThree, flag2.inviter_id, $"{member.usernick},苏宁易购购物3级提成! - {db_order.productName}({db_order.orderCode}-{db_order.orderLineNumber}) - 售后中(扣除)");
|
|||
|
if (flag3 != null)
|
|||
|
{
|
|||
|
ids.Add(flag3.id);
|
|||
|
if (flag3 != null) notice.Add(new OrderNoticeEvent(CpsType.苏宁易购, flag3, db_order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (point.AwardCreate > 0 && !string.IsNullOrEmpty(db_order.msg_groupid) && !string.IsNullOrEmpty(db_order.db_robotname))
|
|||
|
{
|
|||
|
var robot = session.FindRobotInfo(db_order.db_robotname, db_order.db_robottype);
|
|||
|
if (robot != null)
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(db_order.msg_groupid, db_order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardCreate, create.mid, $"{member.usernick},苏宁易购维护提成! - {db_order.productName}({db_order.orderCode}-{db_order.orderLineNumber}) - 售后中(扣除)");
|
|||
|
if (flag != null) notice.Add(new OrderNoticeEvent(CpsType.苏宁易购, flag, db_order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 扣除已经唯品会结算订单的用户所得
|
|||
|
/// </summary>
|
|||
|
/// <param name="notice">通知集合</param>
|
|||
|
/// <param name="db_order">唯品会订单对象</param>
|
|||
|
public bool DeductWeipinhuiOrderPoint(List<OrderNoticeEvent> notice, fl_order_weipinhui db_order)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (db_order.db_userid == 0) return false;
|
|||
|
var session = ApiClient.GetSession();
|
|||
|
|
|||
|
var member = session.FindSingle<fl_member_info>("id=@id", new { id = db_order.db_userid });
|
|||
|
|
|||
|
if (member == null) return false;
|
|||
|
|
|||
|
var point = HttpHelper.JsonToObject<ItemPoint>(db_order.db_point) as ItemPoint;
|
|||
|
if (point == null) return false;
|
|||
|
|
|||
|
List<long> ids = new List<long>();
|
|||
|
ids.Add(member.id);
|
|||
|
//用户自身加积分
|
|||
|
member = session.ChangePoint(PointType.维权扣除, point.UserPoint, member.id, $"唯品会购买:{db_order.goodsName}({db_order.orderSn} - {db_order.goodsId}) - 售后中(扣除)");
|
|||
|
|
|||
|
//#region 判断用户是否符合获得新人奖励
|
|||
|
//isFirstOrder = OrderHelper.CheckMemberFirstOrderRewards(member, db_order.db_status);
|
|||
|
//#endregion
|
|||
|
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, member, db_order));
|
|||
|
|
|||
|
|
|||
|
//多级提成计算
|
|||
|
|
|||
|
//一级的提成小于等于0时,并且判断一级是否符合获得推荐新人奖励(无奖励一级提成)
|
|||
|
if (point.AwardOne <= 0 && member.inviter_id > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
if (notice != null)
|
|||
|
{
|
|||
|
var inviter = session.FindMemberInfoById(member.inviter_id);
|
|||
|
if (inviter != null)
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, inviter, db_order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
else if (point.AwardOne > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardOne, member.inviter_id, $"{member.usernick},唯品会购物1级提成! - {db_order.goodsName}({db_order.orderSn} - {db_order.goodsId}) - 售后中(扣除)");
|
|||
|
if (flag != null)
|
|||
|
{
|
|||
|
ids.Add(flag.id);
|
|||
|
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag, db_order, OrderNoticeType.一级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardTwo > 0 && flag.inviter_id != 0 && !ids.Contains(flag.inviter_id))
|
|||
|
{
|
|||
|
var flag2 = session.ChangePoint(PointType.维权扣除, point.AwardTwo, flag.inviter_id, $"{member.usernick},唯品会购物2级提成! - {db_order.goodsName}({db_order.orderSn} - {db_order.goodsId}) - 售后中(扣除)");
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
ids.Add(flag2.id);
|
|||
|
if (flag2 != null)
|
|||
|
{
|
|||
|
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag2, db_order, OrderNoticeType.二级提成) { Customer = member });
|
|||
|
|
|||
|
if (point.AwardThree > 0 && flag2.inviter_id != 0 && !ids.Contains(flag2.inviter_id))
|
|||
|
{
|
|||
|
var flag3 = session.ChangePoint(PointType.维权扣除, point.AwardThree, flag2.inviter_id, $"{member.usernick},唯品会购物3级提成! - {db_order.goodsName}({db_order.orderSn} - {db_order.goodsId}) - 售后中(扣除)");
|
|||
|
if (flag3 != null)
|
|||
|
{
|
|||
|
ids.Add(flag3.id);
|
|||
|
if (flag3 != null) notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag3, db_order, OrderNoticeType.三级提成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//创建人计算
|
|||
|
if (point.AwardCreate > 0 && !string.IsNullOrEmpty(db_order.msg_groupid) && !string.IsNullOrEmpty(db_order.db_robotname))
|
|||
|
{
|
|||
|
var robot = session.FindRobotInfo(db_order.db_robotname, db_order.db_robottype);
|
|||
|
if (robot != null)
|
|||
|
{
|
|||
|
var create = session.FindCreateInfo(db_order.msg_groupid, db_order.db_robottype);
|
|||
|
if (create != null && member.id != create.id)
|
|||
|
{
|
|||
|
var flag = session.ChangePoint(PointType.维权扣除, point.AwardCreate, create.mid, $"{member.usernick},唯品会维护提成! - {db_order.goodsName}({db_order.orderSn} - {db_order.goodsId}) - 售后中(扣除)");
|
|||
|
if (flag != null) notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag, db_order, OrderNoticeType.群主分成) { Customer = member });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|