1002 lines
64 KiB
C#
1002 lines
64 KiB
C#
using Api.Framework.Cps;
|
||
using Api.Framework.Enums;
|
||
using Api.Framework.Events;
|
||
using Api.Framework.Model;
|
||
using Api.Framework.SDK;
|
||
using Api.Framework.Tools;
|
||
using Api.Framework.Utils;
|
||
using CsharpHttpHelper;
|
||
using SqlSugar;
|
||
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Text.RegularExpressions;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace Api.Framework.Timers
|
||
{
|
||
/// <summary>
|
||
/// 唯品会订单下载定时器
|
||
/// </summary>
|
||
public class DownWeipinhuiTimer : TimerTask
|
||
{
|
||
private DateTime update_time = DateTime.Now.AddMinutes(-60);
|
||
public override void Run(object state, bool timedOut)
|
||
{
|
||
var end_time = DateTime.Now;
|
||
UpdateOrder(CpsClient.Members.Where(f => f.cpstype == CpsType.唯品联盟 && f.is_download == SwitchType.开启).ToArray(), update_time, end_time);
|
||
update_time = DateTime.Now.AddMinutes(-20);
|
||
|
||
#region 需要重新登录的联盟账号通知钉钉
|
||
var cps_expires = CpsClient.Members.Where(f => f.cpstype == CpsType.唯品联盟 && f.abnormal_tip == SwitchType.开启 && !f.is_valid).ToList();
|
||
if (cps_expires != null && cps_expires.Count != 0)
|
||
{
|
||
foreach (var cps in cps_expires)
|
||
{
|
||
var key = $"weipinhui_cps_expire_{cps.username}";
|
||
var value = ApiClient.Cache.Get<string>(key);
|
||
if (string.IsNullOrWhiteSpace(value))
|
||
{
|
||
var session = ApiClient.GetSession();
|
||
var robot = session.FindRobots().FirstOrDefault();
|
||
|
||
StringBuilder strb = new StringBuilder();
|
||
strb.AppendLine("唯品会状态异常");
|
||
strb.AppendLine("---------------------");
|
||
if (robot != null)
|
||
strb.AppendLine("所在机器人:" + robot.nick + $"({robot.name})");
|
||
|
||
strb.AppendLine("昵称:" + cps.usernick);
|
||
strb.AppendLine("账号:" + cps.username);
|
||
strb.AppendLine();
|
||
strb.AppendLine("解决方法:重新授权登录");
|
||
ApiClient.SendNoticeMessage(strb.ToString());
|
||
ApiClient.Cache.Set(key, ".", 24 * 60 * 60 * 1000);
|
||
Thread.Sleep(50);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
|
||
/// <summary>
|
||
/// 订单id
|
||
/// </summary>
|
||
private string order_id = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 手动同步订单
|
||
/// </summary>
|
||
/// <param name="member">唯品会cps对象集合</param>
|
||
/// <param name="start_time">开始时间</param>
|
||
/// <param name="end_time">结束时间</param>
|
||
public void UpdateOrder(List<fl_cps_member> members, DateTime start_time, DateTime end_time)
|
||
{
|
||
if (IsRunning) throw new Exception("任务繁忙,请稍后重试!");
|
||
try
|
||
{
|
||
IsRunning = true;
|
||
|
||
UpdateOrder(members.ToArray(), start_time, end_time);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
EventClient.OnEvent(this, "更新唯品会订单异常:" + ex.Message);
|
||
}
|
||
finally
|
||
{
|
||
IsRunning = false;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新订单
|
||
/// </summary>
|
||
/// <param name="start_time">开始时间</param>
|
||
/// <param name="end_time">结束时间</param>
|
||
/// <param name="order_id">订单id</param>
|
||
/// <returns></returns>
|
||
internal bool UpdateOrder(DateTime start_time, DateTime end_time, string order_id = "")
|
||
{
|
||
if (IsRunning) throw new Exception("任务繁忙,请稍后重试!");
|
||
try
|
||
{
|
||
IsRunning = true;
|
||
this.order_id = order_id;
|
||
var members = CpsClient.Members.Where(f => f.cpstype == CpsType.唯品联盟 && f.is_download == SwitchType.开启).ToArray();
|
||
UpdateOrder(members, start_time, end_time);
|
||
return true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
EventClient.OnEvent(this, "更新唯品会异常:" + ex.Message);
|
||
return false;
|
||
}
|
||
finally
|
||
{
|
||
this.order_id = string.Empty;
|
||
IsRunning = false;
|
||
}
|
||
|
||
}
|
||
|
||
private static string custom_parameters_regex = @"^r=(?<机器人id>.*?)\st=(?<类型>\d+)\su=(?<会员id>.+?)\sp=(?<推广位>.+)$";
|
||
private static string custom_parameters_regex2 = @"^r=(?<机器人id>.*?)\st=(?<类型>\d+)\sun=(?<会员id>.+?)\sp=(?<推广位>.+)$";
|
||
|
||
/// <summary>
|
||
/// 订单 修改状态/用户绑定等操作通知用户
|
||
/// </summary>
|
||
/// <param name="db_order">唯品会订单对象</param>
|
||
/// <param name="session">数据库操作对象</param>
|
||
/// <param name="notice">事件集合</param>
|
||
/// <param name="isFrontData"></param>
|
||
public void UpdateOrder(fl_order_weipinhui db_order, SqlSugarClient session, List<OrderNoticeEvent> notice, bool isFrontData = false)
|
||
{
|
||
if (db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.已下单)
|
||
return;
|
||
|
||
var IsContainYourself = false;//是否已经包含自己通知事件
|
||
try
|
||
{
|
||
var old_status = db_order.db_status;
|
||
fl_member_info member = null;
|
||
var isRewards = false;//是否获得推荐新人奖励
|
||
var isFirstOrder = false;//是否获得用户首单奖励
|
||
|
||
//订单自动绑定
|
||
if (db_order.db_userid == 0 && ApiClient.Setting.SystemConfig.order_weipinhui_bind == SwitchType.开启)
|
||
{
|
||
var isbind = false;
|
||
#region 唯品会返利进行自动绑定
|
||
//私人推广位强制绑定绑定
|
||
var privateAdzonePids = session.FindWeipinhuiPrivatePid(db_order.pid.ToString());
|
||
if (privateAdzonePids.Count == 1 && privateAdzonePids[0].is_auto_bind)//无条件设置开启中,直接自动绑定
|
||
{
|
||
var memberInfo = session.FindMemberInfoById(privateAdzonePids[0].member_id);
|
||
if (memberInfo != null)
|
||
{
|
||
db_order.db_userid = memberInfo.id;
|
||
db_order.db_robotname = memberInfo.robot_name;
|
||
db_order.db_robottype = memberInfo.robot_type;
|
||
isbind = true;
|
||
|
||
#region 获取查询时的比例
|
||
var query_item = session.FindSingle<fl_query_hist>("userid=@userid and itemid=@itemid and adzoneid = @adzoneid and crt_time > @time order by id desc", new { userid = db_order.db_userid, itemid = db_order.goodsId, adzoneid = db_order.pid, time = DateTime.Now.AddHours(-24).ToString("yyyy-MM-dd HH:mm:ss") });
|
||
if (query_item != null && !string.IsNullOrWhiteSpace(query_item.compute_configdic))
|
||
{
|
||
if (db_order.id == 0)
|
||
session.SaveOrUpdate(db_order);
|
||
var queryRatioHist = new fl_query_ratio_hist()
|
||
{
|
||
compute_config = query_item.compute_configdic,
|
||
db_orderid = db_order.id,
|
||
createtime = DateTime.Now,
|
||
cpstype = CpsType.唯品联盟
|
||
};
|
||
session.SaveOrUpdate(queryRatioHist);
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
}
|
||
|
||
if (!isbind)
|
||
{
|
||
var bind_pids = session.FindWeipinhuiAutoBindPid();
|
||
bool flag = bind_pids.FirstOrDefault(f => f == db_order.pid) != null ? true : false;
|
||
#endregion
|
||
if (flag)
|
||
{
|
||
var mid = string.Empty;
|
||
var statParam = Util.DecryptDES(db_order.statParam);
|
||
var reg = Regex.Match(statParam, custom_parameters_regex);
|
||
if (reg.Success)
|
||
member = session.FindSingle<fl_member_info>("id=@id", new { id = reg.Groups["会员id"].Value });
|
||
else
|
||
{
|
||
reg = Regex.Match(statParam, custom_parameters_regex2);
|
||
if (reg.Success)
|
||
{
|
||
var wxid = reg.Groups["会员id"].Value;
|
||
if (!string.IsNullOrWhiteSpace(wxid))
|
||
member = session.FindSingle<fl_member_info>("username = @username", new { username = reg.Groups["会员id"].Value });
|
||
}
|
||
}
|
||
if (member != null)
|
||
{
|
||
db_order.db_userid = member.id;
|
||
if (string.IsNullOrEmpty(db_order.db_robotname))
|
||
{
|
||
var rInfo = session.FindRobots().FirstOrDefault(f => f.id.ToString() == reg.Groups["机器人id"].Value);
|
||
if (rInfo != null)
|
||
{
|
||
db_order.db_robotname = rInfo.name;
|
||
db_order.db_robottype = rInfo.type;
|
||
}
|
||
}
|
||
|
||
#region 绑定群号
|
||
if (string.IsNullOrWhiteSpace(db_order.msg_groupid))
|
||
{
|
||
var query_item = session.FindSingle<fl_query_hist>("userid=@userid and itemid=@itemid and adzoneid = @adzoneid and crt_time > @time order by id desc", new { userid = db_order.db_userid, itemid = db_order.goodsId, adzoneid = db_order.pid, time = DateTime.Now.AddHours(-24).ToString("yyyy-MM-dd HH:mm:ss") });
|
||
if (query_item != null)
|
||
{
|
||
db_order.msg_groupid = query_item.groupid;
|
||
|
||
#region 获取查询时的比例
|
||
if (!string.IsNullOrWhiteSpace(query_item.compute_configdic))
|
||
{
|
||
if (db_order.id == 0)
|
||
session.SaveOrUpdate(db_order);
|
||
var queryRatioHist = new fl_query_ratio_hist()
|
||
{
|
||
compute_config = query_item.compute_configdic,
|
||
db_orderid = db_order.id,
|
||
createtime = DateTime.Now,
|
||
cpstype = CpsType.唯品联盟
|
||
};
|
||
session.SaveOrUpdate(queryRatioHist);
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
member = session.Find<fl_member_info>("id=@id", new { id = db_order.db_userid }).FirstOrDefault();
|
||
}
|
||
|
||
#region 更新最后下单的时间
|
||
//if ((db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.已下单 || db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.已付款) && db_order.db_userid != 0)
|
||
if (db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.已付款 && db_order.db_userid != 0)
|
||
{
|
||
try
|
||
{
|
||
var record = session.FindStatisticsRecord(db_order.db_userid);
|
||
if (record == null)
|
||
record = new fl_statistics_record() { uid = db_order.db_userid };
|
||
record.ex5 = long.Parse(db_order.orderTime.ToString().Substring(0, 10));
|
||
session.Saveable(record).ExecuteCommand();
|
||
}
|
||
catch (Exception)
|
||
{ }
|
||
}
|
||
#endregion
|
||
|
||
//计算积分
|
||
if (string.IsNullOrEmpty(db_order.db_point))
|
||
{
|
||
if (member == null) session.Find<fl_member_info>("id=@id", new { id = db_order.db_userid }).FirstOrDefault();
|
||
|
||
//查询历史查询比例
|
||
var compute = session.FindQueryRatioHist(CpsType.唯品联盟, db_order.id);
|
||
|
||
ItemPoint itempoint = null;
|
||
if (compute != null)
|
||
itempoint = session.FindItemPoint(CpsType.唯品联盟, compute, db_order.commission, db_order.goodsCount);
|
||
else
|
||
itempoint = session.FindItemPoint(member, db_order.commission, db_order.goodsCount, CpsType.唯品联盟);
|
||
if (itempoint != null)
|
||
{
|
||
if (itempoint.UserPoint == 0 && ApiClient.Setting.SystemConfig.SubsidyPdd == SwitchType.开启)
|
||
itempoint.UserPoint = 0.01;
|
||
db_order.db_point = HttpHelper.ObjectToJson(itempoint);
|
||
db_order.db_userpoint = itempoint.UserPoint;
|
||
}
|
||
if (member != null)
|
||
{
|
||
member.bind_order++;
|
||
member = session.UpdateMemberGroup(member);
|
||
}
|
||
}
|
||
//var status = Util.ConvertEnum<WeipinhuiOrderSubStatusName>(db_order.orderSubStatusName);
|
||
switch (db_order.orderSubStatusName)
|
||
{
|
||
case WeipinhuiOrderSubStatusName.维权完成:
|
||
case WeipinhuiOrderSubStatusName.已签收:
|
||
case WeipinhuiOrderSubStatusName.待结算:
|
||
case WeipinhuiOrderSubStatusName.已结算:
|
||
{
|
||
if (db_order.commission == 0)
|
||
db_order.db_status = SystemOrderStatus.订单失效;
|
||
else
|
||
{
|
||
//未发放佣金
|
||
if (db_order.db_endtime == DateTime.MinValue)
|
||
{
|
||
var sleep = session.FindSleep(CpsType.唯品联盟, ApiClient.Setting.SystemConfig.FreezingCondition == FreezingConditionType.商品总佣金 ? db_order.commission : db_order.db_userpoint);
|
||
if (sleep != null)
|
||
{
|
||
if (!string.IsNullOrEmpty(sleep.white_groups))
|
||
{
|
||
if (member != null && sleep.white_groups.Split(',').Contains(member.group_id.ToString()))
|
||
{
|
||
db_order.db_endtime = DateTime.Now;//该会员组不受限制
|
||
}
|
||
else
|
||
{
|
||
db_order.db_endtime = DateTime.Now.AddHours(sleep.sleep);//延迟多少小时
|
||
}
|
||
}
|
||
else db_order.db_endtime = DateTime.Now.AddHours(sleep.sleep);//延迟多少小时
|
||
}
|
||
else db_order.db_endtime = DateTime.Now;
|
||
|
||
#region 验证订单是否为24小时
|
||
var config = Util.Read<Dictionary<string, object>>("插件-唯品会返利-配置");
|
||
if (config != null)
|
||
{
|
||
if (config.ContainsKey("ReceivingTimeCheck_Switch"))
|
||
{
|
||
var ReceivingTimeCheck_Switch = bool.Parse(config["ReceivingTimeCheck_Switch"].ToString());
|
||
if (ReceivingTimeCheck_Switch)
|
||
{
|
||
if (config.ContainsKey("ReceivingTimeCheck_Hour"))
|
||
{
|
||
var ReceivingTimeCheck_Hour = int.Parse(config["ReceivingTimeCheck_Hour"].ToString());
|
||
if ((DateTime.Now - Util.GetDateTime(db_order.orderTime)).TotalHours <= ReceivingTimeCheck_Hour)//判断订单收货时间差
|
||
{
|
||
if (config.ContainsKey("ReceivingTimeCheck_OperateType"))
|
||
{
|
||
var ReceivingTimeCheck_OperateType = (OperateType)int.Parse(config["ReceivingTimeCheck_OperateType"].ToString());
|
||
if (ReceivingTimeCheck_OperateType == OperateType.订单冻结)
|
||
{
|
||
if (config.ContainsKey("ReceivingTimeCheck_FreezeTime"))
|
||
{
|
||
var ReceivingTimeCheck_FreezeTime = int.Parse(config["ReceivingTimeCheck_FreezeTime"].ToString());
|
||
db_order.db_endtime = db_order.db_endtime.AddHours(ReceivingTimeCheck_FreezeTime);//延迟多少小时
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
if (db_order.db_endtime <= DateTime.Now)
|
||
{
|
||
db_order.db_status = SystemOrderStatus.订单结算;
|
||
//session.ExcuteSQL("update fl_order_weipinhui set db_status=" + (int)db_order.db_status + " where id=" + db_order.id);
|
||
if (member != null)
|
||
{
|
||
var point = HttpHelper.JsonToObject<ItemPoint>(db_order.db_point) as ItemPoint;
|
||
if (point != null)
|
||
{
|
||
List<long> ids = new List<long>();
|
||
ids.Add(member.id);
|
||
//用户自身加积分
|
||
member = session.ChangePoint(PointType.消费补贴, point.UserPoint, member.id, $"唯品会购买:{db_order.goodsName}({db_order.orderSn})");
|
||
|
||
#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)
|
||
{
|
||
#region 判断上级是否符合获得推荐新人奖励
|
||
isRewards = OrderHelper.CheckSuperiorInviteRewards(member, db_order.db_endtime, db_order.commissionTotalCost);
|
||
#endregion
|
||
|
||
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, inviter, db_order, OrderNoticeType.一级提成) { Customer = member, IsRewards = isRewards });//下级首单完成
|
||
}
|
||
}
|
||
}
|
||
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})");
|
||
if (flag != null)
|
||
{
|
||
ids.Add(flag.id);
|
||
|
||
#region 判断上级是否符合获得推荐新人奖励
|
||
isRewards = OrderHelper.CheckSuperiorInviteRewards(member, db_order.db_endtime, db_order.commissionTotalCost);
|
||
#endregion
|
||
|
||
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag, db_order, OrderNoticeType.一级提成) { Customer = member, IsRewards = isRewards });
|
||
|
||
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})");
|
||
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})");
|
||
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})");
|
||
if (flag != null) notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag, db_order, OrderNoticeType.群主分成) { Customer = member });
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else db_order.db_status = SystemOrderStatus.订单冻结;
|
||
}
|
||
break;
|
||
}
|
||
case WeipinhuiOrderSubStatusName.已付款:
|
||
db_order.db_status = SystemOrderStatus.订单付款;
|
||
break;
|
||
case WeipinhuiOrderSubStatusName.已下单://TODO 这里的状态不知道什么意思,以后在判断
|
||
db_order.db_status = SystemOrderStatus.订单创建;
|
||
break;
|
||
case WeipinhuiOrderSubStatusName.已失效:
|
||
//if (db_order.afterSaleChangedGoodsCount == 0 && db_order.afterSaleStatus == WeipinhuiAfterSaleStatus.售后完成 && db_order.afterSaleType == WeipinhuiSfterSaleType.退货)
|
||
//{
|
||
db_order.db_status = (old_status == SystemOrderStatus.订单结算) ? SystemOrderStatus.全额退款 : SystemOrderStatus.订单失效;
|
||
#region 全额维权,扣除账户金额
|
||
if (member != null && old_status == SystemOrderStatus.订单结算 && db_order.db_status == SystemOrderStatus.全额退款)//扣除积分
|
||
{
|
||
if (db_order.db_endtime != DateTime.MinValue && db_order.db_endtime <= DateTime.Now)
|
||
{
|
||
db_order.db_status = SystemOrderStatus.全额退款;
|
||
#region xxx
|
||
//if (member != null)
|
||
//{
|
||
// var point = HttpHelper.JsonToObject<ItemPoint>(db_order.db_point) as ItemPoint;
|
||
// if (point != null)
|
||
// {
|
||
// 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)
|
||
// {
|
||
// #region 判断上级是否符合获得推荐新人奖励
|
||
// isRewards = OrderHelper.CheckSuperiorInviteRewards(member, db_order.db_endtime, db_order.commissionTotalCost);
|
||
// #endregion
|
||
|
||
// notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, inviter, db_order, OrderNoticeType.一级提成) { Customer = member, IsRewards = isRewards });//下级首单完成
|
||
// }
|
||
// }
|
||
// }
|
||
// 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);
|
||
|
||
// //#region 判断上级是否符合获得推荐新人奖励
|
||
// //isRewards = OrderHelper.CheckSuperiorInviteRewards(member, db_order.db_endtime, db_order.commissionTotalCost);
|
||
// //#endregion
|
||
|
||
// //notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, flag, db_order, OrderNoticeType.一级提成) { Customer = member, IsRewards = isRewards });
|
||
// 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 });
|
||
// }
|
||
// }
|
||
// }
|
||
// }
|
||
//}
|
||
#endregion
|
||
IsContainYourself = new OrderHelper().DeductWeipinhuiOrderPoint(notice, db_order);
|
||
}
|
||
else
|
||
{
|
||
db_order.db_status = SystemOrderStatus.订单失效;
|
||
}
|
||
}
|
||
#endregion
|
||
//}
|
||
//else
|
||
//{
|
||
// db_order.db_status = SystemOrderStatus.订单失效;
|
||
//}
|
||
break;
|
||
case WeipinhuiOrderSubStatusName.维权中:
|
||
{
|
||
//if (db_order.afterSaleChangedGoodsCount != 0 && db_order.afterSaleStatus == WeipinhuiAfterSaleStatus.售后中 && db_order.afterSaleType == WeipinhuiSfterSaleType.退货)
|
||
if (db_order.afterSaleStatus == WeipinhuiAfterSaleStatus.售后中 && db_order.afterSaleType == WeipinhuiSfterSaleType.退货)
|
||
{
|
||
if (db_order.afterSaleChangedGoodsCount != 0)
|
||
db_order.db_status = SystemOrderStatus.订单维权中;
|
||
else
|
||
db_order.db_status = SystemOrderStatus.订单失效;
|
||
|
||
//db_order.db_status = (old_status == SystemOrderStatus.订单结算) ? SystemOrderStatus.全额退款 : SystemOrderStatus.订单失效;
|
||
#region 全额维权,扣除账户金额
|
||
//if (member != null && old_status == SystemOrderStatus.订单结算 && db_order.db_status == SystemOrderStatus.全额退款)//扣除积分
|
||
if (member != null && old_status == SystemOrderStatus.订单结算)//扣除积分
|
||
{
|
||
if (db_order.db_endtime != DateTime.MinValue && db_order.db_endtime <= DateTime.Now)
|
||
{
|
||
IsContainYourself = new OrderHelper().DeductWeipinhuiOrderPoint(notice, db_order);
|
||
}
|
||
//else
|
||
//{
|
||
// db_order.db_status = SystemOrderStatus.订单失效;
|
||
//}
|
||
}
|
||
#endregion
|
||
}
|
||
else if (db_order.afterSaleChangedGoodsCount == 0 && db_order.afterSaleStatus == WeipinhuiAfterSaleStatus.售后完成 && db_order.afterSaleType == WeipinhuiSfterSaleType.退货)
|
||
{
|
||
if (db_order.db_status == SystemOrderStatus.订单结算)
|
||
{
|
||
IsContainYourself = new OrderHelper().DeductWeipinhuiOrderPoint(notice, db_order);
|
||
db_order.db_status = SystemOrderStatus.全额退款;
|
||
}
|
||
else
|
||
{
|
||
db_order.db_status = SystemOrderStatus.订单失效;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
//db_order.db_status = SystemOrderStatus.订单创建;
|
||
//break;
|
||
default:
|
||
db_order.db_status = SystemOrderStatus.订单未知;
|
||
break;
|
||
}
|
||
|
||
#region 通知客户订单付款/失效 提示上级
|
||
if (member != null && (db_order.db_status == SystemOrderStatus.订单付款 || db_order.db_status == SystemOrderStatus.订单失效))
|
||
{
|
||
var point = HttpHelper.JsonToObject<ItemPoint>(db_order.db_point) as ItemPoint;
|
||
if (point != null)
|
||
{
|
||
List<long> ids = new List<long>();
|
||
ids.Add(member.id);
|
||
|
||
if (point.AwardOne > 0 && member.inviter_id > 0 && !ids.Contains(member.inviter_id) && member.id != member.inviter_id)
|
||
{
|
||
//一级用户对象
|
||
var member_one = session.FindMemberInfoById(member.inviter_id);
|
||
if (member_one != null)
|
||
{
|
||
ids.Add(member_one.id);
|
||
if (notice != null)
|
||
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, member_one, db_order, OrderNoticeType.一级提成) { Customer = member });
|
||
if (point.AwardTwo > 0 && member_one.inviter_id != 0 && !ids.Contains(member_one.inviter_id))
|
||
{
|
||
//二级用户对象
|
||
var member_two = session.FindMemberInfoById(member_one.inviter_id);
|
||
if (member_two != null)
|
||
{
|
||
ids.Add(member_two.id);
|
||
if (notice != null && member_two != null)
|
||
{
|
||
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, member_two, db_order, OrderNoticeType.二级提成) { Customer = member });
|
||
|
||
if (point.AwardThree > 0 && member_two.inviter_id != 0 && !ids.Contains(member_two.inviter_id))
|
||
{
|
||
//三级用户对象
|
||
var member_three = session.FindMemberInfoById(member_two.inviter_id);
|
||
if (member_three != null)
|
||
{
|
||
ids.Add(member_three.id);
|
||
if (notice != null && member_three != null)
|
||
notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, member_three, db_order, OrderNoticeType.三级提成) { Customer = member });
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//创建人计算
|
||
if (point.AwardCreate > 0 && !string.IsNullOrEmpty(db_order.msg_groupid) && !string.IsNullOrEmpty(db_order.db_robotname))
|
||
{
|
||
var create = session.FindCreateInfo(db_order.msg_groupid, db_order.db_robottype);
|
||
if (create != null && member.id != create.id)
|
||
{
|
||
var member_create = session.FindMemberInfoById(create.mid);
|
||
if (notice != null && member_create != null) notice.Add(new OrderNoticeEvent(CpsType.唯品联盟, member_create, db_order, OrderNoticeType.群主分成) { Customer = member });
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
if (old_status != db_order.db_status)
|
||
db_order.db_status_time = HttpExtend.GetTimeStamp();
|
||
|
||
session.SaveOrUpdate(db_order);
|
||
if (db_order.db_status == SystemOrderStatus.订单付款)
|
||
{
|
||
#region 判断用户是否符合获得新人奖励
|
||
isFirstOrder = OrderHelper.CheckMemberFirstOrderRewards(member, db_order.db_status);
|
||
#endregion
|
||
}
|
||
|
||
if (notice != null && (isFrontData || old_status != db_order.db_status) && !IsContainYourself)
|
||
notice.Add(new Events.OrderNoticeEvent(CpsType.唯品联盟, member, db_order, OrderNoticeType.客户订单) { IsRewards = isFirstOrder });
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
EventClient.OnEvent(this, "更新唯品会订单错误:" + db_order.orderSn + "," + ex.Message);
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 同步订单
|
||
/// </summary>
|
||
/// <param name="members">唯品会cps对象集合</param>
|
||
/// <param name="start_time">开始时间</param>
|
||
/// <param name="end_time">结束时间</param>
|
||
private void UpdateOrder(fl_cps_member[] members, DateTime start_time, DateTime end_time)
|
||
{
|
||
if (members == null || members.Length == 0) return;
|
||
int row_count = 50;//间隔
|
||
//var timespan = end_time - start_time;
|
||
//var forcount = 1;
|
||
//if (timespan.TotalHours > 1.00)
|
||
//{
|
||
// forcount = (int)(timespan.TotalHours / 1);
|
||
// if (timespan.TotalHours % 1 > 0) forcount++;
|
||
//};
|
||
var timespan = end_time - start_time;
|
||
TaskTool task = new TaskTool();
|
||
List<OrderNoticeEvent> notices = new List<OrderNoticeEvent>();
|
||
var not_download_pids = ApiClient.Setting.SystemConfig.order_weipinhui_not_download_pid.Replace(",", ",").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(f => f.Trim()).ToList();
|
||
foreach (var item in members)
|
||
{
|
||
var _item = item;
|
||
if (!_item.is_valid) continue;
|
||
var client = new WeipinhuiApi(_item);
|
||
task.AddTask(delegate
|
||
{
|
||
try
|
||
{
|
||
var _star = timespan.TotalHours > 1 ? end_time : start_time;//倒叙1小时一个间断
|
||
var _end = end_time;
|
||
do
|
||
{
|
||
if (timespan.TotalHours > 1)
|
||
{
|
||
_end = _star;
|
||
_star = _star.AddHours(-0.99);
|
||
}
|
||
|
||
|
||
var orr = client.DownOrder(_star, _end, 1, row_count);
|
||
|
||
if (orr == null || orr.result.total == 0)
|
||
{
|
||
if (client.Member != null && !client.Member.is_valid)
|
||
return;
|
||
|
||
Thread.Sleep(500);
|
||
continue;
|
||
}
|
||
|
||
Exception _exception = null;
|
||
int count = orr.result.total / row_count;
|
||
if (orr.result.total % row_count != 0) count++;
|
||
for (int i = 1; i <= count; i++)
|
||
{
|
||
var page = i;
|
||
if (_exception != null) return;
|
||
try
|
||
{
|
||
//下载
|
||
if (page != 1)
|
||
{
|
||
orr = client.DownOrder(_star, _end, page, row_count);
|
||
|
||
if (orr == null)
|
||
{
|
||
if (client.Member != null && !client.Member.is_valid)
|
||
return;
|
||
}
|
||
}
|
||
|
||
if (orr != null && orr.result.orderInfoList != null && orr.result.orderInfoList.Count > 0)
|
||
{
|
||
int _count = 1;
|
||
foreach (var order in orr.result.orderInfoList)
|
||
{
|
||
_count++;
|
||
|
||
var session = ApiClient.GetSession();
|
||
try
|
||
{
|
||
////订单号搜索
|
||
//if (order.orderSn == "22051870142932")
|
||
//{
|
||
//}
|
||
|
||
//if (order.orderSn == "22031844797946")
|
||
//{
|
||
//}
|
||
|
||
//if (order.orderSn == "22012680610572")
|
||
//{
|
||
//}
|
||
|
||
#region 不处理的PID
|
||
if (ApiClient.Setting.SystemConfig.order_weipinhui_download_set_pids == SwitchType.关闭)
|
||
{
|
||
if (not_download_pids.Count != 0)
|
||
{
|
||
var isExist = not_download_pids.Contains(order.pid);//是否包含
|
||
//continue;
|
||
if (ApiClient.Setting.SystemConfig.order_weipinhui_down_type == DownAdzoneType.不下载推广位 && isExist)
|
||
continue;
|
||
else if (ApiClient.Setting.SystemConfig.order_weipinhui_down_type == DownAdzoneType.只下载推广位 && !isExist)
|
||
continue;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//var adzone = session.FindAdzoneInfos().Where(f => f.custom_type == "唯品会返利" && !string.IsNullOrEmpty(f.adzone_pid) && f.adzone_pid.Contains(order.pid));
|
||
|
||
var adzoneList = new List<fl_adzone_info>();
|
||
var adzones = session.FindAdzoneInfos();
|
||
adzoneList.AddRange(adzones.Where(f => f.custom_type == "唯品会返利" && !string.IsNullOrEmpty(f.adzone_pid) && f.adzone_pid.Contains(order.pid)));
|
||
adzoneList.AddRange(adzones.Where(f => f.custom_type == "用户私人pid" && f.extend == "唯品会私人pid" && !string.IsNullOrEmpty(f.adzone_pid) && f.adzone_pid.Contains(order.pid)));
|
||
if (adzoneList == null || adzoneList.Count() == 0)
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
if (ApiClient.Setting.DbConfig.DatabaseType == DatabaseType.SQLITE && _count % 10 == 0)
|
||
Thread.Sleep(150);
|
||
|
||
//计算订单信息
|
||
//var status = Util.ConvertEnum<WeipinhuiOrderSubStatusName>(order.orderSubStatusName);
|
||
|
||
#region 老的 一个订单号 多个订单无法保存
|
||
//var db_order = session.FindSingle<fl_order_weipinhui>("orderSn=@orderSn", new { orderSn = order.orderSn, });
|
||
//if (db_order != null) //跳过相同状态
|
||
//{
|
||
// //var statusTemp = (WeipinhuiOrderSubStatusName)Enum.Parse(typeof(WeipinhuiOrderSubStatusName), db_order.orderSubStatusName);
|
||
|
||
// if (status == db_order.orderSubStatusName ||
|
||
// (status == WeipinhuiOrderSubStatusName.已签收 || status == WeipinhuiOrderSubStatusName.已结算 || status == WeipinhuiOrderSubStatusName.已下单) && (db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.已签收 || status == WeipinhuiOrderSubStatusName.已结算 || status == WeipinhuiOrderSubStatusName.已下单))
|
||
// {
|
||
// if (db_order.IsFinish()) continue;//是否已经完成
|
||
// if (db_order.db_status == SystemOrderStatus.订单冻结 && db_order.db_endtime > DateTime.Now) continue;//跳过系统冻结
|
||
// if (db_order.orderSubStatusName != WeipinhuiOrderSubStatusName.已签收 && db_order.orderSubStatusName == status) continue;//跳过相同状态
|
||
// }
|
||
// db_order.orderSubStatusName = status;
|
||
|
||
// if (db_order.goodsFinalPrice == 0 || db_order.commissionTotalCost == 0 || db_order.commission == 0)
|
||
// {
|
||
// var orderTmps = new WPHHelper().OrderInfoListConvertDbWeipinhuiOrder(order, null);
|
||
// if (orderTmps == null || orderTmps.Count == 0)
|
||
// {
|
||
// EventClient.OnEvent("", "");
|
||
// return;
|
||
// }
|
||
// else if (orderTmps.Count > 1)
|
||
// EventClient.OnEvent("下载订单多个订单明细.", $"订单号码:{order.orderSn},订单下单时间:{Util.GetDateTime(order.orderTime).ToString("yyyy-MM-dd HH:mm:ss")},唯品会联盟账号:{client.Member.usernick}({client.Member.username})");
|
||
|
||
// var temp = orderTmps[0];
|
||
|
||
// db_order.commission = temp.commission;
|
||
// db_order.commissionTotalCost = temp.commissionTotalCost;
|
||
// db_order.goodsFinalPrice = temp.goodsFinalPrice;
|
||
// }
|
||
//}
|
||
//else
|
||
//{
|
||
// var orderTmps = new WPHHelper().OrderInfoListConvertDbWeipinhuiOrder(order, null);
|
||
// if (orderTmps == null || orderTmps.Count == 0)
|
||
// {
|
||
// EventClient.OnEvent("", "");
|
||
// return;
|
||
// }
|
||
// else if (orderTmps.Count > 1)
|
||
// EventClient.OnEvent("下载订单多个订单明细.", $"订单号码:{order.orderSn},订单下单时间:{Util.GetDateTime(order.orderTime).ToString("yyyy-MM-dd HH:mm:ss")},唯品会联盟账号:{client.Member.usernick}({client.Member.username})");
|
||
|
||
// db_order = orderTmps[0];
|
||
// db_order.db_cpsname = _item.username;
|
||
// db_order.db_cpsnick = _item.usernick;
|
||
//}
|
||
//UpdateOrder(db_order, session, notices);
|
||
#endregion
|
||
|
||
#region 新的
|
||
|
||
var orderTmps = new WPHHelper().OrderInfoListConvertDbWeipinhuiOrder(order, null);
|
||
if (orderTmps == null || orderTmps.Count == 0)
|
||
return;
|
||
foreach (var orderTmp in orderTmps)
|
||
{
|
||
var status = orderTmp.orderSubStatusName;
|
||
|
||
var db_order = session.FindSingle<fl_order_weipinhui>("orderSn=@orderSn and goodsId=@goodsId and sizeId=@sizeId", new { orderSn = order.orderSn, goodsId = orderTmp.goodsId, sizeId = orderTmp.sizeId });
|
||
if (db_order != null) //跳过相同状态
|
||
{
|
||
if (db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.手动失效)
|
||
{
|
||
continue;
|
||
}
|
||
if (status == db_order.orderSubStatusName || (status == WeipinhuiOrderSubStatusName.已签收 || status == WeipinhuiOrderSubStatusName.待结算 || status == WeipinhuiOrderSubStatusName.已结算 || status == WeipinhuiOrderSubStatusName.维权完成) && (db_order.orderSubStatusName == WeipinhuiOrderSubStatusName.已签收 || status == WeipinhuiOrderSubStatusName.已结算 || status == WeipinhuiOrderSubStatusName.待结算 || status == WeipinhuiOrderSubStatusName.维权完成))
|
||
{
|
||
if (db_order.IsFinish()) continue;//是否已经完成
|
||
if (db_order.db_status == SystemOrderStatus.订单冻结 && db_order.db_endtime > DateTime.Now) continue;//跳过系统冻结
|
||
if (db_order.orderSubStatusName != WeipinhuiOrderSubStatusName.已签收 && db_order.orderSubStatusName == status) continue;//跳过相同状态
|
||
}
|
||
|
||
|
||
db_order.orderSubStatusName = status;
|
||
|
||
db_order.afterSaleChangedCommission = orderTmp.afterSaleChangedCommission;//商品佣金售后变动:仅在订单完结之后发生售后时返回,无售后时为空
|
||
|
||
db_order.afterSaleChangedGoodsCount = orderTmp.afterSaleChangedGoodsCount;//商品数量售后变动:仅在订单完结之后发生售后时返回,无售后时为空
|
||
db_order.afterSaleSn = orderTmp.afterSaleSn;//商品售后单号,无售后时为空
|
||
db_order.afterSaleStatus = orderTmp.afterSaleStatus;//商品售后状态:1-售后中,2-售后完成,3-售后取消,无售后时为空 WeipinhuiAfterSaleStatus
|
||
db_order.afterSaleType = orderTmp.afterSaleType;//售后类型:1-退货,2-换货,无售后时为空 WeipinhuiSfterSaleType
|
||
db_order.afterSaleFinishTime = orderTmp.afterSaleFinishTime;//售后完成时间,时间戳,单位:毫秒,无售后时为空
|
||
|
||
if (db_order.goodsFinalPrice == 0 || db_order.commissionTotalCost == 0 || db_order.commission == 0)
|
||
{
|
||
db_order.commission = orderTmp.commission;
|
||
db_order.commissionTotalCost = orderTmp.commissionTotalCost;
|
||
db_order.goodsFinalPrice = orderTmp.goodsFinalPrice;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
db_order = orderTmp;
|
||
db_order.db_cpsname = _item.username;
|
||
db_order.db_cpsnick = _item.usernick;
|
||
}
|
||
try
|
||
{
|
||
LogHelper.GetSingleObj().Debug("唯品会订单: ", $"{HttpHelper.ObjectToJson(orr)}");
|
||
}
|
||
catch (Exception)
|
||
{ }
|
||
|
||
UpdateOrder(db_order, session, notices);
|
||
}
|
||
#endregion
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
finally
|
||
{
|
||
//session.Close();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
_exception = ex; return;
|
||
}
|
||
}
|
||
if (_exception != null) throw _exception;
|
||
|
||
//_star = _star.AddHours(-23.99);
|
||
} while (_star > start_time);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
task.Start(1, null);
|
||
|
||
if (string.IsNullOrEmpty(order_id))
|
||
{
|
||
var session = ApiClient.GetSession();
|
||
var end_orders = session.Find<fl_order_weipinhui>("select * from fl_order_weipinhui where db_status=@db_status and db_endtime<@db_endtime", new { db_status = (int)SystemOrderStatus.订单冻结, db_endtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }).ToList();
|
||
foreach (var db_order in end_orders)
|
||
{
|
||
UpdateOrder(db_order, session, notices);
|
||
}
|
||
}
|
||
|
||
if (notices.Count != 0)
|
||
{
|
||
var tasks = TimerTask.GetTimer<Update_NoticeQueue>() as Update_NoticeQueue;
|
||
foreach (var item in notices)
|
||
{
|
||
if (item.Member == null) continue;
|
||
var order = item.Order as fl_order_weipinhui;
|
||
if (order.orderSn == order_id) continue;
|
||
tasks.Add(item);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|