AgentService.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace app\extra\service\saas;
  3. use app\extra\basic\Service;
  4. use app\model\saas\SaasAgent;
  5. use app\model\saas\SaasStore;
  6. class AgentService extends Service
  7. {
  8. /**
  9. * 列表
  10. * @param array $param
  11. */
  12. public function getList(array $param = [])
  13. {
  14. $this->mode = new SaasAgent();
  15. return $this->searchVal($param,$this->searchFilter($param))->append(['store'])->withAttr(['store' => function($data,$resp){
  16. return (new SaasStore)->where("agent_id",$resp['agent_id'])->count();
  17. }])->paginate([
  18. "list_rows" => $param['pageSize'],
  19. "page" => $param['page']
  20. ]);
  21. }
  22. protected function searchFilter(array $param = []): array
  23. {
  24. $filter = [];
  25. !empty($param['agent']) && $filter[] = ["agent_id", '=', $param['agent']];
  26. !empty($param['store']) && $filter[] = ["store_id", '=', $param['store']];
  27. !empty($param['status']) && $filter[] = ["status", '=', ($param['status']-1)];
  28. !empty($param['type']) && $filter[] = ["store_type", '=', $param['type']];
  29. !empty($param['name']) && $filter[] = ["name", 'like', "%{$param['name']}%"];
  30. return $filter;
  31. }
  32. }