RefundService.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace app\common\service;
  3. use app\common\model\OrderInfo;
  4. class RefundService extends BaseService {
  5. /** @var OrderInfo */
  6. protected $orderInfo;
  7. /** @var $num int */
  8. protected $num;
  9. /** @var $num_install int */
  10. protected $num_install;
  11. public static function setOrderInfo(OrderInfo $orderInfo,$num,$num_install){
  12. $ins=new static;
  13. $ins->orderInfo=$orderInfo;
  14. $ins->num=$num;
  15. $ins->num_install=$num_install;
  16. return $ins;
  17. }
  18. public function amount(){
  19. $amount=0;
  20. if($this->num>0){
  21. $amount=bcdiv($this->getOrderInfo('amount_goods_real'),$this->num);
  22. }
  23. $amount_install=0;
  24. if($this->num>0){
  25. $amount_install=bcdiv($this->getOrderInfo('amount_install'),$this->num_install);
  26. }
  27. return [$amount,$amount_install];
  28. }
  29. /**
  30. */
  31. public function getOrderInfo($field=null)
  32. {
  33. return is_null($field)?$this->orderInfo:$this->orderInfo[$field];
  34. }
  35. /**
  36. * @return int
  37. */
  38. public function getNum()
  39. {
  40. if($this->num>$this->getOrderInfo('num')){
  41. return $this->getOrderInfo('num');
  42. }
  43. return $this->num;
  44. }
  45. /**
  46. * @return int
  47. */
  48. public function getNumInstall(): int
  49. {
  50. if($this->num_install>$this->getOrderInfo('num_install')){
  51. return $this->getOrderInfo('num');
  52. }
  53. return $this->num_install;
  54. }
  55. }