在详情页跳转数据功能的实现
1、应产品要求,有详情页面的单据都要加上上一条、下一条、第一条、最后一条的按钮。
2、封装了一个公共类用于实现。主要逻辑为:在查询列表接口时建立缓存,将查询条件、当前页集合等数据缓存起来,用户点击上一条等按钮时,传递当前数据的ID,根据ID在当前集合的位置,进行定位,找到相邻或最前、最末的数据,最后更新缓存数据。目前缓存时间为三个小时。
3、以下是公共类的命名和存放位置以及接口。
4、对于EF和Dapper,类的内部有不同的处理,但是通过重载方法,统一了对外接口,隐藏了实现细节,调用方不需要了解更多更复杂的实现逻辑,根据注释传递对应参数即可。
使用示例
注入需要声明泛型对应的具体类型,即查询列表接口的传入参数类型。
同时页面需要有模块名称的属性,请统一命名为CacheKey,后期可能会用到异常说明中去。
在查询列表接口分页排序实现之后,调用FindIndexHelper的更新缓存方法。
增加具体实现的功能只需要复制以下代码并粘贴,修改查询列表接口方法名即可。
请统一接口地址,方便前端。
复制以下代码,更改Service名称即可。
对于前端,与根据ID获取详情的接口类似的调用方式。