| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- namespace hd\controllers;
- use bizHd\birthday\classes\BirthdayGiftClass;
- use common\components\util;
- use Yii;
- class BirthdayGiftController extends BaseController
- {
- public $guestAccess = ['notify-state'];
- // 工作台栏数据
- public function actionWorkbenchSummary()
- {
- $data = BirthdayGiftClass::getWorkbenchSummary($this->shopId, $this->mainId);
- util::success($data);
- }
- // 看板列表
- public function actionBoardList()
- {
- $get = Yii::$app->request->get();
- $data = BirthdayGiftClass::getBoardList($this->shop, $get);
- util::success($data);
- }
- // Tab 计数
- public function actionBoardCounts()
- {
- $get = Yii::$app->request->get();
- $data = BirthdayGiftClass::getStatusCounts($this->shop, $get);
- util::success($data);
- }
- // 赠礼统计
- public function actionGiftStats()
- {
- $get = Yii::$app->request->get();
- $period = $get['period'] ?? 'today';
- $data = BirthdayGiftClass::getGiftStats($this->shop, $period);
- util::success($data);
- }
- // 一键通知(限明天)
- public function actionNotifyTomorrow()
- {
- $get = Yii::$app->request->get();
- $id = intval($get['id'] ?? 0);
- if ($id > 0) {
- BirthdayGiftClass::notifyOneTomorrow($this->shop, $id);
- util::complete('短信已提交,等待送达确认');
- }
- $result = BirthdayGiftClass::batchNotifyTomorrow($this->shop);
- if ($result['success'] > 0) {
- util::complete('已提交' . $result['success'] . '人' . ($result['fail'] > 0 ? ',失败' . $result['fail'] . '人' : '') . ',等待送达确认');
- }
- if ($result['fail'] > 0 && $result['success'] == 0) {
- util::fail('通知失败:' . implode(';', array_slice($result['messages'], 0, 3)));
- }
- util::fail('没有需要通知的明日生日客户');
- }
- // 创蓝云智短信通知状态回调
- public function actionNotifyState()
- {
- try {
- $success = BirthdayGiftClass::handleNotifyState(Yii::$app->request->get());
- } catch (\Throwable $throwable) {
- Yii::error('生日礼品短信状态回调处理失败:' . $throwable->getMessage(), __METHOD__);
- $success = false;
- }
- return $this->asJson([
- 'clcode' => $success ? '000000' : '111111',
- ]);
- }
- // 设置生日日期
- public function actionModifyBirthday()
- {
- $get = Yii::$app->request->get();
- BirthdayGiftClass::modifyBirthday($this->shop, $get);
- util::complete('修改成功');
- }
- // 手动标注为"已领取"
- public function actionCollect()
- {
- $get = Yii::$app->request->get();
- $id = intval($get['id'] ?? 0);
- BirthdayGiftClass::collectGiftByAdmin($this->shopId, $id);
- util::complete('更新成功');
- }
- // 看板内手动补打生日领取小票
- public function actionPrint()
- {
- $get = Yii::$app->request->get();
- $id = intval($get['id'] ?? 0);
- BirthdayGiftClass::manualPrint($this->shopId, $id);
- util::complete('打印指令已发送');
- }
- }
|