erp/app/api/controller/order/RetailOrderController.php
2024-04-27 11:41:34 +08:00

57 lines
2.0 KiB
PHP

<?php
namespace app\api\controller\order;
use app\admin\logic\order\CartLogic;
use app\api\logic\order\OrderLogic;
use app\api\controller\BaseApiController;
use app\common\logic\order\RetailOrderLogic;
use app\common\enum\PayEnum;
use app\common\model\order\Cart;
use app\common\model\user\User;
class RetailOrderController extends BaseApiController
{
public function checkOrder(){
$cartId = (Array)$this->request->post('cart_id', []);
$addressId = (int)$this->request->post('address_id');
$pay_type = (int)$this->request->post('pay_type');
$auth_code = $this->request->post('auth_code'); //微信支付条码
$params=$this->request->post();
$res=OrderLogic::cartIdByOrderInfo($cartId,$addressId,null,$params);
return $this->data($res);
}
/**
* @notes 创建零售订单
*/
public function createOrder(){
$user=User::where('id',$this->request->userId)->find();
$cartId = (Array)$this->request->post('cart_id', []);
$addressId = (int)$this->request->post('address_id');
$pay_type = (int)$this->request->post('pay_type');
$auth_code = $this->request->post('auth_code'); //微信支付条码
$params=$this->request->post();
$order=OrderLogic::createOrder($cartId,$addressId,null,$params);
if($order!=false){
if($pay_type==PayEnum::BALANCE_PAY){
$user=User::where('id',$this->request->userId)->find();
$res=RetailOrderLogic::payBalance($user,$order);
if($res==true){
$res=RetailOrderLogic::paySuccess($order, ['money'=>$order['actual']]);
if($res){
}else{
return $this->fail(RetailOrderLogic::getError());
}
}else{
return $this->fail(RetailOrderLogic::getError());
}
}
return $this->data(['order_id'=>$order->id]);
}else{
return $this->fail(OrderLogic::getError());
}
}
}