service_delete.py 1.9 KB
# coding=utf-8
#author:        4N
#createtime:    2021/9/14
#email:         nheweijun@sina.com
from app.util.component.ApiTemplate import ApiTemplate

from app.models import db
from app.modules.service.models import Service
from app.modules.service.models import ServiceEngine
from app.modules.service.models import TileService
from app.modules.service.models import MapService
class Api(ApiTemplate):

    api_name = "服务删除"

    def process(self):

        # 返回结果
        res = {}

        try:
            guid = self.para.get("guid")

            #删除本地服务
            service = Service.query.filter_by(guid=guid).one_or_none()
            if service:
                if service.type.__eq__("切片服务"):
                    #调用接口
                    tile_service = TileService.query.filter_by(service_guid=guid).one_or_none()
                    db.session.delete(tile_service)
                if service.type.__eq__("地图服务"):
                    map_service = MapService.query.filter_by(service_guid=guid).one_or_none()
                    db.session.delete(map_service)
                service_functions = service.relate_service_functions.all()
                for function in service_functions:
                    db.session.delete(function)
                db.session.delete(service)
            else:
                pass



            db.session.commit()
            res["result"] = True
        except Exception as e:
            raise e

        return res

    api_doc = {
        "tags": ["服务接口"],
        "parameters": [
            {"name": "guid",
             "in": "formData",
             "type": "string",
             "description": "guid"},
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }