Skip to main content

钩子

钩子列表:

Yii::$app->hookManager->on('beforeReservation', function($eventData) {});//预约前
Yii::$app->hookManager->on('afterReservation', function($eventData) {});//预约后
Yii::$app->hookManager->on('beforeInbound', function($eventData) {});//入库前
Yii::$app->hookManager->on('afterInbound', function($eventData) {});//入库后
Yii::$app->hookManager->on('beforePutaway', function($eventData) {});//上架前
Yii::$app->hookManager->on('afterPutaway', function($eventData) {});//上架后
Yii::$app->hookManager->on('beforeCreateOrder', function($eventData) {});//创建出库单前
Yii::$app->hookManager->on('afterCreateOrder', function($eventData) {});//创建出库单后
Yii::$app->hookManager->on('beforePack', function($eventData) {});//打包前
Yii::$app->hookManager->on('afterPack', function($eventData) {});//打包后
Yii::$app->hookManager->on('beforeOutbound', function($eventData) {});//出库前
Yii::$app->hookManager->on('afterOutbound', function($eventData) {});//出库后
Yii::$app->hookManager->on('beforeDisposal', function($eventData) {});//销毁前
Yii::$app->hookManager->on('afterDisposal', function($eventData) {});//销毁后
Yii::$app->hookManager->on('beforeReturn', function($eventData) {});//退货前
Yii::$app->hookManager->on('afterReturn', function($eventData) {});//退货后


所有钩子必须基于以上钩子列表。商户端支持所有钩子;用户端支持的钩子:

Yii::$app->hookManager->on('beforeReservation', function($eventData) {});//预约前
Yii::$app->hookManager->on('afterReservation', function($eventData) {});//预约后
Yii::$app->hookManager->on('beforeCreateOrder', function($eventData) {});//创建出库单前
Yii::$app->hookManager->on('afterCreateOrder', function($eventData) {});//创建出库单后
Yii::$app->hookManager->on('beforeReturn', function($eventData) {});//退货前
Yii::$app->hookManager->on('afterReturn', function($eventData) {});//退货后


预埋钩子方法:

Yii::$app->hookManager->trigger('afterInbound', $eventData);



商户端钩子需要的数据:

1、beforeInbound

$eventDataBefore = [
    'mainId' => $this->user['mainId'],
    'mainName' => $this->user['mainName'],
    'subId' => $this->user['subId'],
    'subName' => $this->user['subName'],
    'code' => $code,
    'warehouseId' => Yii::$app->cache->get('warehouseId'),
];

2、afterInbound

$eventDataAfter = [
    'mainId' => $this->user['mainId'],
    'mainName' => $this->user['mainName'],
    'subId' => $this->user['subId'],
    'subName' => $this->user['subName'],
    'customerId' => $data['customerId'],
    'customerName' => $data['customerName'],
    'code' => $code,
    'warehouseId' => Yii::$app->cache->get('warehouseId'),
    'reservation'=>ArrayHelper::toArray($_model),
];