diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EShopProductsDomainSharedModule.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EShopProductsDomainSharedModule.cs
index f3ac1c3a..6fee279c 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EShopProductsDomainSharedModule.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EShopProductsDomainSharedModule.cs
@@ -1,7 +1,6 @@
using Volo.Abp.Modularity;
using Volo.Abp.Localization;
using EasyAbp.EShop.Products.Localization;
-using EasyAbp.EShop.Stores;
using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization;
@@ -10,8 +9,7 @@ using Volo.Abp.VirtualFileSystem;
namespace EasyAbp.EShop.Products
{
[DependsOn(
- typeof(AbpValidationModule),
- typeof(EShopStoresDomainSharedModule)
+ typeof(AbpValidationModule)
)]
public class EShopProductsDomainSharedModule : AbpModule
{
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp.EShop.Products.Domain.Shared.csproj b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp.EShop.Products.Domain.Shared.csproj
index 0cbe7f96..b1c1022e 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp.EShop.Products.Domain.Shared.csproj
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp.EShop.Products.Domain.Shared.csproj
@@ -16,8 +16,4 @@
-
-
-
-
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/Products/InventoryStrategy.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/Products/InventoryStrategy.cs
new file mode 100644
index 00000000..950e8eac
--- /dev/null
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/Products/InventoryStrategy.cs
@@ -0,0 +1,9 @@
+namespace EasyAbp.EShop.Products.Products
+{
+ public enum InventoryStrategy
+ {
+ NoNeed = 1,
+ ReduceAfterPlacing = 2,
+ ReduceAfterPayment = 4
+ }
+}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/Products/ProductInventoryReductionFailedEto.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/Products/ProductInventoryReductionFailedEto.cs
new file mode 100644
index 00000000..8325894d
--- /dev/null
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/Products/ProductInventoryReductionFailedEto.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace EasyAbp.EShop.Products.Products
+{
+ [Serializable]
+ public class ProductInventoryReductionFailedEto
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Categories/Category.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Categories/Category.cs
index c648a5e3..6d1638dc 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Categories/Category.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Categories/Category.cs
@@ -1,4 +1,5 @@
using System;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
@@ -7,5 +8,16 @@ namespace EasyAbp.EShop.Products.Categories
public class Category : FullAuditedAggregateRoot, IMultiTenant
{
public virtual Guid? TenantId { get; protected set; }
+
+ public virtual Guid? ParentCategoryId { get; protected set; }
+
+ [NotNull]
+ public virtual string DisplayName { get; protected set; }
+
+ [CanBeNull]
+ public virtual string Description { get; protected set; }
+
+ [CanBeNull]
+ public virtual string MediaResources { get; protected set; }
}
}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EShopProductsDomainModule.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EShopProductsDomainModule.cs
index 54ed3948..154bc1de 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EShopProductsDomainModule.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EShopProductsDomainModule.cs
@@ -1,10 +1,12 @@
-using Volo.Abp.Modularity;
+using EasyAbp.EShop.Stores;
+using Volo.Abp.Modularity;
namespace EasyAbp.EShop.Products
{
[DependsOn(
- typeof(EShopProductsDomainSharedModule)
- )]
+ typeof(EShopProductsDomainSharedModule),
+ typeof(EShopStoresDomainSharedModule)
+ )]
public class EShopProductsDomainModule : AbpModule
{
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp.EShop.Products.Domain.csproj b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp.EShop.Products.Domain.csproj
index ade16798..8a3b578d 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp.EShop.Products.Domain.csproj
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp.EShop.Products.Domain.csproj
@@ -12,4 +12,8 @@
+
+
+
+
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductCategories/ProductCategory.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductCategories/ProductCategory.cs
index 32c0c697..40495aaa 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductCategories/ProductCategory.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductCategories/ProductCategory.cs
@@ -10,5 +10,11 @@ namespace EasyAbp.EShop.Products.ProductCategories
public virtual Guid? TenantId { get; protected set; }
public virtual Guid? StoreId { get; protected set; }
+
+ public virtual Guid CategoryId { get; protected set; }
+
+ public virtual Guid ProductId { get; protected set; }
+
+ public virtual int DisplayOrder { get; protected set; }
}
}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductTypes/ProductType.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductTypes/ProductType.cs
index 71f8dc7b..f905eb7c 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductTypes/ProductType.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/ProductTypes/ProductType.cs
@@ -1,10 +1,20 @@
using System;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
namespace EasyAbp.EShop.Products.ProductTypes
{
public class ProductType : FullAuditedAggregateRoot
{
+ public virtual string Name { get; protected set; }
+
+ [NotNull]
+ public virtual string DisplayName { get; protected set; }
+
+ [CanBeNull]
+ public virtual string Description { get; protected set; }
+ public virtual MultiTenancySides MultiTenancySide { get; protected set; }
}
}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/IProductInventoryManager.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/IProductInventoryManager.cs
new file mode 100644
index 00000000..d450a82e
--- /dev/null
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/IProductInventoryManager.cs
@@ -0,0 +1,7 @@
+namespace EasyAbp.EShop.Products.Products
+{
+ public interface IProductInventoryManager
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/IProductPriceProvider.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/IProductPriceProvider.cs
new file mode 100644
index 00000000..58c519b4
--- /dev/null
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/IProductPriceProvider.cs
@@ -0,0 +1,7 @@
+namespace EasyAbp.EShop.Products.Products
+{
+ public interface IProductPriceProvider
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/Product.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/Product.cs
index 67ae1d68..72699549 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/Product.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/Product.cs
@@ -1,5 +1,6 @@
using System;
using EasyAbp.EShop.Stores.Stores;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
@@ -10,5 +11,17 @@ namespace EasyAbp.EShop.Products.Products
public virtual Guid? TenantId { get; protected set; }
public virtual Guid? StoreId { get; protected set; }
+
+ public virtual Guid ProductTypeId { get; protected set; }
+
+ [NotNull]
+ public virtual string DisplayName { get; protected set; }
+
+ public virtual InventoryStrategy InventoryStrategy { get; protected set; }
+
+ public virtual bool IsPublished { get; protected set; }
+
+ [CanBeNull]
+ public virtual string MediaResources { get; protected set; }
}
}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttribute.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttribute.cs
index 27c1f1df..140177b4 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttribute.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttribute.cs
@@ -1,10 +1,15 @@
using System;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products
{
public class ProductAttribute : FullAuditedEntity
{
+ [NotNull]
+ public virtual string DisplayName { get; protected set; }
+ [CanBeNull]
+ public virtual string Description { get; protected set; }
}
}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttributeOption.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttributeOption.cs
index 11a66efa..17d3c387 100644
--- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttributeOption.cs
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductAttributeOption.cs
@@ -1,10 +1,15 @@
using System;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products
{
public class ProductAttributeOption : FullAuditedEntity
{
+ [NotNull]
+ public virtual string DisplayName { get; protected set; }
+ [CanBeNull]
+ public virtual string Description { get; protected set; }
}
}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductDetail.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductDetail.cs
new file mode 100644
index 00000000..132cc6b6
--- /dev/null
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductDetail.cs
@@ -0,0 +1,19 @@
+using System;
+using JetBrains.Annotations;
+using Volo.Abp.Domain.Entities;
+
+namespace EasyAbp.EShop.Products.Products
+{
+ public class ProductDetail : Entity
+ {
+ public virtual Guid ProductId { get; protected set; }
+
+ [CanBeNull]
+ public virtual string Description { get; protected set; }
+
+ public override object[] GetKeys()
+ {
+ return new object[] {ProductId};
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductSku.cs b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductSku.cs
new file mode 100644
index 00000000..6b6815e1
--- /dev/null
+++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/Products/ProductSku.cs
@@ -0,0 +1,18 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+
+namespace EasyAbp.EShop.Products.Products
+{
+ public class ProductSku : FullAuditedEntity
+ {
+ public virtual string SerializedAttributeOptionIds { get; protected set; }
+
+ public virtual decimal OriginalPrice { get; protected set; }
+
+ public virtual decimal Price { get; protected set; }
+
+ public virtual int Inventory { get; protected set; }
+
+ public virtual int OrderMinQuantity { get; protected set; }
+ }
+}
\ No newline at end of file