表单数据持久化

This commit is contained in:
2024-09-13 18:19:27 +08:00
parent 951572a1f5
commit 250ffb4e20
9 changed files with 186 additions and 86 deletions
+51
View File
@@ -0,0 +1,51 @@
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
}