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('打印指令已发送'); } }