github.com/jincm/wesharechain@v0.0.0-20210122032815-1537409ce26a/server/block/api/verify_manage.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, datetime
     7  from util.convert import bs2utf8, is_mobile
     8  from util.common_util import create_verifycode, send_vrifycode
     9  from operation import verify_manage
    10  
    11  
    12  LOG = logging.getLogger(__name__)
    13  
    14  
    15  class SendVerifyCodeHandler(RequestHandler):
    16      def initialize(self, **kwds):
    17          pass
    18  
    19      def post(self):
    20          try:
    21              phone = bs2utf8(self.get_argument('phone', ''))
    22              if not phone:
    23                  LOG.error("Not receive phone")
    24                  self.finish(json.dumps({'state': 1, 'message': 'Not receive phone'}))
    25                  return
    26  
    27              if not is_mobile(phone):
    28                  LOG.error("User phone[%s,type:%s] format error" % (phone, type(phone)))
    29                  self.finish(json.dumps({'state': 2, "message": "User phone format error"}))
    30                  return
    31  
    32              verify_code = create_verifycode()
    33  
    34              # 存储验证码
    35              op = verify_manage.VerifyOp()
    36              # dt = str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    37              filters = {
    38                  "phone": phone
    39              }
    40              # 如果手机存在的更新
    41              if op.exist(filters):
    42                  op.update_by_phone(phone, verify_code=verify_code)
    43              else:
    44                  op.create(phone=phone, verify_code=verify_code)
    45  
    46              # 发送验证码给网关,并存储
    47              """
    48              send_re = send_vrifycode(verify_code)  # 返回的是json格式的
    49              LOG.info("Send verify code result:%s" % send_re)
    50              if send_re['status'] != 'success':
    51                  self.finish(json.dumps({'state': 3, "message": "Send message error"}))
    52                  return
    53  """
    54              self.finish(json.dumps({'state': 0, "message": "Send message success"}))
    55          except ParamExist as ex:
    56              LOG.error("order create error:%s" % ex)
    57              self.finish(json.dumps({'state': 9, 'message': 'params exit'}))
    58          except Exception as ex:
    59              LOG.error("commodity  create error:%s" % ex)
    60              self.finish(json.dumps({'state': 10, 'message': 'order create error'}))
    61  
    62