def get_list(self): query = ResourceQuery( """ r.resourceId, r.title, r.shareMode, r.createDate, r.href, r.subjectId, r.gradeId, r.rcmdPathInfo, r.delState, r.unitPathInfo, r.approvedPathInfo, r.downloadCount, r.commentCount, r.fsize, r.auditState, r.recommendState, r.tags, r.addIp, r.pushState, u.userId, u.loginName, u.nickName, sc.name as sysCateName, subj.subjectName """ ) multiPushState = self.params.safeGetStringParam("multiPushState") recommendState = self.params.safeGetStringParam("recommendState") auditState = self.params.safeGetStringParam("auditState") query.shareMode = None query.unitId = None #不使用该字段 custormAndWhereClause = "r.unitPathInfo LIKE '%/" + str( self.unit.unitId) + "/%' And r.unitId != " + str( self.unit.unitId) + " And" if multiPushState == "1": custormAndWhereClause += " r.unitPathInfo LIKE '%/" + str( self.unit.parentId) + "/%' And" elif multiPushState == "0": custormAndWhereClause += " r.unitPathInfo NOT LIKE '%/" + str( self.unit.parentId) + "/%' And" if recommendState == "1": custormAndWhereClause += " r.rcmdPathInfo LIKE '%/" + str( self.unit.unitId) + "/%' And" elif recommendState == "0": custormAndWhereClause += " (r.rcmdPathInfo Is Null or r.rcmdPathInfo Not LIKE '%/" + str( self.unit.unitId) + "/%') And" if auditState == "0": custormAndWhereClause += " r.approvedPathInfo LIKE '%/" + str( self.unit.unitId) + "/%' And" elif auditState == "1": custormAndWhereClause += " (r.approvedPathInfo Is Null or r.approvedPathInfo NOT LIKE '%/" + str( self.unit.unitId) + "/%') And" if custormAndWhereClause[len(custormAndWhereClause) - 3:] == "And": custormAndWhereClause = custormAndWhereClause[ 0:len(custormAndWhereClause) - 3] query.custormAndWhereClause = custormAndWhereClause # 计算总量. pager = self.createPager() pager.pageSize = 20 pager.totalRows = query.count() # 得到资源. resource_list = query.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("resource_list", resource_list) request.setAttribute("multiPushState", multiPushState) request.setAttribute("recommendState", recommendState) request.setAttribute("auditState", auditState)
def get_new_resource_list(self): cache_key = "new_resource_list" new_resource_list = cache.get(cache_key) if new_resource_list == None: qry = ResourceQuery( """ r.userId, r.resourceId, r.title, r.href, r.createDate, r.fsize, r.downloadCount, u.loginName, u.trueName, r.createDate """) # qry.unit = self.unit qry.unitId = None qry.custormAndWhereClause = " r.approvedPathInfo Like '%/" + str( self.unit.unitId) + "/%' " new_resource_list = qry.query_map(10) cache.put(cache_key, new_resource_list) request.setAttribute("new_resource_list", new_resource_list)
def get_rcmd_resource_list(self): cache_key = "rcmd_resource_list" rcmd_resource_list = cache.get(cache_key) if rcmd_resource_list == None: qry = ResourceQuery( " r.userId, r.resourceId, r.title, r.href, r.createDate, r.fsize, r.downloadCount, r.subjectId as subjectId, grad.gradeName, sc.name as scName " ) # qry.unit = self.unit qry.unitId = None # qry.rcmdState = True qry.custormAndWhereClause = " r.rcmdPathInfo Like '%/" + str( self.unit.unitId ) + "/%' and r.approvedPathInfo Like '%/" + str( self.unit.unitId) + "/%' " rcmd_resource_list = qry.query_map(10) cache.put(cache_key, rcmd_resource_list) request.setAttribute("rcmd_resource_list", rcmd_resource_list)
def get_hot_resource_list(self): cache_key = "hot_resource_list" hot_resource_list = cache.get(cache_key) # hot_resource_list=None if hot_resource_list == None: qry = ResourceQuery( """ r.userId, r.resourceId, r.title, r.href, r.createDate, r.fsize, r.downloadCount, u.loginName, u.trueName, msubj.msubjName, grad.gradeName, sc.name as scName """ ) # qry.unit = self.unit qry.unitId = None qry.custormAndWhereClause = " r.approvedPathInfo Like '%/" + str( self.unit.unitId) + "/%' " qry.orderType = 4 # downloadCount DESC hot_resource_list = qry.query_map(10) cache.put(cache_key, hot_resource_list) request.setAttribute("hot_resource_list", hot_resource_list)
def list(self): # 构造查询. query = ResourceQuery( """ r.resourceId, r.title, r.shareMode, r.createDate, r.href, r.subjectId, r.gradeId, r.downloadCount, r.commentCount, r.fsize, r.auditState, r.recommendState, r.tags, r.addIp, r.pushState, u.userId, u.loginName, u.nickName, sc.name as sysCateName, subj.subjectName """ ) query.auditState = None query.delState = False # 过滤被删除了的. recommendState = self.params.safeGetStringParam("recommendState") if recommendState == "1": query.rcmdState = 1 elif recommendState == "0": query.rcmdState = 0 auditState = self.params.safeGetStringParam("auditState") if auditState == "1": query.auditState = 1 elif auditState == "0": query.auditState = 0 query.shareMode = None query.unitId = self.unit.unitId # 根据参数设置过滤条件. type = self.params.getStringParam("type") request.setAttribute("type", type) if type == "rcmd": # 推荐. query.rcmdState = True elif type == "unaudit": # 待审核. query.auditState = Resource.AUDIT_STATE_WAIT_AUDIT query.subjectId = self.params.getIntParamZeroAsNull("su") request.setAttribute("su", query.subjectId) query.gradeId = self.params.getIntParamZeroAsNull("gradeId") request.setAttribute("gradeId", query.gradeId) query.sysCateId = self.params.getIntParamZeroAsNull("sc") request.setAttribute("sc", query.sysCateId) query.kk = self.params.getStringParam("k") request.setAttribute("k", query.kk) query.f = self.params.getStringParam("f") request.setAttribute("f", query.f) # 计算总量. pager = self.createPager() pager.pageSize = 10 pager.totalRows = query.count() # 得到资源. resource_list = query.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("resource_list", resource_list) self.putSubjectList() self.putGradeList() self.putResourceCategoryTree() request.setAttribute("recommendState", recommendState) request.setAttribute("auditState", auditState) return "/WEB-INF/unitsmanage/unit_owner_resource.ftl"
def get_request(self): query = ResourceQuery( """ r.resourceId, r.title, r.shareMode, r.createDate, r.href, r.subjectId, r.gradeId, r.rcmdPathInfo,r.unitId, r.delState, r.unitPathInfo, r.approvedPathInfo, r.downloadCount, r.commentCount, r.fsize, r.auditState, r.recommendState, r.tags, r.addIp, u.userId, u.loginName, u.nickName, sc.name as sysCateName """) query.unitId = None query.auditState = None query.delState = None multiPushState = self.params.safeGetStringParam("multiPushState") recommendState = self.params.safeGetStringParam("recommendState") auditState = self.params.safeGetStringParam("auditState") delState = self.params.safeGetStringParam("delState") custormAndWhereClause = "r.orginPathInfo LIKE '%/" + str( self.unit.unitId) + "/%' And r.unitId <> " + str( self.unit.unitId) + " And" # 得到全部的下级单位 unitList = self.unitService.getDownUnitList(self.unit) if recommendState == "1": strRcmd = "" for ut in unitList: strRcmd = strRcmd + " r.rcmdPathInfo LIKE '%/" + str( ut.unitId) + "/%' or" if strRcmd != "": strRcmd = strRcmd[0:len(strRcmd) - 2] custormAndWhereClause += " (" + strRcmd + ") And" elif recommendState == "0": strRcmd = "" for ut in unitList: strRcmd = strRcmd + " r.rcmdPathInfo Not LIKE '%/" + str( ut.unitId) + "/%' And" if strRcmd != "": strRcmd = strRcmd[0:len(strRcmd) - 3] custormAndWhereClause += " (r.rcmdPathInfo Is Null or (" + strRcmd + ")) And" if auditState == "0": strApprove = "" for ut in unitList: strApprove = strApprove + " r.approvedPathInfo LIKE '%/" + str( ut.unitId) + "/%' or" if strApprove != "": strApprove = strApprove[0:len(strApprove) - 2] custormAndWhereClause += "(" + strApprove + ") And" elif auditState == "1": strApprove = "" for ut in unitList: strApprove = strApprove + " r.approvedPathInfo NOT LIKE '%/" + str( ut.unitId) + "/%' And" if strApprove != "": strApprove = strApprove[0:len(strApprove) - 3] custormAndWhereClause += " (r.approvedPathInfo Is Null or (" + strApprove + ")) And" """ if auditState == "0": custormAndWhereClause += " r.approvedPathInfo LIKE '%/" + str(self.unit.unitId) + "/%' And" elif auditState == "1": custormAndWhereClause += " (r.approvedPathInfo Is NUll or r.approvedPathInfo NOT LIKE '%/" + str(self.unit.unitId) + "/%') And" if multiPushState == "1": custormAndWhereClause += " r.unitPathInfo LIKE '%/" + str(self.unit.parentId) + "/%' And" elif multiPushState == "0": custormAndWhereClause += " r.unitPathInfo NOT LIKE '%/" + str(self.unit.parentId) + "/%' And" if recommendState == "1": custormAndWhereClause += " r.rcmdPathInfo LIKE '%/" + str(self.unit.unitId) + "/%' And" elif recommendState == "0": custormAndWhereClause += " (r.rcmdPathInfo Is NULL or r.rcmdPathInfo NOT LIKE '%/" + str(self.unit.unitId) + "/%') And" """ if delState == "0": query.delState = False elif delState == "1": query.delState = True if custormAndWhereClause[len(custormAndWhereClause) - 3:] == "And": custormAndWhereClause = custormAndWhereClause[ 0:len(custormAndWhereClause) - 3] query.custormAndWhereClause = custormAndWhereClause #print custormAndWhereClause # 计算总量. pager = self.createPager() pager.pageSize = 20 pager.totalRows = query.count() # 得到资源. resource_list = query.query_map(pager) request.setAttribute("pager", pager) request.setAttribute("resource_list", resource_list) #self.putSubjectList() #self.putGradeList() #self.putResourceCategoryTree() request.setAttribute("delState", delState) request.setAttribute("multiPushState", multiPushState) request.setAttribute("recommendState", recommendState) request.setAttribute("auditState", auditState) #self.putSubjectList() #self.putGradeList() self.putResourceCategoryTree()