private HttpResponseMessage ProcessMesTask(JObject data, TaskActuator taskActuator)
        {
            MesWebResponse result = new MesWebResponse();

            try
            {
                Dictionary <string, dynamic> userData = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(data.ToString());
                if (userData != null)
                {
                    taskActuator(userData);
                    result.code = 0;
                }
                else
                {
                    result.code = -1;
                    result.msg  = "数据格式错误!";
                }
            }
            catch (Exception ex)
            {
                result.code = -1;
                result.msg  = ex.Message;
            }

            string jsonResult = JsonConvert.SerializeObject(result);

            return(new HttpResponseMessage {
                Content = new StringContent(jsonResult, Encoding.UTF8, "application/json")
            });
        }
Example #2
0
        public void ShopOrderTest(string userName)
        {
            var user = Resolve <IUserService>().GetSingle(userName);

            if (user != null)
            {
                var orderResult = GetShopOrder(user);
                var shareOrder  = orderResult.Item1;

                var userMap = Resolve <IUserMapService>().GetParentMapFromCache(user.Id);
                var map     = userMap.ParentMap.DeserializeJson <List <ParentMap> >();

                var ratios = Ratios(ShopModuleConfigId);

                var shareUserList   = new List <User>();
                var shareAmountList = new List <decimal>();
                var beforeAccounts  = new List <Account>();
                for (var i = 0; i < ratios.Count; i++)
                {
                    if (map.Count < i + 1)
                    {
                        break;
                    }

                    var item      = map[i];
                    var shareUser = Resolve <IUserService>().GetNomarlUser(item.UserId);
                    if (shareUser == null)
                    {
                        break;
                    }

                    shareUserList.Add(shareUser);
                    var ratio       = Convert.ToDecimal(ratios[i]);
                    var shareAmount = shareOrder.Amount * ratio; //分润金额
                    shareAmountList.Add(shareAmount);
                    beforeAccounts.Add(GetShareAccount(shareUser.Id));
                }

                TaskActuator.ExecuteTask(ModuleType, orderResult.Item1,
                                         new
                {
                    ShareOrderId = orderResult.Item1.Id, orderResult.Item1.TriggerType,
                    OrderId      = orderResult.Item2.Id
                });

                for (var i = 0; i < shareUserList.Count; i++)
                {
                    var afterAccount     = GetShareAccount(shareUserList[i].Id);
                    var shareAmount      = shareAmountList[i]; // 分润金额
                    var shareRewardInput = new ShareRewardInput(shareOrder, beforeAccounts[i], afterAccount,
                                                                shareUserList[i].Id, shareAmount, RegModuleConfigId, user.Id);
                    AssertResult(shareRewardInput);
                }
            }
        } /*end*/
Example #3
0
        public void UserRegTest(string userName)
        {
            var user          = Resolve <IUserService>().GetSingle(userName);
            var shareOrder    = UserRegShareOrder(user);
            var beforeAccount = GetShareAccount(user.Id);

            TaskActuator.ExecuteTask(ModuleType, shareOrder,
                                     new { ShareOrderId = shareOrder.Id, shareOrder.TriggerType, BaseFenRunAmount = shareOrder.Amount });

            var afterAccount     = GetShareAccount(user.Id);
            var ratios           = Ratios(RegModuleConfigId);
            var shareAmount      = shareOrder.Amount * ratios[0]; // 分润金额
            var shareRewardInput = new ShareRewardInput(shareOrder, beforeAccount, afterAccount, user.Id, shareAmount,
                                                        RegModuleConfigId, user.Id);

            AssertResult(shareRewardInput);
        }
Example #4
0
        public void ShopOrderTest(string userName)
        {
            var user          = Resolve <IUserService>().GetSingle(userName);
            var orderResult   = GetShopOrder(user);
            var beforeAccount = GetShareAccount(user.Id);

            TaskActuator.ExecuteTask(ModuleType, orderResult.Item1,
                                     new
            {
                ShareOrderId = orderResult.Item1.Id, orderResult.Item1.TriggerType, OrderId = orderResult.Item2.Id
            });

            var afterAccount = GetShareAccount(user.Id);
            var ratios       = Ratios(ShopModuleConfigId);
            var shareAmount  = orderResult.Item2.PaymentAmount * ratios[0]; // 分润金额

            var shareRewardInput = new ShareRewardInput(orderResult.Item1, beforeAccount, afterAccount, user.Id,
                                                        shareAmount, ShopModuleConfigId, user.Id);

            AssertResult(shareRewardInput);
        }