diff --git a/services/basket/EShopOnAbp.BasketService.sln b/services/basket/EShopOnAbp.BasketService.sln
index 68cb5262..acdd3ec2 100644
--- a/services/basket/EShopOnAbp.BasketService.sln
+++ b/services/basket/EShopOnAbp.BasketService.sln
@@ -9,6 +9,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-7
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.BasketService", "src\EShopOnAbp.BasketService\EShopOnAbp.BasketService.csproj", "{83F0BE02-6B71-4695-B86F-18DEEE34B485}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.BasketService.Contracts", "src\EShopOnAbp.BasketService.Contracts\EShopOnAbp.BasketService.Contracts.csproj", "{D2C4E464-221E-42F3-B1BB-79ABC5C3AC64}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -19,12 +21,17 @@ Global
{83F0BE02-6B71-4695-B86F-18DEEE34B485}.Debug|Any CPU.Build.0 = Debug|Any CPU
{83F0BE02-6B71-4695-B86F-18DEEE34B485}.Release|Any CPU.ActiveCfg = Release|Any CPU
{83F0BE02-6B71-4695-B86F-18DEEE34B485}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D2C4E464-221E-42F3-B1BB-79ABC5C3AC64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D2C4E464-221E-42F3-B1BB-79ABC5C3AC64}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D2C4E464-221E-42F3-B1BB-79ABC5C3AC64}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D2C4E464-221E-42F3-B1BB-79ABC5C3AC64}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{83F0BE02-6B71-4695-B86F-18DEEE34B485} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {D2C4E464-221E-42F3-B1BB-79ABC5C3AC64} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6AAFA1C6-603E-13FA-45E5-7910AA9F661D}
diff --git a/services/basket/src/EShopOnAbp.BasketService.Contracts/BasketServiceContractsModule.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/BasketServiceContractsModule.cs
new file mode 100644
index 00000000..593beefd
--- /dev/null
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/BasketServiceContractsModule.cs
@@ -0,0 +1,7 @@
+using Volo.Abp.Modularity;
+
+namespace EShopOnAbp.BasketService;
+
+public class BasketServiceContractsModule : AbpModule
+{
+}
\ No newline at end of file
diff --git a/services/basket/src/EShopOnAbp.BasketService.Contracts/EShopOnAbp.BasketService.Contracts.csproj b/services/basket/src/EShopOnAbp.BasketService.Contracts/EShopOnAbp.BasketService.Contracts.csproj
new file mode 100644
index 00000000..3452939c
--- /dev/null
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/EShopOnAbp.BasketService.Contracts.csproj
@@ -0,0 +1,24 @@
+
+
+
+
+
+ netstandard2.0
+ EShopOnAbp.BasketService
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/ar.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/ar.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/ar.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/ar.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/cs.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/cs.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/cs.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/cs.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/de-DE.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/de-DE.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/de-DE.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/de-DE.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/en-GB.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/en-GB.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/en-GB.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/en-GB.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/en.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/en.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/en.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/en.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/es.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/es.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/es.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/es.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/fi.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/fi.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/fi.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/fi.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/fr.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/fr.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/fr.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/fr.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/hi.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/hi.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/hi.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/hi.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/hu.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/hu.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/hu.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/hu.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/it.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/it.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/it.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/it.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/nl.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/nl.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/nl.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/nl.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/pl-PL.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/pl-PL.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/pl-PL.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/pl-PL.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/pt-BR.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/pt-BR.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/pt-BR.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/pt-BR.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/ro-RO.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/ro-RO.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/ro-RO.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/ro-RO.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/ru.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/ru.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/ru.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/ru.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/sk.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/sk.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/sk.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/sk.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/sl.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/sl.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/sl.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/sl.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/tr.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/tr.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/tr.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/tr.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/vi.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/vi.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/vi.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/vi.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/zh-Hans.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/zh-Hans.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/zh-Hans.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/zh-Hans.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/zh-Hant.json b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/zh-Hant.json
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketService/zh-Hant.json
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketService/zh-Hant.json
diff --git a/services/basket/src/EShopOnAbp.BasketService/Localization/BasketServiceResource.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketServiceResource.cs
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Localization/BasketServiceResource.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Localization/BasketServiceResource.cs
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/AddProductDto.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/AddProductDto.cs
similarity index 80%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Dtos/AddProductDto.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/AddProductDto.cs
index 9a9db3ce..92d8a511 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/AddProductDto.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/AddProductDto.cs
@@ -1,6 +1,7 @@
+using System;
using System.ComponentModel.DataAnnotations;
-namespace EShopOnAbp.BasketService.Services.Dtos;
+namespace EShopOnAbp.BasketService.Services;
public class AddProductDto : IHasAnonymousId
{
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/BasketDto.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/BasketDto.cs
similarity index 70%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Dtos/BasketDto.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/BasketDto.cs
index 16208787..4ef21695 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/BasketDto.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/BasketDto.cs
@@ -1,4 +1,6 @@
-namespace EShopOnAbp.BasketService.Services.Dtos;
+using System.Collections.Generic;
+
+namespace EShopOnAbp.BasketService.Services;
public class BasketDto
{
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/BasketItemDto.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/BasketItemDto.cs
similarity index 81%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Dtos/BasketItemDto.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/BasketItemDto.cs
index 44a03a40..985e9ce6 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/BasketItemDto.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/BasketItemDto.cs
@@ -1,4 +1,6 @@
-namespace EShopOnAbp.BasketService.Services.Dtos;
+using System;
+
+namespace EShopOnAbp.BasketService.Services;
public class BasketItemDto
{
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/IHasAnonymousId.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/IHasAnonymousId.cs
similarity index 58%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Dtos/IHasAnonymousId.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/IHasAnonymousId.cs
index 3c539770..dcd56d3d 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/IHasAnonymousId.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/IHasAnonymousId.cs
@@ -1,4 +1,6 @@
-namespace EShopOnAbp.BasketService.Services.Dtos
+using System;
+
+namespace EShopOnAbp.BasketService.Services
{
public interface IHasAnonymousId
{
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/RemoveProductDto.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/RemoveProductDto.cs
similarity index 73%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Dtos/RemoveProductDto.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/RemoveProductDto.cs
index bd481712..ae61d85e 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/Dtos/RemoveProductDto.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Dtos/RemoveProductDto.cs
@@ -1,4 +1,6 @@
-namespace EShopOnAbp.BasketService.Services.Dtos;
+using System;
+
+namespace EShopOnAbp.BasketService.Services;
public class RemoveProductDto : IHasAnonymousId
{
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/IBasketAppService.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/IBasketAppService.cs
similarity index 86%
rename from services/basket/src/EShopOnAbp.BasketService/Services/IBasketAppService.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/IBasketAppService.cs
index bbe18e5a..d4f8eed2 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/IBasketAppService.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/IBasketAppService.cs
@@ -1,4 +1,5 @@
-using EShopOnAbp.BasketService.Services.Dtos;
+using System;
+using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace EShopOnAbp.BasketService.Services;
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/IBasketProductService.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/IBasketProductService.cs
similarity index 83%
rename from services/basket/src/EShopOnAbp.BasketService/Services/IBasketProductService.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/IBasketProductService.cs
index 1288112c..4c72c688 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/IBasketProductService.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/IBasketProductService.cs
@@ -3,7 +3,7 @@ using System.Threading.Tasks;
using EShopOnAbp.CatalogService.Products;
using JetBrains.Annotations;
-namespace EShopOnAbp.BasketService;
+namespace EShopOnAbp.BasketService.Services;
public interface IBasketProductService
{
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Permissions/BasketServicePermissionDefinitionProvider.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Permissions/BasketServicePermissionDefinitionProvider.cs
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Permissions/BasketServicePermissionDefinitionProvider.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Permissions/BasketServicePermissionDefinitionProvider.cs
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/Permissions/BasketServicePermissions.cs b/services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Permissions/BasketServicePermissions.cs
similarity index 100%
rename from services/basket/src/EShopOnAbp.BasketService/Services/Permissions/BasketServicePermissions.cs
rename to services/basket/src/EShopOnAbp.BasketService.Contracts/Services/Permissions/BasketServicePermissions.cs
diff --git a/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs b/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs
index 2e937112..c96d47e0 100644
--- a/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs
+++ b/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs
@@ -1,6 +1,5 @@
using EShopOnAbp.BasketService.Entities;
using EShopOnAbp.BasketService.Localization;
-using EShopOnAbp.CatalogService;
using EShopOnAbp.CatalogService.Grpc;
using EShopOnAbp.Shared.Hosting.AspNetCore;
using EShopOnAbp.Shared.Hosting.Microservices;
@@ -32,7 +31,7 @@ namespace EShopOnAbp.BasketService
typeof(AbpDddApplicationModule),
typeof(AbpDddDomainModule),
typeof(AbpValidationModule),
- typeof(CatalogServiceHttpApiClientModule),
+ typeof(BasketServiceContractsModule),
typeof(EShopOnAbpSharedHostingMicroservicesModule)
)]
public class BasketServiceModule : AbpModule
diff --git a/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj b/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj
index a964503c..9a4ec400 100644
--- a/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj
@@ -13,7 +13,8 @@
-
+
+
@@ -23,18 +24,18 @@
-
-
-
+
+
+
-
+
+
-
-
+
diff --git a/services/basket/src/EShopOnAbp.BasketService/Services/BasketAppService.cs b/services/basket/src/EShopOnAbp.BasketService/Services/BasketAppService.cs
index 7cbe07d8..e9b4899f 100644
--- a/services/basket/src/EShopOnAbp.BasketService/Services/BasketAppService.cs
+++ b/services/basket/src/EShopOnAbp.BasketService/Services/BasketAppService.cs
@@ -1,6 +1,5 @@
using EShopOnAbp.BasketService.Entities;
using EShopOnAbp.BasketService.Localization;
-using EShopOnAbp.BasketService.Services.Dtos;
using EShopOnAbp.CatalogService.Products;
using Volo.Abp;
using Volo.Abp.Application.Services;