420 lines
16 KiB
PHP
420 lines
16 KiB
PHP
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use think\Db;
|
|
use think\Model;
|
|
|
|
class Play extends Model
|
|
{
|
|
//游戏列表
|
|
public function game_list($gid, $game_name, $is_show, $order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
$map = [];
|
|
if (!empty($gid)) {
|
|
$map[] = ['gid', '=', $gid];
|
|
}
|
|
if (!empty($game_name)) {
|
|
$map[] = ['game_name', 'like', '%' . $game_name . '%'];
|
|
}
|
|
if (!empty($is_show)) {
|
|
$map[] = ['is_show', '=', $is_show];
|
|
}
|
|
|
|
$map[] = ['is_delete', '=', 1];
|
|
$list = db::name('game')->where($map)->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$game_level = db::name('game_skill_level')->field('game_level_name')->where(['gid' => $v['gid']])->select();
|
|
$str = '';
|
|
foreach ($game_level as $m => $n) {
|
|
$str .= $n['game_level_name'] . ',';
|
|
}
|
|
$v['game_level_name'] = $str;
|
|
$v['game_ico1'] = localpath_to_netpath($v['game_ico1']);
|
|
$v['game_ico2'] = localpath_to_netpath($v['game_ico2']);
|
|
$v['game_ico'] = localpath_to_netpath($v['game_ico']);
|
|
$v['cover_image'] = localpath_to_netpath($v['cover_image']);
|
|
$v['skill_image'] = localpath_to_netpath($v['skill_image']);
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('game')->where($map)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//编辑游戏
|
|
public function edit_game($data)
|
|
{
|
|
if (empty($data)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$game = db::name('game')->find($data['gid']);
|
|
if (empty($game)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$update_data = [];
|
|
$update_data['game_name'] = $data['game_name'];
|
|
$update_data['game_ico'] = $data['game_ico'];
|
|
$update_data['game_ico1'] = $data['game_ico1'];
|
|
$update_data['game_ico2'] = $data['game_ico2'];
|
|
$update_data['cover_image'] = $data['cover_image'];
|
|
$update_data['skill_image'] = $data['skill_image'];
|
|
$update_data['is_show'] = $data['is_show'];
|
|
$update_data['sort'] = $data['sort'];
|
|
$update_data['update_time'] = time();
|
|
$reslut = db::name('game')->where(['gid' => $data['gid']])->update($update_data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
|
|
}
|
|
}
|
|
//添加游戏
|
|
public function add_game($data)
|
|
{
|
|
|
|
$update_data['game_name'] = $data['game_name'];
|
|
$update_data['game_ico'] = $data['game_ico'];
|
|
$update_data['game_ico1'] = $data['game_ico1'];
|
|
$update_data['game_ico2'] = $data['game_ico2'];
|
|
$update_data['cover_image'] = $data['cover_image'];
|
|
$update_data['skill_image'] = $data['skill_image'];
|
|
$update_data['is_show'] = $data['is_show'];
|
|
$update_data['sort'] = $data['sort'];
|
|
$update_data['update_time'] = time();
|
|
$update_data['add_time'] = time();
|
|
$reslut = db::name('game')->insert($update_data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
|
|
}
|
|
}
|
|
|
|
//获取游戏信息
|
|
public function game_info($gid)
|
|
{
|
|
if (empty($gid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$info = db::name('game')->where(['gid' => $gid])->find();
|
|
$info['http_game_ico'] = localpath_to_netpath($info['game_ico']);
|
|
$info['http_game_ico1'] = localpath_to_netpath($info['game_ico1']);
|
|
$info['http_game_ico2'] = localpath_to_netpath($info['game_ico2']);
|
|
$info['http_cover_image'] = localpath_to_netpath($info['cover_image']);
|
|
$info['http_skill_image'] = localpath_to_netpath($info['skill_image']);
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
|
|
}
|
|
|
|
//删除游戏
|
|
public function del_game($gid)
|
|
{
|
|
if (empty($gid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$reslut = db::name('game')->where(['gid' => $gid])->update(['is_delete' => 2, 'delete_time' => time()]);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
|
|
}
|
|
}
|
|
|
|
//游戏等级列表
|
|
public function game_skill_level_list($lid, $gid, $game_level_name, $order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
$map = [];
|
|
if (!empty($lid)) {
|
|
$map[] = ['a.lid', '=', $lid];
|
|
}
|
|
if (!empty($game_level_name)) {
|
|
$map[] = ['a.game_level_name', 'like', '%' . $game_level_name . '%'];
|
|
}
|
|
if (!empty($gid)) {
|
|
$map[] = ['a.gid', '=', $gid];
|
|
}
|
|
|
|
$map[] = ['a.is_delete', '=', 1];
|
|
$list = db::name('game_skill_level')->where($map)->alias('a')
|
|
->join('yy_game b', 'a.gid = b.gid')
|
|
->field(
|
|
'a.*,b.game_name'
|
|
)->where($map)->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$v['gid_game_name'] = $v['gid'] . '-' . $v['game_name'];
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('game_skill_level')->where($map)->alias('a')
|
|
->join('yy_game b', 'a.gid = b.gid')->where($map)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//编辑游戏等级
|
|
public function edit_game_skill_level($data)
|
|
{
|
|
if (empty($data)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$game = db::name('game_skill_level')->find($data['lid']);
|
|
if (empty($game)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$update_data = [];
|
|
$update_data['gid'] = $data['gid'];
|
|
$update_data['game_level_name'] = $data['game_level_name'];
|
|
$update_data['update_time'] = time();
|
|
$reslut = db::name('game_skill_level')->where(['lid' => $data['lid']])->update($update_data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
|
|
}
|
|
}
|
|
//添加游戏等级
|
|
public function add_game_skill_level($data)
|
|
{
|
|
$add_data = [];
|
|
$update_data['gid'] = $data['gid'];
|
|
$update_data['game_level_name'] = $data['game_level_name'];
|
|
$update_data['update_time'] = time();
|
|
$update_data['add_time'] = time();
|
|
$reslut = db::name('game_skill_level')->insert($update_data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
|
|
}
|
|
}
|
|
|
|
//获取游戏等级信息
|
|
public function game_skill_level_info($lid)
|
|
{
|
|
if (empty($lid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$info = db::name('game_skill_level')->where(['lid' => $lid])->find();
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
|
|
}
|
|
|
|
//删除 游戏等级
|
|
public function del_game_skill_level($lid)
|
|
{
|
|
if (empty($lid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$reslut = db::name('game_skill_level')->where(['lid' => $lid])->update(['is_delete' => 2, 'delete_time' => time()]);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
|
|
}
|
|
}
|
|
|
|
//陪玩主播 列表
|
|
public function player_list($uid, $nick_name, $sex, $special_uid, $gid, $real_name, $is_top, $is_recommend, $is_business, $status, $order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
$map = [];
|
|
if (!empty($uid)) {
|
|
$map[] = ['a.uid', '=', $uid];
|
|
}
|
|
if (!empty($nick_name)) {
|
|
$map[] = ['b.nick_name', 'like', '%' . $nick_name . '%'];
|
|
}
|
|
if (!empty($sex)) {
|
|
$map[] = ['b.sex', '=', $sex];
|
|
}
|
|
if (!empty($special_uid)) {
|
|
$map[] = ['b.special_uid', '=', $special_uid];
|
|
}
|
|
if (!empty($gid)) {
|
|
$map[] = ['a.gid', '=', $gid];
|
|
}
|
|
if (!empty($real_name)) {
|
|
$map[] = ['b.real_name', 'like', '%' . $real_name . '%'];
|
|
}
|
|
if (!empty($is_top)) {
|
|
$map[] = ['a.is_top', '=', $is_top];
|
|
}
|
|
if (!empty($is_recommend)) {
|
|
$map[] = ['a.is_recommend', '=', $is_recommend];
|
|
}
|
|
if (!empty($is_business)) {
|
|
$map[] = ['a.is_business', '=', $is_business];
|
|
}
|
|
if (!empty($status)) {
|
|
$map[] = ['a.status', '=', $status];
|
|
}
|
|
|
|
$list = db::name('user_player')
|
|
->alias('a')
|
|
->join('yy_user b', 'a.uid = b.uid')
|
|
->field('a.*,b.nick_name,b.sex,b.special_uid,b.real_name')
|
|
->where($map)->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$game_name = db::name('game')->where(['gid' => $v['gid']])->value('game_name');
|
|
$game_skill_level = db::name('game_skill_level')->where(['lid' => $v['lid']])->value('game_level_name');
|
|
$v['game_level_name'] = $game_name . '-' . $game_skill_level;
|
|
$v['cover_image'] = localpath_to_netpath($v['cover_image']);
|
|
$v['skill_image'] = localpath_to_netpath($v['skill_image']);
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('user_player')->alias('a')
|
|
->join('yy_user b', 'a.uid = b.uid')->where($map)->count();
|
|
$data['list'] = $list;
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//编辑 陪玩主播
|
|
public function edit_player($data)
|
|
{
|
|
if (empty($data)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$info = db::name('user_player')->find($data['pid']);
|
|
if (empty($info)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$update_data = [];
|
|
$update_data['price'] = $data['price'];
|
|
$update_data['skill_image'] = $data['skill_image'];
|
|
$update_data['cover_image'] = $data['cover_image'];
|
|
$update_data['introduction'] = $data['introduction'];
|
|
$update_data['is_top'] = $data['is_top'];
|
|
$update_data['is_recommend'] = $data['is_recommend'];
|
|
$update_data['is_business'] = $data['is_business'];
|
|
$update_data['flag'] = $data['flag'];
|
|
$update_data['remarks'] = $data['remarks'];
|
|
$update_data['status'] = $data['status'];
|
|
$update_data['update_time'] = time();
|
|
if ($data['status'] != $info['status']) {
|
|
$update_data['deal_time'] = time();
|
|
}
|
|
$user_info = db::name('user')->find($info['uid']);
|
|
if ($update_data['status'] == 2) {
|
|
$player_game_list = explode(',', $user_info['player_game_list']);
|
|
$player_game_list[] = $info['gid'];
|
|
$player_game_list = array_unique($player_game_list);
|
|
$user_data = [];
|
|
$user_data['is_player'] = 2;
|
|
$user_data['player_game_list'] = trim(implode(',', $player_game_list), ',');
|
|
db::name('user')->where('uid', $info['uid'])->update($user_data);
|
|
} else {
|
|
$player_game_list = explode(',', $user_info['player_game_list']);
|
|
if (!empty($player_game_list)) {
|
|
$key_array = array_keys($player_game_list, $info['gid']);
|
|
if (!empty($key_array)) {
|
|
unset($player_game_list[$key_array[0]]);
|
|
$player_game_list = array_unique($player_game_list);
|
|
$user_data = [];
|
|
$user_data['is_player'] = 2;
|
|
$user_data['player_game_list'] = trim(implode(',', $player_game_list), ',');
|
|
db::name('user')->where('uid', $info['uid'])->update($user_data);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
$reslut = db::name('user_player')->where(['pid' => $data['pid']])->update($update_data);
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
|
|
}
|
|
}
|
|
|
|
//获取 陪玩主播 信息
|
|
public function player_info($pid)
|
|
{
|
|
if (empty($pid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$info = db::name('user_player')->where(['pid' => $pid])->find();
|
|
$info['cover_image'] = localpath_to_netpath($info['cover_image']);
|
|
$info['skill_image'] = localpath_to_netpath($info['skill_image']);
|
|
$info['sound'] = localpath_to_netpath($info['sound']);
|
|
|
|
$user = db::name('user')->where(['uid' => $info['uid']])->find();
|
|
$info['nickname_real_name'] = $user['nick_name'] . '-' . $user['real_name'];
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
|
|
}
|
|
|
|
//删除 陪玩主播
|
|
public function del_player($pid)
|
|
{
|
|
if (empty($pid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$reslut = db::name('user_player')->where(['pid' => $pid])->delete();
|
|
if (!$reslut) {
|
|
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
|
|
} else {
|
|
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
|
|
}
|
|
}
|
|
|
|
//陪玩订单 列表
|
|
public function player_order_list($order_sn, $uid, $player_uid, $price, $service_rate, $status, $is_over, $order, $sort, $page = 1, $limit = 20)
|
|
{
|
|
|
|
$map = [];
|
|
if (!empty($order_sn)) {
|
|
$map[] = ['order_sn', '=', $order_sn];
|
|
}
|
|
|
|
if (!empty($uid)) {
|
|
$map[] = ['uid', '=', $uid];
|
|
}
|
|
if (!empty($player_uid)) {
|
|
$map[] = ['player_uid', '=', $player_uid];
|
|
}
|
|
if (!empty($price)) {
|
|
$map[] = ['price', '=', $price];
|
|
}
|
|
if (!empty($service_rate)) {
|
|
$map[] = ['service_rate', '=', $service_rate];
|
|
}
|
|
if (!empty($status)) {
|
|
$map[] = ['status', '=', $status];
|
|
}
|
|
if (!empty($is_over)) {
|
|
$map[] = ['is_over', '=', $is_over];
|
|
}
|
|
if (empty($order)) {
|
|
$order = 'oid';
|
|
}
|
|
if (empty($sort)) {
|
|
$sort = 'desc';
|
|
}
|
|
$list = db::name('user_player_order')->where($map)->order($order, $sort)->page($page, $limit)->select();
|
|
foreach ($list as $k => &$v) {
|
|
$v['game_name'] = db::name('game')->where(['gid' => $v['gid']])->value('game_name');
|
|
$u_nickname = db::name('user')->where(['uid' => $v['uid']])->value('nick_name');
|
|
$p_nickname = db::name('user')->where(['uid' => $v['player_uid']])->value('nick_name');
|
|
$v['uid_nickname'] = $v['uid'] . '-' . $u_nickname;
|
|
$v['player_uid_nickname'] = $v['player_uid'] . '-' . $p_nickname;
|
|
}
|
|
$data = [];
|
|
$data['count'] = db::name('user_player_order')->where($map)->count();
|
|
$data['list'] = $list;
|
|
|
|
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
|
|
}
|
|
|
|
//获取 陪玩订单 信息
|
|
public function player_order_info($oid)
|
|
{
|
|
if (empty($oid)) {
|
|
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
|
|
}
|
|
$info = db::name('user_player_order')->where(['oid' => $oid])->find();
|
|
$u_nickname = db::name('user')->where(['uid' => $info['uid']])->value('nick_name');
|
|
$p_nickname = db::name('user')->where(['uid' => $info['player_uid']])->value('nick_name');
|
|
$info['uid_nickname'] = $info['uid'] . '-' . $u_nickname;
|
|
$info['player_uid_nickname'] = $info['player_uid'] . '-' . $p_nickname;
|
|
$info['game_name'] = db::name('game')->where(['gid' => $info['gid']])->value('game_name');
|
|
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
|
|
}
|
|
}
|