logo

Readme-Racker

Say Goodbye to Manual README Writing.

← Back

Show Markdown

Download Markdown

Readme

Mô-đun Bán lẻ Quản lý Kho

Mô-đun này cung cấp chức năng để quản lý kho, bán hàng, mua hàng, nhà cung cấp, loại sản phẩm và danh mục cho một doanh nghiệp bán lẻ.

Chức năng

  • Quản lý Sản phẩm: Thêm, cập nhật, xóa và truy xuất sản phẩm.
  • Quản lý Danh mục: Thêm, cập nhật, xóa và truy xuất danh mục sản phẩm.
  • Quản lý Loại Sản phẩm: Thêm, cập nhật, xóa và truy xuất loại sản phẩm.
  • Quản lý Nhà cung cấp: Thêm, cập nhật, xóa và truy xuất nhà cung cấp.
  • Quản lý Mua hàng: Đăng ký mua sản phẩm từ nhà cung cấp.
  • Quản lý Bán hàng: Đăng ký bán sản phẩm cho khách hàng.

Ví dụ Sử dụng

Đăng ký Bán hàng (Dịch vụ)

@Service
public class ExampleService {

    private final SaleService saleService;

    public ExampleService(SaleService saleService) {
        this.saleService = saleService;
    }

    public void registerNewSale() {
        SaleDetailsRequestDto saleDetailsRequestDto = SaleDetailsRequestDto.builder()
                .productsList(List.of(ProductPatchRequestDto.builder().name("Product Name").build()))
                .amount(new BigDecimal("100.00"))
                .discount(new BigDecimal("0.10"))
                .quantity(1L)
                .build();

        SaleResponseDto saleResponseDto = saleService.registerSale(saleDetailsRequestDto);
        System.out.println("Sale registered with ID: " + saleResponseDto.getId());
    }
}

Đăng ký Bán hàng (REST API)

Để đăng ký bán hàng, hãy gửi yêu cầu POST đến /sales/register với tải trọng JSON sau:

{
  "productsList": [
    {
      "name": "Product Name"
    }
  ],
  "amount": 100.00,
  "discount": 0.10,
  "quantity": 1
}

Ví dụ sử dụng curl:

curl -X POST \
  http://localhost:8080/sales/register \
  -H 'Content-Type: application/json' \
  -d '{
    "productsList": [
      {
        "name": "Product Name"
      }
    ],
    "amount": 100.00,
    "discount": 0.10,
    "quantity": 1
  }'

Thêm Sản phẩm (REST API)

Để thêm một sản phẩm, hãy gửi yêu cầu POST đến /products/add với tải trọng JSON sau:

{
  "name": "New Product",
  "description": "Product Description",
  "categoryId": 1,
  "buyPrice": 50.00,
  "salePrice": 100.00,
  "stock": 100,
  "supplierId": 1,
  "productTypeId": 1
}

Ví dụ sử dụng curl:

curl -X POST \
  http://localhost:8080/products/add \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "New Product",
  "description": "Product Description",
  "categoryId": 1,
  "buyPrice": 50.00,
  "salePrice": 100.00,
  "stock": 100,
  "supplierId": 1,
  "productTypeId": 1
}'

Chi tiết Cấu hình

Cấu hình CORS

Mô-đun bao gồm một lớp CorsConfig để cấu hình Chia sẻ Tài nguyên Chéo Nguồn gốc (CORS).

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:5173")
                .allowedMethods("*")
                .allowedHeaders("*")
                .allowCredentials(true);
    }
}

Cấu hình này cho phép các yêu cầu từ http://localhost:5173.

Các phụ thuộc

Để sử dụng mô-đun này, bạn sẽ cần các phụ thuộc sau trong pom.xml của bạn:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

🌍 README này có sẵn bằng nhiều ngôn ngữ: 🔗 readme.maxpfeffer.de