map_service_edit.py
3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# coding=utf-8
#author: 4N
#createtime: 2021/9/17
#email: nheweijun@sina.com
from app.util.component.ApiTemplate import ApiTemplate
import uuid
from ..models import Service,MapService,db,ServiceFunction
import datetime
class Api(ApiTemplate):
api_name = "修改MapService服务"
def process(self):
# 返回结果
res = {}
try:
guid = self.para.get("guid")
functions = self.para.get("functions")
service = Service.query.filter_by(guid=guid)
this_time = datetime.datetime.now()
service_update = {"update_time":this_time}
map_service_update = {}
for key in self.para.keys():
if key in ["name","title","state","description","overview","catalog_guid"]:
service_update[key] = self.para.get(key)
if key in ["name","tile","project","capabilities"]:
map_service_update[key] = self.para.get(key)
# 修改功能
if functions:
new_types = functions.split(",")
old_functions = ServiceFunction.query.filter_by(service_guid=guid).all()
for function in old_functions:
if function.type not in new_types:
db.session.delete(function)
for new_type in new_types:
if new_type not in [fun.type for fun in old_functions]:
service_function = ServiceFunction(guid=uuid.uuid1().__str__(),type=new_type,
service_guid=guid)
db.session.add(service_function)
map_service = MapService.query.filter_by(service_guid=guid)
if service_update:
service.update(service_update)
if map_service_update:
map_service.update(map_service_update)
db.session.commit()
res["result"] = True
except Exception as e:
raise e
return res
api_doc = {
"tags": ["地图服务接口"],
"parameters": [
{"name": "name",
"in": "formData",
"type": "string",
"required": "true",
"description": "[地图服务,切片服务,影像服务]"},
{"name": "title",
"in": "formData",
"type": "string",
"description": "[地图服务,切片服务,影像服务]"},
{"name": "description",
"in": "formData",
"type": "string",
"description": "[地图服务,切片服务,影像服务]"},
{"name": "catalog_guid",
"in": "formData",
"type": "string",
"description": "[地图服务,切片服务,影像服务]"},
{"name": "layer_style",
"in": "formData",
"type": "string",
"description": "[地图服务,切片服务]图层样式"},
{"name": "functions",
"in": "formData",
"type": "string",
"description": "[地图服务]服务能力,用逗号相隔"},
#地图服务参数
{"name": "capabilities",
"in": "formData",
"type": "int",
"description": "[地图服务]"},
{"name": "project",
"in": "formData",
"type": "string",
"description": "[地图服务]project"},
],
"responses": {
200: {
"schema": {
"properties": {
}
}
}
}
}