修正基本架构逻辑,基本实现离线功能

This commit is contained in:
2024-10-11 01:03:17 +08:00
parent 1a0a9466d8
commit 0716c82833
14 changed files with 331 additions and 96 deletions
+17
View File
@@ -2,6 +2,9 @@ package service
import (
"gorm.io/gorm"
"os"
"path/filepath"
"work_cation/cfg"
"work_cation/models"
"work_cation/repo"
)
@@ -13,3 +16,17 @@ var BaseCard = &BaseCardService{}
func (*BaseCardService) Create(db *gorm.DB, baseCard models.BaseCard) {
repo.BaseCard.Create(db, &baseCard)
}
func (*BaseCardService) Update(db *gorm.DB, updateCard models.BaseCard) {
}
func (*BaseCardService) Delete(db *gorm.DB, deleteCard models.BaseCard) error {
fileDir := filepath.Join(cfg.T.CardDir, deleteCard.UUID)
err := os.RemoveAll(fileDir)
if err != nil {
return err
}
err = db.Model(&models.BaseCard{}).Where("uuid = ?", deleteCard.UUID).Delete(&deleteCard).Error
return err
}
+6 -18
View File
@@ -5,7 +5,6 @@ import (
"gorm.io/gorm"
"os"
"path/filepath"
"time"
"work_cation/cfg"
"work_cation/global"
"work_cation/models"
@@ -17,6 +16,9 @@ type erlangCardService struct{}
var ErlangCard = &erlangCardService{}
func (*erlangCardService) Create(erlangCard *models.ErlangCards) error {
if len(erlangCard.VarName) == 0 {
erlangCard.ToolType = models.ToolTypeNoVarErlang
}
err := os.Mkdir(filepath.Join(cfg.T.CardDir, erlangCard.UUID), os.ModeDir)
if err != nil {
return err
@@ -25,6 +27,7 @@ func (*erlangCardService) Create(erlangCard *models.ErlangCards) error {
if err != nil {
return err
}
defer info.Close()
jsonB, err := json.Marshal(erlangCard)
if err != nil {
return err
@@ -33,24 +36,9 @@ func (*erlangCardService) Create(erlangCard *models.ErlangCards) error {
if err != nil {
return err
}
return global.DB.Transaction(func(tx *gorm.DB) error {
err = repo.ErlangCardRepo.Create(global.DB, erlangCard)
if err != nil {
return err
}
var baseCard = models.BaseCard{
UUID: erlangCard.UUID,
UserID: erlangCard.UserID,
Title: erlangCard.Title,
Text: erlangCard.Text,
Covers: erlangCard.Covers,
ToolType: models.ToolTypeErlang,
UpdateTx: time.Now(),
Number: 0,
Goods: 0,
Collection: 0,
}
var baseCard = erlangCard.BaseCard
err = repo.BaseCard.Create(global.DB, &baseCard)
return err
})