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