public async Task <ApiResult <GetShopUserAddressOutput> > Get([FromUri] string id, CancellationToken cancelToken)
        {
            if (Authorization == null)
            {
                return(new ApiResult <GetShopUserAddressOutput>(APIResultCode.Unknown, new GetShopUserAddressOutput {
                }, APIResultMessage.TokenNull));
            }
            var user = _tokenRepository.GetUser(Authorization);

            if (user == null)
            {
                return(new ApiResult <GetShopUserAddressOutput>(APIResultCode.Unknown, new GetShopUserAddressOutput {
                }, APIResultMessage.TokenError));
            }
            if (string.IsNullOrWhiteSpace(id))
            {
                throw new NotImplementedException("地址Id信息为空!");
            }
            var data = await _shopUserAddressRepository.GetIncludeAsync(id, cancelToken);

            return(new ApiResult <GetShopUserAddressOutput>(APIResultCode.Success, new GetShopUserAddressOutput
            {
                Id = data.Id.ToString(),
                Name = data.ReceiverName,
                //Address = data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.State + data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.City +
                //data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.Region + data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.Name + data.Industry.BuildingUnit.Building.SmallDistrict.Community.Name + data.Industry.BuildingUnit.Building.SmallDistrict.Name,
                Phone = data.ReceiverPhone,
                IsDefault = data.IsDefault,
                State = data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.State,
                City = data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.City,
                Region = data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.Region,
                StreetOfficeId = data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOfficeId.ToString(),
                StreetOfficeName = data.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.Name,
                CommunityId = data.Industry.BuildingUnit.Building.SmallDistrict.CommunityId.ToString(),
                CommunityName = data.Industry.BuildingUnit.Building.SmallDistrict.Community.Name,
                SmallDistrictId = data.Industry.BuildingUnit.Building.SmallDistrictId.ToString(),
                SmallDistrictName = data.Industry.BuildingUnit.Building.SmallDistrict.Name,
                BuildingId = data.Industry.BuildingUnit.BuildingId.ToString(),
                BuildingName = data.Industry.BuildingUnit.Building.Name,
                BuildingUnitId = data.Industry.BuildingUnitId.ToString(),
                BuildingUnitName = data.Industry.BuildingUnit.UnitName,
                NumberOfLayers = data.Industry.NumberOfLayers,
                IndustryId = data.IndustryId.ToString(),
                IndustryName = data.Industry.Name
            }));
        }
Exemplo n.º 2
0
        public async Task <ApiResult <AddOrderOutput> > Add([FromBody] AddOrderInput input, CancellationToken cancelToken)
        {
            if (Authorization == null)
            {
                return(new ApiResult <AddOrderOutput>(APIResultCode.Unknown, new AddOrderOutput {
                }, APIResultMessage.TokenNull));
            }

            //if (string.IsNullOrWhiteSpace(input.ApplicationRecordId))
            //{
            //    throw new NotImplementedException("业主认证Id为空!");
            //}

            if (string.IsNullOrWhiteSpace(input.AddressId))
            {
                throw new NotImplementedException("用户地址Id为空!");
            }

            if (string.IsNullOrWhiteSpace(input.ShopId))
            {
                throw new NotImplementedException("商铺Id为空!");
            }

            var user = _tokenRepository.GetUser(Authorization);

            if (user == null)
            {
                return(new ApiResult <AddOrderOutput>(APIResultCode.Unknown, new AddOrderOutput {
                }, APIResultMessage.TokenError));
            }
            //var ownerCertificationRecord = await _industryRepository.GetIncludeAsync(input.i, cancelToken);
            ////if (ownerCertificationRecord == null)
            ////{
            ////    throw new NotImplementedException("业主认证信息不正确!");
            ////}
            var shopUserAddress = await _shopUserAddressRepository.GetIncludeAsync(input.AddressId, cancelToken);

            if (shopUserAddress == null)
            {
                throw new NotImplementedException("收货地址信息不正确!");
            }
            if (shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.PropertyCompany == null)
            {
                throw new NotImplementedException("当前小区未配置服务物业不能进行下单!");
            }
            var entity = await _orderRepository.AddAsync(new OrderDto
            {
                ShopId           = input.ShopId,
                DeliveryPhone    = shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.PropertyCompany.Phone,
                DeliveryName     = shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.PropertyCompany.Name,
                OrderStatusValue = OrderStatus.Unpaid.Value,
                OrderStatusName  = OrderStatus.Unpaid.Name,
                //OwnerCertificationRecordId = input.ApplicationRecordId,
                ReceiverName  = shopUserAddress.ReceiverName,
                ReceiverPhone = shopUserAddress.ReceiverPhone,
                Address       = shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.State +
                                shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.City +
                                shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.Region +
                                shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.Community.StreetOffice.Name +
                                shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.Community.Name +
                                shopUserAddress.Industry.BuildingUnit.Building.SmallDistrict.Name +
                                shopUserAddress.Industry.BuildingUnit.Building.Name +
                                shopUserAddress.Industry.BuildingUnit.UnitName +
                                shopUserAddress.Industry.NumberOfLayers + "," +
                                shopUserAddress.Industry.Name,
                IndustryId      = shopUserAddress.IndustryId.ToString(),
                Number          = GenerateCode(""),
                OperationTime   = DateTimeOffset.Now,
                OperationUserId = user.Id.ToString()
            }, cancelToken);

            //try
            //{
            //    var shopUserList = await _userRepository.GetByShopIdAsync(entity.ShopId.ToString(), cancelToken);
            //    foreach (var item in shopUserList)
            //    {
            //        SignalR("2", entity.ShopId.ToString(), item.Id.ToString(), entity);
            //    }

            //}
            //catch (Exception)
            //{


            //}

            return(new ApiResult <AddOrderOutput>(APIResultCode.Success, new AddOrderOutput {
                Id = entity.Id.ToString()
            }));
        }