image_service_edit.py 3.6 KB
# coding=utf-8
#author:        4N
#createtime:    2021/9/17
#email:         nheweijun@sina.com


from app.util.component.ApiTemplate import ApiTemplate
import requests
from app.util.component.UserCheck import UserCheck
from ..util.ServiceType import ServiceType
import json
class Api(ApiTemplate):

    api_name = "修改ImageService服务"

    def process(self):
        # 返回结果
        res = {}
        try:

            user_req: requests.Response = requests.post("{}/API/Service/Info".format(self.para.get("url")),
                                                        data={"guid":self.para.get("guid")})
            if user_req.status_code == 200:
                if not user_req.json().get("result"):
                    raise Exception("服务不存在!")
            else:
                raise Exception("影像服务器连接失败!")
            # 验证权限
            UserCheck.verify(user_req.json().get("data").get("service").get("creator"))

            url = "{}/API/Service/Edit".format(self.para.get("url"))

            # 转换Null值
            for key in self.para.keys():
                if self.para[key] is None:
                    self.para[key] = ""
            response:requests.Response = requests.post(url,data=self.para)
            if response.status_code == 200:
                if not response.json().get("result"):
                    raise Exception("由于{},影像地图修改失败!".format(response.json().get("msg")))
            else:
                raise Exception("影像服务器连接失败!")
            res["result"] = True
        except Exception as e:
            raise e
        return res

    api_doc = {
        "tags": ["影像服务接口"],
        "parameters": [

            {"name": "guid",
             "in": "formData",
             "type": "string",
             "description": "服务guid"},

            {"name": "type",
             "in": "formData",
             "type": "string",
             "enum": [ServiceType.image_service.value],
             },

            {"name": "url",
             "in": "formData",
             "type": "string",
             "description": "服务地址"},

            {"name": "name",
             "in": "formData",
             "type": "string",
             "description": "[矢量地图,电子地图,影像地图]"},
            {"name": "title",
             "in": "formData",
             "type": "string",
             "description": "[矢量地图,电子地图,影像地图]"},
            {"name": "description",
             "in": "formData",
             "type": "string",
             "description": "[矢量地图,电子地图,影像地图]"},

            {"name": "catalog_guid",
             "in": "formData",
             "type": "string",
             "description": "[矢量地图,电子地图,影像地图]"},

            {"name": "functions",
             "in": "formData",
             "type": "string",
             "description": "[矢量地图,影像地图]以逗号相隔,可选WMTS,WMS"},

            # 影像参数
            {"name": "image_guids",
             "in": "formData",
             "type": "string",
             "description": "[影像地图]影像guids,以英文逗号相隔"},
            {"name": "scheme",
             "in": "formData",
             "type": "string",
             "description": "切片方案"},


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