diff --git a/internal/db/models/dns/dns_task_dao.go b/internal/db/models/dns/dns_task_dao.go index b1be0522..4b8b34a8 100644 --- a/internal/db/models/dns/dns_task_dao.go +++ b/internal/db/models/dns/dns_task_dao.go @@ -155,6 +155,12 @@ func (this *DNSTaskDAO) DeleteDNSTask(tx *dbs.Tx, taskId int64) error { return err } +// DeleteAllDNSTasks 删除所有任务 +func (this *DNSTaskDAO) DeleteAllDNSTasks(tx *dbs.Tx) error { + return this.Query(tx). + DeleteQuickly() +} + // UpdateDNSTaskError 设置任务错误 func (this *DNSTaskDAO) UpdateDNSTaskError(tx *dbs.Tx, taskId int64, err string) error { if taskId <= 0 { diff --git a/internal/db/models/node_task_dao.go b/internal/db/models/node_task_dao.go index 41e7b03a..c70c2fb7 100644 --- a/internal/db/models/node_task_dao.go +++ b/internal/db/models/node_task_dao.go @@ -233,6 +233,12 @@ func (this *NodeTaskDAO) DeleteNodeTasks(tx *dbs.Tx, role string, nodeId int64) return err } +// DeleteAllNodeTasks 删除所有节点相关任务 +func (this *NodeTaskDAO)DeleteAllNodeTasks(tx *dbs.Tx) error { + return this.Query(tx). + DeleteQuickly() +} + // FindDoingNodeTasks 查询一个节点的所有任务 func (this *NodeTaskDAO) FindDoingNodeTasks(tx *dbs.Tx, role string, nodeId int64, version int64) (result []*NodeTask, err error) { if nodeId <= 0 { diff --git a/internal/rpc/services/service_dns_task.go b/internal/rpc/services/service_dns_task.go index 4075f495..e25937e5 100644 --- a/internal/rpc/services/service_dns_task.go +++ b/internal/rpc/services/service_dns_task.go @@ -117,3 +117,19 @@ func (this *DNSTaskService) DeleteDNSTask(ctx context.Context, req *pb.DeleteDNS } return this.Success() } + +// DeleteAllDNSTasks 删除所有同步任务 +func (this *DNSTaskService) DeleteAllDNSTasks(ctx context.Context, req *pb.DeleteAllDNSTasksRequest) (*pb.RPCSuccess, error) { + _, err := this.ValidateAdmin(ctx) + if err != nil { + return nil, err + } + + var tx = this.NullTx() + err = dns.SharedDNSTaskDAO.DeleteAllDNSTasks(tx) + if err != nil { + return nil, err + } + + return this.Success() +} \ No newline at end of file diff --git a/internal/rpc/services/service_node_task.go b/internal/rpc/services/service_node_task.go index 63f015b2..5651fb78 100644 --- a/internal/rpc/services/service_node_task.go +++ b/internal/rpc/services/service_node_task.go @@ -216,6 +216,22 @@ func (this *NodeTaskService) DeleteNodeTasks(ctx context.Context, req *pb.Delete return this.Success() } +// DeleteAllNodeTasks 删除所有任务 +func (this *NodeTaskService) DeleteAllNodeTasks(ctx context.Context, req *pb.DeleteAllNodeTasksRequest) (*pb.RPCSuccess, error) { + _, err := this.ValidateAdmin(ctx) + if err != nil { + return nil, err + } + + var tx = this.NullTx() + err = models.SharedNodeTaskDAO.DeleteAllNodeTasks(tx) + if err != nil { + return nil, err + } + + return this.Success() +} + // CountDoingNodeTasks 计算正在执行的任务数量 func (this *NodeTaskService) CountDoingNodeTasks(ctx context.Context, req *pb.CountDoingNodeTasksRequest) (*pb.RPCCountResponse, error) { _, err := this.ValidateAdmin(ctx)