拓展类型 自定义工具类型
This commit is contained in:
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user