You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
276 lines
8.8 KiB
276 lines
8.8 KiB
<?php |
|
/** |
|
* Created by IntelliJ IDEA. |
|
* User: luwei |
|
* Date: 2017/7/17 |
|
* Time: 11:47 |
|
*/ |
|
|
|
namespace app\modules\api\controllers; |
|
|
|
use app\hejiang\ApiResponse; |
|
use app\hejiang\BaseApiResponse; |
|
use app\models\ActionLog; |
|
use app\models\Model; |
|
use app\models\Order; |
|
use app\modules\api\behaviors\LoginBehavior; |
|
use app\modules\api\models\ExpressDetailForm; |
|
use app\modules\api\models\LocationForm; |
|
use app\modules\api\models\OrderClerkForm; |
|
use app\modules\api\models\OrderCommentForm; |
|
use app\modules\api\models\OrderCommentPreview; |
|
use app\modules\api\models\OrderConfirmForm; |
|
use app\modules\api\models\OrderDetailForm; |
|
use app\modules\api\models\OrderListForm; |
|
use app\modules\api\models\OrderPayDataForm; |
|
use app\modules\api\models\OrderRefundDetailForm; |
|
use app\modules\api\models\OrderRefundForm; |
|
use app\modules\api\models\OrderRefundPreviewForm; |
|
use app\modules\api\models\OrderRefundSendForm; |
|
use app\modules\api\models\OrderRevokeForm; |
|
use app\modules\api\models\OrderSubmitForm; |
|
use app\modules\api\models\OrderSubmitPreviewForm; |
|
use app\modules\api\models\QrcodeForm; |
|
|
|
class OrderController extends Controller |
|
{ |
|
public function behaviors() |
|
{ |
|
return array_merge(parent::behaviors(), [ |
|
'login' => [ |
|
'class' => LoginBehavior::className(), |
|
], |
|
]); |
|
} |
|
|
|
//订单提交前的预览页面 |
|
public function actionSubmitPreview() |
|
{ |
|
$form = new OrderSubmitPreviewForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//订单提交 |
|
public function actionSubmit() |
|
{ |
|
$form = new OrderSubmitForm(); |
|
$model = \Yii::$app->request->post(); |
|
if ($model['offline'] == 0) { |
|
$form->scenario = "EXPRESS"; |
|
} else { |
|
$form->scenario = "OFFLINE"; |
|
} |
|
$form->attributes = $model; |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
$form->version = hj_core_version(); |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//新-订单提交前的预览页面 |
|
public function actionNewSubmitPreview() |
|
{ |
|
$form = new \app\modules\api\models\order\OrderSubmitPreviewForm(); |
|
$form->attributes = \Yii::$app->request->post(); |
|
$form->store_id = $this->store->id; |
|
$form->store = $this->store; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//新-订单提交 |
|
public function actionNewSubmit() |
|
{ |
|
$form = new \app\modules\api\models\order\OrderSubmitForm(); |
|
$form->attributes = \Yii::$app->request->post(); |
|
$form->store = $this->store; |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
$form->user = \Yii::$app->user->identity; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//订单支付数据 |
|
public function actionPayData() |
|
{ |
|
$form = new OrderPayDataForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user = \Yii::$app->user->identity; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//订单列表 |
|
public function actionList() |
|
{ |
|
$form = new OrderListForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//订单取消 |
|
public function actionRevoke() |
|
{ |
|
$form = new OrderRevokeForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//订单确认收货 |
|
public function actionConfirm() |
|
{ |
|
$form = new OrderConfirmForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//订单各个状态数量 |
|
public function actionCountData() |
|
{ |
|
$res = OrderListForm::getCountData($this->store->id, \Yii::$app->user->id); |
|
return new BaseApiResponse([ |
|
'code' => 0, |
|
'msg' => 'success', |
|
'data' => $res, |
|
]); |
|
} |
|
|
|
//订单详情 |
|
public function actionDetail() |
|
{ |
|
$form = new OrderDetailForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//售后页面 |
|
public function actionRefundPreview() |
|
{ |
|
$form = new OrderRefundPreviewForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//售后提交 |
|
public function actionRefund() |
|
{ |
|
$form = new OrderRefundForm(); |
|
$form->attributes = \Yii::$app->request->post(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//售后订单详情 |
|
public function actionRefundDetail() |
|
{ |
|
$form = new OrderRefundDetailForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//评论预览页面 |
|
public function actionCommentPreview() |
|
{ |
|
$form = new OrderCommentPreview(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//评论提交 |
|
public function actionComment() |
|
{ |
|
$form = new OrderCommentForm(); |
|
$form->attributes = \Yii::$app->request->post(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//订单物流信息 |
|
public function actionExpressDetail() |
|
{ |
|
$form = new ExpressDetailForm(); |
|
$form->attributes = \Yii::$app->request->get(); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//核销订单 |
|
public function actionClerk() |
|
{ |
|
$form = new OrderClerkForm(); |
|
$form->order_id = \Yii::$app->request->get('order_id'); |
|
$form->order_no = \Yii::$app->request->get('order_no'); |
|
$form->store_id = $this->store->id; |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
|
|
//核销订单详情 |
|
public function actionClerkDetail() |
|
{ |
|
if (\Yii::$app->user->identity->is_clerk != 1) { |
|
return new BaseApiResponse([ |
|
'code' => 1, |
|
'msg' => '不是核销员禁止核销' |
|
]); |
|
} |
|
$form = new OrderDetailForm(); |
|
$form->order_no = \Yii::$app->request->get('order_no'); |
|
$form->store_id = $this->store->id; |
|
// $form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->clerk()); |
|
} |
|
|
|
public function actionGetQrcode() |
|
{ |
|
$order_no = \Yii::$app->request->get('order_no'); |
|
$form = new QrcodeForm(); |
|
$form->page = "pages/clerk/clerk"; |
|
$form->width = 100; |
|
if (\Yii::$app->fromAlipayApp()) { |
|
$form->scene = "order_no={$order_no}"; |
|
} else { |
|
$form->scene = "{$order_no}"; |
|
} |
|
$form->store = $this->store; |
|
$res = $form->getQrcode(); |
|
return new BaseApiResponse($res); |
|
} |
|
|
|
public function actionLocation() |
|
{ |
|
$form = new LocationForm(); |
|
$form->store_id = $this->store->id; |
|
$form->attributes = \Yii::$app->request->get(); |
|
return new BaseApiResponse($form->search()); |
|
} |
|
|
|
//售后订单用户发货 |
|
public function actionRefundSend() |
|
{ |
|
$form = new OrderRefundSendForm(); |
|
$form->attributes = \Yii::$app->request->post(); |
|
$form->user_id = \Yii::$app->user->id; |
|
return new BaseApiResponse($form->save()); |
|
} |
|
}
|
|
|