Commit 1dff8307 authored by hujun's avatar hujun

savePushIdV3

parent dabae6f9
......@@ -86,7 +86,7 @@ class ChatService
//todo 保存或更新push_id
//todo 1.判断设备id +id 的数据是否存在,存在并且push_id和提交的不同则修改,否者新增
if ($id > 0 && $device_id && $push_id) {
$this->savePushIdV2($id, $device_id, $push_id, $source);
$this->savePushIdV3($id, $device_id, $push_id, $source);
}
return [ "code" => 200, "only_id" => $only_id ];
}
......@@ -205,6 +205,61 @@ class ChatService
return true;
}
/**
* @param $chat_user_id
* @param $device_id
* @param $push_id
* @param $type
* @return bool
* @throws Exception
* @throws \think\exception\DbException
*/
private function savePushIdV3($chat_user_id, $device_id, $push_id, $type)
{
//todo 根据设备来判断使用设备用户,
$where['push_id'] = $push_id;
$where['type'] = $type;
$info = $this->chatUserExtModel->getChatUserExtByUserId($where, 'a.id,b.user_id,a.ext_id,a.device_id,a.push_id,a.is_forbidden', 500);
$result = false;
if (count($info) > 0) {
$current_user_id = 0;
foreach ($info as $k=>$v) {
if ($v['ext_id'] != $chat_user_id) {
$this->chatUserExtModel->updateDate(['is_forbidden'=>1], ['id'=>$v['id']]);
} else {
$current_user_id = $chat_user_id;
if ($current_user_id && $v['is_forbidden'] == 1) {
$this->chatUserExtModel->updateDate(['is_forbidden'=>0], ['id'=>$v['id']]);
}
}
}
if (empty($current_user_id)) {
//todo 当前用户没有使用过该设备,新增
$params["ext_id"] = $chat_user_id;
$params["device_id"] = $device_id;
$params["push_id"] = $push_id;
$params["is_forbidden"] = 0;
$result = $this->chatUserExtModel->addChatUserExt($params);
}
} else {
//todo 保存或更新push_id
$params["ext_id"] = $chat_user_id;
$params["device_id"] = $device_id;
$params["push_id"] = $push_id;
$params["is_forbidden"] = 0;
$result = $this->chatUserExtModel->addChatUserExt($params);
}
if (!$result) {
return false;
}
return true;
}
/**
* 生成唯一id
* @param $userId integer 用户id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment