public static void LegworkConfirmDelivery(long orderID, long workerID) { try { var orderModel = OrderServices.GetLegworkOrder(orderID); var model = UserServices.GetUserModel(orderModel.UserID); var pushRedis = PushSettingFactory.Settings[PushType.LegworkConfirmDelivery]; if (null != orderModel) { if (null != pushRedis) { var msgContent = new OrderConfirmPushContent() { OrderID = orderModel.OrderID, OrderCode = orderModel.OrderCode, CreateTime = orderModel.SubmitTime, PushCode = model?.PushCode, OrderStatus = orderModel.Status, }; pushRedis.Database.ListRightPush <OrderConfirmPushContent>(pushRedis.Key, msgContent); } } } catch { } }
public static void LegworkUserConfirmOrder(long orderID, long workerID) { try { var model = UserServices.GetWorkerAccount(workerID); var orderModel = OrderServices.GetLegworkOrder(orderID); //购买物品的时候推送给工作端 if (orderModel.OrderType == ((int)LegworkOrderType.BuyGoods)) { var pushRedis = PushSettingFactory.Settings[PushType.LegworkUserConfirmOrder]; if (null != orderModel) { if (null != pushRedis) { var msgContent = new OrderConfirmPushContent() { OrderID = orderModel.OrderID, CreateTime = orderModel.SubmitTime, OrderCode = orderModel.OrderCode, PushCode = model?.PushCode, OrderStatus = orderModel.Status, }; pushRedis.Database.ListRightPush <OrderConfirmPushContent>(pushRedis.Key, msgContent); } } } } catch { } }
public static void LegworkUserTopPay(long orderID) { try { var orderModel = OrderServices.GetLegworkOrder(orderID); var workModel = UserServices.GetWorkerAccount(orderModel.WorkerID.HasValue ? orderModel.WorkerID.Value : 0); //购买物品为已完成 if (orderModel.OrderType == (int)LegworkOrderType.BuyGoods) { var PushCode = workModel?.PushCode; var userModel = UserServices.GetUserModel(orderModel.UserID); var pushRedis = PushSettingFactory.Settings[PushType.LegworkUserTopPay]; if (null != orderModel) { if (null != pushRedis) { var msgContent = new PaymentCompletePushContent() { OrderID = orderModel.OrderID, OrderCode = orderModel.OrderCode, PushCode = PushCode, UserName = userModel.Username, Amount = orderModel.ActualAmount, CreateTime = orderModel.SubmitTime, }; pushRedis.Database.ListRightPush <PaymentCompletePushContent>(pushRedis.Key, msgContent); } } } else { //去送物品为待取货 var PushCode = workModel?.PushCode; var pushRedis = PushSettingFactory.Settings[PushType.LegworkUserConfirmOrder]; if (null != orderModel) { if (null != pushRedis) { var msgContent = new OrderConfirmPushContent() { OrderID = orderModel.OrderID, CreateTime = orderModel.SubmitTime, OrderCode = orderModel.OrderCode, PushCode = PushCode, OrderStatus = orderModel.Status, }; pushRedis.Database.ListRightPush <OrderConfirmPushContent>(pushRedis.Key, msgContent); } } } } catch { } }
/// <summary> /// 执行 /// </summary> public override void Execute() { var ServiceTime = DateTime.Now; while (true) { try { //从预约订单推送消息数据链表左边起获取一条数据 OrderConfirmPushContent content = RedisDB.ListLeftPop <OrderConfirmPushContent>(LegworkConfig.RedisKey.LegworkUserConfirmOrder); //不存在,则休眠1秒钟,避免CPU空转 if (null == content) { Thread.Sleep(100); continue; } //获取预约订单推送接口配置信息 var apiConfig = PushApiConfigManager.GetApiConfig(SysEnums.PushType.LegworkUserConfirmOrder); if (null == apiConfig) { continue; } //将订单数据转换成为字典以便参与接口加密 var dic = content.ToMap(); if (apiConfig.Method == "get") { DefaultClient.DoGet(apiConfig.Url, dic, PushApiConfigManager.Config.ModuleID, PushApiConfigManager.Config.Secret); } else if (apiConfig.Method == "post") { DefaultClient.DoPost(apiConfig.Url, dic, PushApiConfigManager.Config.ModuleID, PushApiConfigManager.Config.Secret); ExceptionLoger loger = new ExceptionLoger(@"/logs/Sccess" + DateTime.Now.ToString("yyyyMMdd") + ".txt"); loger.Success("用户确认订单,推送给工作端推送时", "推送结果:订单编号为“" + content.OrderCode + "”"); } } catch (Exception ex) { if (ServiceTime.AddHours(1) <= DateTime.Now) { ServiceTime = DateTime.Now; //异常处理 ExceptionLoger loger = new ExceptionLoger(@"/logs/Error" + DateTime.Now.ToString("yyyyMMdd") + ".txt"); loger.Write("用户确认订单,推送给工作端送推时异常", ex); } Thread.Sleep(100); continue; } } }