Version: 0.2.2.dev.260210
feat: 🗑️ 新增删除任务块接口 - 实现 schedules、schedule_events 与 task_items 三表的联动删除 - 保证数据一致性,避免遗留脏数据 ✅
This commit is contained in:
@@ -2,6 +2,7 @@ package dao
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/LoveLosita/smartflow/backend/model"
|
||||
"github.com/LoveLosita/smartflow/backend/respond"
|
||||
@@ -158,12 +159,15 @@ func (dao *TaskClassDAO) GetTaskClassItemByID(ctx context.Context, id int) (*mod
|
||||
|
||||
func (dao *TaskClassDAO) GetTaskClassIDByTaskItemID(ctx context.Context, itemID int) (int, error) {
|
||||
var item model.TaskClassItem
|
||||
err := dao.db.WithContext(ctx).
|
||||
res := dao.db.WithContext(ctx).
|
||||
Select("category_id").
|
||||
Where("id = ?", itemID).
|
||||
First(&item).Error
|
||||
if err != nil {
|
||||
return 0, err
|
||||
First(&item)
|
||||
if res.Error != nil {
|
||||
if errors.Is(res.Error, gorm.ErrRecordNotFound) {
|
||||
return 0, respond.TaskClassItemNotFound
|
||||
}
|
||||
return 0, res.Error
|
||||
}
|
||||
return *item.CategoryID, nil
|
||||
}
|
||||
@@ -207,3 +211,10 @@ func (dao *TaskClassDAO) IfTaskClassItemArranged(ctx context.Context, taskID int
|
||||
}
|
||||
return item.EmbeddedTime != nil, nil
|
||||
}
|
||||
|
||||
func (dao *TaskClassDAO) DeleteTaskClassItemByID(ctx context.Context, id int) error {
|
||||
err := dao.db.WithContext(ctx).
|
||||
Where("id = ?", id).
|
||||
Delete(&model.TaskClassItem{}).Error
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user