一、共同点:
1、controller 层
1.1 类上需要的注解
@Api(value = "合同管理接口",tags = {"合同管理接口"}) //接口名称
@RestController
@RequestMapping("/contractInfo")
1.2 controller中的方法返回不能使用 E6Wrapper<Object> ,不能有Object作为泛型类型
二、模块功能
1、分页查询
1.1 校验时间
1.2 获取当前登录人信息
AbstractUser currentUser = CurrentUserHolder.getCurrentUser();
Integer corpId = currentUser.getCorpId();
contractInfoPageVO.setCorpId(corpId);
1.3 加入分页参数,并将分页查询的条件封装到map当中(从前端获取到的对象中的属性作为map中的键,属性对应获取到的值作为map中的值)
PageParamNewVO<ContractInfoPageVO> pageParamNewVO = contractInfoPageVO.getPageParamNewVO();
Map<String, Object> map = new HashMap<>(BaseConstant.MAP_INITIAL_CAPACITY);
Pageable pageable = PageUtilNew.buildPageableMySQL(pageParamNewVO);
// 加入分页参数
BeanUtil.bean2map(pageable, map);
BeanUtil.bean2map(contractInfoPageVO, map);
1.4 查询先查询表中总记录数
1.4.1 如果查到,则进行业务逻辑处理,在VO中进行封装,并进行响应
a、如果需要缓存中的值,在缓存中获取值的方式如下
注意:集合对象是从表中拿到所有并封装成集合对象并进行传参------获取集合的方式使用流的方式
contractInfoVOList.stream().map(ContractInfoVO::getOrgId).collect(Collectors.toSet());
CacheOperationUtils.conversionCacheMap(CacheKeyPrefixEnum.CORP_USER_MAP, currentUser, 集合对象);
1.4.2 如果有按钮,则进行按钮的设置,按钮所指如下: