作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

... ... @@ -119,18 +119,21 @@ class RecommendedSuppliers extends Command
* @time :2024/5/29 16:38
*/
public function savePurchaserInfo($project_id,$keyword,$data){
$param = [];
$purchaserInfoModel = new PurchaserInfo();
foreach ($data as $k =>$v){
$v['project_id'] = $project_id;
$v['keyword'] = $keyword;
$v['email'] = json_encode($v['email'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$v['mobile'] = json_encode($v['mobile'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$v['social_media'] = json_encode($v['social_media'],JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$v['created_at'] = date('Y-m-d H:i:s');
$v['updated_at'] = $v['created_at'];
$param[] = $v;
// $v['created_at'] = date('Y-m-d H:i:s');
// $v['updated_at'] = $v['created_at'];
$param = $v;
$info = $purchaserInfoModel->read(['keyword'=>$keyword,'buyer'=>$v['buyer'],'project_id'=>$project_id],['id']);
if($info === false){
$purchaserInfoModel->add($param);
}
}
$purchaserInfoModel = new PurchaserInfo();
return $purchaserInfoModel->insert($param);
return true;
}
}
... ...
... ... @@ -82,12 +82,22 @@ class SyncSubmitTask extends Command
public function getTaskId()
{
$task_id = Redis::rpop('sync_submit_task');
$lockKey = 'lock_sync_submit_task';
if (empty($task_id)) {
$ids = SyncSubmitTaskModel::where('status', 0)->limit(100)->pluck('id');
foreach ($ids as $id) {
Redis::lpush('sync_submit_task', $id);
// 获取锁
if (Redis::setnx($lockKey, 1)) {
// 设置锁的过期时间,防止死锁
Redis::expire($lockKey, 10);
$ids = SyncSubmitTaskModel::where('status', 0)->limit(100)->pluck('id');
foreach ($ids as $id) {
Redis::lpush('sync_submit_task', $id);
}
$task_id = Redis::rpop('sync_submit_task');
Redis::del($lockKey);
} else {
// 未获取到锁
return '';
}
$task_id = Redis::rpop('sync_submit_task');
}
return $task_id;
}
... ...
... ... @@ -22,6 +22,7 @@ use App\Models\Product\Product;
use App\Models\Project\DeployOptimize;
use App\Models\Project\MinorLanguages;
use App\Models\Project\Project;
use App\Models\Purchaser\PurchaserInfo;
use App\Services\AmazonS3Service;
use App\Services\ProjectServer;
use App\Utils\EncryptUtils;
... ... @@ -47,11 +48,14 @@ class Demo extends Command
protected $description = 'demo';
public function handle(){
$serverIpModel = new ServersIp();
$lists = $serverIpModel->list();
$p = new PurchaserInfo();
$lists = $p->list();
foreach ($lists as $k => $v){
$domain = strtolower($v['domain']);
$serverIpModel->edit(['domain'=>$domain],['id'=>$v['id']]);
$info = $p->read(['project_id'=>$v['project_id'],'keyword'=>$v['keyword'],'buyer'=>$v['buyer']]);
if($info === false){
continue;
}
$p->del(['project_id'=>$v['project_id'],'keyword'=>$v['keyword'],'buyer'=>$v['buyer'],'id'=>['!=',$v['id']]]);
}
return true;
}
... ...
... ... @@ -46,12 +46,12 @@ class ReplaceHtmlController extends BaseController
public function replaceTemplateMainHtml(ReplaceHtmlLogic $logic){
$this->request->validate([
'name'=>'required',
'html'=>'required',
// 'html'=>'required',
'old_html'=>'required',
'project_id'=>'required',
],[
'name.required' => '需替换页面标识不能为空',
'html.required' => 'html不能为空',
// 'html.required' => 'html不能为空',
'old_html.required' => '替换前的html不能为空',
'project_id.required' => 'project_id不能为空',
]);
... ...
... ... @@ -88,10 +88,7 @@ class AyrReleaseController extends BaseController
}
//发送请求发布社交文章
$res = $ayrShare->post_send_msg($param,$share_info['profile_key']);
//保存数据库
if($res){
$ayrReleaseLogic->release_add($res);
}
$ayrReleaseLogic->release_add($res);
//保存返回的内容
$this->response('success',Code::SUCCESS,json_decode($res));
}
... ...
... ... @@ -59,7 +59,7 @@ class ProductController extends BaseController
$template_id = $this->getTemplateId(BTemplate::SOURCE_PRODUCT,BTemplate::IS_DETAIL);//获取模版id
$userModel = new User();
foreach ($lists['list'] as $k=>$v){
$v['url'] = $this->user['domain'] . getRouteMap(RouteMap::SOURCE_PRODUCT,$v['id']);;
$v['url'] = $this->user['domain'] . getRouteMap(RouteMap::SOURCE_PRODUCT,$v['id']);
$v['category_id_text'] = $this->categoryName($v['id'],$cate_data);
$v['keyword_id_text'] = $this->keywordName($v['keyword_id'],$key_data);
$v['created_uid_text'] = $userModel->getName($v['created_uid']);
... ...
... ... @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Bside\Suppliers;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Models\Purchaser\Purchaser;
use App\Models\Purchaser\PurchaserInfo;
/**
* @remark :推荐采购商
... ... @@ -22,7 +23,7 @@ use App\Models\Purchaser\Purchaser;
*/
class SuppliersController extends BaseController
{
public $domain = 'https://admin.hagro.cn/';
public $domain = 'https://fob.ai.cc/';
/**
* @remark :推荐采购商
... ... @@ -32,21 +33,14 @@ class SuppliersController extends BaseController
* @time :2024/3/4 10:10
*/
public function recommendedPurchaser(){
$purchaserModel = new Purchaser();
$data = [];
$purchaserModel = new PurchaserInfo();
$this->map['project_id'] = $this->user['project_id'];
$lists = $purchaserModel->list($this->map);
if(!empty($lists)){
foreach ($lists as $v){
if(!empty($v['data'])){
$resultData = json_decode($v['data'],true);
foreach ($resultData as $value){
$value = (array)$value;
$value['keyword'] = $v['keyword'];
$data[] = $value;
}
}
}
$data = $purchaserModel->list($this->map);
foreach ($data as $k => $v){
$v['email'] = json_decode($v['email'],true);
$v['mobile'] = json_decode($v['mobile'],true);
$v['social_media'] = json_decode($v['social_media'],true);
$data[$k] = $v;
}
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -637,12 +637,21 @@ class ProjectLogic extends BaseLogic
public function channelSource($param){
switch ($param['type']){
case Project::TYPE_ONE:
return Zone::pluck('title', 'id')->toArray();
$data = [0=>'所有'];
$list = (new Zone())->list([],'id',['id','title'],'asc');
foreach ($list as $v){
$data[$v['id']] = $v['title'];
}
return $data;
case Project::TYPE_TWO:
if(isset($param['alias'])){
return Channel::where('alias', 'like' ,'%'.$param['alias'].'%')->pluck('alias', 'id')->toArray();
}
return Channel::where('zone_id', $param['zone_id']??0)->pluck('alias', 'id')->toArray();
$map = [];
if($param['zone_id'] != 0){
$map['zone_id'] = $param['zone_id'];
}
return Channel::where($map)->pluck('alias', 'id')->toArray();
case Project::TYPE_THREE:
return User::where('channel_id', $param['channel_id']??0)->pluck('name', 'id')->toArray();
}
... ... @@ -658,7 +667,18 @@ class ProjectLogic extends BaseLogic
* @time :2023/9/4 14:29
*/
public function editDomainStatus($domain,$project_id){
$projectOptimize = new DeployOptimize();
$optimizeInfo = $projectOptimize->read(['project_id'=>$project_id],['domain']);
if($optimizeInfo['domain'] == $domain){
return $this->success();
}
$domainModel = new DomainInfo();
//查看当前域名是否已使用
$domainInfo = $domainModel->read(['id'=>$domain,'project_id'=>['!=',0]]);
if($domainInfo !== false){
$this->fail('当前域名已被其他服务器使用');
}
//先清空上一次所绑定的域名
$info = $domainModel->read(['project_id'=>$project_id]);
if($info !== false){
... ...
... ... @@ -156,7 +156,7 @@ class ReplaceHtmlLogic extends BaseLogic
'template_id'=>$template_id,
'status'=>$this->model::STATUS,
'old_html'=>$param['old_html'],
'html'=>$param['html'],
'html'=>$param['html'] ?? '',
'project_id'=>$param['project_id'],
'total_num'=>0,
'operator_id'=>$this->manager['id']
... ...
... ... @@ -47,10 +47,7 @@ class AyrReleaseLogic extends BaseLogic
$this->param['platforms'] = json_encode($this->param['platforms']);
$info = $this->model->read(['platforms'=>$this->param['platforms'],'operator_id'=>$this->param['operator_id'],'project_id'=>$this->param['project_id'],'title'=>$this->param['title']]);
if($info === false){
$rs = $this->model->add($this->param);
if($rs === false){
$this->fail('error');
}
$this->model->add($this->param);
}
return $this->success();
}
... ...
... ... @@ -28,9 +28,18 @@ class BTemplateModuleLogic extends BaseLogic
$map['status'] = 0;
$list = $this->model->list($map,$order,$filed);
$templateLabel = new TemplateLabel();
foreach ($list as $k => $v){
$v['label'] = $templateLabel->list(['template_id'=>$v['id'],'type'=>2],'id',['id','name'],'desc');
$list[$k] = $v;
$label = [];
foreach ($list as $v){
$label[] = $v['id'];
}
$label_arr = $templateLabel->list(['template_id'=>['in',$label],'type'=>2],'id',['id','template_id','name'],'desc');
foreach ($list as $k1 => $v1){
foreach ($label_arr as $v2){
if($v2['template_id'] == $v1['id']){
$v1['label'][] = $v2;
}
}
$list[$k1] = $v1;
}
return $this->success($list);
}
... ...
... ... @@ -33,13 +33,22 @@ class BTemplateModuleProjectLogic extends BaseLogic
public function ModuleList($map,$order = 'created_at',$filed = ['id','name','status','image','html','project_id']){
$map['deleted_status'] = 0;
$map['project_id'] = $this->user['project_id'];
$lists = $this->model->list($map,$order,$filed);
$list = $this->model->list($map,$order,$filed);
$templateLabel = new TemplateLabel();
foreach ($lists as $k => $v){
$v['label'] = $templateLabel->list(['template_id'=>$v['id'],'type'=>2],'id',['id','name'],'desc');
$lists[$k] = $v;
$label = [];
foreach ($list as $v){
$label[] = $v['id'];
}
return $this->success($lists);
$label_arr = $templateLabel->list(['template_id'=>['in',$label],'type'=>2],'id',['id','template_id','name'],'desc');
foreach ($list as $k1 => $v1){
foreach ($label_arr as $v2){
if($v2['template_id'] == $v1['id']){
$v1['label'][] = $v2;
}
}
$list[$k1] = $v1;
}
return $this->success($list);
}
/**
... ...