def get_teachers_by_school(self, school_id, institution_id=None): """ 获取学校id或者(学校id,学院id)下的所有老师 :param school_id: 学校的id :param institution_id: 该学校对应的学院的id :return:list[dict] 字典的格式详见es_teacher """ if institution_id is None: sql = 'select * from es_teacher where SCHOOL_ID = ?' results = db.select(sql, school_id) else: sql = 'select * from es_teacher where SCHOOL_ID = ? and INSTITUTION_ID=?' results = db.select(sql, school_id, institution_id) return results
def getEventPageByGroupid(groupid, start, offset): data = db.select('event', where='groupid=$groupid', order='createtime desc,eventid desc', limit='$start,$offset', vars=locals()) return list(data)
def get_position_by_names(self, school_names): """ 根据学校名获取到学校名对应的经纬度,并返回 :param school_names: 学校名数组 :return: 学校名对应的经纬度 """ string = 'select ID,NAME,POSITION from es_school where NAME in (%s)' sql = string % (','.join(['?' for name in school_names])) # 调用语句 results = db.select(sql, *school_names) return results
def get_agents_by_school_id(self, school_id, mapping=None): """ 根据学校名获取该学校的代理 :param school_id: 学校id :param mapping: 要获得的键值对的映射 :return: 代理信息数组 """ string = "select %s from sys_school_agent, sys_user where SCHOOL_ID = ? and sys_school_agent.STATUS = 1 and sys_school_agent.U_ID = sys_user.ID and sys_user.STATUS = 1" keys = ['%s as %s' % (k, v) for k, v in mapping.items()] sql = string % (','.join(keys) if keys is not None else '*') results = db.select(sql, school_id) return results
def get_total_colleges_by_names(self, school_names, keys=None): """ 获取n个学校的所有学院信息 :param school_names: :param keys 选取的关键字 :return: 学校学院数组 """ string = "select %s from es_institution where SCHOOL_NAME in (%s)" \ % (','.join(keys) if keys is not None else '*', '%s') sql = string % (','.join(['?' for name in school_names])) # 获取 results = db.select(sql, *school_names) return results
def get_institutions_by_ids(self, school_id, institution_ids, keys=None): """ 给定学校id,和学院id数组来获取所有的学院信息 :param school_id: 学校id :param institution_ids: 学校id下的学院id数组 :param keys: 要获取的键数组 :return:学院信息 """ string = "select %s from es_institution where SCHOOL_ID = ? and ID in (%s)" \ % (','.join(keys) if keys is not None else '*', '%s') sql = string % (','.join(['?' for name in institution_ids])) # 查找 results = db.select(sql, school_id, *institution_ids) return results
def schema_mapped_data_generator(self, task_info): ''' 目前data filter只支持site :param task_info: :return: ''' # TODO 丰富对datafilter的支持力度 size = _DefaultAttrValueCleanProcessor.page_limit filter = json.loads(task_info.data_filter) last_id = '0' while size == _DefaultAttrValueCleanProcessor.page_limit: sql = "select id,content,url,source,site,template_id,classify,subclass,domain from des_schema_mapped where (id > '" \ + last_id + "') and (exception_code = 0) and (site = '"\ + filter['site'] + "') order by id asc limit 0," \ + str(_DefaultAttrValueCleanProcessor.page_limit) result = db.select(sql) size = len(result) if size > 0: last_id = result[size - 1].id yield result
def getEventByGroupid(groupid): data = db.select('event', where='groupid=$groupid', order='createtime desc,eventid desc', vars={'groupid': groupid}) return list(data)
def getEventById(eventid): data = db.select('event', where='eventid=$eventid', vars={'eventid': eventid})[0] return dict(data)
def getEvents(): data = db.select('event', order='eventid DESC') return list(data)