feat: update advertisement
This commit is contained in:
parent
eda627da39
commit
6bd039a542
|
|
@ -11,7 +11,7 @@ type Advertisement struct {
|
|||
ContentFileName *string `json:"content_file_name" gorm:"type:varchar"`
|
||||
Placement string `json:"placement" gorm:"type:varchar"`
|
||||
StatusId int `json:"status_id" gorm:"type:int4"`
|
||||
IsPublish bool `json:"is_publish" gorm:"type:bool;default:true"`
|
||||
IsPublish bool `json:"is_publish" gorm:"type:bool"`
|
||||
IsActive bool `json:"is_active" gorm:"type:bool;default:true"`
|
||||
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
|
||||
UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"`
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ type AdvertisementRepository interface {
|
|||
FindOne(id uint) (advertisement *entity.Advertisement, err error)
|
||||
FindByFilename(contentFilename string) (advertisement *entity.Advertisement, err error)
|
||||
Create(advertisement *entity.Advertisement) (advertisementReturn *entity.Advertisement, err error)
|
||||
Update(id uint, advertisement *entity.Advertisement) (err error)
|
||||
Update(id uint, advertisement map[string]interface{}) (err error)
|
||||
Delete(id uint) (err error)
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ func (_i *advertisementRepository) Create(advertisement *entity.Advertisement) (
|
|||
return advertisement, result.Error
|
||||
}
|
||||
|
||||
func (_i *advertisementRepository) Update(id uint, advertisement *entity.Advertisement) (err error) {
|
||||
func (_i *advertisementRepository) Update(id uint, advertisement map[string]interface{}) (err error) {
|
||||
return _i.DB.DB.Model(&entity.Advertisement{}).
|
||||
Where(&entity.Advertisement{ID: id}).
|
||||
Updates(advertisement).Error
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import (
|
|||
config "go-humas-be/config/config"
|
||||
minioStorage "go-humas-be/config/config"
|
||||
"go-humas-be/utils/paginator"
|
||||
utilSvc "go-humas-be/utils/service"
|
||||
"io"
|
||||
"log"
|
||||
"math/rand"
|
||||
|
|
@ -154,7 +155,11 @@ func (_i *advertisementService) Upload(c *fiber.Ctx, id uint) (err error) {
|
|||
result.ContentFileName = &newFilename
|
||||
result.ContentFilePath = &objectName
|
||||
|
||||
err = _i.Repo.Update(id, result)
|
||||
resultMaps, err := utilSvc.StructToMap(result)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = _i.Repo.Update(id, resultMaps)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -172,10 +177,21 @@ func (_i *advertisementService) Upload(c *fiber.Ctx, id uint) (err error) {
|
|||
|
||||
func (_i *advertisementService) Update(id uint, req request.AdvertisementUpdateRequest) (err error) {
|
||||
_i.Log.Info().Interface("data", req).Msg("")
|
||||
return _i.Repo.Update(id, req.ToEntity())
|
||||
resultMaps, err := utilSvc.StructToMap(req.ToEntity())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return _i.Repo.Update(id, resultMaps)
|
||||
}
|
||||
|
||||
func (_i *advertisementService) UpdatePublish(id uint, isPublish bool) (err error) {
|
||||
_i.Log.Info().Str("timestamp", time.Now().
|
||||
Format(time.RFC3339)).Str("Service:Resource", "UpdatePublish").
|
||||
Interface("ids", id).Msg("")
|
||||
_i.Log.Info().Str("timestamp", time.Now().
|
||||
Format(time.RFC3339)).Str("Service:Resource", "UpdatePublish").
|
||||
Interface("isPublish", isPublish).Msg("")
|
||||
|
||||
result, err := _i.Repo.FindOne(id)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -183,7 +199,15 @@ func (_i *advertisementService) UpdatePublish(id uint, isPublish bool) (err erro
|
|||
|
||||
result.IsPublish = isPublish
|
||||
|
||||
return _i.Repo.Update(id, result)
|
||||
_i.Log.Info().Str("timestamp", time.Now().
|
||||
Format(time.RFC3339)).Str("Service:Resource", "UpdatePublish").
|
||||
Interface("result", result).Msg("")
|
||||
|
||||
resultMaps, err := utilSvc.StructToMap(result)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return _i.Repo.Update(id, resultMaps)
|
||||
}
|
||||
|
||||
func (_i *advertisementService) Delete(id uint) error {
|
||||
|
|
@ -193,7 +217,12 @@ func (_i *advertisementService) Delete(id uint) error {
|
|||
}
|
||||
|
||||
result.IsActive = false
|
||||
return _i.Repo.Update(id, result)
|
||||
|
||||
resultMaps, err := utilSvc.StructToMap(result)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return _i.Repo.Update(id, resultMaps)
|
||||
}
|
||||
|
||||
func (_i *advertisementService) Viewer(c *fiber.Ctx) (err error) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package service
|
|||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/json"
|
||||
"math/big"
|
||||
"strings"
|
||||
"unicode"
|
||||
|
|
@ -46,3 +47,18 @@ func GenerateNumericCode(codeLength int) (string, error) {
|
|||
|
||||
return string(result), nil
|
||||
}
|
||||
|
||||
func StructToMap(obj interface{}) (map[string]interface{}, error) {
|
||||
var result map[string]interface{}
|
||||
jsonData, err := json.Marshal(obj)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal(jsonData, &result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue