123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- # -*- coding: utf-8 -*-
- # !/usr/bin/env python
- import logging
- import simplejson as json
- from typing import TYPE_CHECKING
- from apps.web.api.exceptions import ApiParameterError
- from apps.web.api.utils import api_call, api_ok_response, api_exception_response
- from apps.web.api.views import send_api_order
- logger = logging.getLogger(__name__)
- if TYPE_CHECKING:
- from django.core.handlers.wsgi import WSGIRequest
- from apps.web.dealer.models import Dealer
- from apilib.utils_json import JsonResponse
- @api_call(logger = logger, nil = api_exception_response())
- def getPortStatusFromYtb(request, dealer):
- # type: (WSGIRequest, Dealer)->JsonResponse
- payload = json.loads(request.body) if request.body else {}
- default_params_list = ['deviceCode']
- params_list = payload.keys()
- # 1. 判断差集
- different_params_list = list(set(default_params_list) - set(params_list))
- if len(different_params_list) != 0:
- raise ApiParameterError(errmsg=u'参数内容错误')
- # 2. 判断个数
- if len(params_list) != len(default_params_list):
- raise ApiParameterError(errmsg=u'参数错误')
- # 3. 调用api
- resultDict = send_api_order(payload=payload, dealer=dealer, func='apiGetPortStatusFromYtb')
- return api_ok_response(payload=resultDict)
- @api_call(logger=logger, nil=api_exception_response())
- def getPortInfoFromYtb(request, dealer):
- # type: (WSGIRequest, Dealer)->JsonResponse
- payload = json.loads(request.body) if request.body else {}
- default_params_list = ['deviceCode', 'port']
- params_list = payload.keys()
- # 1. 判断差集
- different_params_list = list(set(default_params_list) - set(params_list))
- if len(different_params_list) != 0:
- raise ApiParameterError(errmsg=u'参数内容错误')
- # 2. 判断个数
- if len(params_list) != len(default_params_list):
- raise ApiParameterError(errmsg=u'参数错误')
- # 3. 调用api
- resultDict = send_api_order(payload=payload, dealer=dealer, func='apiGetPortInfoFromYtb')
- return api_ok_response(payload=resultDict)
- @api_call(logger=logger, nil=api_exception_response())
- def stopChargingPortForYtb(request, dealer):
- # type: (WSGIRequest, Dealer)->JsonResponse
- payload = json.loads(request.body) if request.body else {}
- default_params_list = ['deviceCode', 'port']
- params_list = payload.keys()
- # 1. 判断差集
- different_params_list = list(set(default_params_list) - set(params_list))
- if len(different_params_list) != 0:
- raise ApiParameterError(errmsg=u'参数内容错误')
- # 2. 判断个数
- if len(params_list) != len(default_params_list):
- raise ApiParameterError(errmsg=u'参数错误')
- # 3. 调用api
- resultDict = send_api_order(payload=payload, dealer=dealer, func='apiStopChargingPortForYtb')
- return api_ok_response(payload=resultDict)
- @api_call(logger = logger, nil = api_exception_response())
- def startDeviceForYtb(request, dealer):
- # type: (WSGIRequest, Dealer)->JsonResponse
- payload = json.loads(request.body) if request.body else {}
- default_params_list = ['deviceCode', 'packageId', 'port']
- params_list = payload.keys()
- # 1. 判断差集
- different_params_list = list(set(default_params_list) - set(params_list))
- if len(different_params_list) != 0:
- raise ApiParameterError(errmsg=u'参数内容错误')
- # 2. 判断个数
- if len(params_list) != len(default_params_list):
- raise ApiParameterError(errmsg=u'参数错误')
- # 3. 调用api
- resultDict = send_api_order(payload=payload, dealer=dealer, func='apiStartDeviceForYtb')
- return api_ok_response(payload=resultDict)
|