Product [Database] - up1/soa_group2 GitHub Wiki

Product

Product เป็น Collection ที่เก็บเกี่ยวกับสินค้าที่มีผู้ประกาศขายลงในระบบ

Constaint

  • id : รหัสสินค้าสร้างขึ้นจากการสุ่มขึ่นมาและต้องไม่ซ้ำกัน
  • amount : จำนวนสินค้าต้องไม่เป็นจำนวนติดลบ
  • saleDate & editDate : ต้องเป็น Unix Timestamp
  • category : ต้องเก็บประเภทสินค้าและประเภทสินค้าที่เป็น Parent
  • saleDate & editDate : เก็บข้อมูลแบบ Long

Schema

{
    "id" : "รหัสสินค้า",
    "name" : "ชื่อสินค้า",
    "detail" : "รายละเอียดของสินค้า",
    "price" : "ราคาต่อหน่วย",
    "amount" : "จำนวนสินค้าที่ขาย",
    "owner" : "Username ของผู้ขาย",
    "saleDate" : "วันแรกที่สินค้าถูกประกาศขาย",
    "editDate" : "วันล่าสุดที่รายละเอียดของสินค้าถูกแก้ไข",
    "category" : {"ประเภทสินค้า"}
}

Java Model

public class Product{
    private String id;
    private String name;
    private String detail;
    private Integer price;
    private Integer amount;
    private String owner;
    private Long saleDate;
    private Long editDate;
    private Category category;
}

Example

  {
    "id": "58c95380198e9228f7e4c19e",
    "name": "Nokia Avenger 4000",
    "detail": "Captain Swear Police edition",
    "price": 10900,
    "amount": 420,
    "owner": "Stan Lee",
    "saleDate": 1489589120,
    "editDate": 1489589120,
    "category": {
      "id": "58c946f3198e251b73ecd1ac",
      "name": "Electronic Accessory",
      "childs": [
        "Backup Battery"
      ],
      "parents": [
        "IT"
      ]
    }
  }