113 lines
4.6 KiB
PHP
113 lines
4.6 KiB
PHP
<?php
|
||
|
||
namespace app\chukebao\controller;
|
||
|
||
use library\ResponseHelper;
|
||
use app\api\model\WechatFriendModel;
|
||
use app\api\controller\MessageController;
|
||
|
||
|
||
class DataProcessing extends BaseController
|
||
{
|
||
public function index()
|
||
{
|
||
$userId = $this->getUserInfo('id');
|
||
$companyId = $this->getUserInfo('companyId');
|
||
$type = $this->request->param('type', '');
|
||
$wechatAccountId = $this->request->param('wechatAccountId', '');
|
||
//微信好友
|
||
$toAccountId = $this->request->param('toAccountId', '');
|
||
$wechatFriendId = $this->request->param('wechatFriendId', '');
|
||
$newRemark = $this->request->param('newRemark', '');
|
||
$labels = $this->request->param('labels', []);
|
||
//微信群
|
||
$wechatChatroomId = $this->request->param('wechatChatroomId', '');
|
||
|
||
//新消息
|
||
$friendMessage = $this->request->param('friendMessage', '');
|
||
$chatroomMessage = $this->request->param('chatroomMessage', '');
|
||
|
||
$typeData = [
|
||
'CmdModifyFriendRemark', //好友修改备注 {newRemark、wechatAccountId、wechatFriendId}
|
||
'CmdModifyFriendLabel', //好友修改标签 {labels、wechatAccountId、wechatFriendId}
|
||
'CmdAllotFriend', //转让好友 {labels、wechatAccountId、wechatFriendId}
|
||
'CmdChatroomOperate', //修改群信息 {chatroomName(群名)、announce(公告)、extra(公告)、wechatAccountId、wechatChatroomId}
|
||
'CmdNewMessage', //接收消息
|
||
];
|
||
|
||
if (empty($type) || empty($wechatAccountId)) {
|
||
return ResponseHelper::error('参数缺失');
|
||
}
|
||
|
||
if (!in_array($type, $typeData)) {
|
||
return ResponseHelper::error('类型错误');
|
||
}
|
||
$msg = '';
|
||
$codee = 200;
|
||
switch ($type) {
|
||
case 'CmdModifyFriendRemark': //修改好友备注
|
||
if(empty($wechatFriendId) || empty($newRemark)){
|
||
return ResponseHelper::error('参数缺失');
|
||
}
|
||
$friend = WechatFriendModel::where(['id' => $wechatFriendId,'wechatAccountId' => $wechatAccountId])->find();
|
||
if(empty($friend)){
|
||
return ResponseHelper::error('好友不存在');
|
||
}
|
||
$friend->conRemark = $newRemark;
|
||
$friend->updateTime = time();
|
||
$friend->save();
|
||
$msg = '修改备成功';
|
||
break;
|
||
case 'CmdModifyFriendLabel': //修改好友标签
|
||
if(empty($wechatFriendId)){
|
||
return ResponseHelper::error('参数缺失');
|
||
}
|
||
$friend = WechatFriendModel::where(['id' => $wechatFriendId,'wechatAccountId' => $wechatAccountId])->find();
|
||
if(empty($friend)){
|
||
return ResponseHelper::error('好友不存在');
|
||
}
|
||
$friend->labels = json_encode($labels,256);
|
||
$friend->updateTime = time();
|
||
$friend->save();
|
||
$msg = '修标签成功';
|
||
break;
|
||
case 'CmdAllotFriend': //迁移好友
|
||
if(empty($toAccountId)){
|
||
return ResponseHelper::error('参数缺失');
|
||
}
|
||
|
||
$friend = WechatFriendModel::where(['id' => $wechatFriendId,'wechatAccountId' => $wechatAccountId])->find();
|
||
if(empty($friend)){
|
||
return ResponseHelper::error('好友不存在');
|
||
}
|
||
$friend->accountId = $toAccountId;
|
||
$friend->updateTime = time();
|
||
$friend->save();
|
||
$msg = '好友转移成功';
|
||
break;
|
||
case 'CmdNewMessage':
|
||
if(empty($friendMessage) && empty($chatroomMessage)){
|
||
return ResponseHelper::error('参数缺失');
|
||
}
|
||
|
||
if(is_array($friendMessage) && is_array($chatroomMessage)){
|
||
return ResponseHelper::error('数据类型错误');
|
||
}
|
||
|
||
|
||
$messageController = new MessageController();
|
||
if (!empty($friendMessage)){
|
||
$res = $messageController->saveMessage($friendMessage[0]);
|
||
}else{
|
||
$res = $messageController->saveChatroomMessage($chatroomMessage[0]);
|
||
}
|
||
if (!empty($res)){
|
||
$msg = '消息记录成功';
|
||
}else{
|
||
$msg = '消息记录失败';
|
||
$codee = 400;
|
||
}
|
||
}
|
||
return ResponseHelper::success('',$msg,$codee);
|
||
}
|
||
} |