def manage_parameter(request): # 0.1S try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) else: if token_module.authenticate(username, token) != 2: return JsonResponse({ 'code': -2, 'msg': '账号无权限' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) if request.method == 'POST': d = json_transfer(request.body) code = eh.manage_parameter(d) msg = {0: '失败!', 1: '成功!'} return JsonResponse({ 'code': code, 'msg': msg[code] }, json_dumps_params={'ensure_ascii': False})
def equip_all_info(request): # 0.11 try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) e_code_dict = {} if request.method == 'POST': d = json_transfer(request.body) print(d) username = request.headers['username'] useradmin = token_module.authenticate(username, token) e_code_dict = {'2': '0101', '3': '0102', '4': '03%', '': ''} # print(websocket_client.pool) records = eh.equip_all_info(e_code_dict[d['e_code']], username, useradmin) return JsonResponse({'records': records}, json_dumps_params={'ensure_ascii': False})
def chongqing_statistic(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) start = str(int(json_transfer(request.body)['start'])) end = str(int(json_transfer(request.body)['end'])) district = json_transfer(request.body)['district'] station_id = json_transfer(request.body)['station_id'] return JsonResponse({ 'records': eh.chongqing_statistic(username, start, end, district, station_id) })
def add_equipments(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) else: if token_module.authenticate(username, token) != 2: return JsonResponse({ 'code': -2, 'msg': '账号无权限' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) if request.method == 'POST': d = json_transfer(request.body) print(d) code = eh.add_equipments(d) msg = { 0: '失败!', 1: '成功!', 2: '设备station_id重复', 3: '设备名重复', 4: '设备addr_value重复', 5: '辅助设备station_id重复', 6: '辅助设备名重复', 7: '辅助设备eid重复' } return JsonResponse({ 'code': code, 'msg': msg[code] }, json_dumps_params={'ensure_ascii': False})
def district_station(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) return JsonResponse({'records': eh.district_station(username)})
def unconnected_assist_equip(request): # 0.14 try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) return JsonResponse({'records': eh.unconnected_assist_equip()}, json_dumps_params={'ensure_ascii': False})
def get_live_data(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({'code': -1, 'msg': '登录过期'}, json_dumps_params={'ensure_ascii':False}) except: return JsonResponse({'code': -1, 'msg': '缺少token/username'}, json_dumps_params={'ensure_ascii':False}) if request.method == 'POST': current_data = cd.current_data() d = json_transfer(request.body) eid = d['eid'] data = {} try: return JsonResponse(current_data.data_box[eid], json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({"result":None}, json_dumps_params={'ensure_ascii': False})
def get_report(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) return JsonResponse({ 'records': eh.get_report( json_transfer(request.body)['station_id'], json_transfer(request.body)['time']) })
def kriging(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) if request.method == 'POST': d = json_transfer(request.body) timestamp = str(int(d['time']) - int(d['time']) % 3600) return JsonResponse({'records': eh.kriging(username, timestamp)})
def vertical_statistic(request): try: token = request.headers['Token'] username = request.headers['username'] if not token_module.authenticate(username, token): return JsonResponse({ 'code': -1, 'msg': '登录过期' }, json_dumps_params={'ensure_ascii': False}) except: return JsonResponse({ 'code': -1, 'msg': '缺少token/username' }, json_dumps_params={'ensure_ascii': False}) day_1 = json_transfer(request.body)['day_1'] day_2 = json_transfer(request.body)['day_2'] district = json_transfer(request.body)['district'] station_id = json_transfer(request.body)['station_id'] return JsonResponse({ 'records': eh.vertical_statistic(username, day_1, day_2, district, station_id) })
async def receive_json(self, content, **kwargs): # if 'username' not in content: if content['data_type'] == 'live_data': current_data = cd.current_data() self.eid = content['eid'] last_eid = content['last_eid'] if 'username' and 'token' in content: username = content['username'] token = content['token'] if not token_module.authenticate(username, token): await self.channel_layer.group_send( self.eid, { "type": "test_message", "data": { "data": "token过期", "data_type": "token" } }) useradmin = token_module.authenticate(username, token) if last_eid: await self.channel_layer.group_discard( last_eid, self.channel_name) # self.disconnect(eid) await self.channel_layer.group_add(self.eid, self.channel_name) # picture = 'sun.jpg' try: # data = json.dumps(current_data.data_box[self.eid]) data = current_data.data_box[self.eid] picture_name = cd.get_pic(data) except: # data = json.dumps({"result":None}) data = {"result": None} picture_name = '' await self.channel_layer.group_send( self.eid, { "type": "test_message", "data": { "data": data, "data_type": "live_data", "picture": picture_name } }) else: await self.channel_layer.group_send( self.eid, { "type": "test_message", "data": { "data": "缺少username/token", "data_type": "token" } }) if content['data_type'] == 'real_data': # self.channel_layer.group_send() await self.channel_layer.group_add('real_data', self.channel_name) eid = content['eid'] data = content['data'] for x in data: data[x] = data[x] current_data.new_data(eid, data) data = current_data.data_box[eid] picture_name = cd.get_pic(data) await self.channel_layer.group_send( eid, { "type": "test_message", "data": { "data": data, "data_type": "live_data", "picture": picture_name } }) if content['data_type'] == 'wind_data': current_data = cd.current_data() if 'username' and 'token' in content: self.username = content['username'] token = content['token'] if not token_module.authenticate(self.username, token): await self.channel_layer.group_send( self.username, { "type": "test_message", "data": { "data": "token过期", "data_type": "token" } }) useradmin = token_module.authenticate(self.username, token) await self.channel_layer.group_add(self.username, self.channel_name) wind_data = wd.create_data(self.username) if wind_data["data"]: await self.channel_layer.group_send( self.username, { "type": "test_message", "data": wind_data }) else: await self.channel_layer.group_send( self.username, { "type": "test_message", "data": { "result": None } }) else: await self.channel_layer.group_send( self.eid, { "type": "test_message", "data": { "data": "缺少username/token", "data_type": "token" } })