diff --git a/application/adminapi/controller/Guild.php b/application/adminapi/controller/Guild.php index 355fd71c..4a541972 100644 --- a/application/adminapi/controller/Guild.php +++ b/application/adminapi/controller/Guild.php @@ -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,"成功"); diff --git a/application/adminapi/controller/Monster.php b/application/adminapi/controller/Monster.php new file mode 100644 index 00000000..884870be --- /dev/null +++ b/application/adminapi/controller/Monster.php @@ -0,0 +1,145 @@ +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); + } + + +} diff --git a/application/adminapi/model/Monster.php b/application/adminapi/model/Monster.php new file mode 100644 index 00000000..2a9c4df0 --- /dev/null +++ b/application/adminapi/model/Monster.php @@ -0,0 +1,250 @@ +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]; + } + + + +} diff --git a/application/cron/controller/Test.php b/application/cron/controller/Test.php index 5c0790de..6033a372 100644 --- a/application/cron/controller/Test.php +++ b/application/cron/controller/Test.php @@ -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()); +// } + } } \ No newline at end of file