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 }