---
# System prepended metadata

title: Ngọc Thịnh jewellry

---

Ngọc Thịnh jewellry
===

### Bài toán.
#### Scope ban đầu: 
- **Task 1**: Khách có trang 1 web bán vàng trên haravan, bên mình sẽ làm webapp cho khách nhập giá vàng đồng thời cập nhật giá của sản phẩm lên haravan theo công thức: 
    `Giá sản phẩm = ( Khối lượng * giá vàng ) + phí gia công`
    * Phí gia công: quản lý trên webapp theo collection (đồng bộ collection trên haravan về và thiết lập phí gia công cho collection đó), sản phẩm thuộc collection nào thì lấy phí gia công của collection đó
    * Khối lượng: khối lượng của sản phẩm trên haravan.
    * Giá vàng: căn chứ vào loại vàng của sản phẩm để lấy giá vàng trên webapp mà khách đã nhập.
- **Task 2**: Dự vào giá vàng khách nhập hàng ngày để làm biểu đồ giá vàng
#### Phát sinh.
1. Công thức tính gía thay đổi: 
    `Giá sản phẩm = ( Khối lượng * giá vàng ) + phí gia công + Giá hạt`
    * Giá hạt là giá của đá quý được gắn thêm lên sản phẩm nếu có.
2. Phí gia công hiện nay không theo collection nữa mà theo sản phẩm.
#### Nghiệp vụ của khách trên haravan.
- Có sản phẩm tạm gọi là NHẪN VÀNG NT2 , Nhẫn này có loại 1 chỉ , 2 chỉ, 3 chỉ, và có loại hạt màu xanh , màu đỏ, Nghiệp vụ của khách trên harava là:
    * Tạo **3 sản phẩm riêng biệt** là  NHẪN VÀNG NT2 1 chỉ,  NHẪN VÀNG NT2 2 chỉ ,NHẪN VÀNG NT2 3 chỉ, mỗi sản phẩm có biến thể (Variant) là màu hạt xanh, màu hạt đỏ.
    * Có thể có các biến thể khác vd: Hạt tròn, hạt vuông..
    * Trường hợp **biến thể không có hạt** sẽ tách ra sản phẩm khác.
    * **Phí gia công** theo từng **sản phẩm**.
    * **Loại vàng** theo từng **sản phẩm**.
    * **Khối lượng** nhập là **chỉ**.
    * **Đơn vị** khối lượng nhỏ nhất: **0.01**
    * **Giá sản phẩm** = ( **Khối lượng** * **giá vàng** ) + **phí gia công** + **Giá hạt**
#### Vấn đề cần giải quyết.
1. **Phí gia công**:
    - Phí gia công theo sản phẩm.
2. **Giá hạt**.
    - Giá hạt theo từng Biến thể(variant).
3. **Khối lượng**.
    - Khối lượng theo sản phẩm.
#### Giải pháp
1. Dùng custom fields trên haravan để thêm phí
![](https://i.imgur.com/ogGYF9I.png)
* Ưu điểm:
    1. Webapp không phải quản lý phí thuộc tính sản phẩm
* Nhược điểm:
    1. Khách hàng nhập liệu lâu và phải đúng fortmat vì mỗi variant đều phải nhập key và value cho custom field
    2. Performance cập nhật giá thấp. mỗi 1 sản phẩm cần gọi tối thiểu 3 api để cập nhật.
2. Quản lý các phí: Phí gia công, Giá hạt, Khối lượng, Loại vàng này trên webapp.
* Nhược điểm:
    1. Webapp phải quản lý phí thuộc tính sản phẩm.
* Ưu điểm:
    1. Performance cập nhật giá cao hơn.
    2. Khách hàng nhập liệu nhanh hơn.

