|
@@ -78,13 +78,24 @@ class Family extends Api
|
|
* 获取公会信息-新
|
|
* 获取公会信息-新
|
|
*/
|
|
*/
|
|
public function getGuildInfoNew() {
|
|
public function getGuildInfoNew() {
|
|
- $guild_id = input("guild_id"); //公会ID
|
|
|
|
|
|
+ $guild_id = input("guild_id",0); //公会ID
|
|
|
|
+ $easemob_group_id = input("easemob_group_id",0); //公会群组ID
|
|
|
|
+
|
|
|
|
+ if(!$guild_id && !$easemob_group_id){
|
|
|
|
+ $this->error('不存在的家族');
|
|
|
|
+ }
|
|
|
|
|
|
//结果
|
|
//结果
|
|
$res = [];
|
|
$res = [];
|
|
|
|
|
|
//公会信息
|
|
//公会信息
|
|
- $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,easemob_group_id,desc,notice,status")->where(["id"=>$guild_id])->find();
|
|
|
|
|
|
+ $map = [];
|
|
|
|
+ if($guild_id){
|
|
|
|
+ $map['guild_id'] = $guild_id;
|
|
|
|
+ }else{
|
|
|
|
+ $map['easemob_group_id'] = $easemob_group_id;
|
|
|
|
+ }
|
|
|
|
+ $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,easemob_group_id,desc,notice,status")->where($map)->find();
|
|
if(!$guildInfo) $this->error("家族信息获取失败!");
|
|
if(!$guildInfo) $this->error("家族信息获取失败!");
|
|
|
|
|
|
|
|
|
|
@@ -102,7 +113,7 @@ class Family extends Api
|
|
|
|
|
|
|
|
|
|
//获取家族角色 角色:0=成员,1=副会长,2=会长,3=非会员
|
|
//获取家族角色 角色:0=成员,1=副会长,2=会长,3=非会员
|
|
- $guildMember = \app\common\model\FamilyMember::field('id,role,status')->where(['guild_id'=>$guild_id,'user_id'=>$this->auth->id,'status'=>1])->find();
|
|
|
|
|
|
+ $guildMember = \app\common\model\FamilyMember::field('id,role,status')->where(['guild_id'=>$guildInfo['id'],'user_id'=>$this->auth->id,'status'=>1])->find();
|
|
if (!empty($guildMember)) {
|
|
if (!empty($guildMember)) {
|
|
$guildRole = $guildMember['role'];
|
|
$guildRole = $guildMember['role'];
|
|
}else{
|
|
}else{
|
|
@@ -517,8 +528,8 @@ class Family extends Api
|
|
$memberInfo['online_text'] = $onlineText;
|
|
$memberInfo['online_text'] = $onlineText;
|
|
|
|
|
|
//我在这个公会的角色
|
|
//我在这个公会的角色
|
|
- /*$myGuildMember = model('FamilyMember')->field('role')->where(["user_id"=>$this->auth->id,"guild_id"=>$memberInfo['guild_id']])->find();
|
|
|
|
- $memberInfo["my_role"] = !empty($myGuildMember) ? $myGuildMember['role'] : 3;*/
|
|
|
|
|
|
+ $myGuildMember = model('FamilyMember')->field('role')->where(["user_id"=>$this->auth->id,"guild_id"=>$memberInfo['guild_id']])->find();
|
|
|
|
+ $memberInfo["my_role"] = !empty($myGuildMember) ? $myGuildMember['role'] : 3;
|
|
|
|
|
|
//几个比较大的值,改w单位
|
|
//几个比较大的值,改w单位
|
|
$fieldArr = ['wealth','charm','gift_num'];
|
|
$fieldArr = ['wealth','charm','gift_num'];
|
|
@@ -591,20 +602,22 @@ class Family extends Api
|
|
$member_id = input("member_id",0,"intval"); //成员ID
|
|
$member_id = input("member_id",0,"intval"); //成员ID
|
|
if(!$guild_id || !$member_id) $this->error("参数缺失!");
|
|
if(!$guild_id || !$member_id) $this->error("参数缺失!");
|
|
|
|
|
|
- // 先判断是否为公会会长
|
|
|
|
- $user_id = $this->auth->id;
|
|
|
|
// 获取公会信息
|
|
// 获取公会信息
|
|
$guildInfo = \app\common\model\Family::where(["id"=>$guild_id])->find();
|
|
$guildInfo = \app\common\model\Family::where(["id"=>$guild_id])->find();
|
|
- // 验证更新条件
|
|
|
|
- if($user_id !== $guildInfo->user_id) $this->error("身份验证失败!您不是族长,无权限更改!");
|
|
|
|
|
|
|
|
$memberInfo = \app\common\model\FamilyMember::where(["id"=>$member_id,'guild_id'=>$guild_id])->find();
|
|
$memberInfo = \app\common\model\FamilyMember::where(["id"=>$member_id,'guild_id'=>$guild_id])->find();
|
|
- if(!$memberInfo) $this->error("会员信息查询失败!");
|
|
|
|
|
|
+ if(!$memberInfo) {
|
|
|
|
+ $this->error("会员信息查询失败!");
|
|
|
|
+ }
|
|
|
|
|
|
if($memberInfo['role'] == 2 || $memberInfo['user_id'] == $guildInfo['user_id']){
|
|
if($memberInfo['role'] == 2 || $memberInfo['user_id'] == $guildInfo['user_id']){
|
|
$this->error('族长不能被踢出家族');
|
|
$this->error('族长不能被踢出家族');
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if($memberInfo['role'] == 1 && $this->auth->id !== $guildInfo->user_id) {
|
|
|
|
+ $this->error("族长才能踢出管理员");
|
|
|
|
+ }
|
|
|
|
+
|
|
Db::startTrans();
|
|
Db::startTrans();
|
|
try{
|
|
try{
|
|
$res1 = $memberInfo->delete();
|
|
$res1 = $memberInfo->delete();
|
|
@@ -631,6 +644,52 @@ class Family extends Api
|
|
$this->error($e->getMessage());
|
|
$this->error($e->getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
|
|
+ * 公会管理-自己退出公会
|
|
|
|
+ */
|
|
|
|
+ public function guildMemberQuit() {
|
|
|
|
+ $guild_id = input("guild_id",0,"intval"); //公会ID
|
|
|
|
+ if(!$guild_id) $this->error("参数缺失!");
|
|
|
|
+
|
|
|
|
+ // 获取公会信息
|
|
|
|
+ $guildInfo = \app\common\model\Family::where(["id"=>$guild_id])->find();
|
|
|
|
+
|
|
|
|
+ $memberInfo = \app\common\model\FamilyMember::where(["user_id"=>$this->auth->id,'guild_id'=>$guild_id])->find();
|
|
|
|
+ if(!$memberInfo) {
|
|
|
|
+ $this->error("会员信息查询失败!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if($memberInfo['role'] == 2){
|
|
|
|
+ $this->error('族长不能退出家族');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Db::startTrans();
|
|
|
|
+ try{
|
|
|
|
+ $res1 = $memberInfo->delete();
|
|
|
|
+ $res2 = \app\common\model\Family::where(["id"=>$guild_id])->setDec("member");
|
|
|
|
+ if($res1 && $res2) {
|
|
|
|
+ Db::commit();
|
|
|
|
+
|
|
|
|
+ //[环信]移除群组成员
|
|
|
|
+ $easemob = new Easemob();
|
|
|
|
+ $easemob->group_removeGroupMember($guildInfo['easemob_group_id'],$memberInfo['user_id']);
|
|
|
|
+
|
|
|
|
+ $this->success("退出成功!");
|
|
|
|
+ } else {
|
|
|
|
+ $this->error("网络错误,请稍后重试!");
|
|
|
|
+ }
|
|
|
|
+ }catch (ValidateException $e) {
|
|
|
|
+ Db::rollback();
|
|
|
|
+ $this->error($e->getMessage());
|
|
|
|
+ } catch (PDOException $e) {
|
|
|
|
+ Db::rollback();
|
|
|
|
+ $this->error($e->getMessage());
|
|
|
|
+ } catch (Exception $e) {
|
|
|
|
+ Db::rollback();
|
|
|
|
+ $this->error($e->getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 家族贡献榜排行
|
|
* 家族贡献榜排行
|