[ 'name' => '区域公司审核结果', 'fields' => [ ['name' => '申请用户', 'field' => 'nickname'], ['name' => '公司区域', 'field' => 'area_name'], ['name' => '区域层级', 'field' => 'area_level_text'], ['name' => '审核状态', 'field' => 'status'], ['name' => '申请时间', 'field' => 'create_date'], ['name' => '处理时间', 'field' => 'update_date'], ] ] ]; public function __construct($data = []) { $this->data = $data; $this->event = $data['event'] ?? 'regional_agent_apply'; $this->initConfig(); } public function toDatabase($notifiable) { $params = ['agent' => $this->data['agent'] ?? []]; $this->paramsData($params, $notifiable); return $params; } public function toWxMiniProgram($notifiable) { $params = []; if ($oauth = $this->getWxOauth($notifiable, 'wxMiniProgram')) { $path = $this->getMiniDomainUrl('/pages/app/regional-agent/index'); $params['openid'] = $oauth->openid; $params['page'] = $path; $this->paramsData($params, $notifiable); } return $this->formatParams($params, 'wxMiniProgram'); } private function paramsData(&$params, $notifiable) { $params['data'] = []; if ($this->event === 'regional_agent_apply') { $params['data'] = $this->applyData($notifiable); } } private function applyData($notifiable) { $agent = $this->data['agent'] ?? []; $levelName = ''; if (!empty($agent['level'])) { $levelRow = \addons\shopro\model\regional_agent\Level::where('level', $agent['level'])->find(); $levelName = $levelRow ? $levelRow['name'] : ''; } if (!$levelName) { $levelMap = [1 => '省级', 2 => '市级', 3 => '区县']; $levelName = $levelMap[$agent['area_level'] ?? 0] ?? ''; } $statusMap = [ 'normal' => '审核通过', 'forbidden' => '已禁用', 'reject' => '审核驳回', ]; return [ 'template' => self::$returnField[$this->event]['name'], 'nickname' => $notifiable['nickname'] ?? '', 'area_name' => $agent['area_name'] ?? '', 'area_level_text' => $levelName, 'status' => $statusMap[$this->data['action'] ?? ''] ?? ($agent['status'] ?? ''), 'create_date' => !empty($agent['createtime']) ? date('Y-m-d H:i:s', $agent['createtime']) : '', 'update_date' => date('Y-m-d H:i:s'), ]; } }