修正基本架构逻辑,基本实现离线功能
This commit is contained in:
@@ -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
@@ -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
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user