|
@@ -6,6 +6,7 @@ use app\common\controller\Api;
|
|
|
use app\common\service\UserService;
|
|
|
use think\Db;
|
|
|
use think\Exception;
|
|
|
+use app\common\library\Easemob;
|
|
|
|
|
|
/**
|
|
|
* 家族控制器
|
|
@@ -26,7 +27,7 @@ class Family extends Api
|
|
|
$whereOr['name'] = array('like', '%' . $search . '%');
|
|
|
$whereOr['g_id'] = $search;
|
|
|
}
|
|
|
- $res = Db::name('family')->field("id,g_id,user_id,group_id,name,image,desc,notice,member")
|
|
|
+ $res = Db::name('family')->field("id,g_id,user_id,easemob_group_id,name,image,desc,notice,member")
|
|
|
->where($where)
|
|
|
->where(function ($query) use($whereOr) {
|
|
|
$query->whereOr($whereOr);
|
|
@@ -45,7 +46,7 @@ class Family extends Api
|
|
|
'status' => 1,
|
|
|
];
|
|
|
|
|
|
- $res = Db::name('family')->field("id,g_id,user_id,group_id,name,image,desc,notice,member")
|
|
|
+ $res = Db::name('family')->field("id,g_id,user_id,easemob_group_id,name,image,desc,notice,member")
|
|
|
->where($where)
|
|
|
->autopage()
|
|
|
->select();
|
|
@@ -62,7 +63,7 @@ class Family extends Api
|
|
|
];
|
|
|
|
|
|
$res = Db::name('family_member')->alias('fm')
|
|
|
- ->field("f.id,f.g_id,f.user_id,f.group_id,f.name,f.image,f.desc,f.notice,f.member")
|
|
|
+ ->field("f.id,f.g_id,f.user_id,f.easemob_group_id,f.name,f.image,f.desc,f.notice,f.member")
|
|
|
->join('family f','fm.guild_id = f.id','LEFT')
|
|
|
->where($where)
|
|
|
->autopage()
|
|
@@ -104,7 +105,7 @@ class Family extends Api
|
|
|
$res = [];
|
|
|
|
|
|
//公会信息
|
|
|
- $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,group_id,desc,notice,status")->where(["id"=>$guild_id])->find();
|
|
|
+ $guildInfo = \app\common\model\Family::field("id,image,name,g_id,user_id,easemob_group_id,desc,notice,status")->where(["id"=>$guild_id])->find();
|
|
|
if(!$guildInfo) $this->error("家族信息获取失败!");
|
|
|
|
|
|
// 获取公会成员信息
|
|
@@ -196,6 +197,13 @@ class Family extends Api
|
|
|
$guildInfo->user_id = $user_id;
|
|
|
$guildInfo->g_id = getUinqueId(4, [$ids]);
|
|
|
$guildInfo->status = 0;
|
|
|
+
|
|
|
+ //去环信建个房间
|
|
|
+ $easemob = new Easemob();
|
|
|
+ $maxusers = 300; //普通群:专业版300,旗舰版3000。大型群不支持离线推送
|
|
|
+ $easemob_group_id = $easemob->group_createPublicGroup($user_id,$guild_name,$guild_desc,$maxusers);
|
|
|
+
|
|
|
+ $guildInfo->easemob_group_id = $easemob_group_id;
|
|
|
} else {
|
|
|
// 获取公会信息
|
|
|
$guildInfo = \app\common\model\Family::where(["id"=>$guild_id])->find();
|
|
@@ -333,17 +341,15 @@ class Family extends Api
|
|
|
// 获取公会信息
|
|
|
$guildInfo = \app\common\model\Family::where(["id"=>$memberInfo->guild_id])->find();
|
|
|
// 验证更新条件
|
|
|
- if($user_id !== $guildInfo->user_id) $this->error("身份验证失败!您不是族长,无权限更改!");
|
|
|
+ if($user_id !== $guildInfo->user_id) $this->error("身份验证失败!您不是族长,无权限!");
|
|
|
|
|
|
//判断重复
|
|
|
- $memberfind = \app\common\model\Family::where(["user_id"=>$memberInfo['user_id'],"status"=>1])->find();
|
|
|
- if($memberfind) $this->error("该用户已有自己的家族!");
|
|
|
+ $memberfind = \app\common\model\Family::where(["user_id"=>$memberInfo['user_id'],"status"=>['IN',[0,1]] ])->find();
|
|
|
+ if($memberfind) $this->error("该用户已申请了自己的家族!");
|
|
|
|
|
|
Db::startTrans();
|
|
|
try{
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// 更新申请状态
|
|
|
$memberInfo->status = $is_pass;
|
|
|
$memberInfo->updatetime = time();
|
|
@@ -351,6 +357,10 @@ class Family extends Api
|
|
|
|
|
|
if($is_pass == 1) {
|
|
|
|
|
|
+ //[环信]把用户加到群组里
|
|
|
+ $easemob = new Easemob();
|
|
|
+ $easemob->group_addGroupMember($guildInfo['easemob_group_id'],$memberInfo['user_id']);
|
|
|
+
|
|
|
$res4 = \app\common\model\Family::where(["id"=>$guildInfo->id])->setInc("member");
|
|
|
if($res2 && $res4) {
|
|
|
// +message
|