feat/trx-order: mcu

- added inlcude on the McuOrder
- reuse deleted data on the McuOrderItem
- added scope on the McuOrder
This commit is contained in:
2025-11-01 16:13:40 +07:00
parent 9226decb38
commit e69fe7bbb1
7 changed files with 22 additions and 7 deletions
@@ -15,9 +15,6 @@ import (
func CreateData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*e.McuOrderItem, error) {
pl.SetLogInfo(event, nil, "started", "DBCreate")
data := e.McuOrderItem{}
setData(&input, &data)
var tx *gorm.DB
if len(dbx) > 0 {
tx = dbx[0]
@@ -25,6 +22,20 @@ func CreateData(input e.CreateDto, event *pl.Event, dbx ...*gorm.DB) (*e.McuOrde
tx = dg.I
}
deletedData := e.McuOrderItem{}
tx.Unscoped().
Where("\"McuOrder_Id\" = ? AND \"McuSrc_Id\" = ?", input.McuOrder_Id, input.McuSrc_Id).
First(&deletedData)
if deletedData.Id != 0 {
if err := tx.Model(e.McuOrderItem{}).Where("Id = ?", deletedData.Id).Update("DeletedAt", nil).Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
return &deletedData, nil
}
data := e.McuOrderItem{}
setData(&input, &data)
if err := tx.Create(&data).Error; err != nil {
return nil, plh.HandleCreateError(input, event, err)
}
@@ -81,7 +81,7 @@ func ReadDetailData(input e.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) (*e
tx = dg.I
}
if err := tx.First(&data, input.Id).Error; err != nil {
if err := tx.Scopes(gh.Preload(input.Includes)).First(&data, input.Id).Error; err != nil {
if processedErr := pu.HandleReadError(err, event, source, input.Id, data); processedErr != nil {
return nil, processedErr
}