Files
work_cation/service/erlangCard.go
T
2024-09-13 18:19:27 +08:00

52 lines
1.2 KiB
Go

package service
import (
"encoding/json"
"os"
"path/filepath"
"work_cation/cfg"
"work_cation/global"
"work_cation/models"
"work_cation/repo"
)
type ErlangCardService struct{}
var ErlangCard = &ErlangCardService{}
func (*ErlangCardService) Create(erlangCard *models.ErlangCards) error {
err := os.Mkdir(filepath.Join(cfg.T.CardDir, erlangCard.UUID), os.ModeDir)
if err != nil {
return err
}
info, err := os.Create(filepath.Join(cfg.T.CardDir, erlangCard.UUID, cfg.T.CardInfo))
if err != nil {
return err
}
jsonB, err := json.Marshal(erlangCard)
if err != nil {
return err
}
_, err = info.Write(jsonB)
if err != nil {
return err
}
err = repo.ErlangCardRepo.Create(global.DB, erlangCard)
if err != nil {
return err
}
return nil
}
func (*ErlangCardService) GetInfoPath(erlangCard *models.ErlangCards) string {
return filepath.Join(cfg.T.CardDir, erlangCard.UUID, cfg.T.CardInfo)
}
func (*ErlangCardService) GetImageDir(erlangCard *models.ErlangCards) []string {
var coverPaths []string
for _, cover := range erlangCard.Covers {
coverPaths = append(coverPaths, filepath.Join(cfg.T.CardDir, erlangCard.UUID, cover))
}
return coverPaths
}