| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?php
- namespace addons\QiJuhe\api\modules\v1\controllers;
- use Yii;
- use addons\QiJuhe\common\models\NoticeModel;
- use addons\QiJuhe\common\service\NoticeHandleService;
- use common\enums\RabbitMqEnum;
- use common\models\mall\MallAddons;
- use yii\helpers\Json;
- use yii\web\Controller;
- use addons\Cake\common\models\CakeCallbackNotice;
- /**
- * 消息通知
- */
- class NoticeController extends Controller
- {
- public $modelClass = '';
-
- public $enableCsrfValidation = false;
-
- public function actionHandler()
- {
- header('Content-type: application/json; charset=utf-8');
- $supplys_id = $this->request->get('supplys');
- $data = $this->request->post();
- $message_type = $data['message_type'] ?? '';
- if (empty($message_type)) {
- echo json_encode(['code' => 0]);die;
- }
- $method = strtolower(str_replace(".", "_", $message_type));
- $service = new NoticeHandleService();
- \Yii::error("-------------------- 记录开始 -------------------- $supplys_id");
- \Yii::error(var_export($data, true));
- \Yii::error("-------------------- 记录结束 -------------------- $supplys_id");
- // 蛋糕商品和订单由蛋糕去处理
- if (strpos($message_type, 'Cake') !== false) {
- $cake_callback_notice = \addons\Cake\common\models\CakeCallbackNotice::class;
- if (class_exists($cake_callback_notice)) {
- /** @var \addons\Cake\common\models\CakeCallbackNotice|string $cake_callback_notice */
- $method = $cake_callback_notice::$messageTypeMap[$message_type] ?? '';
- /** @var \addons\Cake\common\service\NoticeHandleService $cake_notice_handle_service */
- $cake_notice_handle_service = \addons\Cake\common\service\NoticeHandleService::class;
- $cake_notice_handle_service::handle([
- 'data' => $data,
- 'method' => $method,
- // 'supplys_id' => $supplys_id,
- 'supplys_id' => 0,
- ]);
- }else{
- \Yii::error(__METHOD__ . " {$cake_callback_notice} not exists");
- }
- return Json::encode([
- 'code' => 0
- ]);
- } elseif (strpos($message_type, 'fulu') !== false &&
- class_exists(\addons\QianxiSupplyChain\common\models\QianxiSupplyChainCallbackNotice::class)) { // 权益接口
- $method = \addons\QianxiSupplyChain\common\models\QianxiSupplyChainCallbackNotice::$messageTypeMap[$message_type];
- $flag = \addons\QianxiSupplyChain\common\service\NoticeHandleService::handle([
- 'data' => $data,
- 'method'=> $method
- ]);
- return Json::encode([
- 'code' => 0
- ]);
- }
- $method = strtolower(str_replace(".", "_", $message_type));
- $service = new NoticeHandleService();
- // if (!method_exists($service, $method)) {
- // // 方法不存在
- // \Yii::error("qijuhe供应链回调:类型处理方法不存在");
- // return Json::encode([
- // 'code' => 0
- // ]);
- // }
- // 写日志
- // $data['notice_id'] = $data['message_id'];
- // NoticeModel::addLog($message_type, $data);
- // \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, [
- // 'data' => $data,
- // 'method' => $method,
- // 'supplys_id' => $supplys_id,
- // ], NoticeHandleService::class, 'handle');
- // 延时处理
- \Yii::$app->services->rabbitMq->delayTask(
- 20,
- [
- 'data' =>$data,
- 'method' => $method,
- 'supplys_id' => $supplys_id,
- ],
- NoticeHandleService::class,
- 'handle'
- );
- // NoticeHandleService::handle([
- // 'data' => $data,
- // 'method' => $method,
- // 'supplys_id' => $supplys_id,
- // ]);
- echo json_encode(['code' => 0]);die;
- }
- }
|