cp 等级升级 装扮挂件和特效修改

This commit is contained in:
2025-11-22 18:23:55 +08:00
parent 42e61ca469
commit b797c69cc1

View File

@@ -203,46 +203,19 @@ class UserCp extends Model
Db::name('user_cp_gift_log')->insert($datas);
//判断是否升级
$level = Db::name('user_cp_level')->where(['change_value' => ['<=', $yuan_exp + $exp],'deletetime' => 0])
->order('change_value desc')->field('level,pendant_id')->find();
->order('change_value desc')->field('level,pendant_id,rights_icon_id')->find();
if($level['level'] != $zone_level){//登记不一致 (升级)
//修改Cp空间等级
$data['level'] = $level['level'];
//给用户修改Cp装扮
if($level['pendant_id']){
//先检查该用户是否已有该装扮
//先检查是否已有该装扮
$pendant_id = Db::name('vs_decorate_price')->where(['id' => $level['pendant_id']])->value('did');
foreach ([$from_user_id, $to_user_id] as $user_id) {
$zhuangban = Db::name('vs_user_decorate')
->where([
'user_id' => $user_id,
'type' => 11,
'did' => $pendant_id,
'is_using' => 1
])
->find();
if($pendant_id){
$this->assignCpDecoration([$from_user_id, $to_user_id], 11, $pendant_id); // 11为CP装扮类型
}
if ($zhuangban) {
// 修改状态为未使用
Db::name('vs_user_decorate')
->where(['id' => $zhuangban['id']])
->update(['is_using' => 2]);
}
}
// 给两个用户添加CP装扮
$decorate_data = [
'type' => 11, // 装扮类型11-cp装扮
'did' => $pendant_id,
'is_using' => 1, // 1-使用中2-未使用
'end_time' => 0, // 0-永久
'is_perpetual' => 1, // 1-永久2-限时
'createtime' => time(),
];
foreach ([$from_user_id, $to_user_id] as $user_id) {
$insert_data = array_merge(['user_id' => $user_id], $decorate_data);
Db::name('vs_user_decorate')->insert($insert_data);
}
}else{//把原有的装扮取消掉
}else{//当前等级没有装扮挂件把原有的装扮取消掉
$decorate_data = [
'type' => 11, // 装扮类型11-cp装扮
'is_using' => 2, // 1-使用中2-未使用
@@ -254,6 +227,24 @@ class UserCp extends Model
}
}
//给用户修改Cp特效
if($level['rights_icon_id']){
//先检查是否已有该特效
$rights_icon_id = Db::name('vs_decorate_price')->where(['id' => $level['rights_icon_id']])->value('did');
if($rights_icon_id){
$this->assignCpDecoration([$from_user_id, $to_user_id], 10, $rights_icon_id); // 10为CP特效类型
}
}else{//当前等级没有特效挂件把原有的特效取消掉
$decorate_data = [
'type' => 10, // 装扮类型10-cp特效
'is_using' => 2, // 1-使用中2-未使用
'updatetime' => time(),
];
foreach ([$from_user_id, $to_user_id] as $user_id) {
$insert_data = array_merge(['user_id' => $user_id], $decorate_data);
Db::name('vs_user_decorate')->where(['type' => 10])->update($insert_data);
}
}
//添加一个记录
$pendant = db::name('vs_decorate_price')->where('id',$level['pendant_id'])->field('did,day')->find();