getTypeInstance()->refundMoney(); } //驳回 public function reject() { return $this->getTypeInstance()->reject(); } //同意申请 public function pass() { return $this->getTypeInstance()->pass(); } //手动退款 public function consensus() { return $this->getTypeInstance()->consensus(); } //没用 public function receiveReturnGoods() { //todo 补充当退款类型实例请求 收货请求时的提示 return $this->getTypeInstance()->receiveReturnGoods(); } //换货完成 public function close() { return $this->getTypeInstance()->close(); } //商家发货 public function resend() { return $this->getTypeInstance()->resend(); } /** * @return ExchangeGoods|RefundMoney|ReturnGoods * @throws AdminException */ protected function getTypeInstance() { if (!isset($this->typeInstance)) { switch ($this->refund_type) { case self::REFUND_TYPE_REFUND_MONEY: $this->typeInstance = new RefundMoney($this); break; case self::REFUND_TYPE_RETURN_GOODS: $this->typeInstance = new ReturnGoods($this); break; case self::REFUND_TYPE_EXCHANGE_GOODS: $this->typeInstance = new ExchangeGoods($this); break; default: throw new AdminException('退款类型不存在'); break; } } return $this->typeInstance; } /** * @param $request */ public function setRequest($request) { if ($request instanceof Request) { $this->request = $request; } if (is_array($request)) { $this->request = request()->merge($request); } } public function getRequest() { if (!isset($this->request)) { $this->request = request(); } return $this->request; } }