初始化代码
This commit is contained in:
120
application/api/model/UserSignContract.php
Normal file
120
application/api/model/UserSignContract.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\model;
|
||||
|
||||
use think\Db;
|
||||
use think\Model;
|
||||
|
||||
class UserSignContract extends Model
|
||||
{
|
||||
|
||||
//签约是否结束
|
||||
public function close_user_sign_contract(){
|
||||
set_time_limit(0);
|
||||
ini_set('memory_limit', '1024M');
|
||||
|
||||
$config = get_uncache_system_config();
|
||||
$now_time = time();
|
||||
|
||||
$map = [];
|
||||
$map[] = ['is_delete', '=', 1];
|
||||
$list = db::name('user_sign_contract')->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').'解约用户每天降低身价执行成功';
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user