123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package admin
- import (
- "errors"
- "fmt"
- "time"
- "github.com/metarare/metarare_api/models"
- )
- func StackLog(obj Log) error {
- var msg string
- switch obj.ActionType {
- case "user":
- msg = fmt.Sprintf("관리자(%d) %s이(가) 유저(%d) 상태를 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID, obj.From, obj.To)
- case "artist":
- if obj.SubActionType == "created" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 작가(%d)를 등록했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID)
- } else if obj.SubActionType == "modified" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 작가(%d) 상태를 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID, obj.From, obj.To)
- }
- case "collection":
- if obj.Target == "collection" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 컬렉션(%d) 상태를 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID, obj.From, obj.To)
- } else if obj.Target == "curation" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 컬렉션(%d) 큐레이션 정보를 %s번으로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID, obj.To)
- }
- case "system":
- if obj.Target == "commission" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 커미션 수수료 값을 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.From, obj.To)
- } else if obj.Target == "special_collection" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 스페셜 컬렉션을 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.From, obj.To)
- } else if obj.Target == "gas_deposit" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 가스 수수료를 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.From, obj.To)
- }
- case "admin":
- if obj.SubActionType == "created" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 새로운 관리자(%d)를 등록했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID)
- } else if obj.SubActionType == "modified" {
- if obj.Target == "status" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 관리자(%d) 상태를 %s에서 %s로 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID, obj.From, obj.To)
- } else if obj.Target == "permission" {
- msg = fmt.Sprintf("관리자(%d) %s이(가) 관리자(%d) 권한을 변경했습니다.", obj.Admin.ID, obj.Admin.Name, obj.TargetID)
- }
- }
- default:
- return errors.New("invalid parameter value")
- }
- adminLog := models.AdminLog{
- AdminID: obj.Admin.ID,
- ActionType: obj.ActionType,
- SubActionType: obj.SubActionType,
- Message: msg,
- ActionedAt: time.Now(),
- }
- if err := obj.DB.Save(&adminLog).Error; err != nil {
- return err
- }
- return nil
- }
|