签约延时
This commit is contained in:
@@ -7,7 +7,7 @@ use think\Db;
|
||||
|
||||
class Sign extends BaseCom
|
||||
{
|
||||
//签约出价列表
|
||||
//签约出价价格列表
|
||||
public function sign_coin_list()
|
||||
{
|
||||
$user_id = input('user_id', 0);//签约麦 用户id
|
||||
@@ -42,7 +42,7 @@ class Sign extends BaseCom
|
||||
$user_id = input('user_id', 0);
|
||||
$sign_value = input('sign_value', 0);
|
||||
$room_id = input('room_id', 0);
|
||||
$sign_time = input('sign_time', 0);
|
||||
$sign_time = input('sign_id', 0);
|
||||
if ($sign_value <= 0 || $user_id <= 0 || $room_id <= 0) {
|
||||
return ['code' => 0, 'msg' => '参数错误'];
|
||||
}
|
||||
@@ -55,7 +55,7 @@ class Sign extends BaseCom
|
||||
//签约结束
|
||||
public function end_sign()
|
||||
{
|
||||
$sign_time = input('sign_time', 0);
|
||||
$sign_time = input('sign_id', 0);
|
||||
$room_id = input('room_id', 0);
|
||||
$user_id = input('user_id', 0);
|
||||
if ($sign_time <= 0 || $room_id <= 0) {
|
||||
@@ -66,6 +66,19 @@ class Sign extends BaseCom
|
||||
}
|
||||
|
||||
|
||||
//签约延时
|
||||
public function sign_delay()
|
||||
{
|
||||
$sign_id = input('sign_id', 0);
|
||||
$room_id = input('room_id', 0);
|
||||
if ($sign_id <= 0 || $room_id <= 0) {
|
||||
return ['code' => 0, 'msg' => '参数错误'];
|
||||
}
|
||||
$reslut = model('Sign')->sign_delay($this->uid, $room_id, $sign_id);
|
||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||
}
|
||||
|
||||
|
||||
//免费续约
|
||||
public function free_re_sign()
|
||||
{
|
||||
|
||||
@@ -143,6 +143,8 @@ class Chat extends Model
|
||||
// SignRoomSignUser = 1091,
|
||||
//签约房间结束
|
||||
// SignRoomEnd = 1092,
|
||||
//签约延时
|
||||
// SignRoomDelay = 1093,
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,16 +21,23 @@ class Sign extends Model
|
||||
return ['code' => 0, 'msg' => '没有权限操作', 'data' => null];
|
||||
}
|
||||
//修改房间状态
|
||||
$sign_time = db::name('vs_room')->where('id',$room_id)->value('sign_time') + 1;
|
||||
$sign_time = db::name('vs_room_sign')->where('room_id',$room_id)->order('id desc')->value('sign_time') + 1;
|
||||
$result = db::name('vs_room')->where('id',$room_id)->update([
|
||||
'sign_type' => 1,
|
||||
'sign_time' => $sign_time,
|
||||
// 'sign_time' => $sign_time,
|
||||
'updatetime' => time()
|
||||
]);
|
||||
$res = db::name('vs_room_sign')->insertGetId([
|
||||
'room_id' => $room_id,
|
||||
'sign_type' => 1,
|
||||
'sign_time' => $sign_time,
|
||||
'end_time' => time() + 60 * 5,//签约时长5分钟
|
||||
'createtime' => time()
|
||||
]);
|
||||
if($result){
|
||||
//给前端推送数据
|
||||
$text['text'] = '开始签约';
|
||||
$text['sign_time'] = $sign_time;
|
||||
$text['sign_id'] = $res;
|
||||
model('api/Chat')->sendMsg(1090,$room_id,$text);
|
||||
|
||||
return ['code' => 1, 'msg' => '成功','data' => $sign_time];
|
||||
@@ -131,7 +138,7 @@ class Sign extends Model
|
||||
$text['text'] = '签约出价最高用户';
|
||||
$text['FromUserInfo'] = $FromUserInfo;
|
||||
$text['sign_value'] = $sign_user['sign_value'];
|
||||
$text['sign_time'] = $sign_time;
|
||||
$text['sign_id'] = $sign_time;
|
||||
model('api/Chat')->sendMsg(1091,$room_id,$text);
|
||||
return ['code' => 1, 'msg' => '成功','data' => null];
|
||||
}
|
||||
@@ -152,14 +159,10 @@ class Sign extends Model
|
||||
return ['code' => 0, 'msg' => '没有权限操作', 'data' => null];
|
||||
}
|
||||
//根据场次判断是否结束
|
||||
$sign = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time])->select();
|
||||
if($sign){
|
||||
foreach ($sign as $k => $v){
|
||||
if($v['type'] == 1){
|
||||
$sign = db::name('vs_room_sign')->where( ['id' => $sign_time])->find();
|
||||
if($sign['sign_type'] != 1 || $sign['end_time'] < time()){
|
||||
return ['code' => 0, 'msg' => '该场次签约已结束', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
//查询签约用户的身份 是否是第一次被签 是否当前有签
|
||||
$is_first_sign = db::name('vs_user_sign')->where('sign_user_id',$sign_user_id)->count();
|
||||
$before_sign_user = null;
|
||||
@@ -285,6 +288,21 @@ class Sign extends Model
|
||||
}
|
||||
}
|
||||
}
|
||||
//修改房间信息
|
||||
$res1 = db::name('vs_room')->where('id',$room_id)->update([
|
||||
'sign_type' => 0,
|
||||
'updatetime' => time()
|
||||
]);
|
||||
//修改签约信息
|
||||
$res2 = db::name('vs_room_sign')->where(['id' => $sign_time])
|
||||
->update([
|
||||
'type' => 0,
|
||||
'end_time' => time()
|
||||
]);
|
||||
if(!$res1 || !$res2){
|
||||
db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误,请重试.!', 'data' => null];
|
||||
}
|
||||
db::commit();
|
||||
//给前端推送
|
||||
$FromUserInfo = db::name('user')->where('id',$max_sign_user['user_id'])->field('id as user_id,nickname,avatar,sex')->find();
|
||||
@@ -314,6 +332,39 @@ class Sign extends Model
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 签约延时
|
||||
* @param $user_id 用户id
|
||||
* @param $room_id 房间id
|
||||
* @param $sign_id 签约场次id
|
||||
*/
|
||||
public function sign_delay($user_id,$room_id,$sign_id){
|
||||
//权限判断主持及以上才可操作
|
||||
$owner = db::name('vs_room')->where(['id' => $room_id, 'user_id' => $user_id])->field('id')->find();
|
||||
$host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $user_id,'delete_time' => null])->find();
|
||||
if(!$owner && !$host){
|
||||
return ['code' => 0, 'msg' => '没有权限操作', 'data' => null];
|
||||
}
|
||||
|
||||
$sign_info = db::name('vs_room_sign')->where(['id' => $sign_id])->find();
|
||||
if(!$sign_info || (!empty($sign_info) && $sign_info['type'] != 1)){
|
||||
return ['code' => 0, 'msg' => '本场签约结束', 'data' => null];
|
||||
}
|
||||
$res = db::name('vs_room_sign')->where(['id' => $sign_id])
|
||||
->update([
|
||||
'end_time' => $sign_info['end_time'] + 300,//延时5分钟
|
||||
]);
|
||||
if(!$res){
|
||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||
}
|
||||
//给前端推送
|
||||
$text['text'] = '签约延时';
|
||||
$text['end_time'] = $sign_info['end_time'] + 300;
|
||||
model('api/Chat')->sendMsg(1093,$room_id,$text);
|
||||
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 收礼检查是否有被签约和在合约期内 给上级返佣
|
||||
* @param $user_id 用户id
|
||||
|
||||
Reference in New Issue
Block a user