Esempio n. 1
0
    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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
    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"
Esempio n. 6
0
    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()