From 7b3fff03c4a15d3f55bee3b150f804880e8b1ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Fri, 26 Dec 2025 15:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E7=AD=BE=E7=BA=A6=E4=B8=8A?= =?UTF-8?q?=E7=BA=A7=E5=BE=92=E5=BC=9F48=E5=B0=8F=E6=97=B6=E5=90=8E?= =?UTF-8?q?=E5=88=B0=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Family.php | 1 + .../cron/controller/PerformPerSecond.php | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/application/api/model/Family.php b/application/api/model/Family.php index 5811d80d..7c0c5665 100644 --- a/application/api/model/Family.php +++ b/application/api/model/Family.php @@ -93,6 +93,7 @@ class Family extends Model ->join('vs_user_sign c','a.user_id = c.sign_user_id') ->field('b.is_online,b.market_value,b.nickname,b.avatar,b.user_code,c.type,c.end_time,c.sign_user_type,a.user_id,a.createtime') ->where(['a.pid' => $myFamilys['user_id'],'a.deletetime' => 0,'a.type' => 0,'c.end_time' => ['>',time()]]) + ->order('c.end_time asc') ->select(); if($lists){ foreach ($lists as $k => $v){ diff --git a/application/cron/controller/PerformPerSecond.php b/application/cron/controller/PerformPerSecond.php index cfbd1c9a..cba57d27 100644 --- a/application/cron/controller/PerformPerSecond.php +++ b/application/cron/controller/PerformPerSecond.php @@ -55,6 +55,10 @@ class PerformPerSecond $this->user_ratio_up_apply_timeout(); echo "\n"; + echo "通知签约上级徒弟48小时后到期:\n"; + $this->sign_notice(); + echo "\n"; + } @@ -388,4 +392,29 @@ class PerformPerSecond } echo "公会会员结算比例申请过期处理结束-共". count($guild_user_ratio_up_log) . "条数据(已处理". $up_count . "条数据`)\n"; } + + //通知签约上级徒弟48小时后到期 + public function sign_notice(){ + $user_sign = Db::name('vs_user_sign')->where(['status' => 1,'end_time' => ['>',time()],'is_notice' => 0])->select(); + $user_sign_sed_count = 0; + if($user_sign){ + foreach ($user_sign as $value){ + //剩余时间 + $time = $value['end_time'] - time(); + if($time < 60 * 60 * 48){ + $user_info = Db::name('user')->where('id',$value['sign_user_id'])->find(); + if($user_info){ + //发系统信息 + $title = '徒弟签约到期通知'; + $content = '您的徒弟'.$user_info['nickname'].' 的签约将于48小时后到期,请及时续约。'; + model('api/UserMessage')->send_system_message($value['parent_user_id'], $title, $content, 1); + db::name('vs_user_sign')->where('id',$value['id'])->update(['is_notice' => 1]); + $user_sign_sed_count ++; + } + } + + } + } + echo "通知签约上级徒弟48小时后到期结束 共发送". $user_sign_sed_count . "条数据"."\n"; + } } \ No newline at end of file