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'}))