房间内点击用 用户头像
This commit is contained in:
@@ -43,6 +43,9 @@ class PerformPerSecond
|
||||
echo "签约房时间结束处理:\n";
|
||||
$this->sign_room_time_end();
|
||||
echo "\n";
|
||||
echo "系统降身价:\n";
|
||||
$this->system_downgrade();
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -355,4 +358,72 @@ class PerformPerSecond
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//系统降身价
|
||||
public function system_downgrade(){
|
||||
//获取系统信息
|
||||
$down_market_value = get_system_config_value('down_market_value');
|
||||
if($down_market_value){
|
||||
$day = $down_market_value[0];
|
||||
$market_value = $down_market_value[1];
|
||||
}else{
|
||||
$day = 0;
|
||||
$market_value = 0;
|
||||
}
|
||||
|
||||
if($day && $market_value){
|
||||
//查询每个用户的身价
|
||||
$user_market_value = db::name('user')->field('id,market_value')->select();
|
||||
if($user_market_value){
|
||||
foreach ($user_market_value as $value){
|
||||
if($value['market_value'] > 1){
|
||||
//获取他的降级时间
|
||||
$down_time = db::name('vs_user_market_value_log')->where(['user_id' => $value['id'],'type' =>1])
|
||||
->order('id desc')->value('createtime');
|
||||
|
||||
//如果没有降级记录,则使用当前时间作为起始时间
|
||||
if(empty($down_time)){
|
||||
$down_time = time();
|
||||
}
|
||||
|
||||
//检查是否到了降级时间
|
||||
if(time() - $down_time >= $day*86400){
|
||||
//开始降身价
|
||||
db::startTrans();
|
||||
try {
|
||||
$market_values = max($value['market_value'] - $market_value, 1);
|
||||
$update_result = db::name('user')->where('id', $value['id'])->update(['market_value' => $market_values]);
|
||||
|
||||
if($update_result) {
|
||||
$data = [
|
||||
'user_id' => $value['id'],
|
||||
'before' => $value['market_value'],
|
||||
'change_value' => $market_value,
|
||||
'afterwards' => $market_values,
|
||||
'type' => 1,
|
||||
'createtime' => time()
|
||||
];
|
||||
$res = db::name('vs_user_market_value_log')->insert($data);
|
||||
|
||||
if($res){
|
||||
db::commit();
|
||||
}else{
|
||||
db::rollback();
|
||||
\think\Log::error("系统降身价失败: 插入日志失败 user_id={$value['id']}");
|
||||
}
|
||||
} else {
|
||||
db::rollback();
|
||||
\think\Log::error("系统降身价失败: 更新用户身价失败 user_id={$value['id']}");
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
db::rollback();
|
||||
\think\Log::error("系统降身价异常: " . $e->getMessage() . " user_id={$value['id']}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user