'éè¿group_codeæègroup_id(çŸ€å·)è·åå¯¹åºçŸ€ä¿¡æ¯
:type group_code: str
:type group_id: str
:return dict
\'name\':         "çŸ€å",
\'id\':            12345678,
\'group_code\':    87654321'

def get_group_info(self, group_code=None, group_id=None):

    if (group_code or group_id):
        if group_code:
            assert isinstance(group_code, str), 'group_code\xe7\xb1\xbb\xe5\x9e\x8b\xe9\x94\x99\xe8\xaf\xaf,    \xe5\xba\x94\xe8\xaf\xa5\xe4\xb8\xbastr'
            t_group_code = self.get_true_group_code(group_code)
            if ((t_group_code not in self.group_code_list) and (group_code not in self.group_code_list)):
                self.get_group_list_with_group_code()
            group_code_info = (self.group_code_list.get(t_group_code) or self.group_code_list.get(group_code))
            group_id_list = self.get_group_list_with_group_id()
            result = {'name': (group_code_info['name'] or ''), 'id': 0, 'group_code': (group_code_info['code'] or 0)}
            name = group_code_info['name']
            group_id_list = [x for x in group_id_list if (x['gn'] == name)]
            if (len(group_id_list) == 1):
                result['id'] = group_id_list[0].get('gc')
                return result
            elif (len(group_id_list) > 1):
                raise KeyError('QQ{qq}\xe7\x9a\x84\xe7\xbe\xa4\xe5\x88\x97\xe8\xa1\xa8\xe4\xb8\xad\xe5\x90\xab\xe6\x9c\x89{count}\xe4\xb8\xaa\xe5\x90\x8c\xe5\x90\x8d\xe7\xbe\xa4:"{group_name}"'.format(qq=self.account, count=len(group_id_list), group_name=group_code_info['name']))
        elif group_id:
            assert isinstance(group_id, str), 'group_id\xe7\xb1\xbb\xe5\x9e\x8b\xe9\x94\x99\xe8\xaf\xaf,    \xe5\xba\x94\xe8\xaf\xa5\xe4\xb8\xbastr'
            if (group_id not in self.group_id_list):
                self.get_group_list_with_group_id()
            group_id_info = self.group_id_list.get(group_id)
            group_code_list = self.get_group_list_with_group_code()
            result = {'name': (group_id_info['gn'] or ''), 'id': (group_id_info['gc'] or 0), 'group_code': 0}
            group_code_list = [x for x in group_code_list if (x['name'] == group_id_info['gn'])]
            if (len(group_code_list) == 1):
                result['group_code'] = group_code_list[0].get('code')
                return result
            else:
                raise KeyError('QQ{qq}\xe7\x9a\x84\xe7\xbe\xa4\xe5\x88\x97\xe8\xa1\xa8\xe4\xb8\xad\xe5\x90\xab\xe6\x9c\x89{count}\xe4\xb8\xaa\xe5\x90\x8c\xe5\x90\x8d\xe7\xbe\xa4:"{group_name}"'.format(qq=self.account, count=len(group_code_list), group_name=group_id_info['gn']))
    else:
        raise KeyError('\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5group_code\xe6\x88\x96group_id\xe4\xb9\x8b\xe4\xb8\x80')
