(php) 多条件多过滤展示结果列表该如何重写?

这个是后台展示订单的列表,基础需求是要求可以在搜索框根据user的相关信息进行搜索,比如user_id,注册的email,也可以在搜索框中根据order的相关信息进行搜索展示,比如order_id,order_type,下单的creat_time范围等。

1、前期为了业务的快速上线,全部东西都是扔在controller里面的,多数是用if..else来做搜索展示,当需求不断增加,比如增加了user_phone,增加order_state订单状态(关闭、进行中)等等的时候又得写if...else,导致controller的这个function不断肥大。

2、不同的查询组别又有不同的查询权限,比如超级管理员能查询到全部用户,卖家只能查询到自己的买家的用户,所以user又是不同。所以这段代码在不同的controller里面不断地复制粘贴。

现在想重构,想把这个搜索功能独立成trait或者是让controller依赖的service? 不知道该如何处理这些搜索的参数,和如果分离,请教一下各位是否有相关的文章,或者书籍、实例对类似的功能做了优化的

~~ 谢谢!

《代码整洁之道》和《代码重构之道》

发表评论

电子邮件地址不会被公开。 必填项已用*标注