verification.py 23 KB
#-*-coding:utf-8 -*-
import logging

from  django import forms
from rest_framework import serializers

def error_message(obj):
    return list(obj.errors.values())[0][0]

class LoginVerify(serializers.Serializer):
    phone = serializers.CharField(allow_blank=False,error_messages={"blank":"账号不能为空","required": "缺少必填参数phone"})
    password = serializers.CharField(allow_blank=False,error_messages={"blank":"密码不能为空","required": "缺少必填参数password"})

class V2LoginVerify(serializers.Serializer):
    phone = serializers.CharField(allow_null=False,error_messages={"blank":"账号不能为空","required": "缺少必填参数phone"})
    sms_code = serializers.IntegerField(allow_null=False,error_messages={"blank":"验证码不能为空","required": "缺少必填参数sms_code","invalid":"验证码只能是数字"})

class SendVerify(serializers.Serializer):
    phone = serializers.CharField(allow_blank=False,error_messages={"blank":"手机号不能为空","required": "缺少必填参数phone"})

class v2SendVerify(serializers.Serializer):
    phone = serializers.CharField(allow_blank=False,error_messages={"blank":"手机号不能为空","required": "缺少必填参数phone"})
    area_code = serializers.IntegerField(allow_null=False,error_messages={'invalid':'area_code数据格式错误',"blank":"区号不能为空","required": "缺少必填参数area_code"})

class SingerRegister(forms.Form):
    nick_name = forms.CharField(min_length=2,max_length=16,error_messages={"min_length":"昵称最小长度为2","max_length":"昵称最大长度为16","required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    email = forms.EmailField(error_messages={"required": "邮箱不能为空", "invalid": "邮箱格式错误"})
    password = forms.CharField(error_messages={"required": "密码不能为空"})
    confirm_password = forms.CharField(error_messages={"required": "重复密码不能为空"})
    phone = forms.CharField(max_length=11,min_length=11,error_messages={"required": "手机号不能为空","max_length":"手机号码长度不正确","min_length":"手机号码长度不正确"})
    sms_code = forms.IntegerField(error_messages={"required": "验证码不能为空","invalid":"验证码只能是数字"})
    role = forms.CharField(error_messages={"required": "角色身份不能为空"})
    # vx_code = forms.CharField(error_messages={"required": "vx_code不能为空"})
    is_referee = forms.IntegerField(error_messages={"required": "推荐人不能为空"})
    province = forms.CharField(error_messages={"required": "所在省不能为空"})
    city = forms.CharField(error_messages={"required": "所在省不能为空"})
    is_push = forms.IntegerField(error_messages={"required": "is_push不能为空"})


class V2SingerRegister(forms.Form):
    nick_name = forms.CharField(min_length=2,max_length=16,error_messages={"min_length":"昵称最小长度为2","max_length":"昵称最大长度为16","required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    email = forms.EmailField(error_messages={"required": "邮箱不能为空", "invalid": "邮箱格式错误"})
    area_code = forms.IntegerField(error_messages={'invalid':'area_code数据格式错误',"required": "缺少必填参数area_code"})
    phone = forms.CharField(error_messages={"required": "手机号不能为空"})
    sms_code = forms.IntegerField(error_messages={"required": "验证码不能为空","invalid":"验证码只能是数字"})
    role = forms.CharField(error_messages={"required": "角色身份不能为空"})
    is_referee = forms.IntegerField(error_messages={"required": "推荐人不能为空"})


class V3UserRegister(forms.Form):
    nick_name = forms.CharField(min_length=2, max_length=16,error_messages={"min_length": "昵称最小长度为2", "max_length": "昵称最大长度为16","required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    email = forms.EmailField(error_messages={"required": "邮箱不能为空", "invalid": "邮箱格式错误"})
    area_code = forms.IntegerField(error_messages={"required": "缺少必填参数area_code",'invalid':'area_code数据格式错误'})
    phone = forms.CharField(error_messages={"required": "手机号不能为空"})
    sms_code = forms.IntegerField(error_messages={"required": "验证码不能为空", "invalid": "验证码只能是数字"})

class BusinessRegister(forms.Form):
    nick_name = forms.CharField(min_length=2,max_length=16,error_messages={"min_length":"昵称最小长度为2","max_length":"昵称最大长度为16","required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    email = forms.EmailField(error_messages={"required": "邮箱不能为空", "invalid": "邮箱格式错误"})
    password = forms.CharField(error_messages={"required": "密码不能为空"})
    confirm_password = forms.CharField(error_messages={"required": "重复密码不能为空"})
    phone = forms.CharField(max_length=11,min_length=11,error_messages={"required": "手机号不能为空","max_length":"手机号码长度不正确","min_length":"手机号码长度不正确"})
    sms_code = forms.IntegerField(error_messages={"required": "验证码不能为空","invalid":"验证码只能是数字"})
    role = forms.CharField(error_messages={"required": "角色身份不能为空"})
    is_push = forms.IntegerField(error_messages={"required": "is_push不能为空"})
    # vx_code = forms.CharField(error_messages={"required": "vx_code不能为空"})
    company = forms.CharField(error_messages={"required": "所在公司不能为空"})

class V2BusinessRegister(forms.Form):
    nick_name = forms.CharField(min_length=2,max_length=16,error_messages={"min_length":"昵称最小长度为2","max_length":"昵称最大长度为16","required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    email = forms.EmailField(error_messages={"required": "邮箱不能为空", "invalid": "邮箱格式错误"})
    area_code = forms.IntegerField(error_messages={'invalid':'area_code数据格式错误',"required": "缺少必填参数area_code"})
    phone = forms.CharField(error_messages={"required": "手机号不能为空"})
    sms_code = forms.IntegerField(error_messages={"required": "验证码不能为空","invalid":"验证码只能是数字"})
    role = forms.CharField(error_messages={"required": "角色身份不能为空"})
    company = forms.CharField(error_messages={"required": "所在公司不能为空"})


class bind_verification(forms.Form):
    vx_code = forms.CharField(error_messages={"required": "vx_code不能为空"})


class reset_verification(forms.Form):
    password = forms.CharField(error_messages={"required": "密码不能为空"})
    confirm_password = forms.CharField(error_messages={"required": "重复密码不能为空"})
    phone = forms.CharField(max_length=11,min_length=11,error_messages={"required": "手机号不能为空","max_length":"手机号码长度不正确","min_length":"手机号码长度不正确"})
    sms_code = forms.IntegerField(error_messages={"required": "验证码不能为空","invalid":"验证码只能是数字"})


class examine_verification(forms.Form):
    examine_id = forms.IntegerField(error_messages={"required": "待审核用户id不能为空"})
    examine_status = forms.IntegerField(error_messages={"required": "审核状态不能为空"})


class view_activity_verification(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})

class update_user_verification(forms.Form):
    avatar = forms.CharField(error_messages={"required": "头像不能为空"})

class update_submit_verification(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})
    has_id = forms.CharField(error_messages={"required": "关联id不能为空不能为空"})


class singer_submit_examine_verification(forms.Form):
    nick_name = forms.CharField(error_messages={"required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    is_referee = forms.IntegerField(error_messages={"required": "推荐人不能为空"})
    province = forms.CharField(error_messages={"required": "所在省不能为空"})
    city = forms.CharField(error_messages={"required": "所在省不能为空"})


class v2_singer_submit_examine_verification(forms.Form):
    nick_name = forms.CharField(error_messages={"required": "缺少必填参数nick_name"})
    real_name = forms.CharField(error_messages={"required": "缺少必填参数real_name"})
    email = forms.CharField(error_messages={"required": "缺少必填参数email"})
    # business_id = forms.CharField(error_messages={"required": "缺少必填参数business_id"})
    is_referee = forms.IntegerField(error_messages={"required": "缺少必填参数is_referee"})


class business_submit_examine_verification(forms.Form):
    nick_name = forms.CharField(error_messages={"required": "昵称不能为空"})
    real_name = forms.CharField(error_messages={"required": "真名不能为空"})
    company =  forms.CharField(error_messages={"required": "所在公司不能为空"})

class v2_business_submit_examine_verification(forms.Form):
    nick_name = forms.CharField(error_messages={"required": "缺少必填参数nick_name"})
    real_name = forms.CharField(error_messages={"required": "缺少必填参数real_name"})
    email = forms.CharField(error_messages={"required": "缺少必填参数email"})
    company =  forms.CharField(error_messages={"required": "缺少必填参数company"})


class user_tags_verification(forms.Form):
    tags = forms.CharField(error_messages={"required": "标签不能为空"})


class online_save_verification(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})
    person_url = forms.CharField(error_messages={"required": "人声不能为空"})
    bg_url = forms.CharField(error_messages={"required": "混响程度 不能为空"})
    bg_volume = forms.FloatField(error_messages={"required": "伴奏音调不能为空"})
    person_volume = forms.FloatField(error_messages={"required": "人声音量不能为空"})
    offset = forms.IntegerField(error_messages={"required": "偏移量不能为空"})
    mix_type = forms.IntegerField(min_value=0,max_value=3,error_messages={"required": "混响程度 不能为空","min_value":"mix_type的值在0-3之间","max_value":"mix_type的值在0-3之间"})
    demo_url = forms.CharField()



class mixin_previews(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})
    person_url = forms.CharField(error_messages={"required": "人声不能为空"})
    bg_url = forms.CharField(error_messages={"required": "混响程度 不能为空"})
    bg_volume = forms.FloatField(error_messages={"required": "伴奏音调不能为空"})
    person_volume = forms.FloatField(error_messages={"required": "人声音量不能为空"})
    offset = forms.IntegerField(error_messages={"required": "偏移量不能为空"})
    mix_type = forms.IntegerField(min_value=0,max_value=3,error_messages={"required": "混响程度 不能为空","min_value":"mix_type的值在0-3之间","max_value":"mix_type的值在0-3之间"})

class part_mixin_previews(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})
    person_url = forms.CharField(error_messages={"required": "人声不能为空"})
    bg_url = forms.CharField(error_messages={"required": "混响程度 不能为空"})
    bg_volume = forms.FloatField(error_messages={"required": "伴奏音调不能为空"})
    person_volume = forms.FloatField(error_messages={"required": "人声音量不能为空"})
    offset = forms.IntegerField(error_messages={"required": "偏移量不能为空"})
    mix_type = forms.IntegerField(min_value=0,max_value=3,error_messages={"required": "混响程度 不能为空","min_value":"mix_type的值在0-3之间","max_value":"mix_type的值在0-3之间"})
    start_time = forms.FloatField(error_messages={"required": "片段开始时间不能为空"})
    end_time = forms.FloatField(error_messages={"required": "片段结束时间不能为空"})


class mixin_check(forms.Form):
    id = forms.IntegerField(error_messages={"required": "id不能为空"})

class aoto_submit(forms.Form):
    url = forms.CharField(error_messages={"required": "url不能为空"})
    activity_id = forms.CharField(error_messages={"required": "activity_id不能为空"})
    type = forms.CharField(required=False, initial='Submit')
    def clean_type(self):
        value = self.cleaned_data.get('type', 'Submit')
        if not value:
            value = 'Submit'
        elif value not in ['Submit','Save']:
            raise forms.ValidationError('type 必须是Submit或者Save')
        return value

class join_activity(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "缺少必要参数activity_id"})
    join_type = forms.CharField(error_messages={"required": "缺少必要参数join_type"})
    sing_type = forms.CharField(error_messages={"required": "缺少必要参数sing_type"})
    url = forms.CharField(error_messages={"required": "缺少必要参数url"})

class collection(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})


class singer_update(forms.Form):
    singer_id = forms.CharField(error_messages={"required": "歌手id不能为空"})
    rate = forms.CharField(error_messages={"required": "分成模式不能为空"})
    company = forms.CharField(error_messages={"required": "经纪公司不能为空"})

class singer_updatev2(forms.Form):
    singer_id = forms.CharField(error_messages={"required": "歌手id不能为空"})
    # rate = forms.CharField(error_messages={"required": "分成模式不能为空"})
    # company = forms.CharField(error_messages={"required": "经纪公司不能为空"})
    chat_mode = forms.IntegerField(min_value=0,max_value=1,error_messages={"min_value":"值在0-1之间","max_value":"值在0-1之间","required": "缺少chat_mode参数"})
    is_all = forms.IntegerField(min_value=0,max_value=1,error_messages={"min_value":"值在0-1之间","max_value":"值在0-1之间","required": "缺少is_all参数"})

class user_activity_unlike(forms.Form):
    activity_id = forms.CharField(error_messages={"required": "活动id不能为空"})


class WechatAuth(forms.Form):
    vx_code = forms.CharField(error_messages={"required": "缺少必要参数vx_code"})
    platform = forms.CharField(error_messages={"required": "缺少必要参数platform"})


class EditorVerify(forms.Form):
    field = forms.CharField(error_messages={"required": "缺少必要参数field"})
    value = forms.CharField(error_messages={"required": "缺少必要参数value"})

class ConfirmSingerVerify(forms.Form):
    activity_id = forms.IntegerField(error_messages={"required": "缺少必要参数activity_id"})
    singer_id = forms.CharField(error_messages={"required": "缺少必要参数singer_id"})
    status = forms.IntegerField(max_value=2,min_value=1,error_messages={"required": "缺少必要参数status","max_value":"最大值是2","min_value":"最小值是1"})

class ChangePhoneVrify(forms.Form):
    phone = forms.CharField(error_messages={"required": "缺少必要参数phone"})
    sms_code = forms.IntegerField(error_messages={"required": "缺少必要参数sms_code","invalid":"验证码只能是数字"})
    area_code = forms.IntegerField(error_messages={'invalid':'area_code数据格式错误',"required": "缺少必填参数area_code"})

class PushNotifications(forms.Form):
    title = forms.CharField(error_messages={"required": "缺少必要参数title"})
    content = forms.CharField(error_messages={"required": "缺少必要参数content"})
    receivers =  forms.JSONField(error_messages={"required": "缺少必要参数receivers"})

class UserSound(serializers.Serializer):
    tags = serializers.JSONField(allow_null=True,error_messages={"required": "缺少必要参数tags"})
    sound_url = serializers.CharField(allow_blank=True, error_messages={"required": "缺少必要参数sound_url"})

class CreataFollow(serializers.Serializer):
    following_id = serializers.IntegerField(error_messages={"required": "缺少必要参数following_id"})

class EditorUser(serializers.Serializer):
    avatar = serializers.CharField(required=False)
    cover = serializers.CharField(required=False)
    nick_name = serializers.CharField(required=False,allow_blank=False, min_length=2,max_length=16,error_messages={"blank":"昵称不能为空","min_length":"长度不能小于2","max_length":"长度不能大于16"})
    sex = serializers.IntegerField(required=False,min_value=0,max_value=2,error_messages={'invalid':'sex数据格式错误',"min_value": "参数范围在0-2之间","max_value": "参数范围在0-2之间"})
    intro = serializers.CharField(required=False,allow_blank=True)
    art_tag = serializers.JSONField(required=False)
    style_tag = serializers.JSONField(required=False)
    company = serializers.CharField(required=False,allow_blank=True)
    province = serializers.CharField(required=False)
    city = serializers.CharField(required=False)

class SplitAudio(serializers.Serializer):
    activity_id = serializers.IntegerField(error_messages={"required": "缺少必要参数activity_id"})
    status = serializers.IntegerField(error_messages={"required": "缺少必要参数status"})


class TidingsVerify(serializers.Serializer):
    title = serializers.CharField(required=False,allow_blank=True, max_length=1000,error_messages={"max_length":"长度不能超过1000"})
    activity_ids = serializers.ListField(required=False,allow_null=True)
    singer_ids = serializers.ListField(required=False,allow_null=True)
    sounds = serializers.ListField(required=False,allow_null=True)
    photos = serializers.ListField(required=False,max_length=3,allow_null=True,error_messages={"max_length":"长度不能超过3"})
    type = serializers.IntegerField(max_value=4,min_value=1 ,error_messages={"min_value":"type值范围在1~4","max_value":"type值范围在1~4","required":"缺少必要参数type"})

class TidingsLimitVerify(serializers.Serializer):
    tidings_id = serializers.IntegerField(error_messages={"required": "缺少必要参数tidings_id"})
    status = serializers.IntegerField(error_messages={"required": "缺少必要参数status"})

class TidingsReportVerify(serializers.Serializer):
    tidings_id = serializers.IntegerField(required=False,default=0,error_messages={"required": "缺少必要参数tidings_id"})
    reason = serializers.CharField(max_length=100,error_messages={"required": "缺少必要参数reason","max_length":"长度不能超过100","blank":"reason不能为空"})

class TidingsRecordUserVerify(serializers.Serializer):
    tidings_id = serializers.ListField(error_messages={"required": "缺少必要参数tidings_id"})


class TidingsInteractsVerify(serializers.Serializer):
    type = serializers.IntegerField(min_value=1,max_value=4,error_messages={"min_value":"type值范围在1~4","max_value":"type值范围在1~4","required": "缺少必要参数type"})
    type_id = serializers.IntegerField(error_messages={"required": "缺少必要参数type_id"})
    status = serializers.IntegerField(min_value=1,max_value=2,error_messages={"min_value":"status值范围在1~2","max_value":"status值范围在1~2","required": "缺少必要参数status"})


class TidingsDeleteVerify(serializers.Serializer):
    tidings_id = serializers.IntegerField(error_messages={"required": "缺少必要参数tidings_id"})


class InteractsDeleteVerify(serializers.Serializer):
    type = serializers.IntegerField(min_value=1,max_value=4,error_messages={"min_value":"type值范围在1~4","max_value":"type值范围在1~4","required": "缺少必要参数type"})
    type_id = serializers.IntegerField(error_messages={"required": "缺少必要参数type_id"})
    status = serializers.IntegerField(min_value=1,max_value=2,error_messages={"min_value":"status值范围在1~2","max_value":"status值范围在1~2","required": "缺少必要参数status"})


class ShareUsersVerify(serializers.Serializer):
    activity_id = serializers.IntegerField(error_messages={"required": "缺少必要参数activity_id"})
    share_id = serializers.IntegerField(required=False)

class TidingsChatVerify(serializers.Serializer):
    tidings_id = serializers.IntegerField(error_messages={"required": "缺少必要参数tidings_id"})

class UnlikeTidingsVerify(serializers.Serializer):
    tidings_id = serializers.IntegerField(error_messages={"required": "缺少必要参数tidings_id"})


class ChatAgentRecordVerify(serializers.Serializer):
    user_id = serializers.IntegerField(error_messages={"required": "缺少必要参数user_id"})

class PushTidingsCommentsVerify(serializers.Serializer):
    tidings_id = serializers.IntegerField(error_messages={"required": "缺少必要参数tidings_id"})
    content = serializers.CharField(max_length=200,error_messages={"max_length":"评论字数超过限制","blank":"评论不能为空","required": "缺少必要参数content"})


class  DeleCommentsVerify(serializers.Serializer):
    comment_id = serializers.IntegerField(error_messages={"required": "缺少必要参数comment_id"})

class  AvtivitysPriceVerification(serializers.Serializer):
    activity_id = serializers.IntegerField(error_messages={"required": "缺少必要参数activity_id"})
    value = serializers.JSONField(error_messages={"required": "缺少必要参数value",'invalid':'value是json数据类型'})
    is_deduct = serializers.IntegerField(min_value=0,max_value=1,error_messages={"required": "缺少必要参数is_deduct","min_value":"is_deduct值范围在0~1","max_value":"is_deduct值范围在0~1"})
    is_talk = serializers.IntegerField(min_value=0,max_value=1,error_messages={"required": "缺少必要参数is_talk","min_value":"is_talk值范围在0~1","max_value":"is_talk值范围在0~1"})
    address_id = serializers.IntegerField(error_messages={"required": "缺少必要参数address_id"})
    is_accept_address = serializers.IntegerField(min_value=0,max_value=1,error_messages={"required": "缺少必要参数is_accept_address","min_value":"is_accept_address值范围在0~1","max_value":"is_accept_address值范围在0~1"})


class  SubmitPriceVerification(serializers.Serializer):
    value = serializers.JSONField(error_messages={"required": "缺少必要参数value",'invalid':'value是json数据类型'})
    is_deduct = serializers.IntegerField(min_value=0,max_value=1,error_messages={"required": "缺少必要参数is_deduct","min_value":"is_deduct值范围在0~1","max_value":"is_deduct值范围在0~1"})
    is_talk = serializers.IntegerField(min_value=0,max_value=1,error_messages={"required": "缺少必要参数is_talk","min_value":"is_talk值范围在0~1","max_value":"is_talk值范围在0~1"})
    address_id = serializers.IntegerField(error_messages={"required": "缺少必要参数address_id"})
    is_accept_address = serializers.IntegerField(min_value=0,max_value=1,error_messages={"required": "缺少必要参数is_accept_address","min_value":"is_accept_address值范围在0~1","max_value":"is_accept_address值范围在0~1"})