GoodsService.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace app\extra\service\saas;
  3. use app\extra\basic\Service;
  4. use app\model\saas\SaasGoods;
  5. class GoodsService extends Service
  6. {
  7. /**
  8. * 列表
  9. * @param array $param
  10. */
  11. public function getList(array $param = [])
  12. {
  13. $this->mode = new SaasGoods();
  14. return $this->searchVal($param,$this->searchFilter($param))->with(['agent' => function($query){
  15. $query->field("agent_id,name");
  16. },"store" => function($query){
  17. $query->field("store_id,store_name");
  18. },"print" => function($query){
  19. $query->field("sn,name");
  20. }])->paginate([
  21. "list_rows" => $param['pageSize'],
  22. "page" => $param['page']
  23. ]);
  24. }
  25. protected function searchFilter(array $param = []): array
  26. {
  27. $filter = [];
  28. !empty($param['agent']) && $filter[] = ["agent_id", '=', $param['agent']];
  29. !empty($param['store']) && $filter[] = ["store_id", '=', $param['store']];
  30. !empty($param['status']) && $filter[] = ["status", '=', ($param['status']-1)];
  31. !empty($param['type']) && $filter[] = ["store_type", '=', $param['type']];
  32. !empty($param['title']) && $filter[] = ["product_name", 'like', "%{$param['title']}%"];
  33. !empty($param['out_id']) && $filter[] = ["out_id", 'like', "%{$param['out_id']}%"];
  34. return $filter;
  35. }
  36. }