Пример #1
0
        /// <summary>
        /// Tries the 添加 to queue.
        /// </summary>
        /// <param name="resultList">The result list.</param>
        /// <param name="moduleId">The 模块 identifier.</param>
        protected void TryAddToQueue(IList <ITaskResult> resultList, Guid moduleId)
        {
            var queue = Alabo.Helpers.Ioc.Resolve <ITaskQueueService>().GetSingle(moduleId);

            if (queue == null)
            {
                return;
            }
            var result = new TaskQueueResult <TaskQueueParameter>(Context, queue.Id);

            resultList.Add(result);
        }
Пример #2
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid   = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken    = "your_auth_token";
        string WorkspaceSid = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        var    client       = new TaskRouterClient(AccountSid, AuthToken);

        TaskQueueResult taskQueueResult = client.ListTaskQueues(WorkspaceSid);

        foreach (TaskQueue taskQueue in taskQueueResult.taskQueues)
        {
            Console.WriteLine(taskQueue.FriendlyName);
        }
    }
Пример #3
0
        /// <summary>
        /// 生成订单
        /// </summary>
        /// <param name="shareAmount">分润金额</param>
        /// <param name="orderUser">下单用户</param>
        /// <param name="shareUser">收益用户</param>
        /// <param name="parameter">参数</param>
        /// <param name="config">分润配置</param>
        /// <param name="resultList"></param>
        /// <param name="configName"></param>
        protected void CreateResultList(decimal shareAmount, User orderUser, User shareUser, TaskParameter parameter, ShareBaseConfig config, IList <ITaskResult> resultList, string configName = "")
        {
            //如果分润金额小于等于0,则退出
            if (shareAmount > 0 && shareUser != null)
            {
                if (shareUser.Status == Alabo.Domains.Enums.Status.Normal)
                {
                    parameter.TryGetValue("OrderId", out long orderId);

                    // 如果限制供应商购买过的店铺
                    // 检查该会员是否购买过该店铺的商品,核对User_TypeUser表
                    if (Configuration.ProductRule.IsLimitStoreBuy)
                    {
                        //TODO 重构
                        //// 如果是订单用户
                        //if (TriggerType == TriggerType.Order) {
                        //    var order = Ioc.Resolve<IOrderService>().GetSingle(orderId);
                        //    if (order != null) {
                        //        var storeUser = Ioc.Resolve<ITypeUserService>()
                        //            .GetStoreUser(order.StoreId, shareUser.Id);
                        //        if (storeUser == null) {
                        //            //分润用户不是该店铺的用户 退出
                        //            return;
                        //            // ExecuteResult<ITaskResult>.Cancel($"分润用户不是该店铺的用户");
                        //        }
                        //    }
                        //}
                    }

                    var moneyTypes = Resolve <IAutoConfigService>().GetList <MoneyTypeConfig>(r => r.Status == Alabo.Domains.Enums.Status.Normal);
                    foreach (var rule in Configuration.RuleItems)
                    {
                        var ruleAmount    = shareAmount * rule.Ratio;
                        var ruleMoneyType = moneyTypes.FirstOrDefault(r => r.Id == rule.MoneyTypeId);
                        if (ruleMoneyType == null)
                        {
                            continue;
                            //ExecuteResult<ITaskResult>.Cancel($"资产分润规则设置错误,货币类型Id{ruleMoneyType.Id}");
                        }

                        var shareResult = new ShareResult {
                            OrderUser       = orderUser,
                            ShareUser       = shareUser,
                            ShareOrder      = base.ShareOrder,
                            Amount          = ruleAmount,
                            MoneyTypeId     = rule.MoneyTypeId,
                            ModuleConfigId  = config.Id,
                            ModuleId        = config.ModuleId,
                            SmsNotification = config.TemplateRule.SmsNotification
                        };
                        //描述
                        shareResult.Intro = Configuration.TemplateRule.LoggerTemplate.Replace("{OrderUserName}", orderUser.GetUserName())
                                            .Replace("{ShareUserName}", shareUser.GetUserName())
                                            .Replace("{ConfigName}", configName)
                                            .Replace("{AccountName}", ruleMoneyType.Name)
                                            .Replace("{OrderId}", orderId.ToString())
                                            .Replace("{OrderPrice}", base.ShareOrder.Amount.ToString("F2"))
                                            .Replace("{ShareAmount}", ruleAmount.ToString("F2"));

                        //短信内容
                        shareResult.SmsIntro = Configuration.TemplateRule.LoggerTemplate.Replace("{OrderUserName}", orderUser.GetUserName())
                                               .Replace("{ShareUserName}", shareUser.GetUserName())
                                               .Replace("{ConfigName}", configName)
                                               .Replace("{AccountName}", ruleMoneyType.Name)
                                               .Replace("{OrderId}", orderId.ToString())
                                               .Replace("{OrderPrice}", base.ShareOrder.Amount.ToString("F2"))
                                               .Replace("{ShareAmount}", ruleAmount.ToString("F2"));

                        var queueResult = new TaskQueueResult <ITaskResult>(Context)
                        {
                            ShareResult = shareResult
                        };
                        resultList.Add(queueResult);
                    }
                }
            }
        }