JEPaaS 社区

 找回密码
 立即注册
JECloud低代码平台-官网
查看: 1986|回复: 0

【列表系列】列表上查询框,按照业务逻辑修改查询方法

[复制链接]

75

主题

77

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
发表于 2021-8-24 14:14:39 | 显示全部楼层 |阅读模式
一、实现效果
如图1,在列表上输入查询的信息,点击查询按钮,按照自己的业务规则方式进行查询。

1.png
二、实现思路
文字描述,可以配图。
三、具体操作
1、找到这个查询选择对应的功能编码,如图2:
2.png
2、修改该功能的action,如图3:
3.png
3、重写/je/load方法实现自定义业务的加载方法。如图4:
4.png
四、相关代码(可选)
  1. @Controller
  2. @RequestMapping(value = "/je/ftbp/tycqy")
  3. public class TycqyController extends AbstractPlatformController {

  4.     private static final Logger logger = LoggerFactory.getLogger(TycqyController.class);

  5.     @Autowired
  6.     private TycqyService tycqyService;

  7.     @RequestMapping(
  8.             value = {"/load"},
  9.             method = {RequestMethod.POST},
  10.             produces = {"application/json; charset=utf-8"}
  11.     )
  12.     @ResponseBody
  13.     public void load(MethodArgument param) {
  14.         try {
  15.             if (isSecurity(param)) {
  16.                 Page page = new Page<>(param.getPage(), param.getLimit());
  17.                 /**
  18.                  *  取的过滤条件
  19.                  */
  20.                 Query query = param.getQuery();
  21.                 System.out.println(query.getCustom().size());
  22.                 logger.info("条件数" + query.getCustom().size());
  23.                 /**
  24.                  *  如果没有查询条件直接返回空
  25.                  */
  26.                 if(query.getCustom().size() == 0){
  27.                     this.toWrite(BaseRespResult.successResultPage(page.getRecords(), (long)page.getTotal()), param);
  28.                     return;
  29.                 }
  30.                 page = this.manager.load(param);
  31.                 if (page == null) {
  32.                     this.toWrite(BaseRespResult.successResultPage(Lists.newArrayList(), 0L), param);
  33.                     return;
  34.                 }
  35.                 /**
  36.                  *  如果未查询到数据, 就去天眼查去查
  37.                  */
  38.                 if(page.getRecords().size() == 0){
  39.                     logger.info("未查询到数据, 去天眼查查询");
  40.                     System.out.println(query.getCustom().get(0).getValue());
  41.                     JSONArray json = JSONArray.fromObject(query.getCustom().get(0).getValue());     //把数组转化为json集合
  42.                     if (json.size() > 0) {
  43.                         JSONObject job = json.getJSONObject(0);
  44.                         String value = "";                                                      //搜索条件
  45.                         if (job.get("value") != null && !"".equals(job.get("value"))) {
  46.                             value = job.get("value").toString();
  47.                         }
  48.                         /**
  49.                          *  查询条件不可为空
  50.                          */
  51.                         if(!"".equals(value)){
  52.                             logger.info("天眼查的参数" + value);
  53.                             /**
  54.                              *  天眼查查询
  55.                              */
  56.                             List<Map<String, Object>> listMap = tycqyService.selectTycDatas(value);
  57.                             page = this.manager.load(param);
  58.                             this.toWrite(BaseRespResult.successResultPage(page.getRecords(), (long)page.getTotal()), param);
  59.                             //this.toWrite(BaseRespResult.successResultPage(listMap, (long)listMap.size()), param);
  60.                             return;
  61.                         }
  62.                     }
  63.                 }
  64.                 this.toWrite(BaseRespResult.successResultPage(page.getRecords(), (long)page.getTotal()), param);
  65.             } else {
  66.                 this.dynaManager.load(param);
  67.             }

  68.         } catch (PlatformException var3) {
  69.             throw var3;
  70.         } catch (Exception var4) {
  71.             throw new PlatformException("数据加载失败!", PlatformExceptionEnum.UNKOWN_ERROR, var4);
  72.         }
  73.     }

  74. }
复制代码

五、总结(可选)
功能列表的查询功能可以根据业务自定义实现,可以通过getQuery()获取你在查询框里面输入的值。
六、关键字

自定义查询,load方法,重写/je/load,重写load方法

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-4-28 13:21 , Processed in 0.063604 second(s), 26 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表