|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
-
- Copyright (c) [2023] [pcm]
- [pcm-coordinator] is licensed under Mulan PSL v2.
- You can use this software according to the terms and conditions of the Mulan PSL v2.
- You may obtain a copy of Mulan PSL v2 at:
- http://license.coscl.org.cn/MulanPSL2
- THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- EITHER EXPaRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- See the Mulan PSL v2 for more details.
-
- */
-
- package core
-
- import (
- "context"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/constants"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
-
- "gitlink.org.cn/JointCloud/pcm-coordinator/internal/svc"
- "gitlink.org.cn/JointCloud/pcm-coordinator/internal/types"
-
- "github.com/zeromicro/go-zero/core/logx"
- )
-
- type DeleteTaskLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
-
- func NewDeleteTaskLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteTaskLogic {
- return &DeleteTaskLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
-
- func (l *DeleteTaskLogic) DeleteTask(req *types.DeleteTaskReq) error {
- // 删除主任务信息
- l.svcCtx.DbEngin.Model(&models.Task{}).Where("id", req.Id).Update("status", "Deleted")
- tx := l.svcCtx.DbEngin.Delete(&models.Task{}, req.Id)
- if tx.Error != nil {
- return tx.Error
- }
- // 将子任务状态修改为待删除
- tx = l.svcCtx.DbEngin.Model(&models.TaskCloud{}).Where("task_id", req.Id).Update("status", constants.WaitDelete)
- l.svcCtx.DbEngin.Where("task_id = ?", req.Id).Delete(&models.TaskCloud{}, req.Id)
- if tx.Error != nil {
- return tx.Error
- }
- return nil
- }
|