2025-11-26 11:36:08 +08:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
namespace app\api\controller;
|
|
|
|
|
|
|
|
|
|
|
|
use app\common\controller\BaseCom;
|
|
|
|
|
|
use think\Db;
|
|
|
|
|
|
|
|
|
|
|
|
class Sign extends BaseCom
|
|
|
|
|
|
{
|
2025-11-27 15:51:58 +08:00
|
|
|
|
//签约出价价格列表
|
2025-11-26 11:36:08 +08:00
|
|
|
|
public function sign_coin_list()
|
|
|
|
|
|
{
|
2025-11-27 18:00:27 +08:00
|
|
|
|
$sign_id = input('sign_id', 0);//场次id
|
2025-12-01 12:27:15 +08:00
|
|
|
|
$room_sign = db::name('vs_room_sign')->where('id', $sign_id)->field('sign_user_id,room_id')->find();
|
|
|
|
|
|
//获取出价最高用户
|
|
|
|
|
|
$sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_sign['room_id'],'sign_time' => $sign_id,'type' => 0])->order('sign_value desc')->field('id,user_id,sign_value')->find();
|
|
|
|
|
|
if($sign_user){
|
|
|
|
|
|
$market_value = $sign_user['sign_value'];
|
|
|
|
|
|
}else{
|
|
|
|
|
|
//获取当前用户的身价
|
|
|
|
|
|
$market_value = db::name('user')->where('id', $room_sign['sign_user_id'])->value('market_value');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-26 11:36:08 +08:00
|
|
|
|
$sign_market_value = get_system_config_value('sign_market_value');
|
|
|
|
|
|
//组个列表
|
|
|
|
|
|
$sign_coin_list = [];
|
|
|
|
|
|
$first_value = $market_value + $sign_market_value; // 第一个值是身价加上sign_market_value
|
|
|
|
|
|
for ($i = 0; $i < 8; $i++) {
|
2025-11-28 14:38:48 +08:00
|
|
|
|
$sign_coin_list[] = (string)($first_value + $i); // 每个值在第一个值的基础上加i(0到7)
|
2025-11-26 11:36:08 +08:00
|
|
|
|
}
|
2025-11-28 14:35:38 +08:00
|
|
|
|
return v(1, '成功', $sign_coin_list);
|
2025-11-26 11:36:08 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//签约开始
|
|
|
|
|
|
public function start_sign()
|
|
|
|
|
|
{
|
|
|
|
|
|
$room_id = input('room_id', 0);
|
2025-11-27 16:32:41 +08:00
|
|
|
|
$user_id = input('user_id', 0);
|
|
|
|
|
|
if ($room_id <= 0 || $user_id <= 0) {
|
2025-11-26 11:36:08 +08:00
|
|
|
|
return ['code' => 0, 'msg' => '参数错误'];
|
|
|
|
|
|
}
|
2025-11-27 16:32:41 +08:00
|
|
|
|
$reslut = model('Sign')->start_sign($this->uid, $room_id, $user_id);
|
2025-11-26 11:36:08 +08:00
|
|
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//签约出价
|
|
|
|
|
|
public function sign_coin()
|
|
|
|
|
|
{
|
2025-12-03 18:39:20 +08:00
|
|
|
|
$key_name = "api:sign:sign_coin:" . $this->uid;
|
|
|
|
|
|
redis_lock_exit($key_name);
|
2025-11-27 18:00:27 +08:00
|
|
|
|
$sign_id = input('sign_id', 0);//场次id
|
2025-11-26 11:36:08 +08:00
|
|
|
|
$sign_value = input('sign_value', 0);
|
2025-11-27 18:00:27 +08:00
|
|
|
|
if ($sign_value <= 0 || $sign_id <= 0) {
|
2025-11-26 11:36:08 +08:00
|
|
|
|
return ['code' => 0, 'msg' => '参数错误'];
|
|
|
|
|
|
}
|
2025-11-27 18:00:27 +08:00
|
|
|
|
$sign = db::name('vs_room_sign')->where('id', $sign_id)->field('room_id,sign_user_id')->find();
|
|
|
|
|
|
$user_id = $sign['sign_user_id'];
|
|
|
|
|
|
$room_id = $sign['room_id'];
|
|
|
|
|
|
|
|
|
|
|
|
$reslut = model('Sign')->sign_coin($this->uid, $room_id, $user_id, $sign_value,$sign_id);
|
2025-11-26 11:36:08 +08:00
|
|
|
|
|
2025-12-03 18:39:20 +08:00
|
|
|
|
redis_unlock($key_name);
|
2025-11-26 11:36:08 +08:00
|
|
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//签约结束
|
|
|
|
|
|
public function end_sign()
|
|
|
|
|
|
{
|
2025-11-27 18:00:27 +08:00
|
|
|
|
$sign_id = input('sign_id', 0);
|
|
|
|
|
|
if ($sign_id <= 0) {
|
2025-11-26 11:36:08 +08:00
|
|
|
|
return ['code' => 0, 'msg' => '参数错误'];
|
|
|
|
|
|
}
|
2025-11-27 18:00:27 +08:00
|
|
|
|
$sign = db::name('vs_room_sign')->where('id', $sign_id)->field('room_id,sign_user_id')->find();
|
|
|
|
|
|
$user_id = $sign['sign_user_id'];
|
|
|
|
|
|
$room_id = $sign['room_id'];
|
|
|
|
|
|
|
|
|
|
|
|
$reslut = model('Sign')->end_sign($this->uid, $room_id, $sign_id,$user_id);
|
2025-11-26 11:36:08 +08:00
|
|
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-27 11:48:53 +08:00
|
|
|
|
|
2025-11-27 15:51:58 +08:00
|
|
|
|
//签约延时
|
|
|
|
|
|
public function sign_delay()
|
|
|
|
|
|
{
|
|
|
|
|
|
$sign_id = input('sign_id', 0);
|
2025-11-27 18:00:27 +08:00
|
|
|
|
if ($sign_id <= 0) {
|
2025-11-27 15:51:58 +08:00
|
|
|
|
return ['code' => 0, 'msg' => '参数错误'];
|
|
|
|
|
|
}
|
2025-11-27 18:00:27 +08:00
|
|
|
|
$sign = db::name('vs_room_sign')->where('id', $sign_id)->field('room_id,sign_user_id')->find();
|
|
|
|
|
|
$room_id = $sign['room_id'];
|
2025-11-27 15:51:58 +08:00
|
|
|
|
$reslut = model('Sign')->sign_delay($this->uid, $room_id, $sign_id);
|
|
|
|
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-27 11:48:53 +08:00
|
|
|
|
//免费续约
|
|
|
|
|
|
public function free_re_sign()
|
|
|
|
|
|
{
|
|
|
|
|
|
$sign_user_id = input('user_id', 0);
|
|
|
|
|
|
if ($sign_user_id <= 0) {
|
|
|
|
|
|
return ['code' => 0, 'msg' => '参数错误'];
|
|
|
|
|
|
}
|
|
|
|
|
|
$reslut = model('Sign')->free_re_sign($this->uid, $sign_user_id);
|
|
|
|
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//续签
|
|
|
|
|
|
public function re_sign()
|
|
|
|
|
|
{
|
|
|
|
|
|
$sign_user_id = input('user_id', 0);
|
|
|
|
|
|
if ($sign_user_id <= 0) {
|
|
|
|
|
|
return ['code' => 0, 'msg' => '参数错误'];
|
|
|
|
|
|
}
|
|
|
|
|
|
$reslut = model('Sign')->re_sign($this->uid, $sign_user_id);
|
|
|
|
|
|
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//才艺列表
|
|
|
|
|
|
public function skill_list()
|
|
|
|
|
|
{
|
|
|
|
|
|
$skill_list = [
|
|
|
|
|
|
'唱歌','脱口秀','口技','喊麦','相声'
|
|
|
|
|
|
];
|
2025-11-28 10:28:15 +08:00
|
|
|
|
return V(1, '成功', $skill_list);
|
2025-11-27 11:48:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-26 11:36:08 +08:00
|
|
|
|
}
|