示例#1
0
    def check_input_data(cls, data, check_flag):
        flag = 0
        for item in data.items():
            if item[0].endswith('_msg'):
                item[1] = ''

        if is_none_or_empty_or_blank(data.get('bank_account_name')):
            data['bank_account_name_msg'] = cls.__cannot_be_empty
            flag = 1

        if is_none_or_empty_or_blank(data.get('bank_account_no')):
            data['bank_account_no_msg'] = cls.__cannot_be_empty
            flag = 1
        else:
            bank_account_no = data['bank_account_no'].replace(' ', '')
            if not bank_account_no.isdigit():
                data['bank_account_no_msg'] = cls.__must_be_digit
                flag = 1
            elif len(bank_account_no) < 15 or len(bank_account_no) > 22:
                data['bank_account_no_msg'] = cls.__invalid_length
                flag = 1

        if is_none_or_empty(data.get('bank_account_pwd')):
            data['bank_account_pwd_msg'] = cls.__cannot_be_empty
            flag = 1
        else:
            if not data['bank_account_pwd'].isdigit():
                data['bank_account_pwd_msg'] = cls.__must_be_digit
                flag = 1
            elif len(data['bank_account_pwd']) != 6:
                data['bank_account_pwd_msg'] = cls.__invalid_length
                flag = 1

        if check_flag != 0:
            if is_none_or_empty_or_blank(data.get('cert_id')):
                data['cert_id_msg'] = cls.__cannot_be_empty
                flag = 1
            elif check_flag == 1:  # 身份证
                cert_id = data['cert_id'].replace(' ', '')
                if not is_valid_id_card_num(cert_id):
                    data['cert_id_msg'] = u'证件号无效'
                    flag = 1
            else:  # 组织机构号码
                cert_id = data['cert_id'].replace(' ', '')
                if not re.compile('[0-9]+$').match(cert_id):
                    data['cert_id_msg'] = u'证件号无效'
                    flag = 1
        return flag
示例#2
0
    def check_msg_text_for_common(self, data, pack_key, pin_key, mac_key):
        # 解析错误
        m = None
        if not data:
            code = self.get_code('2044')  # 通讯消息体格式错误
            m = {'InstructionCode': self.__class__.trade_no,  # 交易号
                'TradeSource': self.trade_source,  # 交易发起方
                'InstNo': self.get_mch_id(),  # 市场编号
                'Date': self.get_date(),
                 'Time': self.get_time(),
                 'Code': code,
                 'Info': u'通讯消息体格式错误:'
                 }
        # 缺少必须项
        elif self.must_exist_item and not self.must_exist_item.issubset(set(data.keys())):
            code = self.get_code('2044')
            m = {'InstructionCode': self.__class__.trade_no,  # 交易号
                'TradeSource': self.trade_source,  # 交易发起方
                'InstNo': self.get_mch_id(),  # 市场编号
                'Date': self.get_date(),
                 'Time': self.get_time(),
                 'Code': code,
                 'Info': u'缺少必须项:' + ','.join(self.must_exist_item - set(data.keys()))
                 }
        elif data.get('InstructionCode') != self.trade_no:
            code = '2031'  # 交易码错
            m = {'InstructionCode': self.__class__.trade_no,  # 交易号
                'TradeSource': self.trade_source,   # 交易发起方
                'InstNo': self.get_mch_id(),   # 市场编号
                'Date': self.get_date(),
                 'Time': self.get_time(),
                 'Code': code,
                 'Info': u'交易码错:'
            }
        elif not utils.is_none_or_empty_or_blank(data.get('InstNo')) and data.get('InstNo') != self.get_mch_id():
            code = '2031'  # 市场编码错
            m = {'InstructionCode': self.__class__.trade_no,  # 交易号
                'TradeSource': self.trade_source,   # 交易发起方
                'InstNo': self.get_mch_id(),   # 市场编号
                'Date': self.get_date(),
                 'Time': self.get_time(),
                 'Code': code,
                 'Info': u'市场编码错:'
            }

        if m:
            t = self.make_data(m, pack_key, pin_key, mac_key)
            return t
        return None