|
@@ -3,13 +3,8 @@
|
|
|
namespace app\api\controller\mall;
|
|
|
|
|
|
use app\common\controller\Api;
|
|
|
-use app\common\model\OrderInfo;
|
|
|
-use app\common\model\OrderVoucher;
|
|
|
use app\common\model\Refund;
|
|
|
-use app\common\service\OrderService;
|
|
|
-use fast\Arr;
|
|
|
-use think\Db;
|
|
|
-use app\common\model\Orders as Order;
|
|
|
+use app\common\service\RefundService;
|
|
|
|
|
|
/**
|
|
|
* 订单退款
|
|
@@ -22,7 +17,9 @@ class OrderRefund extends Api
|
|
|
/**
|
|
|
* 退款退货配置
|
|
|
* @ApiMethod (POST)
|
|
|
- * @
|
|
|
+ * @ApiParams (name=order_info_id,description=退货子订单ID)
|
|
|
+ * @ApiParams (name=num,description=退货数量)
|
|
|
+ * @ApiParams (name=num_install,description=退货安装数量)
|
|
|
* @ApiReturnParams (name=reason,description=退款原因选项)
|
|
|
* @ApiReturnParams (name=type,description=退货方式选项)
|
|
|
*/
|
|
@@ -31,7 +28,22 @@ class OrderRefund extends Api
|
|
|
$info=[
|
|
|
'reason'=>array_values(Refund::getReasons()),
|
|
|
'type'=>array_values(Refund::getRefundBys()),
|
|
|
+ 'amount'=>0,
|
|
|
];
|
|
|
+ $data=$this->_validate([
|
|
|
+ 'order_info_id'=>['require','integer'],
|
|
|
+ 'num'=>['require','integer','egt:0'],
|
|
|
+ 'num_install'=>['require','integer','egt:0'],
|
|
|
+ ]);
|
|
|
+ $orderInfo=$this->auth->getUser()->orderInfo()->find($data['order_info_id']);
|
|
|
+ if($orderInfo){
|
|
|
+ list($amount,$amount_install)=RefundService::setOrderInfo($orderInfo)
|
|
|
+ ->setNum($data['num'])
|
|
|
+ ->setNumInstall($data['num_install'])
|
|
|
+ ->amount();
|
|
|
+ $info['amount']=bcadd($amount,$amount_install);
|
|
|
+ }
|
|
|
+
|
|
|
$this->success('', $info);
|
|
|
}
|
|
|
}
|