ShopFreight.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: blank
  5. * Date: 2022/4/11
  6. * Time: 10:08
  7. */
  8. namespace app\frontend\modules\dispatch\freight;
  9. use app\backend\modules\goods\models\Dispatch;
  10. use app\common\models\goods\GoodsDispatch;
  11. use app\common\modules\orderGoods\OrderGoodsCollection;
  12. use app\frontend\models\OrderGoods;
  13. use app\frontend\modules\orderGoods\models\PreOrderGoods;
  14. class ShopFreight extends BaseFreight
  15. {
  16. protected $code = 'shop';
  17. protected $name = '标准运费';
  18. public function needDispatch()
  19. {
  20. // 虚拟物品不需要配送
  21. if ($this->order->is_virtual) {
  22. return false;
  23. }
  24. return true;
  25. }
  26. protected function _getAmount()
  27. {
  28. //去掉重复的OrderGoods
  29. $uniqueOrderGoods = $this->order->orderGoods->unique('goods_id');
  30. //这里还需要优化,需要更进一步在订单商品里实现每个商品对应的运费计算返回金额
  31. $templateFreight = new TemplateFreight($this->order);
  32. $unifyFreight = new UnifyFreight($this->order);
  33. return max($templateFreight->getAmount() + $unifyFreight->getAmount(),0);
  34. }
  35. }