工作框架各种使用整理---使用Cache

<service verb="get" noun="Products">
        <implements service="sang.product.ProductServices.get#ProductsWithPagination"/>
        <in-parameters>
            <parameter name="productCategoryId" required="true"/>
            <parameter name="geoId" required="true"/>
            <parameter name="level" type="Integer" default-value="1"/>
        </in-parameters>
        <actions>
            <set field="cacheKeyName" from="productCategoryId + ‘_‘ + level + ‘_‘ + geoId + ‘_‘ + pageIndex + ‘_‘ + pageSize + ‘_‘ + pageNoLimit + ‘_‘ + orderByField"/>
            <script>
                def categoryGeoProductCache = ec.cache.getCache(‘Product_List_By_Category_Geo‘)
                productList = (List) categoryGeoProductCache.get(cacheKeyName)
            </script>
            <if condition="productList != null"><return/></if>
            <service-call name="sang.moqui.extend.BasicServices.get#ChildGeoIds" in-map="[ geoId: geoId, level: 20 ]" out-map="context"/>
            <set field="geoIds" from="geoIds + [geoId]"/>
            <service-call name="sang.product.CategoryServices.get#ChildProductCategoryIds" out-map="context"
                in-map="[ productCategoryId: productCategoryId, level: level ]"/>

            <set field="paginateMap" from="[pageIndex: pageIndex, pageSize: pageSize, pageNoLimit: pageNoLimit, orderByField: orderByField]"/>
            <entity-find entity-name="sang.product.ProductAndCategoryAndGeo" list="pList" distinct="true" cache="true">
                <search-form-inputs input-fields-map="paginateMap"/>
                <date-filter/>
                <econdition field-name="statusId" value="ProductOnShelf"/>
                <econdition field-name="geoId" operator="in" from="geoIds"/>
                <econdition field-name="productCategoryId" operator="in" from="productCategoryIds"/>
                <select-field field-name="productId"/>
            </entity-find>

            <service-call name="sang.product.ProductServices.get#ProductsByIds" in-map="[productIds: pList.productId]" out-map="context"/>
            <service-call name="sang.common.CommonServices.add#PaginateResponseHeaders"
                in-map="[ pageIndex: pageIndex, pageSize: pageSize, totalCount: pListCount, pageMaxIndex: pListPageMaxIndex,
                          pageRangeLow: pListPageRangeLow, pageRangeHigh: pListPageRangeHigh ]"/>
            <script>
                categoryGeoProductCache.put(cacheKeyName, productList)
            </script>
        </actions>
    </service>
时间: 2024-10-11 11:36:28

工作框架各种使用整理---使用Cache的相关文章

工作框架各种使用整理---按层次返回相关联的数据

1 <service verb="get" noun="ProductStoreAndStoryCategory"> 2 <in-parameters> 3 <parameter name="productStoreId" required="true"/> 4 </in-parameters> 5 <out-parameters> 6 <parameter n

工作框架各种使用整理 -- 访问图片的时候访问成功但是会有错误日志

最初实现的方式如下: <service verb="get" noun="ProductCategoryContentFile"> <in-parameters> <parameter name="productCategoryContentId" required="true"/> </in-parameters> <actions> <entity-find

工作框架各种使用整理 -- 自己处理分页且输入条件中有过滤条件

1 <service verb="get" noun="ProductsByCategory"> 2 <in-parameters> 3 <parameter name="productCategoryId" required="true"/> 4 <parameter name="level" type="Integer" default-va

工作框架各种使用整理---自己处理分页

<service verb="get" noun="Products"> <in-parameters> <auto-parameters entity-name="mantle.product.Product"/> <parameter name="pageIndex" type="Integer" default-value="0"/>

工作框架各种使用整理---服务状态变更数据

1 <moqui.basic.StatusFlow statusFlowId="Zc3plDefault_Product" statusTypeId="Product" description="Default status flow for 3pl services across entire system."/> 2 <moqui.basic.StatusFlowItem statusFlowId="Zc3plDe

myBatis+Spring+SpringMVC框架面试题整理

myBatis+Spring+SpringMVC框架面试题整理(一) 2018年09月06日 13:36:01 新新许愿树 阅读数 14034更多 分类专栏: SSM 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_41541619/article/details/82459873 目录 ■ SpringMVC 的工作原理 ■ 谈谈你对SpringMVC的理解 ■ SpringMVC

CI框架数据库操作整理

整理一下CI框架下数据库的基本操作函数的调用和使用,适用于新人: $this->load->database();//实例化db属性 在实例化db之后,可以运用该对象的丰富的函数来对数据库进行查改删增的操作. mysql数据库 create table users(username varchar(10),password varchar(10),email varchar(10));//创建users表 1.数据库添加操作 $user=arrar( "username"=

js页面跳转(含框架跳转)整理

js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/javascript">           window.location.href="target.aspx";     </script> 2.window.navigate方式跳转   <script language="javascript&q

MVC框架理解(整理)

MVC是三个单词的首字母缩写,它们是Model(模型).View(视图)和Controller(控制). 视图 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML.XML和Applet.随着应用的复杂性和规模性,界面的处理也变得具有挑战性.一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理.业务流程的处理交予模型(Model)处理.比如一个订单的视图只接受来自模型