Exemplo n.º 1
0
        private ResponseView ChangeCannotQty(ChangeCannotQtyRequest request)
        {
            try
            {
                request.ThrowExceptionIfInvalid();
            }
            catch (ServiceInvalidException ex)
            {
                return(base.OutPutErrorResponseView(ex.Message));
            }

            var kvs = request.GetDic();

            var skus = _skuRepository.GetList(x => request.Ids.Contains(x.Id), "Stock").ToList();

            foreach (var item in skus)
            {
                var subItem = kvs[item.Id];
                item.ChangeCannotQty(subItem.qty);
                if (item.IsBroker())
                {
                    var result = base.OutPutErrorResponseView(item.GetBrokenRuleMessage());
                    return(result);
                }
            }
            _skuRepository.Commit();

            return(base.OutPutSuccessResponseView());
        }
Exemplo n.º 2
0
        public void CreateOrderChangeCannotQty(RabbitRequest request)
        {
            var correlationId = request.GetCorrelationId();

            //判断是否重复推送
            if (_cacheService.ChangeQtyNumberExsist(correlationId))
            {
                return;
            }
            ChangeCannotQtyRequest requestBody = new ChangeCannotQtyRequest();

            requestBody.items = request.PaseBody <IList <ChangeCannotQtyItemRequest> >();

            var response = ChangeCannotQty(requestBody);

            _cacheService.NotifyChangeQtyNumber(request.Header, response.issuccess, response.message, response.errcode);
        }