作者 lyh

Merge branch 'dev' into develop

... ... @@ -41,6 +41,7 @@ class ShareConfig extends Command
$ayrShareHelper = new AyrShareHelper();
$share_info = $ayrShareHelper->get_profiles_users($v['profile_key']);
if(!isset($share_info['activeSocialAccounts'])){
$ayrShareModel->edit(['bind_plat_from'=>''],['id'=>$v['id']]);
continue;
}
$str = json_encode($share_info['activeSocialAccounts']);
... ...
... ... @@ -5,13 +5,9 @@ namespace App\Http\Controllers\Bside\AyrShare;
use App\Enums\Common\Code;
use App\Helper\AyrShare as AyrShareHelper;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Controllers\Bside\FileController;
use App\Http\Controllers\File\ImageController;
use App\Http\Logic\Bside\AyrShare\AyrReleaseLogic;
use App\Http\Logic\Bside\AyrShare\AyrShareLogic;
use App\Http\Requests\Bside\AyrRelease\AyrReleaseRequest;
use App\Models\File\Image;
use App\Models\File\Image as ImageModel;
/**
* @name:社交发布
... ... @@ -61,9 +57,10 @@ class AyrReleaseController extends BaseController
public function send_post(AyrReleaseRequest $ayrReleaseRequest,AyrReleaseLogic $ayrReleaseLogic,
AyrShareLogic $ayrShareLogic,AyrShareHelper $ayrShare){
$ayrReleaseRequest->validated();
//验证发送平台
//获取发送账号详情
$share_info = $ayrShareLogic->ayr_share_info();
//验证发送平台
$ayrShareLogic->verify_param($share_info);
$data = [
'images'=>$this->param['images'],
'files'=>$this->param['video'],
... ...
... ... @@ -25,20 +25,22 @@ class AyrShareController extends BaseController
public function lists(AyrShareModel $ayrShareModel,AyrShareLogic $ayrShareLogic){
//授权配置列表
$share_list = $ayrShareModel->platforms;
$lists = $ayrShareModel->lists($this->map,$this->page,$this->row,'id',['id','name','title','profile_key','bind_plat_from','operator_id','created_at','updated_at']);
$lists = $ayrShareModel->lists($this->map,$this->page,$this->row,'id',['id','name','title','profile_key','bind_platforms','operator_id','created_at','updated_at']);
foreach ($lists['list'] as $k => $v){
if(!empty($v['profile_key'])){
$ayrShareHelper = new AyrShareHelper();
$share_info = $ayrShareHelper->get_profiles_users($v['profile_key']);
if(isset($share_info['activeSocialAccounts'])){
$str = json_encode($share_info['activeSocialAccounts']);
if($str != $v['bind_plat_from']){
$ayrShareLogic->ayr_share_edit(['bind_plat_from'=>$str]);
if($str != $v['bind_platforms']){
$ayrShareLogic->ayr_share_edit(['bind_platforms'=>$str],$v['id']);
}
}else{
$ayrShareLogic->ayr_share_edit(['bind_platforms'=>''],$v['id']);
}
}
}
$lists['share_list'] = $share_list;
$lists['list']['share_list'] = $share_list;
$this->response('列表',Code::SUCCESS,$lists);
}
... ... @@ -59,11 +61,13 @@ class AyrShareController extends BaseController
$share_info = $ayrShareHelper->get_profiles_users($info['profile_key']);
if(isset($share_info['activeSocialAccounts'])){
$str = json_encode($share_info['activeSocialAccounts']);
if($str != $info['bind_plat_from']){
$res = $ayrShareLogic->ayr_share_edit(['bind_plat_from'=>$str]);
if($str != $info['bind_platforms']){
$res = $ayrShareLogic->ayr_share_edit(['bind_platforms'=>$str],$this->param['share_id']);
}else{
$res = false;
}
}else{
$res = $ayrShareLogic->ayr_share_edit(['bind_platforms'=>''],$this->param['share_id']);
}
$this->response('success',Code::SUCCESS,['is_true'=>$res]);
}
... ...
... ... @@ -56,7 +56,8 @@ class AyrReleaseLogic extends BaseLogic
$arr = [];
foreach ($data as $k => $v){
if($k == 'images'){
$images = explode(',',$v);
// $images = explode(',',$v);
$images = $v;
$imageModel = new Image();
$list = $imageModel->list(['hash'=>['in',$images]],'id');
foreach ($list as $v1){
... ...
... ... @@ -6,10 +6,32 @@ use App\Http\Logic\Bside\BaseLogic;
use App\Models\AyrShare\AyrShare;
use App\Models\File\File as FileModel;
use App\Models\File\Image as ImageModel;
/**
* @name:社交发布图片数量
* Facebook Pages and Groups: 10 images, including a carousel post.
* Instagram: 10 images.
* Google : 1 image.
* LinkedIn: 9 images.
* Pinterest: 1 image.
* Reddit: 1 image.
* Telegram: 1 image.
* Twitter:4 image
*/
class AyrShareLogic extends BaseLogic
{
/**
* @var :发布图片数量
*/
public $send_num = [
'facebook' => 10,
'instagram' => 10,
'google' => 1,
'linkedin'=>9,
'reddit'=>1,
'pinterest'=>1,
'telegram'=>1,
'Twitter'=>1,
];
public function __construct()
{
... ... @@ -61,8 +83,8 @@ class AyrShareLogic extends BaseLogic
* @method :post
* @time :2023/5/9 14:44
*/
public function ayr_share_edit($param){
$rs = $this->model->edit($param,['id'=>$this->param['id']]);
public function ayr_share_edit($param,$id = ''){
$rs = $this->model->edit($param,['id'=>$id]);
if($rs === false){
$this->fail('error');
}
... ... @@ -83,7 +105,7 @@ class AyrShareLogic extends BaseLogic
return $this->success();
}
/**
* @name :(更新图片库)save_info_info
* @name :(根据hash获取图片详情)save_info_info
* @author :lyh
* @method :post
* @time :2023/5/10 15:01
... ... @@ -98,7 +120,7 @@ class AyrShareLogic extends BaseLogic
}
/**
* @name :(更新图片库)save_info_info
* @name :(根据hash视频详情)save_info_info
* @author :lyh
* @method :post
* @time :2023/5/10 15:01
... ... @@ -171,6 +193,33 @@ class AyrShareLogic extends BaseLogic
}
return $this->success();
}
/**
* @name :(验证平台参数)verify_param
* @author :lyh
* @method :post
* @time :2023/5/16 9:19
* ["facebook","fbg","gmb","instagram","linkedin","pinterest","reddit","telegram","tiktok","twitter","youtube"]
*/
public function verify_param($info){
//验证发送平台
foreach ($this->param['platforms'] as $k => $v){
if(!in_array($v,json_decode($info['bind_platforms']))){
$this->fail('未绑定平台');
}
//验证图片数
$img_num = count($this->param['images']);
if($img_num > $this->send_num[$v]){
$this->fail('发布图片数量超过最大限制,'.$v.'只允许'.$this->send_num[$v].'张图');
}
//验证图片数
$img_num = count($this->param['video']);
if($img_num > 1){
$this->fail('发布视频数量超过最大限制,'.$v.'只允许'.$this->send_num[$v].'个视频');
}
}
return $this->success();
}
}
... ...
... ... @@ -24,11 +24,11 @@ class AyrReleaseRequest extends FormRequest
{
return [
'title'=>'required',
'images'=>'required',
'images'=>'required|array',
'video'=>'required',
'content'=>'required',
'share_id'=>'required',
'platforms'=>'required',
'platforms'=>'required|array',
'idempotency_key'=>'required',
];
}
... ...
... ... @@ -23,7 +23,7 @@ class AyrShareRequest extends FormRequest
public function rules()
{
return [
'name'=>'required||unique:gl_ayr_share,name',
'name'=>'required|unique:gl_ayr_share,name',
];
}
... ... @@ -31,6 +31,7 @@ class AyrShareRequest extends FormRequest
{
return [
'name.required'=>'请填写名称',
];
}
}
... ...