作者 赵彬吉

update

... ... @@ -11,6 +11,7 @@ use App\Helper\Common;
use App\Helper\Gpt;
use App\Helper\Translate;
use App\Models\Ai\AiCommand;
use App\Models\Inquiry\ReInquiryConfig;
use App\Models\Inquiry\ReInquiryDetail;
use App\Models\Inquiry\ReInquiryDetailLog;
use App\Models\Inquiry\ReInquiryForm;
... ... @@ -353,6 +354,19 @@ class RelayInquiry extends Command
{
//通用过滤规则
$config = InquiryFilterConfig::getCacheInfoByProjectId(Project::DEMO_PROJECT_ID);
//FB询盘的全局过滤规则
$fb_config = ReInquiryConfig::getDefaultConfigCache(ReInquiryConfig::TYPE_FILTER_WORDS);
$fb_config['filter_contents'] = array_filter(explode("\r\n", $fb_config['filter_contents']?:''));
$fb_config['filter_emails'] = array_filter(explode("\r\n", $fb_config['filter_emails']?:''));
$fb_config['filter_mobiles'] = array_filter(explode("\r\n", $fb_config['filter_mobiles']?:''));
$fb_config['filter_names'] = array_filter(explode("\r\n", $fb_config['filter_names']?:''));
$config['filter_contents'] = array_unique(array_merge($fb_config['filter_contents'],$config['filter_contents']));
$config['filter_emails'] = array_unique(array_merge($fb_config['filter_emails'],$config['filter_emails']));
$config['filter_mobiles'] = array_unique(array_merge($fb_config['filter_mobiles'],$config['filter_mobiles']));
$config['filter_names'] = array_unique(array_merge($fb_config['filter_names'],$config['filter_names']));
//过滤内容
if(!empty($data['message']) && !empty($config['filter_contents'])) {
foreach ($config['filter_contents'] as $filter_content) {
... ...
... ... @@ -98,7 +98,7 @@ class AdsController extends BaseController
$item['cost'] = ReInquiryCost::getCostByAdIds($item['ad_id']);
}
$result['relay_site_total'] = $relay_site_total;
$result['default_ai_param'] = ReInquiryConfig::getDefaultConfigCache();
$result['default_ai_param'] = ReInquiryConfig::getDefaultConfigCache(ReInquiryConfig::TYPE_AI_PARAM);
return $this->response('success', Code::SUCCESS, $result);
}
... ... @@ -388,8 +388,9 @@ class AdsController extends BaseController
* @author zbj
* @date 2025/2/12
*/
public function fbAdsDefaultSet(){
$config = ReInquiryConfig::get();
public function fbAdsDefaultSet(Request $request){
$type = $request->input('type')?: ReInquiryConfig::TYPE_AI_PARAM;
$config = ReInquiryConfig::where('type', $type)->get();
if($this->request->isMethod('get')){
return $this->response('success', Code::SUCCESS, $config);
}
... ... @@ -397,7 +398,7 @@ class AdsController extends BaseController
DB::beginTransaction();
try {
foreach ($config as $item){
if(empty($this->param[$item->key])){
if($type == ReInquiryConfig::TYPE_AI_PARAM && empty($this->param[$item->key])){
throw new \Exception($item->title . '不能为空!');
}
$item->content = $this->param[$item->key];
... ... @@ -418,7 +419,7 @@ class AdsController extends BaseController
* @date 2025/2/12
*/
public function fbAdsSetBatch(){
$config = ReInquiryConfig::find($this->param['id']);
$config = ReInquiryConfig::where('type', ReInquiryConfig::TYPE_AI_PARAM)->where('id', $this->param['id'])->first();
if(!$config){
return $this->response('配置不存在', Code::USER_ERROR, []);
}
... ...
... ... @@ -15,21 +15,23 @@ use Illuminate\Support\Facades\Cache;
*/
class ReInquiryConfig extends Base
{
const TYPE_AI_PARAM = 'ai_param';
const TYPE_FILTER_WORDS = 'filter_words';
//设置关联表名
protected $table = 'gl_re_inquiry_config';
public static function getDefaultConfigCache(){
public static function getDefaultConfigCache($type){
$cache_key = 'ReInquiryDefaultConfigCache';
$data = Cache::get($cache_key);
if(!$data){
$data = self::pluck('content', 'key');
$data = self::all();
if($data){
Cache::put($cache_key, $data);
}
}
return $data;
return $data->where('type', $type)->pluck('content', 'key');
}
public static function delCache(){
... ...
... ... @@ -92,6 +92,6 @@ class ReInquiryTask extends Base
public function getAiParamAttribute($value)
{
return Arr::s2a($value) ?: ReInquiryConfig::getDefaultConfigCache();
return Arr::s2a($value) ?: ReInquiryConfig::getDefaultConfigCache(ReInquiryConfig::TYPE_AI_PARAM);
}
}
... ...