diff --git a/app/Controller/OrderListController.php b/app/Controller/OrderListController.php new file mode 100644 index 0000000..a5ebfc2 --- /dev/null +++ b/app/Controller/OrderListController.php @@ -0,0 +1,35 @@ +orderListService->storeOrderList($this->request->all()); + return $this->success($res); + } + /** + * 用户订单列表 + */ + public function userOrderList() + { + $res = $this->orderListService->userOrderList($this->request->all()); + return $this->success($res); + } + +} \ No newline at end of file diff --git a/app/Service/OrderListService.php b/app/Service/OrderListService.php new file mode 100644 index 0000000..5c960fa --- /dev/null +++ b/app/Service/OrderListService.php @@ -0,0 +1,138 @@ +join('ims_cjdc_order_main as m','o.order_main_id','=','m.id') + ->join('ims_cjdc_storeset as s','s.store_id','=','o.store_id') + ->where([ + ['o.store_id','=',$data['id']], + ['o.type','=',1], + ]) + ->whereIn('o.state',[$data['state']]) + ->select( + 's.id', + 's.ps_mode', + 'm.order_shipping_code', + 'o.id as order_id', + 'o.address', + 'o.delivery_time', + 'o.lat', + 'o.lng', + 'o.money', + 'o.name', + 'o.note', + 'o.order_num', + 'o.order_type', + 'o.pay_type', + 'o.state', + 'o.store_id', + 'o.time', + 'm.dada_status' + ) + ->paginate($data['pagesize']); + $res = array(); + foreach ($order_main as $k => $v){ + if($v->dada_status > 0){ + $v->ps_mode = '达达配送'; + }else{ + $v->ps_mode = '服务站配送'; + } + $goods = Db::table('ims_cjdc_order_goods') + ->where('order_id',$v->order_id) + ->select('img','number','name','money') + ->get(); + $num = Db::table('ims_cjdc_order_goods') + ->where('order_id',$v->order_id) + ->sum('number'); + $order_data = array( + 'good' => $goods, + 'order' => $v, + 'num' => $num, + ); + $res[$k] = $order_data; + } + return $res; + + } + + public function userOrderList($data) + { + $order_main = Db::table('ims_cjdc_order_main') + ->where([ + ['id','=',$data['id']], + ['type','=',1], + ]) + ->select( + 'address', + 'box_money', + 'delivery_time', + 'dn_state', + 'money', + 'name', + 'note', + 'order_num', + 'order_type', + 'pay_time', + 'pay_type', + 'state', + 'dada_fee as ps_money', + 'time', + 'type', + 'yhq_money2', + 'tel', + 'dada_status' + ) + ->first(); + $order = Db::table('ims_cjdc_order as o') + ->join('ims_cjdc_store as s','o.store_id','=','s.id') + ->where('o.order_main_id',$data['id']) + ->select( + 'o.id', + 'o.store_id', + 'o.name as store_name', + 'o.box_money as store_box_money', + 'o.mj_money as store_mj_money', + 'o.money as store_money', + 'o.note as store_note', + 's.tel as store_tel', + 's.logo as store_logo' + ) + ->get(); + $store_list = array(); + foreach ($order as $k => $v){ + $goods = Db::table('ims_cjdc_order_goods as og') + ->join('ims_cjdc_goods as g','g.id','=','og.good_id') + ->where('og.order_id',$v->id) + ->select( + 'og.id as good_id', + 'og.img as good_logo', + 'og.money as good_money', + 'og.name as good_name', + 'og.number as good_num', + 'og.spec as good_spec', + 'g.is_show' + ) + ->get(); + $v->good_list = $goods; + $store_list[$v->store_id] = $v; + } + $order_main->store_list = $store_list; + return $order_main; + } + +} \ No newline at end of file diff --git a/app/Service/OrderListServiceInterface.php b/app/Service/OrderListServiceInterface.php new file mode 100644 index 0000000..3fd6f10 --- /dev/null +++ b/app/Service/OrderListServiceInterface.php @@ -0,0 +1,12 @@ + \App\Service\ServiceEvaluateService::class + \App\Service\ServiceEvaluateServiceInterface::class => \App\Service\ServiceEvaluateService::class, + \App\Service\OrderListServiceInterface::class => \App\Service\OrderListService::class, ]; diff --git a/config/routes.php b/config/routes.php index 706a9ab..5032e31 100644 --- a/config/routes.php +++ b/config/routes.php @@ -23,4 +23,6 @@ Router::addGroup('/v1/',function (){ Router::post('ServiceEvaluate/isPersonnel', 'App\Controller\ServiceEvaluateController@isPersonnel'); Router::post('ServiceEvaluate/getPersonnelInfo', 'App\Controller\ServiceEvaluateController@getPersonnelInfo'); Router::post('ServiceEvaluate/getEvaluateList', 'App\Controller\ServiceEvaluateController@getEvaluateList'); + Router::post('OrderList/storeOrderList', 'App\Controller\OrderListController@storeOrderList'); + Router::post('OrderList/userOrderList', 'App\Controller\OrderListController@userOrderList'); }); \ No newline at end of file