|
- package apps
-
- import (
- "context"
- "github.com/zeromicro/go-zero/core/logx"
- "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc"
- "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/constants"
- "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
- )
-
- type DeleteAppByAppNameLogic struct {
- logx.Logger
- ctx context.Context
- svcCtx *svc.ServiceContext
- }
-
- func NewDeleteAppByAppNameLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteAppByAppNameLogic {
- return &DeleteAppByAppNameLogic{
- Logger: logx.WithContext(ctx),
- ctx: ctx,
- svcCtx: svcCtx,
- }
- }
-
- func (l *DeleteAppByAppNameLogic) DeleteAppByAppName(req *types.DeleteAppReq) (resp *types.DeleteAppResp, err error) {
- resp = &types.DeleteAppResp{}
- var task = &Task{}
- //查询应用的yamlString
- l.svcCtx.DbEngin.Raw(`select * from task where ns_id= ? and name= ? AND deleted_at IS NULL`, req.NsID, req.Name).Scan(&task)
- if task.Id == 0 {
- resp.Code = 500
- resp.Msg = "App not fount"
- return resp, err
- }
- //删除主任务信息
- l.svcCtx.DbEngin.Model(&models.Task{}).Where("id", task.Id).Update("status", constants.Deleted)
- tx := l.svcCtx.DbEngin.Delete(&models.Task{}, task.Id)
- if tx.Error != nil {
- return nil, tx.Error
- }
- // 将子任务状态修改为待删除
- tx = l.svcCtx.DbEngin.Model(&models.Cloud{}).Where("task_id", task.Id).Update("status", constants.WaitDelete)
- l.svcCtx.DbEngin.Where("task_id = ?", task.Id).Delete(&models.Cloud{})
- if tx.Error != nil {
- return nil, tx.Error
- }
- return
- }
|