示例#1
0
        public ApiResult Confirm([FromBody] ConfirmInput parameter)
        {
            if (!this.IsFormValid())
            {
                return(ApiResult.Failure(this.FormInvalidReason(), MessageCodes.ParameterValidationFailure));
            }

            var result = Resolve <IOrderService>().Confirm(parameter);

            return(ToResult(result));
        }
        public void Confirm([FromUri] ConfirmInput input)
        {
            _userService.CheckUserPermissions(new List <Enum.RoleType> {
                Enum.RoleType.Administrator, Enum.RoleType.Department
            });
            var appoinetment = _appointmentRepository.FirstOrDefault(t => t.Id == input.Id);

            if (appoinetment != null)
            {
                var userCliam = _userService.UserClaim();
                appoinetment.IsConfirm    = true;
                appoinetment.UpdateTime   = Clock.Now;
                appoinetment.UpdateUserId = userCliam.UserId;
                _appointmentRepository.UpdateAsync(appoinetment);
            }
        }
示例#3
0
        private List <IDialog> BookSteps()
        {
            var steps = new List <IDialog>();

            var userName = new TextInput
            {
                Property = "user.userProfile.Name",
                Prompt   = new ActivityTemplate("[AskForName]")
            };

            var cityInput = new TextInput
            {
                Property = "user.userProfile.destination",
                Prompt   = new ActivityTemplate("[DestinationPrompt]")
            };

            steps.Add(userName);
            steps.Add(new SendActivity("[AckName]"));
            steps.Add(cityInput);
            steps.Add(new SendActivity("[ConfirmInfo]"));

            var confirm = new ConfirmInput
            {
                Prompt   = new ActivityTemplate("[ConfirmPrompt]"),
                Property = "turn.finalConfirmation"
            };

            steps.Add(confirm);

            var condition = new IfCondition
            {
                Condition = "turn.finalConfirmation == true",
                Steps     = new List <IDialog>()
                {
                    new SendActivity("[ConfirmInfo]")
                },
                ElseSteps = new List <IDialog> {
                    new SendActivity("[NotConfirm]")
                }
            };

            steps.Add(condition);
            steps.Add(new EndDialog());
            return(steps);
        }
示例#4
0
        /// <summary>
        ///     主库订单确认收货
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public ServiceResult ConfirmToMaster(ConfirmInput parameter)
        {
            if (TenantContext.CurrentTenant != "master")
            {
                return(ServiceResult.Failed);
            }

            var user = Resolve <IUserService>().GetUserDetail(parameter.UserId);

            if (user == null)
            {
                return(ServiceResult.Failure("用户不存在!"));
            }

            //if (user.Detail.PayPassword != parameter.PayPassword.ToMd5HashString())
            //{
            //    return ServiceResult.Failure("支付密码不正确!");
            //}

            var orderId = parameter.EntityId.ConvertToLong();
            var order   = Resolve <IOrderService>().GetSingle(r => r.Id == orderId);

            if (order == null)
            {
                return(ServiceResult.Failure("订单不存在!"));
            }

            if (order.OrderStatus == OrderStatus.WaitingReceiptProduct)
            {
                order.OrderStatus = OrderStatus.WaitingEvaluated;
            }
            else
            {
                return(ServiceResult.Failure("商品状态不支持收货确认操作!"));
            }

            var result = Resolve <IOrderService>().Update(order);

            if (result)
            {
                var orderAction = new OrderAction {
                    Intro           = "会员已确认收货",
                    OrderId         = order.Id,
                    ActionUserId    = order.UserId,
                    OrderActionType = OrderActionType.UserConfirmOrder
                };
                Resolve <IOrderActionService>().Add(orderAction);

                order.OrderExtension = order.Extension.ToObject <OrderExtension>();
                if (TenantContext.CurrentTenant == "master" && order?.OrderExtension?.TenantOrderInfo?.OrderId > 0)
                {
                    // 收货后如果是租户订单, 同步到租户的自提
                    var tenant = Resolve <ITenantService>().GetSingle(x => x.UserId == order.UserId);
                    if (tenant != null)
                    {
                        var sql =
                            $@"SELECT o.id OrderId ,p.* FROM Shop_Order o JOIN Shop_OrderProduct od ON o.Id = od.OrderId JOIN Shop_Product p ON p.Id = od.ProductId
                             WHERE o.Id = {order.Id} AND o.OrderStatus = 4 AND o.UserId = {order.UserId}";
                        var orderProductList = Ioc.Resolve <IUserRepository>().RepositoryContext
                                               .Fetch <PickUpProductView>(sql);
                        if (orderProductList.Count > 0)
                        {
                            var apiUrl    = tenant.ServiceUrl + "/Api/PickUpProduct/AddPickUpProduct";
                            var dicHeader = new Dictionary <string, string>
                            {
                                { "zk-tenant", tenant.Sign }
                            };

                            apiUrl.Post(orderProductList.ToJsons(), dicHeader);
                        }
                    }
                }
            }

            return(ServiceResult.Success);
        }
示例#5
0
        public ApiResult ConfirmToMaster([FromBody] ConfirmInput parameter)
        {
            var rs = Resolve <IOrderService>().ConfirmToMaster(parameter);

            return(ApiResult.Success(rs));
        }