where($map)->select(); foreach ($list as $k => $v){ $user_info = db::name('user')->field('base64_nick_name')->find($v['uid']); $sign_user_info = db::name('user')->field('base64_nick_name')->find($v['sign_uid']); $nick_name = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8'); $sign_nick_name = mb_convert_encoding(base64_decode($sign_user_info['base64_nick_name']), 'UTF-8', 'UTF-8'); //是否到了提醒一次 $first_message_time = $v['end_time'] - (60*60*24*2); if($now_time > $first_message_time && $v['send_message_num'] == 0){ //续约通知 $title = '签约到期通知'; $content = '您与艺人'.$sign_nick_name.'的签约即将到期,请及时续约!'; model('api/UserMessage')->send_message($v['uid'], 1, $v['id'], $title, $content); $content_1 = '您与制作人'.$nick_name.'的签约即将到期!'; model('api/UserMessage')->send_message($v['sign_uid'], 1, $v['id'], $title, $content); //记录提醒次数 db::name('user_sign_contract')->where('id', $v['id'])->update(['send_message_num' => 1, 'update_time' => $now_time]); } //是否到了提醒二次 $second_message_time = $v['end_time'] - (60*60*24); if($now_time > $second_message_time && $v['send_message_num'] == 1){ //续约通知 $title = '签约到期通知'; $content = '您与艺人'.$sign_nick_name.'的签约即将到期,请及时续约!'; model('api/UserMessage')->send_message($v['uid'], 1, $v['id'], $title, $content); $content_1 = '您与制作人'.$nick_name.'的签约即将到期!'; model('api/UserMessage')->send_message($v['sign_uid'], 1, $v['id'], $title, $content); //记录提醒次数 db::name('user_sign_contract')->where('id', $v['id'])->update(['send_message_num' => 2, 'update_time' => $now_time]); } //是否解约 if($now_time > $v['end_time']){ //解约通知 $title = '解约通知'; $content = '您与艺人'.$sign_nick_name.'的签约已经到期,尚未续约,已进行解约!'; model('api/UserMessage')->send_message($v['uid'], 1, $v['id'], $title, $content); $content_1 = '您与制作人'.$nick_name.'的签约已经到期,尚未续约,已进行解约!'; model('api/UserMessage')->send_message($v['sign_uid'], 1, $v['id'], $title, $content); //记录提醒次数 db::name('user_sign_contract')->where('id', $v['id'])->update(['is_delete' => 2, 'update_time' => $now_time]); } } echo date('Y-m-d H:i:s').'签约定时任务执行成功'; } //解约用户每天降低身价 public function relieve_user_sign_contract(){ set_time_limit(0); ini_set('memory_limit', '1024M'); //身价大于70金币的 $map = []; $map[] = ['social', '>', 70]; $user_list = db::name('user')->where($map)->select(); if(!empty($user_list)){ foreach ($user_list as $k => &$v){ //当前是否未签约 $user_sign_contract = db::name('user_sign_contract')->where('sign_uid', $v['uid'])->where('is_delete', 1)->find(); if(empty($user_sign_contract)){ //没有签约的扣除百分之二十身价 $surplus_social = (int)($v['social'] * 0.8); if($surplus_social < 70){ $surplus_social = 70; } $reslut = db::name('user')->where('uid', $v['uid'])->update(['social' => $surplus_social, 'update_time' => time()]); if(!$reslut){ return ['code' => 201, 'msg' => '失败', 'data' => null]; } $insert = []; $insert['uid'] = $v['uid']; $insert['last_social'] = $v['social']; $insert['now_social'] = $surplus_social; $insert['add_time'] = time(); $reslut = db::name('user_relieve_social_log')->insert($insert); if(!$reslut){ return ['code' => 201, 'msg' => '失败', 'data' => null]; } } } } echo date('Y-m-d H:i:s').'解约用户每天降低身价执行成功'; } }