< Summary

Information
Class: Services.ParserServices.HelpDictEnum.OzonStatus
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ParserServices/OzonStatus.cs
Line coverage
97%
Covered lines: 194
Uncovered lines: 6
Coverable lines: 200
Total lines: 245
Line coverage: 97%
Branch coverage
9%
Covered branches: 2
Total branches: 22
Branch coverage: 9%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
GetSubStatus(...)100%22100%
GetFinanceTransactionType(...)0%620%
GetFinanceOperationType(...)0%620%
GetFinanceServiceName(...)0%2040%
GetReturnVisualStatusName(...)0%2040%
GetReturnCompensationStatusName(...)0%2040%
GetReturnTypeName(...)0%2040%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ParserServices/OzonStatus.cs

#LineLine coverage
 1namespace Services.ParserServices.HelpDictEnum
 2{
 3    public static class OzonStatus
 4    {
 15        public static Dictionary<string, string> OrderStatuses = new Dictionary<string, string>
 16        {
 17            { "acceptance_in_progress", "Идёт приёмка" },
 18            { "arbitration", "Арбитраж" },
 19            { "awaiting_approve", "Ожидает подтверждения" },
 110            { "awaiting_deliver", "Ожидает отгрузки" },
 111            { "awaiting_packaging", "Ожидает упаковки" },
 112            { "awaiting_registration", "Ожидает регистрации" },
 113            { "awaiting_verification", "Создано" },
 114            { "cancelled", "Отменён" },
 115            { "cancelled_from_split_pending", "Отменён из-за разделения отправления" },
 116            { "client_arbitration", "Клиентский арбитраж доставки" },
 117            { "delivered", "Доставлен" },
 118            { "delivering", "Доставляется" },
 119            { "driver_pickup", "У водителя" },
 120            { "not_accepted", "Не принят на сортировочном центре" },
 121            { "sent_by_seller", "Отправлено продавцом" }
 122        };
 23
 124        public static Dictionary<string, string> PostingSubStatuses = new Dictionary<string, string>
 125        {
 126            { "posting_acceptance_in_progress", "Идёт приёмка" },
 127            { "posting_in_arbitration", "Арбитраж" },
 128            { "posting_created", "Создано" },
 129            { "posting_in_carriage", "В перевозке" },
 130            { "posting_not_in_carriage", "Не добавлено в перевозку" },
 131            { "posting_registered", "Зарегистрировано" },
 132            { "posting_transferring_to_delivery", "Передаётся в доставку" },
 133            { "posting_awaiting_passport_data", "Ожидает паспортных данных" },
 134            { "posting_awaiting_registration", "Ожидает регистрации" },
 135            { "posting_registration_error", "Ошибка регистрации" },
 136            { "posting_split_pending", "Создано (разделение отправления)" },
 137            { "posting_canceled", "Отменён" },
 138            { "posting_in_client_arbitration", "Клиентский арбитраж доставки" },
 139            { "posting_delivered", "Доставлено" },
 140            { "posting_received", "Получено" },
 141            { "posting_conditionally_delivered", "Условно доставлено" },
 142            { "posting_in_courier_service", "Курьер в пути" },
 143            { "posting_in_pickup_point", "В пункте выдачи" },
 144            { "posting_on_way_to_city", "В пути в ваш город" },
 145            { "posting_on_way_to_pickup_point", "В пути в пункт выдачи" },
 146            { "posting_returned_to_warehouse", "Возвращено на склад" },
 147            { "posting_transferred_to_courier_service", "Передаётся в службу доставки" },
 148            { "posting_driver_pick_up", "У водителя" },
 149            { "posting_not_in_sort_center", "Не принято на сортировочном центре" },
 150            { "ship_failed", "Сборка не удалась" },
 151            { "ship_pending", "Готовится к отгрузке" }
 152        };
 53
 54        public static string GetSubStatus(string key) =>
 355            PostingSubStatuses.TryGetValue(key, out var value) ? value : key;
 56
 57        /// <summary>
 58        /// Тип начисления для /v3/finance/transaction/list: filter.transaction_type.
 59        /// </summary>
 160        public static Dictionary<string, string> FinanceTransactionTypes = new Dictionary<string, string>
 161        {
 162            { "all", "Все" },
 163            { "orders", "Заказы" },
 164            { "returns", "Возвраты и отмены" },
 165            { "services", "Сервисные сборы" },
 166            { "compensation", "Компенсация" },
 167            { "transferDelivery", "Стоимость доставки" },
 168            { "other", "Прочее" }
 169        };
 70
 71        /// <summary>
 72        /// Типы операций для /v3/finance/transaction/list: filter.operation_type (часть значений из API).
 73        /// </summary>
 174        public static Dictionary<string, string> FinanceOperationTypes = new Dictionary<string, string>
 175        {
 176            { "ClientReturnAgentOperation", "Получение возврата, отмены, невыкупа от покупателя" },
 177            { "MarketplaceMarketingActionCostOperation", "Услуги продвижения товаров" },
 178            { "MarketplaceSaleReviewsOperation", "Приобретение отзывов на платформе" },
 179            { "MarketplaceSellerCompensationOperation", "Прочие компенсации" },
 180            { "OperationAgentDeliveredToCustomer", "Доставка покупателю" },
 181            { "OperationAgentDeliveredToCustomerCanceled", "Доставка покупателю — исправленное начисление" },
 182            { "OperationAgentStornoDeliveredToCustomer", "Доставка покупателю — отмена начисления" },
 183            { "OperationClaim", "Начисление по претензии" },
 184            { "OperationCorrectionSeller", "Инвентаризация взаиморасчетов" },
 185            { "OperationDefectiveWriteOff", "Компенсация за повреждённый на складе товар" },
 186            { "OperationItemReturn", "Доставка и обработка возврата, отмены, невыкупа" },
 187            { "OperationLackWriteOff", "Компенсация за утерянный на складе товар" },
 188            { "OperationMarketplaceCrossDockServiceWriteOff", "Доставка товаров на склад Ozon (кросс-докинг)" },
 189            { "OperationMarketplaceServiceStorage", "Услуга размещения товаров на складе" },
 190            { "OperationSetOff", "Взаимозачёт с другими договорами контрагента" },
 191            { "MarketplaceSellerReexposureDeliveryReturnOperation", "Перечисление за доставку от покупателя" },
 192            { "OperationReturnGoodsFBSofRMS", "Доставка и обработка возврата, отмены, невыкупа" },
 193            { "ReturnAgentOperationRFBS", "Возврат перечисления за доставку покупателю" },
 194            { "ItemAgentServiceStarsMembership", "Вознаграждение за услугу «Звёздные товары»" },
 195            { "MarketplaceSellerShippingCompensationReturnOperation", "Компенсация перечисления за доставку" },
 196            { "OperationMarketplaceServicePremiumCashback", "Услуга продвижения Premium" },
 197            { "MarketplaceServicePremiumPromotion", "Услуга продвижения Premium, фиксированная комиссия" },
 198            { "MarketplaceRedistributionOfAcquiringOperation", "Оплата эквайринга" },
 199            { "MarketplaceReturnStorageServiceAtThePickupPointFbsItem", "Краткосрочное размещение возврата FBS" },
 1100            { "MarketplaceReturnStorageServiceInTheWarehouseFbsItem", "Долгосрочное размещение возврата FBS" },
 1101            { "MarketplaceServiceItemDeliveryKGT", "Доставка КГТ" },
 1102            { "MarketplaceServiceItemDirectFlowLogistic", "Логистика" },
 1103            { "MarketplaceServiceItemReturnFlowLogistic", "Обратная логистика" },
 1104            { "MarketplaceServicePremiumCashbackIndividualPoints", "Услуга продвижения «Бонусы продавца»" },
 1105            { "OperationMarketplaceWithHoldingForUndeliverableGoods", "Удержание за недовложение товара" },
 1106            { "MarketplaceServiceItemDirectFlowLogisticVDC", "Логистика вРЦ" },
 1107            { "MarketplaceServiceItemDropoffPPZ", "Услуга drop-off в пункте приёма заказов" },
 1108            { "MarketplaceServicePremiumCashback", "Услуга продвижения Premium" },
 1109            { "MarketplaceServiceItemRedistributionReturnsPVZ", "Перевыставление возвратов на пункте выдачи" },
 1110            { "OperationElectronicServiceStencil", "Услуга «Трафареты»" },
 1111            { "OperationElectronicServicesPromotionInSearch", "Услуга «Продвижение в поиске»" },
 1112            { "OperationMarketplaceServiceItemElectronicServicesBrandShelf", "Услуга «Брендовая полка»" },
 1113            { "OperationSubscriptionPremium", "Подписка Premium" },
 1114            { "DefectRateDetailed", "Обработка операционных ошибок продавца" },
 1115            { "MarketplaceServiceBrandCommission", "Продвижение бренда" }
 1116        };
 117
 118        /// <summary>
 119        /// Названия услуг (services.name) из API /v3/finance/transaction/list.
 120        /// </summary>
 1121        public static Dictionary<string, string> FinanceServiceNames = new Dictionary<string, string>
 1122        {
 1123            { "MarketplaceNotDeliveredCostItem", "Возврат невостребованного товара от покупателя на склад" },
 1124            { "MarketplaceReturnAfterDeliveryCostItem", "Возврат от покупателя на склад после доставки" },
 1125            { "MarketplaceDeliveryCostItem", "Доставка товара до покупателя" },
 1126            { "MarketplaceSaleReviewsItem", "Приобретение отзывов на платформе" },
 1127            { "ItemAdvertisementForSupplierLogistic", "Доставка товаров на склад Ozon — кросс-докинг" },
 1128            { "OperationMarketplaceServiceStorage", "Размещения товаров" },
 1129            { "MarketplaceMarketingActionCostItem", "Продвижение товаров" },
 1130            { "MarketplaceServiceItemInstallment", "Продвижение и продажа в рассрочку" },
 1131            { "MarketplaceServiceItemMarkingItems", "Обязательная маркировка товаров" },
 1132            { "MarketplaceServiceItemFlexiblePaymentSchedule", "Гибкий график выплат" },
 1133            { "MarketplaceServiceItemReturnFromStock", "Комплектация товаров для вывоза продавцом" },
 1134            { "ItemAdvertisementForSupplierLogisticSeller", "Транспортно-экспедиционные услуги" },
 1135            { "ItemAgentServiceStarsMembership", "Вознаграждение за услугу «Звёздные товары»" },
 1136            { "MarketplaceServiceItemDelivToCustomer", "Последняя миля" },
 1137            { "MarketplaceServiceItemRedistributionLastMileCourier", "Последняя миля (курьер — перераспределение)" },
 1138            { "MarketplaceServiceItemDirectFlowTrans", "Магистраль" },
 1139            { "MarketplaceServiceItemDropoffFF", "Обработка отправления" },
 1140            { "MarketplaceServiceItemDropoffPVZ", "Обработка отправления" },
 1141            { "MarketplaceServiceItemDropoffSC", "Обработка отправления" },
 1142            { "MarketplaceServiceItemFulfillment", "Сборка заказа" },
 1143            { "MarketplaceServiceItemPickup", "Pick-up: выезд за отправлениями по адресу продавца" },
 1144            { "MarketplaceServiceItemReturnAfterDelivToCustomer", "Обработка возврата" },
 1145            { "MarketplaceServiceItemReturnFlowTrans", "Обратная магистраль" },
 1146            { "MarketplaceServiceItemReturnNotDelivToCustomer", "Обработка отмен" },
 1147            { "MarketplaceServiceItemReturnPartGoodsCustomer", "Обработка невыкупа" },
 1148            { "MarketplaceRedistributionOfAcquiringOperation", "Оплата эквайринга" },
 1149            { "MarketplaceReturnStorageServiceAtThePickupPointFbsItem", "Краткосрочное размещение возврата FBS" },
 1150            { "MarketplaceReturnStorageServiceInTheWarehouseFbsItem", "Долгосрочное размещение возврата FBS" },
 1151            { "MarketplaceServiceItemDeliveryKGT", "Доставка крупногабаритного товара (КГТ)" },
 1152            { "MarketplaceServiceItemDirectFlowLogistic", "Логистика" },
 1153            { "MarketplaceServiceItemReturnFlowLogistic", "Обратная логистика" },
 1154            { "MarketplaceServicePremiumCashbackIndividualPoints", "Услуга продвижения «Бонусы продавца»" },
 1155            { "MarketplaceServicePremiumPromotion", "Услуга продвижение Premium, фиксированная комиссия" },
 1156            { "OperationMarketplaceWithHoldingForUndeliverableGoods", "Удержание за недовложение товара" },
 1157            { "MarketplaceServiceItemDropoffPPZ", "Drop-off в пункте приёма заказов" },
 1158            { "MarketplaceServiceItemRedistributionReturnsPVZ", "Перевыставление возвратов на ПВЗ" },
 1159            { "OperationMarketplaceAgencyFeeAggregator3PLGlobal", "Тарификация агентской услуги Agregator 3PL Global" },
 1160            { "MarketplaceServiceItemDirectFlowLogisticVDC", "Логистика вРЦ" },
 1161            { "MarketplaceServiceItemRedistributionDropOffApvz", "Перевыставление drop-off АПВЗ" }
 1162        };
 163
 164        public static string GetFinanceTransactionType(string key) =>
 0165            FinanceTransactionTypes.TryGetValue(key, out var value) ? value : key;
 166
 167        public static string GetFinanceOperationType(string key) =>
 0168            FinanceOperationTypes.TryGetValue(key, out var value) ? value : key;
 169
 170        public static string GetFinanceServiceName(string? key) =>
 0171            string.IsNullOrEmpty(key) ? "" : (FinanceServiceNames.TryGetValue(key, out var value) ? value : key);
 172
 173        /// <summary>
 174        /// Статусы возврата (visual_status_name / sys_name) из API /v1/returns/list.
 175        /// </summary>
 1176        public static Dictionary<string, string> ReturnVisualStatuses = new()
 1177        {
 1178            { "DisputeOpened", "Открыт спор с покупателем" },
 1179            { "OnSellerApproval", "На согласовании у продавца" },
 1180            { "ArrivedAtReturnPlace", "В пункте выдачи" },
 1181            { "OnSellerClarification", "На уточнении у продавца" },
 1182            { "OnSellerClarificationAfterPartialCompensation", "На уточнении у продавца после частичной компенсации" },
 1183            { "OfferedPartialCompensation", "Предложена частичная компенсация" },
 1184            { "ReturnMoneyApproved", "Одобрен возврат денег" },
 1185            { "PartialCompensationReturned", "Вернули часть денег" },
 1186            { "CancelledDisputeNotOpen", "Возврат отклонён, спор не открыт" },
 1187            { "Rejected", "Заявка отклонена" },
 1188            { "CrmRejected", "Заявка отклонена Ozon" },
 1189            { "Cancelled", "Заявка отменена" },
 1190            { "Approved", "Заявка одобрена продавцом" },
 1191            { "ApprovedByOzon", "Заявка одобрена Ozon" },
 1192            { "ReceivedBySeller", "Продавец получил возврат" },
 1193            { "MovingToSeller", "Возврат на пути к продавцу" },
 1194            { "ReturningToSellerByCourier", "Курьер везёт возврат продавцу" },
 1195            { "Utilizing", "На утилизации" },
 1196            { "Utilized", "Утилизирован" },
 1197            { "MoneyReturned", "Покупателю вернули всю сумму" },
 1198            { "PartialCompensationInProcess", "Одобрен частичный возврат денег" },
 1199            { "DisputeYouOpened", "Продавец открыл спор" },
 1200            { "CompensationRejected", "Отказано в компенсации" },
 1201            { "DisputeOpening", "Обращение в поддержку отправлено" },
 1202            { "CompensationOffered", "Ожидает вашего решения по компенсации" },
 1203            { "WaitingCompensation", "Ожидает компенсации" },
 1204            { "SendingError", "Ошибка при отправке обращения в поддержку" },
 1205            { "CompensationRejectedBySla", "Истёк срок решения" },
 1206            { "CompensationRejectedBySeller", "Продавец отказался от компенсации" },
 1207            { "MovingToOzon", "Едет на склад Ozon" },
 1208            { "ReturnedToOzon", "На складе Ozon" },
 1209            { "MoneyReturnedBySystem", "Быстрый возврат" },
 1210            { "WaitingShipment", "Ожидает отправки" }
 1211        };
 212
 213        /// <summary>
 214        /// Статусы компенсации (compensation_status sys_name) из API /v1/returns/list.
 215        /// </summary>
 1216        public static Dictionary<string, string> ReturnCompensationStatuses = new()
 1217        {
 1218            { "Sent", "Отправлена" },
 1219            { "Received", "Получена" },
 1220            { "Canceled", "Отменена" },
 1221            { "DecompensationSent", "Проведена декомпенсация" }
 1222        };
 223
 224        /// <summary>
 225        /// Типы возврата (return type) из API /v1/returns/list.
 226        /// </summary>
 1227        public static Dictionary<string, string> ReturnTypes = new()
 1228        {
 1229            { "Cancellation", "Отмена" },
 1230            { "FullReturn", "Полный возврат" },
 1231            { "PartialReturn", "Частичный возврат" },
 1232            { "ClientReturn", "Возврат от покупателя" },
 1233            { "Unknown", "Неизвестно" }
 1234        };
 235
 236        public static string GetReturnVisualStatusName(string? sysName) =>
 0237            string.IsNullOrEmpty(sysName) ? "" : (ReturnVisualStatuses.TryGetValue(sysName, out var v) ? v : sysName);
 238
 239        public static string GetReturnCompensationStatusName(string? sysName) =>
 0240            string.IsNullOrEmpty(sysName) ? "" : (ReturnCompensationStatuses.TryGetValue(sysName, out var v) ? v : sysNa
 241
 242        public static string GetReturnTypeName(string? type) =>
 0243            string.IsNullOrEmpty(type) ? "" : (ReturnTypes.TryGetValue(type, out var v) ? v : type);
 244    }
 245}