Skip to content

Commit 5175c5b

Browse files
author
沈硕
committed
Merge branch 'pre' into 'main'
GMT调用区服 See merge request codo/codo-cmdb!126
2 parents 74a597c + 66e0534 commit 5175c5b

File tree

6 files changed

+345
-13
lines changed

6 files changed

+345
-13
lines changed

cmdb/handlers/area_handler.py

Lines changed: 74 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@
88

99
from tornado.concurrent import run_on_executor
1010

11-
1211
from libs.base_handler import BaseHandler
1312
from services.area_service import (
14-
get_big_area_list,
15-
get_area_list,
16-
create_or_update_big_area,
1713
create_area,
18-
delete_big_area,
14+
create_or_update_big_area,
1915
delete_area,
16+
delete_big_area,
17+
get_area_list,
2018
get_big_area_detail,
19+
get_big_area_detail_for_gmt,
20+
get_big_area_list,
21+
get_big_area_list_for_gmt,
2122
update_area,
2223
)
2324
from services.env_service import env_checker
@@ -171,11 +172,76 @@ def prepare(self):
171172
return super().prepare()
172173

173174

175+
class CBBBigAreaForGMTHandler(CBBBigAreaHandler):
176+
_thread_pool = ThreadPoolExecutor(3)
177+
178+
@run_on_executor(executor="_thread_pool")
179+
def async_get_big_area_list(self):
180+
if not self.request_tenantid:
181+
biz_id = self.params.get("biz_id")
182+
else:
183+
biz_id = self.request_tenantid
184+
self.params.update(biz_id=biz_id)
185+
return get_big_area_list_for_gmt(**self.params)
186+
187+
async def get(self):
188+
res = await self.async_get_big_area_list()
189+
return self.write(res)
190+
191+
192+
class CBBBigAreaDetailForGMTHandler(BaseHandler, ABC):
193+
_thread_pool = ThreadPoolExecutor(3)
194+
195+
@run_on_executor(executor="_thread_pool")
196+
def async_get_big_area_detail(self):
197+
if not self.request_tenantid:
198+
biz_id = self.params.get("biz_id")
199+
else:
200+
biz_id = self.request_tenantid
201+
202+
self.params.update(biz_id=biz_id)
203+
return get_big_area_detail_for_gmt(**self.params)
204+
205+
async def get(self):
206+
res = await self.async_get_big_area_detail()
207+
return self.write(res)
208+
209+
210+
class CBBAreaForGMTHandler(CBBAreaHandler): ...
211+
212+
174213
area_urls = [
175214
(r"/cbb_area/area/", CBBAreaHandler, {"handle_name": "配置平台-区服管理", "method": ["ALL"]}),
176215
(r"/cbb_area/big_area/", CBBBigAreaHandler, {"handle_name": "配置平台-大区管理", "method": ["ALL"]}),
177216
(r"/cbb_area/big_area/detail/", CBBBigAreaDetailHandler, {"handle_name": "配置平台-大区详情", "method": ["GET"]}),
178-
(r"/cbb_area/without_prd/area/", CBBAreaWithoutPrdHandler, {"handle_name": "配置平台-区服管理-非生产环境", "method": ["ALL"]}),
179-
(r"/cbb_area/without_prd/big_area/",CBBBigAreaWithoutPrdHandler, {"handle_name": "配置平台-大区管理-非生产环境", "method": ["ALL"]}),
180-
(r"/cbb_area/without_prd/big_area/detail/",CBBBigAreaDetailWithoutPrdHandler, {"handle_name": "配置平台-大区详情-非生产环境", "method": ["GET"]}),
217+
(
218+
r"/cbb_area/without_prd/area/",
219+
CBBAreaWithoutPrdHandler,
220+
{"handle_name": "配置平台-区服管理-非生产环境", "method": ["ALL"]},
221+
),
222+
(
223+
r"/cbb_area/without_prd/big_area/",
224+
CBBBigAreaWithoutPrdHandler,
225+
{"handle_name": "配置平台-大区管理-非生产环境", "method": ["ALL"]},
226+
),
227+
(
228+
r"/cbb_area/without_prd/big_area/detail/",
229+
CBBBigAreaDetailWithoutPrdHandler,
230+
{"handle_name": "配置平台-大区详情-非生产环境", "method": ["GET"]},
231+
),
232+
(
233+
r"/cbb_area/gmt/big_area/",
234+
CBBBigAreaForGMTHandler,
235+
{"handle_name": "配置平台-大区管理-GMT专用", "method": ["ALL"]},
236+
),
237+
(
238+
r"/cbb_area/gmt/big_area/detail/",
239+
CBBBigAreaDetailForGMTHandler,
240+
{"handle_name": "配置平台-大区详情-GMT专用", "method": ["GET"]},
241+
),
242+
(
243+
r"/cbb_area/gmt/area/",
244+
CBBAreaForGMTHandler,
245+
{"handle_name": "配置平台-区服管理-GMT专用", "method": ["ALL"]},
246+
),
181247
]

cmdb/handlers/env_handler.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,14 @@ def get(self):
7777
return self.write(res)
7878

7979

80+
class EnvListForGMTHandler(BaseHandler, ABC):
81+
def get(self):
82+
if self.request_tenantid:
83+
self.params.update(biz_id=self.request_tenantid)
84+
res = get_env_list_for_api_v2(**self.params)
85+
return self.write(res)
86+
87+
8088
env_urls = [
8189
(
8290
r"/cbb_area/env/",
@@ -103,4 +111,9 @@ def get(self):
103111
EnvListWithoutPrdHandler,
104112
{"handle_name": "配置平台-环境列表-非生产环境", "method": ["GET"]},
105113
),
114+
(
115+
r"/cbb_area/gmt/env/list/",
116+
EnvListForGMTHandler,
117+
{"handle_name": "配置平台-环境列表-GMT环境", "method": ["GET"]},
118+
),
106119
]

db_sync.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from models.env import Base as EnvBase
2020
from models.secret import Base as SecretBase
2121
from models.agent import Base as AgentBase
22+
from models.cbb_area import Base as CbbAreaBase
2223

2324

2425
default_configs = app_settings[const.DB_CONFIG_ITEM][const.DEFAULT_DB_KEY]
@@ -48,6 +49,7 @@ def create():
4849
EnvBase.metadata.create_all(engine)
4950
SecretBase.metadata.create_all(engine)
5051
AgentBase.metadata.create_all(engine)
52+
CbbAreaBase.metadata.create_all(engine)
5153
print('[Success] 表结构创建成功!')
5254

5355

models/cbb_area.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from sqlalchemy import Column, Integer, String, Text, UniqueConstraint
2+
from sqlalchemy.ext.declarative import declarative_base
3+
4+
from models.base import TimeBaseModel
5+
6+
Base = declarative_base()
7+
8+
9+
class CBBBigAreaModels(TimeBaseModel, Base):
10+
__tablename__ = "t_cbb_big_area"
11+
12+
id = Column("id", Integer, primary_key=True, autoincrement=True)
13+
biz_id = Column("biz_id", String(15), index=True, comment="业务ID")
14+
env_id = Column("env_id", String(15), index=True, comment="环境ID")
15+
big_area = Column("big_area", String(255), index=True, comment="大区")
16+
idip = Column("idip", String(255), comment="idip")
17+
app_secret = Column("app_secret", Text, comment="app_secret")
18+
description = Column("description", String(255), default="", comment="备注")
19+
20+
__table_args__ = (UniqueConstraint("biz_id", "env_id", "big_area", name="biz_env_big_area_unique"),)

0 commit comments

Comments
 (0)