find(); if (!empty($res)) { $role_ids = $res['role_ids']; $user_ids = UserRole::where('role_id', 'IN', $role_ids)->column('user_id'); if (empty($user_ids)) return Result(false, '未找到推送用户'); $uuids = User::where('user_id', 'IN', $user_ids)->column('uuid'); return $uuids; } else { return Result(false, '未配置推送用户'); } } /** * Notes:获取推送模板内容 * User: zhang * Date: 2025/2/22 * Time: 21:53 * @param $student_name * @param $grade_name * @param $org_id * @param $school_name * @param $semester_date * @param string $former_school */ protected static function getMsgTemplate(string $student_name, string $grade_name, int $org_id, string $school_name, string $semester_date, string $former_school = '') { // 查询转学生和非转学生的数量 $transferCount = JdfEnrollVolunteer::alias('a') ->join('jdf_enroll_students b', 'a.enroll_id=b.enroll_id') ->where('b.is_transfer', 1) ->where('a.org_id', $org_id) ->count(); $nonTransferCount = JdfEnrollVolunteer::alias('a') ->join('jdf_enroll_students b', 'a.enroll_id=b.enroll_id') ->where('b.is_transfer', 2) ->where('a.org_id', $org_id) ->count(); $contet = ""; $contet .= "【报名预约信息】\r\n"; $contet .= "学生姓名:$student_name\r\n"; $contet .= "预约年级:$grade_name\r\n"; $contet .= "预约校区:$school_name\r\n"; $contet .= "原就读园校:$former_school\r\n"; $contet .= "预约日期:$semester_date\r\n"; $contet .= "截止目前,预约新生$nonTransferCount.,插班生$transferCount\r\n"; WLog('getPushId', $contet); return $contet; } /** * Notes:发送消息 * User: zhang * Date: 2025/2/22 * Time: 22:05 * @param $data */ public static function sendMsg($data) { $uuids = self::getPushIds($data['org_id']); WLog('getPushId', $uuids); $centent = self::getMsgTemplate($data['name'], $data['grade_name'], $data['org_id'], $data['school_name'], $data['semester_date'], $data['former_school']); WLog('getPushId', $centent); $sendData = [ "uuid" => $uuids, "tal_data" => [ "agentid" => 1000071, "msgtype" => "text", "text" => [ "content" => $centent, ], ], ]; WLog('getPushId', $sendData); $res = (new platformAuth())->interfaceRequest('sendWeComMsg', $sendData); WLog('getPushId', $res); if (!$res['code']) return Result(false, $res['msg']); return Result(true, '发送成功'); } /** * Notes:推送消息给集团管理员 * User: zhang * Date: 2025/2/26 * Time: 11:27 */ public static function sendMsgAdmin($data) { $uuids = self::getPushIds(1); $centent = self::getMsgTemplate($data['name'], $data['grade_name'], $data['org_id'], $data['school_name'], $data['semester_date'], $data['former_school']); WLog('getPushId', $centent); $sendData = [ "uuid" => $uuids, "tal_data" => [ "agentid" => 1000071, "msgtype" => "text", "text" => [ "content" => $centent, ], ], ]; WLog('getPushId', $sendData); $res = (new platformAuth())->interfaceRequest('sendWeComMsg', $sendData); WLog('getPushId', $res); if (!$res['code']) return Result(false, $res['msg']); return Result(true, '发送成功'); } public function demo() { // $contet = ""; // $contet.= "【报名预约信息】\r\n"; // $contet.= "学生姓名:xxx\r\n"; // $contet.= "预约年级:初一\r\n"; // $contet.= "预约校区:金东方XXX学校\r\n"; // $contet.= "原就读园校:XXX学校\r\n"; // $contet.= "预约日期:2025-02-21\r\n"; // $contet.= "截止目前,预约新生1XXXX,插班生2XX\r\n"; // // $contet = // // << "13477191977", // "msgtype" => 'text', // "agentid" => 1000071, // "text" => [ // "content" => $contet, // ] // ]; // dump($data); // $res = (new workAuth())->interfaceRequest('messageSend', $data); // halt($res); } }