拓展类型 自定义工具类型

This commit is contained in:
2024-10-10 18:22:50 +08:00
parent 3b69ba93ad
commit 1a0a9466d8
14 changed files with 374 additions and 31 deletions
+15
View File
@@ -0,0 +1,15 @@
package service
import (
"gorm.io/gorm"
"work_cation/models"
"work_cation/repo"
)
type BaseCardService struct{}
var BaseCard = &BaseCardService{}
func (*BaseCardService) Create(db *gorm.DB, baseCard models.BaseCard) {
repo.BaseCard.Create(db, &baseCard)
}
+54
View File
@@ -0,0 +1,54 @@
package service
import (
"encoding/json"
"gorm.io/gorm"
"os"
"path/filepath"
"work_cation/cfg"
"work_cation/global"
"work_cation/models"
"work_cation/pkg/utils"
"work_cation/repo"
)
type ExecFileService struct{}
var ExecFile = new(ExecFileService)
func (*ExecFileService) Create(info *models.ExecFiles, chooseDir string) error {
infoPath := filepath.Join(cfg.T.CardDir, info.UUID)
//if err := os.RemoveAll(infoPath); err != nil && !os.IsNotExist(err) {
// dialog.ShowInformation("删除失败", err.Error(), w)
// return
//}
if err := utils.File.CopyDir(chooseDir, infoPath); err != nil {
return err
}
fs, err := os.ReadDir(chooseDir)
if err != nil {
return err
}
for _, f := range fs {
info.Files = append(info.Files, f.Name())
}
jsonB, err := json.Marshal(info)
if err != nil {
return err
}
file, err := os.Create(filepath.Join(infoPath, cfg.T.CardInfo))
if err != nil {
return err
}
defer file.Close()
_, err = file.Write(jsonB)
if err != nil {
return err
}
return global.DB.Transaction(func(tx *gorm.DB) error {
var baseCard = info.BaseCard
return repo.BaseCard.Create(tx, &baseCard)
})
}