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
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