An abp application module group that provides basic e-shop service.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
gdlcf88 23a67f1f53 Upgrade to ABP 6.0.1 and dependent packages 3 years ago
..
README.md Upgrade to ABP 6.0.1 and dependent packages 3 years ago

README.md

EShop.Plugins.FlashSales

ABP version NuGet NuGet Download Discord online GitHub stars

A flash-sales plugin for EShop.

Installation

  1. Install the following NuGet packages. (see how)

    • EasyAbp.EShop.Orders.Plugins.FlashSales.Application (install at EasyAbp.EShop.Orders.Application location)
    • EasyAbp.EShop.Products.Plugins.FlashSales.Application (install at EasyAbp.EShop.Products.Application location)
    • EasyAbp.EShop.Plugins.FlashSales.Application
    • EasyAbp.EShop.Plugins.FlashSales.Application.Contracts
    • EasyAbp.EShop.Plugins.FlashSales.Domain
    • EasyAbp.EShop.Plugins.FlashSales.Domain.Shared
    • EasyAbp.EShop.Plugins.FlashSales.EntityFrameworkCore
    • EasyAbp.EShop.Plugins.FlashSales.HttpApi
    • EasyAbp.EShop.Plugins.FlashSales.HttpApi.Client
    • (Optional) EasyAbp.EShop.Plugins.FlashSales.MongoDB
    • (Optional) EasyAbp.EShop.Plugins.FlashSales.Web
    • (Optional) EasyAbp.EShop.Products.Plugins.FlashSales.Application.Contracts (install at EasyAbp.EShop.Products.Application.Contracts location)
    • (Optional) EasyAbp.EShop.Products.Plugins.FlashSales.HttpApi (install at EasyAbp.EShop.Products.HttpApi location)
    • (Optional) EasyAbp.EShop.Products.Plugins.FlashSales.HttpApi.Client (install at EasyAbp.EShop.Products.HttpApi.Client location)
  2. Add DependsOn(typeof(EShopXxxModule)) attribute to configure the module dependencies. (see how)

  3. Add builder.ConfigureEShopPluginsFlashSales(); to the OnModelCreating() method in MyProjectDbContext.cs.

  4. Add EF Core migrations and update your database. See: ABP document.

Usage

Admins

  1. Create a published flash-sale plan.

Customers

  1. Use /api/e-shop/plugins/flash-sales/flash-sale-plan/{planId}/pre-order (POST) to pre-order. It will return an expiration time if your pre-order request succeeds. Don't forget to re-invoke this API to refresh your request before the expiration time.
  2. When the flash sale starts, use /api/e-shop/plugins/flash-sales/flash-sale-plan/{planId}/order (POST) to create your order. If you are fast enough, it will occupy the inventory and create an order for you in the background.
  3. If you are told that you have succeeded, continuous use /api/e-shop/plugins/flash-sales/flash-sale-result/current/{planId} (GET) to query the order creation result until it succeeds or fails.

Stress Test

See the stress test report.