def query_group_list(self): qry = GroupQuery( """ g.groupId, g.groupIcon, g.groupTitle, g.createDate, g.userCount,g.parentId, g.visitCount, g.articleCount, g.topicCount, g.resourceCount, g.groupIntroduce,g.XKXDName,g.XKXDId, g.groupTags, subj.subjectName, grad.gradeName, sc.name as scName """ ) qry.subjectId = self.params.getIntParamZeroAsNull('subjectId') qry.categoryId = self.params.getIntParamZeroAsNull('categoryId') qry.gradeId = self.params.getIntParamZeroAsNull('gradeId') qry.k = self.params.getStringParam("k") if self.qrytype != None: if self.qrytype == "best": qry.isBestGroup = True if self.qrytype == "rcmd": qry.isRecommend = True if self.qrytype == "hot": qry.orderType = GroupQuery.ORDER_BY_VISITCOUNT_DESC if self.qrytype == "new": qry.orderType = GroupQuery.ORDER_BY_ID_DESC pager = self.createPager() pager.totalRows = qry.count() group_list = qry.query_map(pager) request.setAttribute("group_list", group_list) #print "group_list = ", group_list request.setAttribute("pager", pager) request.setAttribute("subjectId", qry.subjectId) request.setAttribute("categoryId", qry.categoryId) request.setAttribute("gradeId", qry.gradeId) request.setAttribute("k", qry.k)
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 get_rcmd_group_list(self): qry = GroupQuery( """ g.groupId, g.groupIcon, g.groupTitle, g.createDate, g.groupIntroduce """ ) qry.subjectId = self.get_subjectId() qry.isBestGroup = True rcmd_group_list = qry.query_map(3) request.setAttribute("rcmd_group_list", rcmd_group_list) # 高亮显示项目. self.setData("head_nav", "index") return "success"
def best_group(self): qry = GroupQuery( """g.groupId, g.groupName, g.groupTitle, g.groupIcon """) qry.isBestGroup = True best_group = qry.query_map(-1) count = best_group.size() if count > 4: s = [] iLoop = 0 ff = [] while iLoop < 4: iLoop = iLoop + 1 rnd = Math.random() * best_group.size() index = int(rnd) while index in s: rnd = Math.random() * best_group.size() index = int(rnd) s.append(index) ff.append(best_group[index]) best_group = ff best_group_list = best_group request.setAttribute("best_group_list", best_group_list)