← Back
Show Markdown
Download Markdown
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ẻ.
@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, 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 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
}'
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
.
Để 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