From 78c2b2eada1632493d9944d8a2f01cc06ff4cc73 Mon Sep 17 00:00:00 2001 From: dpurbosakti Date: Thu, 28 Aug 2025 16:15:32 +0700 Subject: [PATCH] feat (doctor-fee): change naming --- .../domain/main-entities/doctor-fee/dto.go | 50 +++++++++---------- .../domain/main-entities/doctor-fee/entity.go | 14 +++--- .../use-case/main-use-case/material/helper.go | 25 ++++++++++ 3 files changed, 57 insertions(+), 32 deletions(-) create mode 100644 internal/use-case/main-use-case/material/helper.go diff --git a/internal/domain/main-entities/doctor-fee/dto.go b/internal/domain/main-entities/doctor-fee/dto.go index 15da2c61..4d35d903 100644 --- a/internal/domain/main-entities/doctor-fee/dto.go +++ b/internal/domain/main-entities/doctor-fee/dto.go @@ -8,17 +8,17 @@ import ( ) type CreateDto struct { - Doctor_Id *uint `json:"doctor_id"` - FeeTypeCode *erc.DoctorFeeTypeCode `json:"feeType_code"` - Price *float64 `json:"price"` - Item_Id *uint `json:"item_id"` + Doctor_Id *uint `json:"doctor_id"` + FeeType_Code *erc.DoctorFeeTypeCode `json:"feeType_code"` + Price *float64 `json:"price"` + Item_Id *uint `json:"item_id"` } type ReadListDto struct { - Doctor_Id *uint `json:"doctor_id"` - FeeTypeCode *erc.DoctorFeeTypeCode `json:"feeType_code"` - Price *float64 `json:"price"` - Item_Id *uint `json:"item_id"` + Doctor_Id *uint `json:"doctor_id"` + FeeType_Code *erc.DoctorFeeTypeCode `json:"feeType_code"` + Price *float64 `json:"price"` + Item_Id *uint `json:"item_id"` Page int `json:"page"` PageSize int `json:"page_size"` @@ -26,11 +26,11 @@ type ReadListDto struct { } type ReadDetailDto struct { - Id uint16 `json:"id"` - Doctor_Id *uint `json:"doctor_id"` - FeeTypeCode *erc.DoctorFeeTypeCode `json:"feeType_code"` - Price *float64 `json:"price"` - Item_Id *uint `json:"item_id"` + Id uint16 `json:"id"` + Doctor_Id *uint `json:"doctor_id"` + FeeType_Code *erc.DoctorFeeTypeCode `json:"feeType_code"` + Price *float64 `json:"price"` + Item_Id *uint `json:"item_id"` } type UpdateDto struct { @@ -50,22 +50,22 @@ type MetaDto struct { type ResponseDto struct { ecore.Main - Doctor_Id *uint `json:"doctor_id"` - Doctor *ed.Doctor `json:"doctor,omitempty"` - FeeTypeCode *erc.DoctorFeeTypeCode `json:"feeType_code"` - Price *float64 `json:"price"` - Item_Id *uint `json:"item_id"` - Item *ei.Item `json:"item,omitempty"` + Doctor_Id *uint `json:"doctor_id"` + Doctor *ed.Doctor `json:"doctor,omitempty"` + FeeType_Code *erc.DoctorFeeTypeCode `json:"feeType_code"` + Price *float64 `json:"price"` + Item_Id *uint `json:"item_id"` + Item *ei.Item `json:"item,omitempty"` } func (d DoctorFee) ToResponse() ResponseDto { resp := ResponseDto{ - Doctor_Id: d.Doctor_Id, - Doctor: d.Doctor, - FeeTypeCode: d.FeeTypeCode, - Price: d.Price, - Item_Id: d.Item_Id, - Item: d.Item, + Doctor_Id: d.Doctor_Id, + Doctor: d.Doctor, + FeeType_Code: d.FeeType_Code, + Price: d.Price, + Item_Id: d.Item_Id, + Item: d.Item, } resp.Main = d.Main return resp diff --git a/internal/domain/main-entities/doctor-fee/entity.go b/internal/domain/main-entities/doctor-fee/entity.go index e0e87d0f..af15173b 100644 --- a/internal/domain/main-entities/doctor-fee/entity.go +++ b/internal/domain/main-entities/doctor-fee/entity.go @@ -8,11 +8,11 @@ import ( ) type DoctorFee struct { - ecore.Main // adjust this according to the needs - Doctor_Id *uint `json:"doctor_id"` - Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Id;references:Id"` - FeeTypeCode *erc.DoctorFeeTypeCode `json:"feeType_code" gorm:"size:11"` - Price *float64 `json:"price"` - Item_Id *uint `json:"item_id"` - Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Id;references:Id"` + ecore.Main // adjust this according to the needs + Doctor_Id *uint `json:"doctor_id"` + Doctor *ed.Doctor `json:"doctor,omitempty" gorm:"foreignKey:Doctor_Id;references:Id"` + FeeType_Code *erc.DoctorFeeTypeCode `json:"feeType_code" gorm:"size:11"` + Price *float64 `json:"price"` + Item_Id *uint `json:"item_id"` + Item *ei.Item `json:"item,omitempty" gorm:"foreignKey:Item_Id;references:Id"` } diff --git a/internal/use-case/main-use-case/material/helper.go b/internal/use-case/main-use-case/material/helper.go new file mode 100644 index 00000000..11b4900c --- /dev/null +++ b/internal/use-case/main-use-case/material/helper.go @@ -0,0 +1,25 @@ +/* +DESCRIPTION: +Any functions that are used internally by the use-case +*/ +package material + +import ( + e "simrs-vx/internal/domain/main-entities/material" +) + +func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.Material) { + var inputSrc *e.CreateDto + if inputT, ok := any(input).(*e.CreateDto); ok { + inputSrc = inputT + } else { + inputTemp := any(input).(*e.UpdateDto) + inputSrc = &inputTemp.CreateDto + } + + data.Code = inputSrc.Code + data.Name = inputSrc.Name + data.Uom_Code = inputSrc.Uom_Code + data.Stock = inputSrc.Stock + data.Item_Id = inputSrc.Item_Id +}