コード例 #1
0
 def is_effective(self, tel, code):
     try:
         if code == '8888':
             return
         record = self.get(tel=tel, code=code)
         if record.expire_at < datetime.now():
             raise DBException('验证码已失效')
     except self.model.DoesNotExist:
         raise DBException('验证码不存在')
コード例 #2
0
    def add(self, account, password, **kwargs):
        try:
            with transaction.atomic():
                user = self._add_user(account, password)
                customer = self.create(user=user, account=account, **kwargs)
                customer.save()

                return customer
        except IntegrityError:
            raise DBException('账号已注册')
        except:
            msg = traceback.format_exc()
            raise DBException(msg)
コード例 #3
0
ファイル: views.py プロジェクト: largerbigsuper/xiaohongniang
 def post(self, request, *args, **kwargs):
     data = request.data.dict()
     data['customer_id'] = self.request.session['customer_id']
     serializer = self.serializer_class(data=data)
     serializer.is_valid(raise_exception=True)
     try:
         serializer.save()
         return Response(Tool.format_data(msg=messages.ADD_OK))
     except IntegrityError:
         raise DBException('请勿重复提交')
     except:
         msg = traceback.format_exc()
         raise DBException(msg)
コード例 #4
0
 def reset_password_by_sms(self, account, password, code):
     try:
         mm_SMSCode.is_effective(account, code)
         user = User.objects.get(username=account)
         return self._reset_password(user, password)
     except User.DoesNotExist:
         raise DBException('%s账号不存在' % account)
コード例 #5
0
ファイル: views.py プロジェクト: largerbigsuper/xiaohongniang
 def get_object(self):
     try:
         like = mm_Likes.get(
             moment_id=self.kwargs['pk'],
             customer_id=self.request.session['customer_id'])
         return like
     except mm_Likes.model.DoesNotExist:
         raise DBException('记录不存在')
     except:
         raise
コード例 #6
0
 def get_customer_by_miniprogram(self, mini_openid):
     """通过小程序获取customer"""
     customer = self.filter(mini_openid=mini_openid).first()
     if customer:
         return customer
     else:
         for _ in range(3):
             try:
                 customer = self._create_miniprogram_account(mini_openid)
                 return customer
             except:
                 pass
         else:
             raise DBException('注册用户失败')
コード例 #7
0
 def reset_password_by_login(self, user_id, raw_password, new_password):
         user = User.objects.get(id=user_id)
         if user.check_password(raw_password):
             return self._reset_password(user, new_password)
         else:
             raise DBException('原始密码错误')
コード例 #8
0
 def is_effective(self, tel, code):
     if code == '8888':
         return
     if code != self.cache.get(tel):
         raise DBException('验证码不存在或已失效')