使用axure cloud时间

main
RogerWork 4 days ago
parent 143ca770bd
commit f87eaeb4ce
  1. 21
      dingxin_toolbox_drf/settings.py
  2. 1
      product/urls.py
  3. 43
      product/views.py

@ -43,6 +43,13 @@ CONFIG = {
"USER": "test",
"PASSWORD": "cine123456",
"NAME": "fws_dgp_card_db",
},
'AX_CLOUD_DB': {
"HOST": '172.16.1.63',
"PORT": 3306,
"USER": "root",
"PASSWORD": "Cine123456",
"NAME": "axshare",
}
},
'local': {
@ -62,6 +69,13 @@ CONFIG = {
"USER": "test",
"PASSWORD": "cine123456",
"NAME": "fws_dgp_card_db",
},
'AX_CLOUD_DB': {
"HOST": '172.16.1.63',
"PORT": 3306,
"USER": "root",
"PASSWORD": "Cine123456",
"NAME": "axshare",
}
},
'prd': {
@ -81,6 +95,13 @@ CONFIG = {
"USER": "test",
"PASSWORD": "cine123456",
"NAME": "fws_dgp_card_db",
},
'AX_CLOUD_DB': {
"HOST": '172.16.1.63',
"PORT": 3306,
"USER": "root",
"PASSWORD": "Cine123456",
"NAME": "axshare",
}
}
}

@ -26,4 +26,5 @@ urlpatterns = [
path('prd_update/<pk>/', views.PrdItemViewSet.as_view({'put': 'update'}), name='prd_update'),
path('prd_delete/<pk>/', views.PrdItemViewSet.as_view({'delete': 'destroy'}), name='prd_delete'),
path('prd_history', views.PrdHistoryViewSet.as_view({'get': 'list'}), name='prd_history'),
path('prd_list/ax_cloud', views.PrdItemViewSet.as_view({'get': 'get_ax_cloud_time'}), name='ax_cloud'),
]

@ -1,7 +1,16 @@
from pydoc import pager
from rest_framework import viewsets
from rest_framework.response import Response
from product.serializers import *
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.decorators import action
from product.utils.pagination import PageNumberPagination, CustomPageNumberPagination
import pymysql
from pymysql.cursors import DictCursor
from dingxin_toolbox_drf.settings import CONFIG
from env import *
# Create your views here.
@ -33,6 +42,38 @@ class PrdItemViewSet(viewsets.ModelViewSet):
filterset_fields = ('project',)
pagination_class = CustomPageNumberPagination
@action(methods=['get'], detail=False, url_path='ax_cloud')
def get_ax_cloud_time(self, request):
# 获取数据
queryset = self.get_queryset()
if queryset is not None:
# 获取项目时间
db_config = CONFIG[ENV]['AX_CLOUD_DB']
db = {
'host': db_config['HOST'],
'port': db_config['PORT'],
'user': db_config['USER'],
'password': db_config['PASSWORD'],
'db': db_config['NAME'],
}
print(db)
db_conn = pymysql.Connect(**db)
db_cursor = db_conn.cursor(cursor=DictCursor)
sql = "select Shortcut, ModifiedOn from axshare.axshare_ShortcutKey;"
db_cursor.execute(sql)
ax_cloud_data = db_cursor.fetchall()
db_conn.close()
# 遍历数据
for data in queryset:
shortcut_key = data.prd_doc_link.split(r'/')[-1]
for item in ax_cloud_data:
if item['Shortcut'].lower() == shortcut_key.lower():
data.update_at = item['ModifiedOn']
page = self.paginate_queryset(queryset)
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
return Response(None)
class PrdHistoryViewSet(viewsets.ModelViewSet):
# 字段注释
@ -47,4 +88,4 @@ class PrdHistoryViewSet(viewsets.ModelViewSet):
serializer_class = PrdHistorySerializer
filter_backends = (DjangoFilterBackend,)
# http://127.0.0.1:8000/prd/prd_history?prd_id=1
filterset_fields = ('prd_id',)
filterset_fields = ('prd_id',)

Loading…
Cancel
Save