diff --git a/application/api/controller/UserCp.php b/application/api/controller/UserCp.php index d9754e6..f2f8520 100644 --- a/application/api/controller/UserCp.php +++ b/application/api/controller/UserCp.php @@ -26,7 +26,8 @@ class UserCp extends BaseCom //Cp 空间 public function cpZone() { - $reslut = model('UserCp')->cpZone($this->uid); + $user_id = input('user_id', 0); + $reslut = model('UserCp')->cpZone($user_id); return V($reslut['code'], $reslut['msg'], $reslut['data']); } diff --git a/application/api/model/UserCp.php b/application/api/model/UserCp.php index a388b42..f025c51 100644 --- a/application/api/model/UserCp.php +++ b/application/api/model/UserCp.php @@ -127,6 +127,7 @@ class UserCp extends Model $jinyan = $jinbi_arr[1]; $exp = round(db::name('vs_gift')->where(['gid' => $gift_id])->value('gift_price') * $num / $jinbi * $jinyan, 2); $yuan_exp = Db::name('user_cp_zone')->where(['id' => $cp_zone_id])->value('exp'); + $zone_level = Db::name('user_cp_zone')->where(['id' => $cp_zone_id])->value('level'); //添加一个记录 $datas = [ @@ -141,10 +142,28 @@ 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')->value('level'); - if($level){ + $level = Db::name('user_cp_level')->where(['change_value' => ['<=', $yuan_exp + $exp],'deletetime' => 0]) + ->order('change_value desc')->field('level,pendant_id')->find(); + if($level['level'] != $zone_level){//登记不一致 (升级) //修改Cp空间等级 - $data['level'] = $level; + $data['level'] = $level['level']; + //给用户修改Cp装扮 + if($level['pendant_id']){ + // 给两个用户添加CP装扮 + $decorate_data = [ + 'type' => 11, // 装扮类型11-cp装扮 + 'did' => $level['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); + } + } } $data['exp'] = $yuan_exp + $exp; Db::name('user_cp_zone')->where(['id' => $cp_zone_id])->update($data);