'require|checkId', 'from' => 'require', 'scene' => 'require', ]; protected $message = [ 'id.require' => '参数错误', 'from.require' => '参数缺失', 'scene.require' => '参数缺失', ]; public function sceneDetail() { return $this->only(['id']); } public function sceneCancel() { return $this->only(['id']) ->append('id','checkCancel'); } public function sceneDel() { return $this->only(['id']) ->append('id','checkDel'); } public function scenePayWay() { return $this->only(['from','scene']); } /** * @notes 检验订单id * @param $value * @param $rule * @param $data * @return bool|string * @author ljj * @date 2022/2/28 10:12 上午 */ public function checkId($value,$rule,$data) { $result = Order::where(['id'=>$value])->findOrEmpty(); if ($result->isEmpty()) { return '订单不存在'; } return true; } /** * @notes 检验订单能否取消 * @param $value * @param $rule * @param $data * @return bool|string * @author ljj * @date 2022/2/28 11:28 上午 */ public function checkCancel($value,$rule,$data) { $result = Order::where(['id'=>$value])->findOrEmpty()->toArray(); if ($result['order_status'] != OrderEnum::ORDER_STATUS_WAIT_PAY && $result['order_status'] != OrderEnum::ORDER_STATUS_WAIT_RECEIVING) { return '该订单无法取消'; } return true; } /** * @notes 检验订单能否删除 * @param $value * @param $rule * @param $data * @return bool|string * @author ljj * @date 2022/2/28 11:48 上午 */ public function checkDel($value,$rule,$data) { $result = Order::where(['id'=>$value])->findOrEmpty()->toArray(); if ($result['order_status'] != OrderEnum::ORDER_STATUS_CLOSE) { return '该订单无法删除'; } return true; } }