<?php // +---------------------------------------------------------------------- // | likeadmin快速开发前后端分离管理后台(PHP版) // +---------------------------------------------------------------------- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 // | 开源版本可自由商用,可去除界面版权logo // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin // | github下载:https://github.com/likeshop-github/likeadmin // | 访问官网:https://www.likeadmin.cn // | likeadmin团队 版权所有 拥有最终解释权 // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- namespace app\api\controller; use app\api\logic\LogisticsLogic; /** * 文章管理 * Class ArticleController * @package app\api\controller */ class LogisticsController extends BaseApiController { public array $notNeedLogin = ['courierLogisticsList','courierLogisticsDetail','userLogisticsDetail','logisticsCreate','courierTakeGoods','courierCompleteDelivery','userConfirmReceipt','userCancelOrder','courierData','sendMessageToApp']; /* * 获取配送员物流信息列表 * @method get * @param int $courier_id 配送员id * @param int $status 物流状态 * @param int $page_size 每页数量 * @param int $page_num 页码 * @return \think\response\Json */ public function courierLogisticsList(): \think\response\Json { //获取参数 $params = $this->request->get(['courier_id','status','page_size','page_num','keywords']); //验证参数 if(empty($params['courier_id'])) return $this->fail('参数错误'); if(empty($params['keywords'])) $params['keywords'] = ''; //返回数据 return $this->data(LogisticsLogic::list($params)); } /* * 获取物流信息详情 * @method get * @param int $logistics_id 物流id * @return \think\response\Json */ public function courierLogisticsDetail(): \think\response\Json { //获取参数 $logistics_id = $this->request->get('logistics_id'); //验证参数 if(empty($logistics_id)) return $this->fail('参数错误'); //返回数据 return $this->data(LogisticsLogic::cDetail($logistics_id)); } /* * 生成物流信息 * @method post * @param int $order_id 订单id * @param string $order_sn 订单编号 * @return \think\response\Json */ public function logisticsCreate(): \think\response\Json { //获取参数 $params = $this->request->post(['order_id','order_sn']); //验证参数 if(empty($params['order_id']) || empty($params['order_sn'])) return $this->fail('参数错误'); //生成数据 $result = LogisticsLogic::create($params); //返回数据 return $result['code'] ==1 ? $this->success('生成成功',$result['data']) : $this->fail($result['msg']); } /* * 配送员提取商品 * @method post * @param int $logistics_id 物流id * @return \think\response\Json */ public function courierTakeGoods(): \think\response\Json { //获取参数 $params = $this->request->post(['logistics_id','order_id','order_sn']); //验证参数 if(empty($params['logistics_id']) || empty($params['order_id']) || empty($params['order_sn'])) return $this->fail('参数错误'); //提取商品 $result = LogisticsLogic::takeGoods($params); //返回数据 return $result['code'] ==1 ? $this->success('提取成功') : $this->fail($result['msg']); } /* * 配送员完成配送 * @method post * @param int $logistics_id 物流id * @return \think\response\Json */ public function courierCompleteDelivery(): \think\response\Json { //获取参数 $params = $this->request->post(['logistics_id','take_code']); //验证参数 if(empty($params['logistics_id']) || empty($params['take_code'])) return $this->fail('参数错误'); //完成配送 $result = LogisticsLogic::doneDelivery($params); //返回数据 return $result['code'] ==1 ? $this->success('配送完成') : $this->fail($result['msg']); } /* * 用户取消订单 * @method post * @param int $logistics_id 物流id * @return \think\response\Json */ public function userCancelOrder(): \think\response\Json { //获取参数 $params = $this->request->post(['order_id','order_sn']); //验证参数 if(empty($params['order_id']) || empty($params['order_sn'])) return $this->fail('参数错误'); //完成配送 $result = LogisticsLogic::cancel($params); //返回数据 return $result['code'] ==1 ? $this->success('取消成功') : $this->fail($result['msg']); } /* * 商超端物流详情 * @method post * @param int $logistics_id 物流id * @return \think\response\Json */ public function userLogisticsDetail(): \think\response\Json { //获取参数 $params = $this->request->get(['order_id','order_sn']); //验证参数 if(empty($params['order_id']) || empty($params['order_sn'])) return $this->fail('参数错误'); //返回数据 return $this->data(LogisticsLogic::uDetail($params)); } }