美文网首页
同一个接口,返回不同类的查询结果

同一个接口,返回不同类的查询结果

作者: 墨色尘埃 | 来源:发表于2020-04-17 11:04 被阅读0次

    参数:

    1.分页还是用@ModelAttribute Page<Map> page接收
    2.接收参数不用@ModelAttribute T model,改为@RequestParam Map map,因为Map其实也是一个对象

    原来返回相同类查询结果

        @RequestMapping(value = "/codePage", method = RequestMethod.GET)
        public ResponseObj<Page<SubjectEnrollCertList>> codePage(@ModelAttribute Page<SubjectEnrollCertList> page,
                                                                 @ModelAttribute SubjectEnrollCertList map,
                                                                 HttpServletRequest request) throws Exception {
            String vcode = map.getVcode();
            Integer operateType = map.getOperateType();
            VCodeUtil.checkVcode(verifyCode, vcode, operateType, request);
    
            Page<SubjectEnrollCertList> pageList = serviceList.selectPage(page, queryWrapper(new EntityWrapper<>(map)));
            for (SubjectEnrollCertList eachObj : pageList.getRecords()) {
                queryFilter(eachObj);
            }
            return new ResponseObj<>(pageList, RetCode.SUCCESS);
        }
    

    修改后,返回不同类查询结果的接口

        @Autowired
        protected SubjectEnrollCertListService serviceList;
        @Autowired
        AuthHistoryGgService authHistoryGgService;
    
    
        @RequestMapping(value = "/codePage", method = RequestMethod.GET)
        public ResponseObj<Page<Map<String, Object>>> codePage(@ModelAttribute Page<Map> page,
                                                               @RequestParam Map map,
                                                               HttpServletRequest request) throws Exception {
            String vcode = (String) map.get("vcode");
            Integer operateType = Integer.parseInt((String) map.get("operateType"));
            VCodeUtil.checkVcode(verifyCode, vcode, operateType, request);
    
            Integer subjectType = Integer.parseInt((String) map.get("subjectType"));
            Page<Map<String, Object>> mapPage = null;
            if (subjectType == Constants.GG) {
                AuthHistoryGg model = (AuthHistoryGg) MapBeanUtil.mapToBean(map, AuthHistoryGg.class);
                mapPage = authHistoryGgService.selectMapsPage(page, new EntityWrapper<>(model));
            } else {
                SubjectEnrollCertList model = (SubjectEnrollCertList) MapBeanUtil.mapToBean(map, SubjectEnrollCertList.class);
                mapPage = serviceList.selectMapsPage(page, queryWrapper(new EntityWrapper<>(model)));
            }
    
            return new ResponseObj<>(mapPage, RetCode.SUCCESS);
        }
    

    相关文章

      网友评论

          本文标题:同一个接口,返回不同类的查询结果

          本文链接:https://www.haomeiwen.com/subject/rrkevhtx.html