github.com/jincm/wesharechain@v0.0.0-20210122032815-1537409ce26a/server/block/api/order/update_status.py (about) 1 #coding:utf-8 2 3 from tornado.web import RequestHandler 4 from util.exception import ParamExist 5 import logging 6 import json 7 from util import common_util 8 from operation import order 9 from util.ini_client import ini_load 10 11 _conf = ini_load('config/service.ini') 12 _dic_con = _conf.get_fields('token') 13 timeout = _dic_con.get('timeout') 14 15 LOG = logging.getLogger(__name__) 16 17 18 class UpdateStatusHandler(RequestHandler): 19 def initialize(self, **kwds): 20 pass 21 22 def post(self): 23 try: 24 id = self.get_argument('id', '') 25 token = self.get_argument('token', '') 26 status = self.get_argument('status', 0) 27 #更新订单状态,先验证订单当前状态,只能往大了走,比如0-》1 28 is_timeout = common_util.validate_token_time(token, timeout) 29 if is_timeout: 30 self.finish({'state': 1, 31 'message': 'Token expired' 32 }) 33 op = order.OrderOp() 34 order_detail = op.lists(id)[0] 35 per_status = order_detail.status 36 if status <= per_status: 37 self.finish({'state': 1, 38 'message': 'Status can not change.'}) 39 op.update(id, status) 40 self.finish({'state': 0, 41 'message': 'ok'}) 42 43 except ParamExist as ex: 44 LOG.error("Update order status error:%s" % ex) 45 self.finish(json.dumps({'state': 9, 'message': 'Update order status params exit'})) 46 except Exception as ex: 47 LOG.error("Update order status error:%s" % ex) 48 self.finish(json.dumps({'state': 10, 'message': 'Update order status error'}))