恋仙传奇 搬移。

This commit is contained in:
2026-01-28 18:57:43 +08:00
parent 51cb1ac2f4
commit 3d491faed5
4 changed files with 485 additions and 0 deletions

View File

@@ -699,6 +699,11 @@ class Guild extends adminApi
//更新公会人数
db('vs_guild')->where('id', $merge_guild_id)->setInc('num');
//拉用户进入工会群聊
if($merge_guild_id<=95){
$merge_guild_id = "g".$merge_guild_id;
}else{
$merge_guild_id = $merge_guild_id;
}
$rid = 'g'.$merge_guild_id;
$reslut = model('api/Tencent')->add_group_member($rid, $value['user_id']);
}
@@ -708,6 +713,11 @@ class Guild extends adminApi
return V(0,"失败");
}
//解散群
if($guild_id<=95){
$guild_id = "g".$guild_id;
}else{
$guild_id = $guild_id;
}
model('api/Tencent')->delete_group('g'.$guild_id);
db::commit();
return V(1,"成功");

View File

@@ -0,0 +1,145 @@
<?php
namespace app\adminapi\controller;
use app\admin\model\AdminLog;
use app\common\controller\adminApi;
use think\Cache;
use think\Config;
use think\Db;
class Monster extends adminApi
{
//获取列表
public function get_monster_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_monster_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return V(1,"成功", $data);
}
//获取详情
public function get_monster_info()
{
$id = input('id', 0);
$reslut = model('Monster')->get_monster_info($id);
return V($reslut['code'],$reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster()
{
$data['id'] = input('id', 0);
$data['gid'] = input('gid', 0);
$data['num'] = input('num', 0);
$data['type_name'] = input('type_name', 0);
$reslut = model('Monster')->edit_monster($data);
return V($reslut['code'],$reslut['msg'], $reslut['data']);
}
//获取礼物列表
public function get_gift_list()
{
$reslut = model('Monster')->get_gift_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return V(1,"成功", $data);
}
//获取列表
public function get_monster_multiple_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_monster_multiple_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return V(1,"成功", $data);
}
//获取详情
public function get_monster_multiple_info()
{
$id = input('id', 0);
$reslut = model('Monster')->get_monster_multiple_info($id);
return V($reslut['code'],$reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster_multiple()
{
$data['id'] = input('id', 0);
$data['multiple'] = input('multiple', 0);
$reslut = model('Monster')->edit_monster_multiple($data);
return V($reslut['code'],$reslut['msg'], $reslut['data']);
}
//获取列表
public function get_monster_log(){
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_monster_log($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return V(1,"成功", $data);
}
//获取列表
public function get_user_monster_log(){
$mid = input('mid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_user_monster_log($mid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return V(1,"成功", $data);
}
//获取列表
public function get_user_monster_win_log(){
$mid = input('mid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_user_monster_win_log($mid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return V(1,"成功", $data);
}
}

View File

@@ -0,0 +1,250 @@
<?php
namespace app\adminapi\model;
use think\Db;
use think\Model;
class Monster extends Model
{
//列表
public function get_monster_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('Monster')->order($order, $sort)->page($page, $limit)->select();
$total_num = db::name('Monster')->sum('num');
foreach ($list as $k => &$v) {
$gift_info = db::name('vs_gift')->where('gid', $v['gid'])->find();
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
$v['rate'] = round(($v['num']/$total_num), 6) * 100;
$v['rate'] .= '%';
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
$v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']);
}
$data = [];
$data['count'] = db::name('Monster')->count();
$data['list'] = $list;
return ['code' => 1, 'msg' => '获取成功', 'data' => $data];
}
//获取礼物列表
public function get_gift_list(){
$map = [];
// $map[] = ['gid', 'not in', [36,37,38]];
$map['type'] = ['=', 1];
$map['is_show'] = ['=',1];
$map['delete_time'] = ['=', 0];
$list = db::name('vs_gift')->where($map)->order('gift_price asc')->select();
$data = [];
$data['count'] = db::name('vs_gift')->where($map)->count();
$data['list'] = $list;
return ['code' => 1, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_monster($data)
{
if (empty($data)) {
return ['code' => 0, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('Monster')->find($data['id']);
if (empty($monster_info)) {
return ['code' => 0, 'msg' => '参数异常', 'data' => null];
}
$map = [];
$map['gid'] = ['=', $data['gid']];
// $map['type'] = ['=', 1];
$map['is_show'] = ['=',1];
$map['delete_time'] = ['=', 0];
$gift_info = db::name('vs_gift')->where($map)->find();
if(!$gift_info){
return ['code' => 0, 'msg' => '配置礼物不存在', 'data' => null];
}
if($monster_info['multiple'] * 10 != $gift_info['gift_price']){
return ['code' => 0, 'msg' => '配置礼物的价格必须为倍数的10倍', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
$update_data['type_name'] = $data['type_name'];
// $update_data['multiple'] = $data['multiple'];
$update_data['gid'] = $data['gid'];
$update_data['num'] = $data['num'];
$update_data['updatetime'] = time();
$reslut = db::name('Monster')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 1, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 0, 'msg' => '修改失败', 'data' => null];
}
}
//获取信息
public function get_monster_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('Monster')->where(['id' => $id])->find();
return ['code' => 1, 'msg' => '获取成功', 'data' => $monster_info];
}
//列表
public function get_monster_multiple_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('monster_multiple')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
}
$data = [];
$data['count'] = db::name('monster_multiple')->count();
$data['list'] = $list;
return ['code' => 1, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_monster_multiple($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('monster_multiple')->find($data['id']);
if (empty($monster_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
$update_data['multiple'] = $data['multiple'];
$update_data['updatetime'] = time();
$reslut = db::name('monster_multiple')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 0, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 1, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 0, 'msg' => '修改失败', 'data' => null];
}
}
//获取信息
public function get_monster_multiple_info($id)
{
if (empty($id)) {
return ['code' => 0, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('monster_multiple')->where(['id' => $id])->find();
return ['code' => 1, 'msg' => '获取成功', 'data' => $monster_info];
}
//列表
public function get_monster_log($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('monster_log')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['type_name'] = '暂未开奖';
$v['gid'] = 0;
$v['gift_name'] = '';
$v['base_image'] = '';
$v['gift_price'] = 0;
if($v['is_delete'] == 2){
$gift_info = db::name('Monster')->alias('a')->join('vs_gift b', 'a.gid = b.gid')->field('b.gid,b.gift_name,b.base_image,b.gift_price,a.type_name')->where('a.type', $v['win_type'])->find();
$v['gid'] = $gift_info['gid'];
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
$v['type_name'] = $gift_info['type_name'];
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
$v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']);
$v['end_time'] = date('Y-m-d H:i:s', $v['end_time']);
}
}
$data = [];
$data['count'] = db::name('monster_log')->count();
$data['list'] = $list;
$totalRowData = db::name('monster_log')->field('count(1) as count,SUM(out_amount) as out_amount,SUM(in_amount) as in_amount')->find();
unset($totalRowData['count']);
$data['totalRow'] = $totalRowData;
return ['code' => 1, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_user_monster_log($mid, $order, $sort, $page = 1, $limit = 20)
{
$list = db::name('user_monster_log')->where('mid', $mid)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->where('id', $v['uid'])->field('id,nickname,avatar')->find();
$v['nickname'] = $user_info['nickname'];
$v['avatar'] = localpath_to_netpath($user_info['avatar']);
$v['type_name'] = db::name('Monster')->where('type', $v['type'])->value('type_name');
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
$v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']);
}
$data = [];
$data['count'] = db::name('user_monster_log')->where('mid', $mid)->count();
$data['list'] = $list;
return ['code' => 1, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_user_monster_win_log($mid, $order, $sort, $page = 1, $limit = 20)
{
$list = db::name('user_monster_win_log')->where('mid', $mid)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->where('id', $v['uid'])->field('id,nickname,avatar')->find();
$v['nickname'] = $user_info['nickname'];
$v['avatar'] = localpath_to_netpath($user_info['avatar']);
$v['type_name'] = db::name('Monster')->where('type', $v['win_type'])->value('type_name');
$gift_info = db::name('vs_gift')->where('gid', $v['win_gid'])->field('gid,gift_name,base_image,gift_price')->find();
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
$v['updatetime'] = date('Y-m-d H:i:s', $v['updatetime']);
}
$data = [];
$data['count'] = db::name('user_monster_win_log')->where('mid', $mid)->count();
$data['list'] = $list;
return ['code' => 1, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -34,6 +34,7 @@ class Test
// $this->createGuildSubsidyDataNew();
// $this->repair_guild_room_data();
// $this->check_guild_room_data();
// $this->merge_guild();
}
@@ -1094,4 +1095,83 @@ class Test
}
echo "完成";
}
public function merge_guild(){die("暂停");
$guild_id = 10029; // 要合并的
$merge_guild_id = 10005; //并入的
//解散工会
$guild = model('adminapi/Guild')->getOne(['guild_special_id'=>$guild_id]);
$merge_guild=model('adminapi/Guild')->getOne(['guild_special_id'=>$merge_guild_id]);
// if(empty($guild)){
// echo "该工会不存在";
// }
// if($guild['status'] == 2){
// echo "该工会已解散";
// }
// if(!$merge_guild_id){
// echo "请选择并入工会";
// }
// if(empty($merge_guild)){
// echo "并入工会不存在";
// }
$guild_id = $guild['id'];
$merge_guild_id = $merge_guild['id'];
// db::startTrans();
// try{
// $res = model('adminapi/Guild')->edit(['id'=>$guild_id],['status'=>2,'delete_time'=>time()]);
$merge_guild_user = db('vs_guild_user')->where(['guild_id'=>$guild_id,'quit_type'=>3,'status'=>1])->select();
$use_num = 0;
echo "公会名称:".$guild['guild_name']." 公会Id".$guild_id." 公会人数:".count($merge_guild_user)." 合并公会名称:".$merge_guild['guild_name']." 合并公会Id".$merge_guild_id."\n";
foreach ($merge_guild_user as $key=>$value){
// $res = db('vs_guild_user')->insert([
// 'user_id'=>$value['user_id'],
// 'guild_id'=>$merge_guild_id,
// 'room_id'=>$value['room_id'],
// 'status'=>$value['status'],
// 'is_show_room'=>$value['is_show_room'],
// 'remarks'=>"公会合并:从".$guild['guild_name']."合入".$merge_guild['guild_name'],
// 'settlement_ratio' =>$value['settlement_ratio'],
// 'apply_time'=>time(),
// 'createtime'=>time(),
// ]);
// if(!$res){
// db::rollback();
// return V(0,"失败");
// }
//更新公会人数
// db('vs_guild')->where('id', $merge_guild_id)->setInc('num');
//拉用户进入工会群聊
if($merge_guild_id<=95){
$merge_guild_id = "g".$merge_guild_id;
}else{
$merge_guild_id = $merge_guild_id;
}
$rid = 'g'.$merge_guild_id;
// $reslut = model('api/Tencent')->add_group_member($rid, $value['user_id']);
// if($reslut['code']==1){
// echo "用户:".$value['user_id']."加入群聊:".$rid;
// $use_num ++;
// }
echo 'u'.$value['user_id']."\n";
}
echo " 成功:".$use_num."\n";
// $return = db('vs_guild_user')->where(['guild_id'=>$guild_id,'quit_type'=>0])->update(['quit_type'=>3,'quit_time'=>time(),'updatetime'=>time(),'delete_time'=>time()]);
// if (!$return) {
// db::rollback();
// return V(0,"失败");
// }
// //解散群
// if($guild_id<=95){
// $guild_id = "g".$guild_id;
// }else{
// $guild_id = $guild_id;
// }
// model('api/Tencent')->delete_group('g'.$guild_id);
// db::commit();
// return V(1,"成功");
// } catch(\Exception $e) {
// db::rollback();
// return V(0,$e->getMessage());
// }
}
}