Commit e4150830 by Aeolus

记录机柜弹出指令弹出充电宝数量

parent 700f3aa5
......@@ -74,3 +74,5 @@ ACCOUNT_STATUS = {
'on_use': 1,
'delete': 2
}
TAKEOUT_RECORD_MAC_NO = ('1909033201020158', '1909033201020159')
# -*- coding: utf-8 -*-
import datetime
import time
from flask import Blueprint, jsonify, request
......@@ -9,8 +10,10 @@ from Libs.Onenet.OneNetApi import OneNetApi
from Model.Base import db
from Model.Machine.MachineModel import Machine
from Model.Power.PowerModel import Power
from Redis_Cache import redis
from Service.ToolService import ToolService
from Config.common_config import NEW_ONENET_CONFIG as new_onenet_config, ONENET_CONFIG as onenet_config
from Config.common_config import NEW_ONENET_CONFIG as new_onenet_config, ONENET_CONFIG as onenet_config, \
TAKEOUT_RECORD_MAC_NO
route_tool = Blueprint('tool', __name__)
......@@ -82,6 +85,8 @@ def take_out_multiple():
if machine_info.life != 1:
return jsonify(MACHINE_NOT_ONLINE)
take_out_success_number = 0
data = {}
for i in hatch_no_list:
command_message = CommandMessage(machine_info.he_cloud_device_id, chr(0x46), str(i - 1))
......@@ -95,6 +100,7 @@ def take_out_multiple():
data[i] = 'success'
Power.query.filter_by(hatch_no=i, machine_id=machine_info.id).update({'status': 8, 'has_power': 0})
db.session.commit()
take_out_success_number += 1
else:
data[i] = 'fail'
else:
......@@ -103,6 +109,26 @@ def take_out_multiple():
else:
data[i] = 'fail'
time.sleep(3)
try:
if take_out_success_number > 0 and machine_info.mac_no in TAKEOUT_RECORD_MAC_NO:
redis_result = redis.get('M_TKO_C_{}'.format(machine_info.mac_no))
if redis_result:
take_out_date, take_out_number = str(redis_result, encoding='utf-8').split('_')
take_out_number = int(take_out_number)
today_date = datetime.datetime.now().strftime('%Y-%m-%d')
if take_out_date == today_date:
take_out_date = today_date
take_out_number += take_out_success_number
else:
take_out_date = datetime.datetime.now().strftime('%Y-%m-%d')
take_out_number = take_out_success_number
else:
take_out_date = datetime.datetime.now().strftime('%Y-%m-%d')
take_out_number = take_out_success_number
redis_data = "{}_{}".format(take_out_date, take_out_number)
redis.set('M_TKO_C_{}'.format(machine_info.mac_no), redis_data)
except Exception as e:
pass
return jsonify(BASE_RESPONSE(data=data).to_dict())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment