task_delete.py 1.8 KB
# coding=utf-8
#author:        4N
#createtime:    2020/9/4
#email:         nheweijun@sina.com

from app.models import db,Task


from app.util.component.ApiTemplate import ApiTemplate


class Api(ApiTemplate):
    api_name = "删除任务"
    def para_check(self):
        pass

    def process(self):
        res = {}
        try:
            task_guid = self.para.get("task_guid")
            state = self.para.get("state")
            creator = self.para.get("creator")

            tasks = Task.query
            if task_guid:
                tasks = tasks.filter_by(guid=task_guid)
            if state:
                state = int(state)
                tasks = tasks.filter_by(state=state)
            if creator:
                tasks = tasks.filter_by(creator=creator)
            tasks = tasks.all()

            if not tasks:
                res["result"] = False
                res["msg"] = "数据不存在!"
                return res
            else:
                for task in tasks:
                    db.session.delete(task)
                db.session.commit()
                res["msg"] = "删除成功!"
                res["result"] = True
        except Exception as e:
            db.session.rollback()
            raise e
        return res


    api_doc = {
        "tags": ["任务接口"],
        "parameters": [
            {"name": "task_guid",
             "in": "formData",
             "type": "string"},
            {"name": "state",
             "in": "formData",
             "type": "string"},
            {"name": "creator",
             "in": "formData",
             "type": "string"},

        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }