2025-08-13 10:43:56 +08:00
< ? php
namespace app\api\model ;
use think\Model ;
use think\Session ;
use think\Db ;
class Guild extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int' ;
// 定义时间戳字段名
protected $createTime = 'createtime' ;
protected $updateTime = 'updatetime' ;
/*
* 获取公会列表
* @ param $page
* @ param $limit
*/
2025-09-30 21:59:37 +08:00
public function get_guild_list ( $page , $page_limit , $search = '' , $user_id = 0 )
2025-08-13 10:43:56 +08:00
{
2025-09-30 21:59:37 +08:00
$where = [];
2025-08-13 10:43:56 +08:00
if ( $search ) {
$where = [ 'guild_special_id' => [ 'like' , $search . '%' ]]; //通过工会ID搜索
}
$list = [];
$list = Db :: name ( 'vs_guild' )
-> field ( 'id,guild_special_id,user_id,guild_name,cover,num,intro,createtime,income' )
-> where ([ 'is_show' => 1 , 'delete_time' => 0 ])
-> where ( $where )
2025-09-30 21:59:37 +08:00
-> page ( $page , $page_limit )
2025-08-13 10:43:56 +08:00
-> select ();
$count = Db :: name ( 'vs_guild' )
-> where ([ 'is_show' => 1 , 'delete_time' => 0 ])
-> where ( $where )
-> count ();
if ( $list ){
foreach ( $list as $key => & $value ) {
$list [ $key ][ 'cover' ] = localpath_to_netpath ( $value [ 'cover' ]);
$list [ $key ][ 'createtime' ] = date ( 'Y-m-d H:i:s' , $value [ 'createtime' ]);
//会长信息
$list [ $key ][ 'user_name' ] = Db :: name ( 'user' ) -> where ([ 'id' => $value [ 'user_id' ]]) -> value ( 'nickname' ); //会长昵称
$list [ $key ][ 'user_avatar' ] = Db :: name ( 'user' ) -> where ([ 'id' => $value [ 'user_id' ]]) -> value ( 'avatar' ); //会长头像
//当前用户是否加入该公会
$guild_user = Db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $value [ 'id' ], 'user_id' => $user_id , 'status' => 1 , 'delete_time' => 0 ]) -> value ( 'id' );
$list [ $key ][ 'is_join' ] = $guild_user ? 1 : 0 ;
//公会用户头像
$guild_user_list = Db :: name ( 'vs_guild_user' ) -> alias ( 'a' )
-> join ( 'user b' , 'a.user_id = b.id' )
-> field ( 'a.user_id,b.avatar' )
-> where ([ 'a.guild_id' => $value [ 'id' ], 'a.delete_time' => 0 , 'a.status' => 1 , 'a.is_deacon' => 2 ])
-> order ( 'a.coin desc' )
-> limit ( 3 )
-> select ();
$list [ $key ][ 'guild_user_list' ] = $guild_user_list ;
//工会总流水
$list [ $key ][ 'total_transaction' ] = $value [ 'income' ];
//公会靓号处理
$list [ $key ][ 'guild_special_id' ] = model ( 'api/Decorate' ) -> user_decorate_detail ( $value [ 'id' ], 8 );
}
}
$data = [
'page' => $page ,
2025-09-30 21:59:37 +08:00
'limit' => $page_limit ,
2025-08-13 10:43:56 +08:00
'count' => $count ,
'list' => $list
];
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $data ];
}
/*
* 获取公会详情
* @ param $id
* @ param $user_id
*/
public function get_guild_info ( $id , $user_id = 0 )
{
$info = Db :: name ( 'vs_guild' )
-> field ( 'id,guild_special_id,user_id,guild_name,cover,num,intro,createtime,income' )
-> where ([ 'id' => $id , 'is_show' => 1 , 'delete_time' => 0 ])
-> find ();
if ( $info ){
$info [ 'cover' ] = localpath_to_netpath ( $info [ 'cover' ]);
$info [ 'createtime' ] = date ( 'Y-m-d H:i:s' , $info [ 'createtime' ]);
//当前用户是否是会长
$info [ 'is_leader' ] = $info [ 'user_id' ] == $user_id ? 1 : 0 ;
//当前用户是否加入当前工会
$info [ 'is_join' ] = Db :: name ( 'vs_guild_user' ) -> where ([ 'user_id' => $user_id , 'guild_id' => $id , 'status' => 1 , 'delete_time' => 0 ]) -> value ( 'guild_id' ) > 0 ? 1 : 0 ;
//工会总流水
$info [ 'total_transaction' ] = $info [ 'income' ];
//工会房间数
$info [ 'room_num' ] = Db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $id , 'status' => 1 , 'delete_time' => 0 , 'room_id' => [ '<>' , 0 ]]) -> count ();
//付费退出公会所需金
$info [ 'quit_guild_gold' ] = get_system_config_value ( 'quit_guild_gold' );
//工会群组ID
$info [ 'group_id' ] = " g " . $info [ 'id' ];
//会长信息
$user_data = Db :: name ( 'user' ) -> where ([ 'id' => $info [ 'user_id' ]]) -> field ( 'id,nickname,avatar' ) -> find ();
$info [ 'user_data' ][ 'nickname' ] = $user_data [ 'nickname' ];
$info [ 'user_data' ][ 'avatar' ] = localpath_to_netpath ( $user_data [ 'avatar' ]);
$info [ 'user_data' ][ 'icon' ][ 0 ] = model ( 'UserData' ) -> user_wealth_icon ( $info [ 'user_id' ]); //财富图标
$info [ 'user_data' ][ 'icon' ][ 1 ] = model ( 'UserData' ) -> user_charm_icon ( $info [ 'user_id' ]); //魅力图标
//公会靓号处理
$info [ 'guild_special_id' ] = model ( 'api/Decorate' ) -> user_decorate_detail ( $info [ 'id' ], 8 );
} else {
$info = [];
}
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $info ];
}
/*
* 加入工会申请
*/
public function join_guild ( $guild_id , $user_id = 0 )
{
$user_info = model ( 'User' ) -> get_user_info ( $user_id );
if ( ! $user_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
if ( $user_info [ 'is_real' ] != 1 || empty ( $user_info [ 'card_id' ])){
return [ 'code' => 0 , 'msg' => '请先实名认证' , 'data' => null ];
}
//公会是否存在
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'delete_time' => 0 ]) -> find ();
if ( ! $guild_info ){
return [ 'code' => 0 , 'msg' => '该公会不存在' , 'data' => null ];
}
$is_check_join = Db :: name ( 'vs_guild_user' ) -> where ([ 'user_id' => $user_id , 'delete_time' => 0 ]) -> find ();
if ( $is_check_join && $is_check_join [ 'guild_id' ] != $guild_id ){
return [ 'code' => 0 , 'msg' => '您已加入别的工会,请先退出公会再加入' , 'data' => null ];
}
if ( $is_check_join && $is_check_join [ 'guild_id' ] == $guild_id && $is_check_join [ 'status' ] == 1 ){
return [ 'code' => 0 , 'msg' => '您已加入该工会' , 'data' => null ];
}
if ( $is_check_join && $is_check_join [ 'guild_id' ] == $guild_id && $is_check_join [ 'status' ] == 2 ){
return [ 'code' => 0 , 'msg' => '您已提交申请,请耐心等待' , 'data' => null ];
}
//是否被踢出过
$ti_chu = db :: name ( 'vs_guild_user' ) -> where ([ 'user_id' => $user_id , 'guild_id' => $guild_id , 'delete_time' => [ '<>' , 0 ], 'quit_type' => 2 ]) -> find ();
if ( ! empty ( $ti_chu )){
return [ 'code' => 0 , 'msg' => '已被踢出,禁止加入!' , 'data' => null ];
}
//退出公会是否超过30天
$map = [];
$map [ 'user_id' ] = $user_id ;
$map [ 'delete_time' ] = [ '<>' , 0 ];
$map [ 'quit_type' ] = 1 ;
$quit_guild_info = Db :: name ( 'vs_guild_user' ) -> where ( $map ) -> order ( 'quit_time' , 'desc' ) -> field ( 'quit_time,guild_id,quit_type' ) -> find ();
if ( ! empty ( $quit_guild_info )) {
$quit_time = empty ( $quit_guild_info [ 'quit_time' ]) ? 0 : $quit_guild_info [ 'quit_time' ];
$quit_type = $quit_guild_info [ 'quit_type' ];
if ( $quit_guild_info [ 'guild_id' ] != $guild_id ) {
$last_time = 30 * 24 * 3600 ;
if (( time () - $last_time ) <= $quit_time ) {
return [ 'code' => 0 , 'msg' => '退出公会未超过30天, 不能重新加入其他公会' , 'data' => null ];
}
}
}
//是否有房间
$rid = 0 ;
$room_info = db :: name ( 'vs_room' ) -> where ( 'user_id' , $user_id ) -> find ();
if ( $room_info ){
$rid = $room_info [ 'id' ];
}
$insert_data = [];
$insert_data [ 'user_id' ] = $user_id ;
$insert_data [ 'guild_id' ] = $guild_id ;
$insert_data [ 'room_id' ] = $rid ;
$insert_data [ 'status' ] = 1 ;
$insert_data [ 'is_deacon' ] = 2 ;
$insert_data [ 'createtime' ] = time ();
$update_data [ 'apply_time' ] = time ();
$insert_data [ 'is_show_room' ] = 1 ;
$reslut = db :: name ( 'vs_guild_user' ) -> insert ( $insert_data );
if ( $reslut ){
//增加公会人数
db :: name ( 'vs_guild' ) -> where ( 'id' , $guild_info [ 'id' ]) -> setInc ( 'num' , 1 );
//拉用户进入工会群聊
model ( 'Tencent' ) -> add_group_member ( 'g' . $guild_id , $user_id );
// model('Tencent')->send_group_system_notification('g'.$guild_id,"欢迎".$user_info['nickname'].'加入公会');
return [ 'code' => 1 , 'msg' => '提交成功' , 'data' => null ];
} else {
return [ 'code' => 0 , 'msg' => '提交失败' , 'data' => null ];
}
}
/*
* 申请列表
*/
public function get_apply_guild_list ( $uid , $guild_id , $page , $page_limit ){
$page = ( int ) $page ;
$page_limit = $page_limit < 30 ? $page_limit : 30 ;
$user_info = db :: name ( 'user' ) -> find ( $uid );
if ( ! $user_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
//公会信息
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'delete_time' => 0 ]) -> find ();
if ( ! $guild_info ){
return [ 'code' => 0 , 'msg' => '该公会不存在' , 'data' => null ];
}
$map = [];
$map = [
'a.guild_id' => $guild_id ,
'a.status' => 2
];
$count = db :: name ( 'vs_guild_user' ) - alias ( 'a' ) -> join ( 'user b' , 'a.user_id = b.id' ) -> where ( $map ) -> count ();
$list = db :: name ( 'vs_guild_user' ) -> alias ( 'a' ) -> join ( 'user b' , 'a.user_id = b.id' )
-> field ( 'a.id, a.user_id, a.guild_id, a.room_id, a.status, b.nickname, b.avatar,b.user_code' )
-> where ( $map )
-> order ( 'id desc' )
-> page ( $page , $page_limit )
-> select ();
foreach ( $list as $k => & $v ){
$v [ 'user_code' ] = model ( 'Decorate' ) -> user_decorate_detail ( $v [ 'user_id' ], 6 );
}
$data = [];
$data = [
'page' => $page ,
'limit' => $page_limit ,
'count' => $count ,
'list' => $list ,
];
return [ 'code' => 200 , 'msg' => '获取成功' , $data ];
}
/*
* 同意,拒绝申请
*/
public function operate_guild ( $uid , $apply_id , $type ){
$user_info = db :: name ( 'user' ) -> find ( $uid );
if ( ! $user_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
//该申请是否已被操作
$is_operate = db :: name ( 'vs_guild_user' ) -> where ([ 'id' => $apply_id , 'status' => 2 ]) -> find ();
if ( ! $is_operate ){
return [ 'code' => 201 , 'msg' => '该申请不存在' , 'data' => null ];
}
if ( ! in_array ( $type , [ 1 , 2 ])){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
$guild_info = db :: name ( 'vs_guild' ) -> where ( 'id' , $is_operate [ 'guild_id' ]) -> find ();
if ( $uid != $guild_info [ 'user_id' ]){
return [ 'code' => 0 , 'msg' => '您没有权限操作' , 'data' => null ];
}
//审核通过
if ( $type == 1 ) {
$is_join_guild = Db :: name ( 'vs_guild_user' ) -> where ([ 'user_id' => $is_operate [ 'user_id' ], 'delete_time' => 0 , 'status' => 1 ]) -> find ();
if ( ! empty ( $is_join_guild )) {
return [ 'code' => 0 , 'msg' => '已加入其他工会' , 'data' => null ];
}
}
Db :: startTrans ();
try {
if ( $type == 1 ){ //同意
$update_data = [];
$update_data [ 'status' ] = 1 ;
$update_data [ 'updatetime' ] = time ();
$update_data [ 'is_show_room' ] = 1 ;
$update_data [ 'apply_time' ] = time ();
$reslut = db :: name ( 'vs_guild_user' ) -> where ([ 'id' => $apply_id ]) -> update ( $update_data );
if ( ! $reslut ){
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '操作失败' , 'data' => null ];
}
//增加公会人数
db :: name ( 'vs_guild' ) -> where ( 'id' , $guild_info [ 'id' ]) -> setInc ( 'num' , 1 );
} else if ( $type == 2 ){ //拒绝
$update_data = [];
$update_data [ 'status' ] = 3 ;
$update_data [ 'updatetime' ] = time ();
$update_data [ 'apply_time' ] = time ();
$reslut = db :: name ( 'user_guild' ) -> where ([ 'id' => $apply_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 ) {
// 回滚事务
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '操作失败' , 'data' => null ];
}
}
/*
* 踢出工会
*/
public function kick_out_guild ( $uid , $user_id , $guild_id ){
$user_info = db :: name ( 'user' ) -> find ( $user_id );
if ( ! $user_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
$guild_info = db :: name ( 'vs_guild' ) -> find ( $guild_id );
if ( ! $guild_id ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
if ( $uid != $guild_info [ 'user_id' ]){
return [ 'code' => 0 , 'msg' => '您没有权限操作' , 'data' => null ];
}
$map = [];
$map [ 'user_id' ] = $user_id ;
$map [ 'guild_id' ] = $guild_id ;
$map [ 'status' ] = 1 ;
$map [ 'delete_time' ] = 0 ;
$user_guild_info = db :: name ( 'vs_guild_user' ) -> where ( $map ) -> find ();
if ( ! $user_guild_info ){
return [ 'code' => 0 , 'msg' => '该用户不在该公会' , 'data' => null ];
}
if ( $user_guild_info [ 'is_deacon' ] == 1 ){
return [ 'code' => 0 , 'msg' => '会长无法被踢出' , 'data' => null ];
}
$update_data = [];
$update_data [ 'delete_time' ] = time ();
$update_data [ 'updatetime' ] = time ();
$update_data [ 'quit_time' ] = time ();
$update_data [ 'quit_type' ] = 2 ;
$reslut = db :: name ( 'vs_guild_user' ) -> where ( 'id' , $user_guild_info [ 'id' ]) -> update ( $update_data );
if ( $reslut ){
//减少公会人数
db :: name ( 'vs_guild' ) -> where ( 'id' , $guild_info [ 'id' ]) -> setDec ( 'num' );
model ( 'Tencent' ) -> delete_group_member ( 'g' . $guild_id , $user_id );
return [ 'code' => 1 , 'msg' => '踢出成功' , 'data' => null ];
} else {
return [ 'code' => 0 , 'msg' => '踢出失败' , 'data' => null ];
}
}
//退出公会
public function quit_guild ( $uid , $guild_id , $type ){
$config = get_system_config ();
$user_info = db :: name ( 'user' ) -> find ( $uid );
if ( ! $user_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
$guild_info = db :: name ( 'vs_guild' ) -> find ( $guild_id );
if ( ! $guild_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
$map = [];
$map [ 'user_id' ] = $uid ;
$map [ 'guild_id' ] = $guild_id ;
$map [ 'status' ] = 1 ;
$map [ 'delete_time' ] = 0 ;
$user_guild_info = db :: name ( 'vs_guild_user' ) -> where ( $map ) -> find ();
if ( ! $user_guild_info ){
return [ 'code' => 0 , 'msg' => '用户不在该公会' , 'data' => null ];
}
if ( $user_guild_info [ 'is_deacon' ] == 1 ){
return [ 'code' => 0 , 'msg' => '会长无法退出公会' , 'data' => null ];
}
$time = 60 * 60 * 24 * $config [ 'quit_guild_time' ];
$time = $user_guild_info [ 'createtime' ] + $time ;
if ( $time > time () && $type != 2 ){
return [ 'code' => 0 , 'msg' => '加入公会' . $config [ 'quit_guild_time' ] . '天内无法退出' , 'data' => null ];
}
Db :: startTrans ();
try {
$update_data = [];
if ( $type == 2 ){
//付费退出
//扣款
$quit_guild_gold = $config [ 'quit_guild_gold' ];
$res = model ( 'common/UserWallet' ) -> change_user_money ( $uid , $quit_guild_gold , model ( 'common/UserWallet' ) :: MONEYTYPECOIN , model ( 'common/UserWallet' ) :: GUILD_EXIT , model ( 'common/UserWallet' ) :: ChangeTypeLable ( model ( 'common/UserWallet' ) :: GUILD_EXIT ));
if ( $res [ 'code' ] == 0 ){
Db :: rollback ();
return [ 'code' => 0 , 'msg' => $res [ 'msg' ], 'data' => null ];
}
$update_data [ 'quit_type' ] = 4 ;
$update_data [ 'quit_time' ] = time ();
$update_data [ 'delete_time' ] = time ();
$update_data [ 'updatetime' ] = time ();
$reslut = db :: name ( 'vs_guild_user' ) -> where ( 'id' , $user_guild_info [ 'id' ]) -> update ( $update_data );
if ( ! $reslut ){
Db :: rollback ();
return [ 'code' => 0 , '' => '退出失败' , 'data' => null ];
}
//减少公会人数
db :: name ( 'vs_guild' ) -> where ( 'id' , $guild_info [ 'id' ]) -> setDec ( 'num' );
model ( 'Tencent' ) -> delete_group_member ( 'g' . $guild_id , $uid );
Db :: commit ();
return [ 'code' => 1 , 'msg' => '退出成功' , 'data' => null ];
} else {
$quit_log = db :: name ( 'vs_guild_user_quit_log' ) -> where ([ 'guild_id' => $guild_id , 'user_id' => $uid , 'status' => 0 ]) -> find ();
if ( $quit_log ){
return [ 'code' => 0 , 'msg' => '您已提交退出申请,请等待会长审核' , 'data' => null ];
}
//加入审核表
$insert_data = [];
$insert_data [ 'guid' ] = $user_guild_info [ 'id' ];
$insert_data [ 'user_id' ] = $uid ;
$insert_data [ 'guild_id' ] = $guild_id ;
$insert_data [ 'status' ] = 0 ;
$insert_data [ 'createtime' ] = time ();
$insert_data [ 'updatetime' ] = time ();
$res = db :: name ( 'vs_guild_user_quit_log' ) -> insert ( $insert_data );
if ( ! $res ){
Db :: rollback ();
return [ 'code' => 0 , '' => '退出失败' , '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 quit_apply_list ( $uid , $guild_id , $page , $page_limit ){
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'delete_time' => 0 ]) -> find ();
if ( empty ( $guild_info )){
return [ 'code' => 0 , 'msg' => '公会不存在!' , 'data' => null ];
}
if ( $guild_info [ 'user_id' ] != $uid ){
// return ['code' => 0, 'msg' => '您不是该公会会长,无法访问权限', 'data' => null];
}
//申请主动退出工会的列表
$map = [ 'a.guild_id' => $guild_id ];
$list = db :: name ( 'vs_guild_user_quit_log' ) -> alias ( 'a' ) -> join ( 'user b' , 'a.user_id = b.id' )
-> field ( 'a.id, a.user_id, a.guild_id,a.createtime,a.status,b.nickname, b.avatar,b.user_code' )
-> where ( $map )
-> order ( 'id desc' )
-> page ( $page , $page_limit )
-> select ();
$count = db :: name ( 'vs_guild_user_quit_log' ) -> alias ( 'a' ) -> join ( 'user b' , 'a.user_id = b.id' ) -> where ( $map ) -> count ();
foreach ( $list as $k => & $v ){
$v [ 'apply_quit_time' ] = ( 72 * 60 * 60 - ( time () - $v [ 'createtime' ])) / ( 60 * 60 ); //申请退出结束时间(时)
$v [ 'user_code' ] = model ( 'Decorate' ) -> user_decorate_detail ( $v [ 'user_id' ], 6 );
}
$data = [];
$data = [
'page' => $page ,
'limit' => $page_limit ,
'count' => $count ,
'list' => $list ,
];
return [ 'code' => 200 , 'msg' => '获取成功' , 'data' => $data ];
}
/*
* quit_apply_audit
* 退出申请审核
* @ param int $uid 用户id
* @ param int $guild_id 公会id
* @ param int $type 审核状态 1 通过 2 拒绝
*
*/
public function quit_apply_audit ( $uid , $apply_id , $type ){
$user_info = db :: name ( 'user' ) -> find ( $uid );
if ( ! $user_info ){
return [ 'code' => 0 , 'msg' => '参数错误' , 'data' => null ];
}
$apply_info = db :: name ( 'vs_guild_user_quit_log' ) -> where ([ 'id' => $apply_id , 'status' => 0 ]) -> find ();
if ( ! $apply_info ){
return [ 'code' => 0 , 'msg' => '申请不存在' , 'data' => null ];
}
try {
Db :: startTrans ();
if ( $type == 1 ){
$update_data = [];
$update_data [ 'status' ] = 1 ;
$update_data [ 'updatetime' ] = time ();
$res = db :: name ( 'vs_guild_user_quit_log' ) -> where ( 'id' , $apply_id ) -> update ( $update_data );
if ( $res ){
$update_data [ 'quit_type' ] = 1 ;
$update_data [ 'quit_time' ] = time ();
$update_data [ 'delete_time' ] = time ();
$update_data [ 'updatetime' ] = time ();
$reslut = db :: name ( 'vs_guild_user' ) -> where ( 'id' , $apply_info [ 'guid' ]) -> update ( $update_data );
if ( ! $reslut ){
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '审核失败' , 'data' => null ];
}
} else {
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '审核失败' , 'data' => null ];
}
//减少公会人数
db :: name ( 'vs_guild' ) -> where ( 'id' , $apply_id ) -> setDec ( 'num' );
model ( 'Tencent' ) -> delete_group_member ( 'g' . $apply_id , $apply_info [ 'user_id' ]);
} else {
$update_data = [];
$update_data [ 'status' ] = 2 ;
$update_data [ 'updatetime' ] = time ();
$res = db :: name ( 'vs_guild_user_quit_log' ) -> where ( 'id' , $apply_id ) -> update ( $update_data );
if ( ! $res ){
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '审核失败' , 'data' => null ];
}
}
Db :: commit ();
return [ 'code' => 1 , 'msg' => '审核成功' , 'data' => null ];
} catch ( \Exception $e ) {
// 回滚事务
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '解散失败' , 'data' => null ];
}
}
//解散公会
public function diss_guild ( $uid , $guild_id ){
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'user_id' => $uid , 'delete_time' => 0 ]) -> find ();
if ( empty ( $guild_info )){
return [ 'code' => 0 , 'msg' => '公会不存在!' , 'data' => null ];
}
try {
Db :: startTrans ();
//成员解散
db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $guild_id , 'status' => 1 , 'delete_time' => 0 ]) -> update ([ 'delete_time' => time (), 'quit_type' => 3 , 'quit_time' => time ()]);
//解散公会
2025-09-13 14:31:36 +08:00
db :: name ( 'vs_guild' ) -> where ( 'id' , $guild_id ) -> update ([ 'delete_time' => time (), 'status' => 2 ]);
2025-08-13 10:43:56 +08:00
//解散群
model ( 'Tencent' ) -> delete_group ( 'g' . $guild_id );
Db :: commit ();
return [ 'code' => 1 , 'msg' => '解散成功!' , 'data' => null ];
} catch ( \Exception $e ) {
// 回滚事务
Db :: rollback ();
return [ 'code' => 0 , 'msg' => '解散失败' , 'data' => null ];
}
}
/*
* 工会房间列表
* @ param int $guild_id 公会id
* @ param int $page 分页
* @ param int $page_limit 每页数量
*/
public function get_guild_room_list ( $guild_id , $page = 1 , $page_limit = 20 ){
$map = [];
$map [ 'guild_id' ] = $guild_id ;
$map [ 'status' ] = 1 ;
$list = db :: name ( 'vs_guild_user' ) -> where ( $map ) -> where ( " delete_time " , 0 ) -> order ( 'createtime desc' ) -> page ( $page , $page_limit ) -> select ();
$data = [];
foreach ( $list as $k => $v ){
//房间信息
$room_info = db :: name ( 'vs_room' ) -> where ([ 'id' => $v [ 'room_id' ], 'room_status' => 1 , 'delete_time' => 0 ]) -> find ();
if ( $room_info ){
$data [ $k ][ 'room_id' ] = $room_info [ 'id' ];
$data [ $k ][ 'room_number' ] = model ( 'Decorate' ) -> user_decorate_detail ( $room_info [ 'id' ], 7 );
$data [ $k ][ 'room_name' ] = $room_info [ 'room_name' ];
$data [ $k ][ 'room_cover' ] = localpath_to_netpath ( $room_info [ 'room_cover' ]);
}
}
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $data ];
}
/*
* 工会补贴列表
* @ param int $guild_id 公会id
* @ param int $page 分页
* int $page_limit 每页数量
* @ return array
*/
public function get_guild_subsidy_list ( $guild_id , $page = 1 , $page_limit = 20 ){
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'delete_time' => 0 ]) -> find ();
if ( empty ( $guild_info )){
return [ 'code' => 0 , 'msg' => '公会不存在!' , 'data' => null ];
}
$list = db :: name ( 'vs_guild_subsidy' )
-> where ( " guild_id " , $guild_id )
-> order ( 'createtime asc' )
-> page ( $page , $page_limit )
-> select ();
$count = db :: name ( 'vs_guild_subsidy' ) -> where ( " guild_id " , $guild_id ) -> count ();
$data = [];
foreach ( $list as $k => $v ){
$data [ $k ][ 'time' ] = date ( 'm.d' , strtotime ( $v [ 'start_time' ])) . " - " . date ( 'm.d' , strtotime ( $v [ 'end_time' ]));
$data [ $k ][ 'total_transaction' ] = $v [ 'total_transaction' ];
$data [ $k ][ 'subsidy_amount' ] = $v [ 'subsidy_amount' ];
$data [ $k ][ 'status_str' ] = $v [ 'status' ] == 1 ? " 已发放 " : " 未发放 " ;
}
$return_data = [
'page' => $page ,
'limit' => $page_limit ,
'count' => $count ,
'list' => $data ,
];
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $return_data ];
}
/*
* 工会补贴
* @ param int $guild_id 公会id
* @ param int $page 分页
* int $page_limit 每页数量
* @ return array
*/
public function get_guild_subsidy ( $guild_id ){
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'delete_time' => 0 ]) -> find ();
if ( empty ( $guild_info )){
return [ 'code' => 0 , 'msg' => '公会不存在!' , 'data' => null ];
}
//规则
$data [ 'rule' ] = get_system_config_value ( 'web_site' ) . '/api/Page/page_show?id=15' ;
//上周流水
2025-09-30 10:21:09 +08:00
$week_start = date ( 'Y-m-d 00:00:00' , strtotime ( 'last week Monday' ));
$week_end = date ( 'Y-m-d 23:59:59' , strtotime ( 'last week Monday +6 days' ));
2025-08-13 10:43:56 +08:00
$guild_subsidy = db :: name ( 'vs_guild_subsidy' )
-> where ([ " guild_id " => $guild_id , 'start_time' => $week_start , 'end_time' => $week_end ])
-> find ();
$data [ 'list' ] = [];
$data [ 'list' ][ 0 ][ 'name' ] = " 上周流水 " ;
$data [ 'list' ][ 0 ][ 'total_transaction' ] = isset ( $guild_subsidy [ 'total_transaction' ]) ? $guild_subsidy [ 'total_transaction' ] : 0 ;
$data [ 'list' ][ 0 ][ 'subsidy_amount' ] = isset ( $guild_subsidy [ 'subsidy_amount' ]) ? $guild_subsidy [ 'subsidy_amount' ] : 0 ;
$data [ 'list' ][ 0 ][ 'status_str' ] = isset ( $guild_subsidy [ 'status' ]) && $guild_subsidy [ 'status' ] == 1 ? " 已发放 " : " 未发放 " ;
//本周流水
//本周的第一天
2025-09-30 10:21:09 +08:00
$week = strtotime ( date ( 'Y-m-d 00:00:00' , strtotime ( 'this week Monday' )));
$guild_user = db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $guild_id ]) -> select ();
$transaction = 0 ;
foreach ( $guild_user as $k => $v ){
$week_start_time_seach = $week ;
$week_end_time_seach = time ();
if ( $v [ 'createtime' ] && $week_start_time_seach < $v [ 'createtime' ]){
$week_start_time_seach = $v [ 'createtime' ];
}
if ( $v [ 'quit_time' ] && ( $week_end_time_seach > $v [ 'quit_time' ])){
$week_end_time_seach = $v [ 'quit_time' ];
}
$transaction_one = db :: name ( 'vs_give_gift' )
-> whereIn ( 'from_id' , $v [ 'room_id' ])
-> where ([ 'from' => [ 'in' ,[ 2 , 3 , 6 ]], 'createtime' => [ 'between' , [ $week_start_time_seach , $week_end_time_seach ]]])
-> sum ( 'total_price' );
$transaction += $transaction_one ;
}
$total_transaction = $transaction ;
2025-08-13 10:43:56 +08:00
$ss = 0 ;
if ( $total_transaction ){
//根据工会流水 获取补贴比例 单位%
2025-09-30 10:53:49 +08:00
//获取补贴配置
$config = db :: name ( 'vs_guild_subsidy_config' ) -> where ([ 'status' => 1 ]) -> order ( 'end_amount desc' ) -> select (); //配置查询
foreach ( $config as $k => $v ) {
if ( $total_transaction >= $v [ 'end_amount' ]) {
$subsidy_ratio = $v [ 'subsidy_ratio' ];
$ss = ( $total_transaction * ( $subsidy_ratio / 100 )) / get_system_config_value ( 'rmb_coin_ratio' ); //转为钻石
break ; // 找到匹配项后提前退出循环
}
}
2025-08-13 10:43:56 +08:00
}
//待开发
$data [ 'list' ][ 1 ][ 'name' ] = " 本周流水 " ;
$data [ 'list' ][ 1 ][ 'total_transaction' ] = isset ( $total_transaction ) ? $total_transaction : 0 ;
$data [ 'list' ][ 1 ][ 'subsidy_amount' ] = $ss ;
$data [ 'list' ][ 1 ][ 'status_str' ] = " 未发放 " ;
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $data ];
}
/*
* 获取公会成员列表
*/
public function get_guild_member_list ( $guild_id , $start_time = 0 , $end_time = 0 , $page = 1 , $page_limit = 20 )
{
$coin_consumption_type_array = model ( 'common/UserWallet' ) -> coin_consumption_type_array ;
$coin_consumption_type_array = array_diff ( $coin_consumption_type_array , [ model ( 'common/UserWallet' ) :: OPERATION_CONSUME ]);
2025-09-16 23:30:13 +08:00
// 总消费 - 需要按时间限制并只统计加入工会后的消费
if ( ! $start_time || ! $end_time ) {
// 如果没有指定时间范围,则查询所有记录
$start_time_filter = 0 ;
$end_time_filter = time ();
} else {
$start_time_filter = strtotime ( $start_time . " 00:00:00 " );
$end_time_filter = strtotime ( $end_time . " 23:59:59 " );
}
// 所有工会成员
2025-08-13 10:43:56 +08:00
$all_guild_user = db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $guild_id , 'status' => 1 , " delete_time " => 0 ]) -> select ();
$total_consumption = 0 ;
foreach ( $all_guild_user as $key => $value ) {
2025-09-16 23:30:13 +08:00
// 计算时间范围:取工会加入时间和指定时间范围的较大值作为开始时间
$actual_start_time = max ( $value [ 'createtime' ], $start_time_filter );
$actual_end_time = $end_time_filter ;
// 如果开始时间大于结束时间,则跳过该用户
if ( $actual_start_time > $actual_end_time ) {
continue ;
2025-08-13 10:43:56 +08:00
}
2025-09-16 23:30:13 +08:00
2025-08-13 10:43:56 +08:00
$consumption = db :: name ( 'vs_user_money_log' )
-> whereIn ( 'change_type' , $coin_consumption_type_array )
2025-09-16 23:30:13 +08:00
-> where ([ 'money_type' => 1 , 'user_id' => $value [ 'user_id' ]])
-> where ( 'createtime' , '>=' , $actual_start_time )
-> where ( 'createtime' , '<=' , $actual_end_time )
2025-08-13 10:43:56 +08:00
-> sum ( 'change_value' );
2025-09-16 23:30:13 +08:00
$total_consumption = $total_consumption + ( $consumption ? : 0 );
2025-08-13 10:43:56 +08:00
}
if ( ! $start_time || ! $end_time ) {
2025-09-16 23:30:13 +08:00
// 如果没有指定时间范围,则查询所有记录
$start_time = 0 ;
2025-08-13 10:43:56 +08:00
$end_time = time ();
} else {
$start_time = strtotime ( $start_time . " 00:00:00 " );
$end_time = strtotime ( $end_time . " 23:59:59 " );
}
2025-09-16 23:30:13 +08:00
2025-08-13 10:43:56 +08:00
// 查询成员列表及各自消费
$list = Db :: name ( 'vs_guild_user' )
-> alias ( 'a' )
-> join ( 'user b' , 'a.user_id = b.id' )
2025-09-16 23:30:13 +08:00
-> join ( 'vs_user_money_log c' , 'a.user_id = c.user_id AND c.money_type = 1 AND c.change_type IN (' . implode ( ',' , $coin_consumption_type_array ) . ') AND c.createtime >= a.createtime' . ( $start_time ? ' AND c.createtime >= ' . $start_time : '' ) . ( $end_time ? ' AND c.createtime <= ' . $end_time : '' ), 'LEFT' )
2025-08-13 10:43:56 +08:00
-> field ( 'a.id, a.user_id, a.guild_id, a.room_id, a.status, a.is_deacon, b.nickname, b.avatar, b.user_code, a.createtime, a.apply_time, SUM(c.change_value) AS total_consumption' )
-> where ([ 'a.guild_id' => $guild_id , 'a.status' => 1 , 'a.delete_time' => 0 ])
-> group ( 'a.user_id' )
-> order ( 'a.id asc' )
-> page ( $page , $page_limit )
-> select ();
2025-09-16 23:30:13 +08:00
2025-08-13 10:43:56 +08:00
$count = Db :: name ( 'vs_guild_user' )
-> alias ( 'a' )
-> join ( 'user b' , 'a.user_id = b.id' )
2025-09-16 23:30:13 +08:00
-> join ( 'vs_user_money_log c' , 'a.user_id = c.user_id AND c.money_type = 1 AND c.change_type IN (' . implode ( ',' , $coin_consumption_type_array ) . ') AND c.createtime >= a.createtime' . ( $start_time ? ' AND c.createtime >= ' . $start_time : '' ) . ( $end_time ? ' AND c.createtime <= ' . $end_time : '' ), 'LEFT' )
2025-08-13 10:43:56 +08:00
-> field ( 'a.id, a.user_id, a.guild_id, a.room_id, a.status, a.is_deacon, b.nickname, b.avatar, b.user_code, a.createtime, a.apply_time, SUM(c.change_value) AS total_consumption' )
-> where ([ 'a.guild_id' => $guild_id , 'a.status' => 1 , 'a.delete_time' => 0 ])
-> group ( 'a.user_id' )
-> count ();
2025-09-16 23:30:13 +08:00
2025-08-13 10:43:56 +08:00
$data = [];
foreach ( $list as $k => $v ) {
$data [ $k ][ 'id' ] = $v [ 'id' ];
$data [ $k ][ 'guild_id' ] = $v [ 'guild_id' ];
$data [ $k ][ 'user_id' ] = $v [ 'user_id' ];
$data [ $k ][ 'nickname' ] = $v [ 'nickname' ];
$data [ $k ][ 'avatar' ] = localpath_to_netpath ( $v [ 'avatar' ]);
$data [ $k ][ 'user_code' ] = model ( 'Decorate' ) -> user_decorate_detail ( $v [ 'user_id' ], 6 );
$data [ $k ][ 'is_deacon' ] = $v [ 'is_deacon' ];
$data [ $k ][ 'total_consumption' ] = $v [ 'total_consumption' ] ? : 0 ;
}
$return_data = [
'page' => $page ,
'limit' => $page_limit ,
'count' => $count ,
'total_consumption' => $total_consumption ,
'list' => $data ,
];
return [ 'code' => 200 , 'msg' => '获取成功' , 'data' => $return_data ];
}
/*
* 工会流水查询
* @ return array
*/
public function get_guild_transaction ( $guild_id , $start_time = 0 , $end_time = 0 , $page = 1 , $page_limit = 20 ){
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'delete_time' => 0 ]) -> find ();
if ( empty ( $guild_info )){
return [ 'code' => 0 , 'msg' => '公会不存在!' , 'data' => null ];
}
//工会总流水
$all_guild_room = db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $guild_id , 'status' => 1 , " delete_time " => 0 ]) -> select ();
$total_transaction = 0 ;
foreach ( $all_guild_room as $key => $value ) {
if ( ! $start_time ){
$start_time_all = $value [ 'createtime' ];
$end_time_all = time ();
} else {
$start_time_all = strtotime ( $start_time . " 00:00:00 " );
$end_time_all = strtotime ( $end_time . " 23:59:59 " );
}
2025-09-30 10:21:09 +08:00
if ( $value [ 'createtime' ] && $start_time_all < $value [ 'createtime' ]){
$start_time_all = $value [ 'createtime' ];
}
if ( $value [ 'quit_time' ] && ( $end_time_all > $value [ 'quit_time' ])){
$end_time_all = $value [ 'quit_time' ];
}
2025-08-13 10:43:56 +08:00
$transaction = db :: name ( 'vs_give_gift' )
-> where ( 'from_id' , $value [ 'room_id' ])
2025-09-30 10:21:09 +08:00
-> where ([ 'from' => [ 'in' ,[ 2 , 3 , 6 ]], 'createtime' => [ 'between' , [ $start_time_all , $end_time_all ]]])
2025-08-13 10:43:56 +08:00
-> sum ( 'total_price' );
$total_transaction = $total_transaction + $transaction ;
}
//查询工会所有房间流水
$list = db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $guild_id , 'delete_time' => 0 , 'status' => 1 , 'room_id' => [ '<>' , 0 ]])
-> order ( 'coin desc' )
-> page ( $page , $page_limit )
-> select ();
$count = db :: name ( 'vs_guild_user' ) -> where ([ 'guild_id' => $guild_id , 'delete_time' => 0 , 'status' => 1 , 'room_id' => [ '<>' , 0 ]]) -> count ();
$room_data = [];
$i = 0 ;
foreach ( $list as $k => $v ){
if ( ! $start_time ){
2025-09-30 10:53:49 +08:00
$start_time_seach = $value [ 'createtime' ];
$end_time_seach = time ();
} else {
$start_time_seach = strtotime ( $start_time . " 00:00:00 " );
$end_time_seach = strtotime ( $end_time . " 23:59:59 " );
2025-08-13 10:43:56 +08:00
}
2025-09-30 10:53:49 +08:00
if ( $value [ 'createtime' ] && $start_time_all < $value [ 'createtime' ]){
$start_time_seach = $value [ 'createtime' ];
2025-09-30 10:21:09 +08:00
}
2025-09-30 10:53:49 +08:00
if ( $value [ 'quit_time' ] && ( $end_time_all > $value [ 'quit_time' ])){
$end_time_seach = $value [ 'quit_time' ];
2025-09-30 10:21:09 +08:00
}
2025-08-13 10:43:56 +08:00
$room_info = db :: name ( 'vs_room' ) -> where ([ 'id' => $v [ 'room_id' ], 'room_status' => 1 , 'delete_time' => 0 ]) -> find ();
if ( $room_info ){
$room_data [ $i ][ 'room_id' ] = $room_info [ 'id' ];
$room_data [ $i ][ 'room_number' ] = model ( 'Decorate' ) -> user_decorate_detail ( $room_info [ 'id' ], 7 );
$room_data [ $i ][ 'room_name' ] = $room_info [ 'room_name' ];
$room_data [ $i ][ 'room_cover' ] = localpath_to_netpath ( $room_info [ 'room_cover' ]);
$room_data [ $i ][ 'total_price' ] = db :: name ( 'vs_give_gift' )
-> where ( 'from_id' , $v [ 'room_id' ])
2025-09-30 10:53:49 +08:00
-> where ([ 'from' => [ 'in' ,[ 2 , 3 , 6 ]], 'createtime' => [ 'between' , [ $start_time_seach , $end_time_seach ]]])
2025-08-13 10:43:56 +08:00
-> sum ( 'total_price' );
$i ++ ;
}
}
$return_data = [];
$return_data = [
'page' => $page ,
'limit' => $page_limit ,
'count' => $count ,
'total_transaction' => $total_transaction ? $total_transaction : 0 ,
'list' => $room_data ,
];
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $return_data ];
}
/*
* 用户是否加入工会
* @ param $user_id 用户id
* @ param $guild_id 工会id
* @ return array
*/
public function user_is_join ( $user_id ){
$guild_id = Db :: name ( 'vs_guild_user' ) -> where ([ 'user_id' => $user_id , 'status' => 1 , 'delete_time' => 0 ]) -> value ( 'guild_id' );
if ( empty ( $guild_id )){
return 0 ;
} else {
return $guild_id ;
}
}
/*
* 获取公会成员列表
*/
public function get_guild_user_list ( $guild_id , $user_id , $page = 1 , $page_limit = 30 ){
$count = Db :: name ( 'vs_guild_user' )
-> alias ( 'a' )
-> join ( 'user b' , 'a.user_id = b.id' )
-> where ([ 'a.guild_id' => $guild_id , 'a.status' => 1 , 'a.delete_time' => 0 ])
-> count ();
$list = Db :: name ( 'vs_guild_user' )
-> alias ( 'a' )
-> join ( 'user b' , 'a.user_id = b.id' )
-> field ( 'a.id, a.user_id, a.guild_id, b.nickname, b.avatar, b.user_code, a.createtime' )
-> where ([ 'a.guild_id' => $guild_id , 'a.status' => 1 , 'a.delete_time' => 0 ])
-> order ( 'a.id asc' )
-> page ( $page , $page_limit )
-> select ();
$member_array = array_column ( $list , 'user_id' );
$member_array_str = [];
foreach ( $member_array as $k => $v ){
$member_array_str [] = 'u' . $v ;
}
$group_member_info = model ( 'Tencent' ) -> get_group_member_info ( 'g' . $guild_id , $member_array_str );
if ( $group_member_info [ 'code' ] == 0 ){
return V ( $group_member_info [ 'code' ], $group_member_info [ 'msg' ], $group_member_info [ 'data' ]);
}
$member = [];
foreach ( $group_member_info [ 'data' ] as $k => $v ){
$member [ $v [ 'Member_Account' ]] = $v [ 'Role' ];
}
//Owner(群主), Admin(群管理员), Member( 普通群成员) , NotMember(非群成员)。
$role = [
'Owner' => '群主' ,
'Admin' => '群管理员' ,
'Member' => '普通群成员' ,
'NotMember' => '非群成员'
];
foreach ( $list as $key => $value ) {
if ( $user_id == $value [ 'user_id' ]){
$list [ $key ][ 'is_self' ] = 1 ;
} else {
$list [ $key ][ 'is_self' ] = 0 ;
}
$list [ $key ][ 'user_code' ] = model ( 'Decorate' ) -> user_decorate_detail ( $value [ 'user_id' ], 6 );
//角色:
$list [ $key ][ 'role' ] = $member [ 'u' . $value [ 'user_id' ]];
$list [ $key ][ 'role_str' ] = $role [ $list [ $key ][ 'role' ]];
$list [ $key ][ 'createtime' ] = date ( 'Y-m-d H:i:s' , $value [ 'createtime' ]);
//当前用户是否在房间
$in_room = db :: name ( 'vs_room_visitor' ) -> alias ( 'a' )
-> join ( 'vs_room b' , 'a.room_id = b.id' )
-> field ( 'a.room_id' )
-> where ([ 'b.type_id' => [ '<>' , 6 ]])
-> where ([ 'a.user_id' => $value [ 'user_id' ], 'a.is_delete' => 1 ])
-> find ();
$list [ $key ][ 'in_room_id' ] = $in_room [ 'room_id' ] ? ? 0 ;
}
$return_data = [
'page' => $page ,
'limit' => $page_limit ,
'count' => $count ,
'list' => $list ,
];
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $return_data ];
}
/*
* 群聊详情
*/
public function guild_info ( $guild_id , $user_id = 0 ){
if ( ! $guild_id ){
return [ 'code' => 0 , 'msg' => '参数错误' ];
}
$guild_info = db :: name ( 'vs_guild' ) -> where ([ 'id' => $guild_id , 'status' => 1 , 'delete_time' => 0 ]) -> find ();
$group_member_info = model ( 'Tencent' ) -> get_group_info ( 'g' . $guild_id );
if ( $group_member_info [ 'code' ] != 1 ){
return [ 'code' => 0 , 'msg' => '群聊不存在' , null ];
}
$user_list = $this -> get_guild_user_list ( $guild_id , 0 , 1 , 10 );
$is_deacon = 2 ;
if ( $guild_info [ 'user_id' ] == $user_id ){
$is_deacon = 1 ;
}
$return_data = [
'guild_id' => $guild_id ,
'guild_cover' => $guild_info [ 'cover' ],
'is_deacon' => $is_deacon ,
'user_list' => $user_list [ 'data' ][ 'list' ],
'name' => $group_member_info [ 'data' ][ 0 ][ 'Name' ],
'notification' => $group_member_info [ 'data' ][ 0 ][ 'Notification' ]
];
return [ 'code' => 1 , 'msg' => '获取成功' , 'data' => $return_data ];
}
/*
* 设置群聊信息
*/
public function set_guild_info ( $guild_id , $name , $notice , $avatar ){
$return = model ( 'Tencent' ) -> modify_group_base_info ( 'g' . $guild_id , $name , $avatar , $notice );
return [ 'code' => $return [ 'code' ], 'msg' => $return [ 'msg' ], 'data' => $return [ 'data' ]];
}
}