admin/addon/aliapp/shop/controller/Message.php

87 lines
3.1 KiB
PHP

<?php
namespace addon\aliapp\shop\controller;
use addon\aliapp\model\AliPayMember;
use app\model\message\Message as MessageModel;
use app\model\message\MessageTemplate as MessageTemplateModel;
use app\shop\controller\BaseShop;
class Message extends BaseShop{
public function __construct(){
parent::__construct();
// 输出菜单
//if(request()->isGet()) $this->forthMenu();
}
/**
* Common: 订阅消息编辑
* Author: wu-hui
* Time: 2023/01/10 11:00
* @return array|mixed
*/
public function edit(){
// 基本信息修改
$message_model = new MessageModel();
$keywords = input("keywords","");
$infoResult = $message_model->getMessageInfo($this->site_id,$keywords);
$info = $infoResult["data"];
$aliAppJsonArray = $info["aliapp_json_array"];
$aliAppJsonArray['content'] = $aliAppJsonArray['content'] ?? $this->defaultMessageContent($keywords);
// 判断:进入页面 || 提交修改
if (request()->isAjax()) {
if(empty($info)) return error("","不存在的模板信息!");
// 参数获取
$wechatIsOpen = input('aliapp_is_open',0);
$aliAppJsonArray['template_id'] = trim(input('template_id',''));
$data = [
'aliapp_json' => json_encode($aliAppJsonArray),
];
$condition = [
["keywords","=",$keywords]
];
$templateModel = new MessageTemplateModel();
$res = $templateModel->editMessageTemplate($data,$condition);
if($res['code'] == 0){
$res = $message_model->editMessage([
'aliapp_is_open' => $wechatIsOpen,
'aliapp_template_id' => $aliAppJsonArray['template_id'],
'site_id' => $this->site_id,
'keywords' => $keywords
],[
["keywords","=",$keywords],
['site_id','=',$this->site_id],
]);
}
return $res;
}
else {
if (empty($info)) $this->error("不存在的模板信息!");
$this->assign("title", $info['title'] ?? '');
$this->assign("keywords", $keywords);
$this->assign("info", $aliAppJsonArray);
$this->assign('aliapp_is_open', $info['aliapp_is_open']);
return $this->fetch('message/edit');
}
}
/**
* Common: 默认模板内容
* Author: wu-hui
* Time: 2023/01/10 10:41
* @param $keywords
* @return array|string
*/
private function defaultMessageContent($keywords){
$list = [
'VERIFY' => "核销产品:{{keyword1}}\n核销商户:{{keyword2}}\n核销时间:{{keyword3}}\n",
'INTEREST_EXPIRATION_NOTICE' => "商家名称:{{keyword1}}\n剩余次数:{{keyword2}}\n优惠内容:{{keyword3}}\n",
'SERVICE_OPENED_SUCCESS' => "到期时间:{{keyword1}}\n姓名:{{keyword2}}\n开通时间:{{keyword3}}\n服务项目:{{keyword4}}\n",
];
return $list[$keywords] ?? [];
}
}