Merge branch 'develop' of https://e.coding.net/g-xtcy5189/cunkebao/cunkebao_v3 into develop
This commit is contained in:
@@ -19,12 +19,16 @@ class AutomaticAssign extends BaseController
|
|||||||
* 自动分配微信好友
|
* 自动分配微信好友
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
*/
|
*/
|
||||||
public function autoAllotWechatFriend($data = [])
|
public function autoAllotWechatFriend($data = [],$isInner = false)
|
||||||
{
|
{
|
||||||
// 获取授权token
|
// 获取授权token
|
||||||
$authorization = trim($this->request->header('authorization', $this->authorization));
|
$authorization = trim($this->request->header('authorization', $this->authorization));
|
||||||
if (empty($authorization)) {
|
if (empty($authorization)) {
|
||||||
return errorJson('缺少授权信息');
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>'缺少授权信息']);
|
||||||
|
}else{
|
||||||
|
return errorJson('缺少授权信息');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -34,7 +38,11 @@ class AutomaticAssign extends BaseController
|
|||||||
$isDeleted = !empty($data['isDeleted']) ? $data['isDeleted'] : input('isDeleted', false);
|
$isDeleted = !empty($data['isDeleted']) ? $data['isDeleted'] : input('isDeleted', false);
|
||||||
|
|
||||||
if (empty($toAccountId)) {
|
if (empty($toAccountId)) {
|
||||||
return errorJson('目标账号ID不能为空');
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>'目标账号ID不能为空']);
|
||||||
|
}else{
|
||||||
|
return errorJson('目标账号ID不能为空');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$params = [
|
$params = [
|
||||||
@@ -73,13 +81,25 @@ class AutomaticAssign extends BaseController
|
|||||||
$response = handleApiResponse($result);
|
$response = handleApiResponse($result);
|
||||||
|
|
||||||
if($response){
|
if($response){
|
||||||
return successJson([],'微信好友自动分配成功');
|
if($isInner){
|
||||||
|
return json_encode(['code'=>200,'msg'=>'微信好友自动分配成功']);
|
||||||
|
}else{
|
||||||
|
return successJson([],'微信好友自动分配成功');
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
return errorJson($response);
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>$response]);
|
||||||
|
}else{
|
||||||
|
return errorJson($response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return errorJson('微信好友自动分配失败:' . $e->getMessage());
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>'微信好友自动分配失败:' . $e->getMessage()]);
|
||||||
|
}else{
|
||||||
|
return errorJson('微信好友自动分配失败:' . $e->getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,4 +161,73 @@ class AutomaticAssign extends BaseController
|
|||||||
return errorJson('微信群聊自动分配失败:' . $e->getMessage());
|
return errorJson('微信群聊自动分配失败:' . $e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指定微信好友分配到指定账号
|
||||||
|
* @param int $wechatFriendId 微信好友ID
|
||||||
|
* @param int $toAccountId 目标账号ID
|
||||||
|
* @param string $comment 评论/备注
|
||||||
|
* @param bool $notifyReceiver 是否通知接收者
|
||||||
|
* @param int $optFrom 操作来源
|
||||||
|
* @return \think\response\Json
|
||||||
|
*/
|
||||||
|
public function allotWechatFriend($data = [],$isInner = false)
|
||||||
|
{
|
||||||
|
// 获取授权token
|
||||||
|
$authorization = trim($this->request->header('authorization', $this->authorization));
|
||||||
|
if (empty($authorization)) {
|
||||||
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>'缺少授权信息']);
|
||||||
|
}else{
|
||||||
|
return errorJson('缺少授权信息');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 获取请求参数
|
||||||
|
$wechatFriendId = !empty($data['wechatFriendId']) ? $data['wechatFriendId'] : input('wechatFriendId', 0);
|
||||||
|
$toAccountId = !empty($data['toAccountId']) ? $data['toAccountId'] : input('toAccountId', 0);
|
||||||
|
$comment = !empty($data['comment']) ? $data['comment'] : input('comment', '');
|
||||||
|
$notifyReceiver = !empty($data['notifyReceiver']) ? $data['notifyReceiver'] : input('notifyReceiver', false);
|
||||||
|
$optFrom = !empty($data['optFrom']) ? $data['optFrom'] : input('optFrom', 4); // 默认操作来源为4
|
||||||
|
|
||||||
|
// 参数验证
|
||||||
|
if (empty($wechatFriendId)) {
|
||||||
|
return errorJson('微信好友ID不能为空');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($toAccountId)) {
|
||||||
|
return errorJson('目标账号ID不能为空');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 设置请求头
|
||||||
|
$headerData = ['client:system'];
|
||||||
|
$header = setHeader($headerData, $authorization, 'json');
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
$url = $this->baseUrl . 'api/WechatFriend/allot?wechatFriendId='.$wechatFriendId.'¬ifyReceiver='.$notifyReceiver.'&comment='.$comment.'&toAccountId='.$toAccountId.'&optFrom='.$optFrom;
|
||||||
|
$result = requestCurl($url, [], 'PUT', $header, 'json');
|
||||||
|
|
||||||
|
if (empty($result)) {
|
||||||
|
if($isInner){
|
||||||
|
return json_encode(['code'=>200,'msg'=>'微信好友分配成功']);
|
||||||
|
}else{
|
||||||
|
return successJson([], '微信好友分配成功');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>$result]);
|
||||||
|
}else{
|
||||||
|
return errorJson($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
if($isInner){
|
||||||
|
return json_encode(['code'=>500,'msg'=>'微信好友分配失败:' . $e->getMessage()]);
|
||||||
|
}else{
|
||||||
|
return errorJson('微信好友分配失败:' . $e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -196,7 +196,7 @@ class AuthService
|
|||||||
|
|
||||||
// 尝试从缓存获取授权信息
|
// 尝试从缓存获取授权信息
|
||||||
$authorization = Cache::get($cacheKey);
|
$authorization = Cache::get($cacheKey);
|
||||||
//$authorization = 'mYpVVhPY7PxctvYw1pn1VCTS2ck0yZG8q11gAiJrRN_D3q7KXXBPAfXoAmqs7kKHeaAx-h4GB7DiqVIQJ09HiXVhaQT6PtgLX3w8YV16erThC-lG1fyJB4DJxu-QxA3Q8ogSs1WFOa8aAXD1QQUZ7Kbjkw_VMLL4lrfe0Yjaqy3DnO7aL1xGnNjjX8P5uqCAZgHKlN8NjuDEGyYvXygW1YyoK9pNpwvq-6DYKjLWdmbHvFaAybHf-hU1XyrFavZqcZYxIoVXjfJ5ASp4XxeCWqMCzwtSoz9RAvwLAlNxGweowtuyX9389ZaXI-zbqb2T0S8llg';
|
//$authorization = '';
|
||||||
// 如果缓存中没有或已过期,则重新获取
|
// 如果缓存中没有或已过期,则重新获取
|
||||||
if (empty($authorization)) {
|
if (empty($authorization)) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ use app\cunkebao\model\ContentItem;
|
|||||||
use think\Controller;
|
use think\Controller;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
use app\api\controller\WebSocketController;
|
use app\api\controller\WebSocketController;
|
||||||
|
use think\facade\Env;
|
||||||
|
use app\api\controller\AutomaticAssign;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 内容库控制器
|
* 内容库控制器
|
||||||
@@ -732,7 +734,7 @@ class ContentLibraryController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 返回采集结果
|
// 返回采集结果
|
||||||
return json([
|
return json_encode([
|
||||||
'code' => 200,
|
'code' => 200,
|
||||||
'msg' => '采集任务执行完成',
|
'msg' => '采集任务执行完成',
|
||||||
'data' => [
|
'data' => [
|
||||||
@@ -760,14 +762,20 @@ class ContentLibraryController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$toAccountId = '';
|
||||||
|
$username = Env::get('api.username', '');
|
||||||
|
$password = Env::get('api.password', '');
|
||||||
|
if (!empty($username) || !empty($password)) {
|
||||||
|
$toAccountId = Db::name('users')->where('account',$username)->value('s2_accountId');
|
||||||
|
}
|
||||||
|
|
||||||
// 查询好友信息
|
// 查询好友信息
|
||||||
$friends = Db::table('s2_wechat_friend')
|
$friends = Db::table('s2_wechat_friend')
|
||||||
->field('id, wechatAccountId, wechatId')
|
->field('id, wechatAccountId, wechatId,accountId')
|
||||||
->whereIn('id', $friendIds)
|
->whereIn('id', $friendIds)
|
||||||
->where('isDeleted', 0)
|
->where('isDeleted', 0)
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
|
|
||||||
if (empty($friends)) {
|
if (empty($friends)) {
|
||||||
return [
|
return [
|
||||||
'status' => 'failed',
|
'status' => 'failed',
|
||||||
@@ -778,8 +786,22 @@ class ContentLibraryController extends Controller
|
|||||||
// 从朋友圈采集内容
|
// 从朋友圈采集内容
|
||||||
$collectedData = [];
|
$collectedData = [];
|
||||||
$totalMomentsCount = 0;
|
$totalMomentsCount = 0;
|
||||||
|
|
||||||
foreach ($friends as $friend) {
|
foreach ($friends as $friend) {
|
||||||
|
if (!empty($username) && !empty($password)) {
|
||||||
|
//执行切换好友命令
|
||||||
|
$automaticAssign = new AutomaticAssign();
|
||||||
|
$automaticAssign->allotWechatFriend(['wechatFriendId' => $friend['id'],'toAccountId' => $toAccountId],true);
|
||||||
|
//执行采集朋友圈命令
|
||||||
|
$webSocket = new WebSocketController(['userName' => $username,'password' => $password,'accountId' => $toAccountId]);
|
||||||
|
$webSocket->getMoments(['wechatFriendId' => $friend['id'],'wechatAccountId' => $friend['wechatAccountId']]);
|
||||||
|
//采集完毕切换
|
||||||
|
$automaticAssign->allotWechatFriend(['wechatFriendId' => $friend['id'],'toAccountId' => $friend['accountId']],true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 从s2_wechat_moments表获取朋友圈数据
|
// 从s2_wechat_moments表获取朋友圈数据
|
||||||
$moments = Db::table('s2_wechat_moments')
|
$moments = Db::table('s2_wechat_moments')
|
||||||
->where([
|
->where([
|
||||||
@@ -788,7 +810,7 @@ class ContentLibraryController extends Controller
|
|||||||
])
|
])
|
||||||
->order('createTime', 'desc')
|
->order('createTime', 'desc')
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
if (empty($moments)) {
|
if (empty($moments)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user