cp 等级升级 装扮挂件和特效修改
This commit is contained in:
@@ -43,7 +43,7 @@ class UserCp extends Model
|
||||
'createtime' => time(),
|
||||
'status' => 1
|
||||
];
|
||||
Db::name('user_cp_find')->insert($data);
|
||||
$r = Db::name('user_cp_find')->insertGetId($data);
|
||||
//修改状态
|
||||
Db::name('user_cp_find')->where(['id' => $res['id']])->update(['status' => 1]);
|
||||
|
||||
@@ -74,24 +74,14 @@ class UserCp extends Model
|
||||
];
|
||||
Db::name('user_cp_gift_log')->insert($datas);
|
||||
|
||||
$rees = Db::name('user_cp_zone')
|
||||
->where(['status' => 1])
|
||||
->where('(user_id1 = '.$from_user_id.' OR user_id2 = '.$from_user_id.')')
|
||||
->find();
|
||||
// 检查并更新CP空间状态
|
||||
$this->updateCpZoneStatus($from_user_id, $re, $res['id'] ?? 0);
|
||||
$this->updateCpZoneStatus($to_user_id, $re, $res['id'] ?? 0);
|
||||
|
||||
if($rees && $re != $rees['id']){
|
||||
//修改状态
|
||||
Db::name('user_cp_zone')->where(['id' => $rees['id']])->update(['status' => 2]);
|
||||
}
|
||||
// 检查并更新CP查找记录状态
|
||||
$this->updateCpFindStatus($to_user_id, $r, $res['id'] ?? 0);
|
||||
$this->updateCpFindStatus($from_user_id, $r, $res['id'] ?? 0);
|
||||
|
||||
$ress = Db::name('user_cp_zone')
|
||||
->where(['status' => 1])
|
||||
->where('(user_id1 = '.$to_user_id.' OR user_id2 = '.$to_user_id.')')
|
||||
->find();
|
||||
if($ress && $re != $ress['id']){
|
||||
//修改状态
|
||||
Db::name('user_cp_zone')->where(['id' => $ress['id']])->update(['status' => 2]);
|
||||
}
|
||||
|
||||
// 给两个用户添加CP装扮
|
||||
$pendant_ids = Db::name('user_cp_level')->where(['deletetime' => 0])->order('level asc')->value('pendant_id');
|
||||
@@ -132,6 +122,49 @@ class UserCp extends Model
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 更新CP空间状态
|
||||
* @param int $user_id 用户ID
|
||||
* @param int $current_zone_id 当前创建的CP空间ID
|
||||
* @param int $related_find_id 相关的查找记录ID
|
||||
*/
|
||||
private function updateCpZoneStatus($user_id, $current_zone_id)
|
||||
{
|
||||
$zone = Db::name('user_cp_zone')
|
||||
->where(['status' => 1])
|
||||
->where('(user_id1 = ' . $user_id . ' OR user_id2 = ' . $user_id . ')')
|
||||
->find();
|
||||
|
||||
if ($zone && $current_zone_id != $zone['id']) {
|
||||
Db::name('user_cp_zone')->where(['id' => $zone['id']])->update(['status' => 2]);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 更新CP查找记录状态
|
||||
* @param int $user_id 用户ID
|
||||
* @param int $current_find_id 当前创建的查找记录ID
|
||||
* @param int $related_find_id 相关的查找记录ID
|
||||
*/
|
||||
private function updateCpFindStatus($user_id, $current_find_id, $related_find_id = 0)
|
||||
{
|
||||
$find_records = Db::name('user_cp_find')
|
||||
->where(['status' => 1])
|
||||
->where('(from_user_id = ' . $user_id . ' OR to_user_id = ' . $user_id . ')')
|
||||
->select();
|
||||
|
||||
if ($find_records) {
|
||||
foreach ($find_records as $record) {
|
||||
if ($record['id'] != $current_find_id && $record['id'] != $related_find_id) {
|
||||
Db::name('user_cp_find')->where(['id' => $record['id']])->update(['status' => 2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 为CP用户分配装扮或特效
|
||||
* @param array $user_ids 用户ID数组
|
||||
|
||||
Reference in New Issue
Block a user