site_id; $core_notice_service = new CoreNoticeService(); $list = $core_notice_service->getList($site_id, $keys); if (empty($list)) throw new NoticeException('NOTICE_TEMPLATE_NOT_EXIST'); foreach ($list as $v) { $this->syncItem($v); } return true; } /** * @param $item * @return true */ public function syncItem($item) { $key = $item[ 'key' ] ?? ''; $wechat = $item[ 'wechat' ] ?? ''; $temp_key = $wechat[ 'temp_key' ] ?? ''; $keyword_name_list = $wechat[ 'keyword_name_list' ] ?? ''; if (empty($temp_key)) $error = 'WECHAT_TEMPLATE_NEED_NO'; $wechat_template_id = $item[ 'wechat_template_id' ]; //删除原来的消息模板 // (new CoreWechatTemplateService())->deletePrivateTemplate($this->site_id, $wechat_template_id); $template_loader = new TemplateLoader('wechat', [ 'site_id' => $this->site_id ]); $template_loader->delete([ 'templateId' => $wechat_template_id ]); //新的消息模板 // $res = (new CoreWechatTemplateService())->addTemplate($this->site_id, $temp_key, $keyword_name_list); $res = $template_loader->addTemplate([ 'shortId' => $temp_key, 'keyword_name_list' => $keyword_name_list ]); $notice_service = new NoticeService(); if (isset($res[ 'errcode' ]) && $res[ 'errcode' ] == 0) { //修改 $notice_service->modify($key, 'wechat_template_id', $res[ 'template_id' ]); } else { throw new NoticeException($res[ 'errmsg' ]); } return true; } /** * 获取模板消息 * @return array */ public function getList() { $site_id = $this->site_id; $core_notice_service = new CoreNoticeService(); $list = $core_notice_service->getList($site_id); $template = []; foreach ($list as $k => $v) { if (in_array(NoticeTypeDict::WECHAT, $v[ 'support_type' ])) $template[] = $v; } return $template; } }