ExpCost.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\system;
  4. use Closure;
  5. use library\basic\BaseModel;
  6. use library\traits\JwtAuthModelTrait;
  7. use library\traits\ModelTrait;
  8. use think\Model;
  9. /**
  10. * @mixin \think\Model
  11. */
  12. class ExpCost extends BaseModel
  13. {
  14. use ModelTrait;
  15. use JwtAuthModelTrait;
  16. //
  17. /**
  18. * 获取列表数据
  19. * @param $page
  20. * @param $where
  21. * @param $pageCount
  22. * @param $desc
  23. */
  24. public function getList2($page,$where = [],$pageCount = 20,$filed = '*',$desc = ''){
  25. $data = $this
  26. ->field("ec.*,s.name as site_name,e.title as exp_name,w.name as warehouse_name,ml.name as level_name,
  27. (SELECT money from table_exp_cost where sassid = 0 AND express_id = ec.express_id AND warehouse_id = ec.warehouse_id AND level_id = -1) as exp_money
  28. ")
  29. ->alias("ec")
  30. ->join('site s',"ec.sassid = s.sassid")
  31. ->join('express e',"e.id = ec.express_id")
  32. ->join('warehouse w',"w.id = ec.warehouse_id")
  33. ->leftJoin("member_level ml","ml.id = ec.level_id")
  34. ->when(!empty($where),function ($query) use($where){
  35. if(!empty($where['sassid'])) {
  36. $query->where('ec.sassid',$where['sassid']);
  37. }
  38. if(!empty($where['level_id'])) {
  39. $query->where('ec.level_id',$where['level_id']);
  40. }
  41. })
  42. ->order($desc)
  43. ->paginate(['list_rows'=>$pageCount,'page'=>$page])
  44. ->toArray();
  45. //echo $this->getLastSql();
  46. return [$data['total'],$data['data']];
  47. }
  48. }