| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace app\extra\service\saas;
- use app\extra\basic\Service;
- use app\model\saas\SaasOrder;
- class OrderService extends Service
- {
- /**
- * @param array $param
- */
- public function getList(array $param = [])
- {
- $this->mode = new SaasOrder();
- return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){
- $query->field("out_id,product_name,product_img,product_price");
- },"store" => function($query){
- $query->field("store_id,store_name,service_at_start,service_at_end");
- },"agent" => function ($query) {
- $query->field("agent_id,name");
- },"parent" => function ($query) {
- $query->field("order_id,status,pay_amount,order_amount,count");
- }])->paginate([
- "list_rows" => $param['pageSize'],
- "page" => $param['page']
- ]);
- }
- /**
- * @param array $param
- */
- public function getListAll(array $param = [])
- {
- $this->mode = new SaasOrder();
- return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){
- $query->field("out_id,product_name,product_img,product_price");
- },"store" => function($query){
- $query->field("store_id,store_name,service_at_start,service_at_end");
- },"agent" => function ($query) {
- $query->field("agent_id,name");
- },"parent" => function ($query) {
- $query->field("order_id,status,pay_amount,order_amount,count");
- }])->select()->toArray();
- }
- public function getDataListMini(array $param = [])
- {
- $this->mode = new SaasOrder();
- return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){
- $query->field("out_id,product_name,product_img,product_price");
- }])->paginate([
- "list_rows" => $param['size'],
- "page" => $param['page']
- ]);
- }
- protected function searchFilter(array $param = []): array
- {
- $filter = [];
- !empty($param['agent']) && $filter[] = ["agent_id", '=', $param['agent']];
- !empty($param['store']) && $filter[] = ["store_id", '=', $param['store']];
- !empty($param['open_id']) && $filter[] = ["open_id", '=', $param['open_id']];
- !empty($param['statusLt']) && $filter[] = ["status", '=', ($param['statusLt']-1)];
- !empty($param['auto']) && $filter[] = ["auto", '=', ($param['auto']-1)];
- !empty($param['status']) && $filter[] = ["status", '=', $param['status']];
- !empty($param['ex_status']) && $filter[] = ["express_status", '=', ($param['ex_status']-1)];
- !empty($param['orderid']) && $filter[] = ["order_id", 'like', "%{$param['orderid']}%"];
- !empty($param['ordersn']) && $filter[] = ["order_sn", 'like', "%{$param['ordersn']}%"];
- !empty($param['product']) && $filter[] = ["product_id", 'like', "%{$param['product']}%"];
- !empty($param['name']) && $filter[] = ["product_name", 'like', "%{$param['name']}%"];
- !empty($param['certificate']) && $filter[] = ["certificate_id", 'like', "%{$param['certificate']}%"];
- return $filter;
- }
- }
|