package com.eksad.masterdata.common.dto;

import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.SatuanType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.Date;
import java.util.UUID;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PromoDiscountPartDTO {

    private String promoDiscountPartID;
    private String promoID;
    //    private String discountID; // varible dari diskon item id H3 sudah tidak di gunakan
    private String discountPartID;
    private String discountPartDesc;
    private String discountPartGroup;
    private SatuanType satuan;
    private Double nilaiDiscount;
    private DataStatus promoDiscountPartStatus;
    private CreationalSpecificationDTO promoCreationalSpecificationDTO;

    @JsonIgnore
    public PromoDiscountPartDTO getInstance() {
        return new PromoDiscountPartDTO(
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
//                UUID.randomUUID().toString().substring(0,8).toUpperCase(),
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                SatuanType.CURRENCY,
                10000d,
                DataStatus.ACTIVE,
                new CreationalSpecificationDTO(new Date(), "SYSTEM", new Date(), promoID));
    }
}