def list(self): # 构造查询对象. qry = GroupQuery( """ g.groupId, g.groupName, g.groupTitle, g.groupIcon, g.createDate, g.subjectId, g.gradeId, g.createUserId, g.groupTags, g.groupIntroduce, g.groupState, g.userCount, g.visitCount,g.XKXDName,g.XKXDId, g.isBestGroup, g.isRecommend, u.nickName, u.loginName, sc.name as categoryName """) qry.groupState = None # 缺省为列出所有. # 获得限定参数. # print "params = ", self.params type = self.params.getStringParam("type") request.setAttribute("type", type) request.setAttribute("typeTitle", self.typeToTitle(type)) if type == "unaudit": qry.groupState = Group.GROUP_STATE_WAIT_AUDIT qry.parentId = None elif type == "locked": qry.groupState = Group.GROUP_STATE_LOCKED elif type == "deleted": qry.groupState = Group.GROUP_STATE_DELETED elif type == "hided": qry.groupState = Group.GROUP_STATE_HIDED elif type == "best": qry.isBestGroup = True elif type == "rcmd": qry.isRecommend = True qry.k = self.params.getStringParam("k", None) request.setAttribute("k", qry.k) qry.categoryId = self.params.getIntParamZeroAsNull("sc") #print "qry.categoryId="+str(qry.categoryId) request.setAttribute("sc", qry.categoryId) #多学科多学段导致的问题无法使用下面的方法搜索 qry.subjectId = self.params.getIntParamZeroAsNull("subj") qry.gradeId = self.params.getIntParamZeroAsNull("gradeId") qry.parentId = None #print "qry.gradeId="+str(qry.gradeId) #print "qry.subjectId="+str(qry.subjectId) request.setAttribute("subj", qry.subjectId) request.setAttribute("gradeId", qry.gradeId) # 构造分页并查询数据. pager = self.createPager() pager.totalRows = qry.count() group_list = qry.query_map(pager) request.setAttribute("group_list", group_list) request.setAttribute("pager", pager) self.putGroupCategoryTree() self.putSubjectList() self.putGradeList() return "/WEB-INF/ftl/admin/group_list.ftl"
def query_group_list(self): qry = GroupQuery( """ g.groupId, g.groupIcon, g.groupTitle, g.createDate, g.userCount, g.visitCount, g.articleCount, g.topicCount, g.resourceCount, g.groupIntroduce, g.groupTags, subj.subjectName, grad.gradeName, sc.name as scName """ ) qry.subjectId = self.params.getIntParamZeroAsNull('subjectId') qry.categoryId = self.categoryId qry.gradeId = self.params.getIntParamZeroAsNull('gradeId') qry.searchtype = self.params.getStringParam('searchtype') qry.kk = self.params.getStringParam("k") pager = self.createPager() pager.totalRows = qry.count() group_list = qry.query_map(pager) request.setAttribute("group_list", group_list) ggg = [] for gg in group_list: gid = gg["groupId"] subqry = GroupQuery( """ g.groupId, g.groupIcon, g.groupTitle, g.createDate, g.userCount, g.visitCount, g.articleCount, g.topicCount, g.resourceCount, g.groupIntroduce, g.groupTags """) subqry.parentId = gid subgroup_list = subqry.query_map() ggg.append(subgroup_list) request.setAttribute("subgroups", ggg) request.setAttribute("pager", pager) request.setAttribute("subjectId", qry.subjectId) request.setAttribute("categoryId", qry.categoryId) request.setAttribute("gradeId", qry.gradeId) request.setAttribute("searchtype", qry.searchtype) request.setAttribute("k", qry.kk)