|
@@ -26,6 +26,7 @@ use app\common\enum\order\PayType as OrderPayTypeEnum;
|
|
use app\common\exception\BaseException;
|
|
use app\common\exception\BaseException;
|
|
use app\common\library\helper;
|
|
use app\common\library\helper;
|
|
use app\common\service\card\UserRiceCard as UserRiceCardService;
|
|
use app\common\service\card\UserRiceCard as UserRiceCardService;
|
|
|
|
+use app\api\service\order\CheckoutExchange as CheckoutExchangeService;
|
|
use app\api\service\order\CheckoutGroupbuy as CheckoutGroupBuyService;
|
|
use app\api\service\order\CheckoutGroupbuy as CheckoutGroupBuyService;
|
|
use app\api\service\order\CheckoutGroupbuylb as CheckoutGroupBuylbService;
|
|
use app\api\service\order\CheckoutGroupbuylb as CheckoutGroupBuylbService;
|
|
use app\api\model\groupbuy\GroupBuyJoin;
|
|
use app\api\model\groupbuy\GroupBuyJoin;
|
|
@@ -91,11 +92,64 @@ class Checkout extends Controller
|
|
return $this->za();
|
|
return $this->za();
|
|
}else if ($mode=='zareceive'){
|
|
}else if ($mode=='zareceive'){
|
|
return $this->zareceive();
|
|
return $this->zareceive();
|
|
|
|
+ }elseif($mode == 'pointsExchange'){
|
|
|
|
+ return $this->pointsExchange();
|
|
}
|
|
}
|
|
|
|
|
|
return $this->renderError('结算模式不合法');
|
|
return $this->renderError('结算模式不合法');
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private function pointsExchange()
|
|
|
|
+ {
|
|
|
|
+ // 实例化结算台服务
|
|
|
|
+ $Checkout = new CheckoutExchangeService;
|
|
|
|
+ // 订单结算api参数
|
|
|
|
+ $params = $Checkout->setParam($this->getParam([
|
|
|
|
+ 'goodsId' => 0,
|
|
|
|
+ 'goodsSkuId' => '',
|
|
|
|
+ 'goodsNum' => 0,
|
|
|
|
+ 'staffUserId' => 0,
|
|
|
|
+ 'deliveryType' => 10 // 配送方式 默认10 10-快递配送 20-门店自提
|
|
|
|
+ ]));
|
|
|
|
+ // 表单验证
|
|
|
|
+ if (!$this->validate->scene('pointsExchange')->check($params)) {
|
|
|
|
+ return $this->renderError($this->validate->getError(), ['is_created' => false]);
|
|
|
|
+ }
|
|
|
|
+ // 立即购买:获取订单商品列表
|
|
|
|
+ $model = new OrderModel;
|
|
|
|
+ $params['staffUserId'] = $params['staffUserId']??0;
|
|
|
|
+ $goodsList = $model->getOrderGoodsListByNow(
|
|
|
|
+ (int)$params['goodsId'],
|
|
|
|
+ (string)$params['goodsSkuId'],
|
|
|
|
+ (int)$params['goodsNum'],
|
|
|
|
+ (int)$params['staffUserId']
|
|
|
|
+ );
|
|
|
|
+ // 获取订单确认信息
|
|
|
|
+ $orderInfo = $Checkout->onCheckoutExchange($goodsList);
|
|
|
|
+ if ($this->request->isGet()) {
|
|
|
|
+ return $this->renderSuccess(['order' => $orderInfo]);
|
|
|
|
+ }
|
|
|
|
+ // 验证订单是否存在错误
|
|
|
|
+ if ($Checkout->hasError()) {
|
|
|
|
+ return $this->renderError($Checkout->getError(), ['is_created' => false]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //金钱和积分的兑换比例 todo
|
|
|
|
+ if ($this->user['accumulate_points'] < bcmul($orderInfo['orderTotalPrice'] , "100",0)) {
|
|
|
|
+ return $this->renderError('积分不足哦', ['is_created' => false]);
|
|
|
|
+ }
|
|
|
|
+ // 创建订单
|
|
|
|
+ if (!$Checkout->createOrder($orderInfo)) {
|
|
|
|
+ return $this->renderError($Checkout->getError() ?: '订单创建失败', ['is_created' => false]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return $this->renderSuccess([
|
|
|
|
+ 'order_id' => $Checkout->model['order_id'],// 订单id
|
|
|
|
+ 'pay_type' => OrderPayTypeEnum::EXCHANGE,// 支付方式
|
|
|
|
+ ]);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
//买一赠一 领取
|
|
//买一赠一 领取
|
|
public function zareceive(){
|
|
public function zareceive(){
|
|
$Checkout = new CheckoutZaService;
|
|
$Checkout = new CheckoutZaService;
|