作者 赵彬吉

update

... ... @@ -50,7 +50,7 @@ class FormGlobalsoApi
* @author zbj
* @date 2023/5/17
*/
public function getInquiryList($domain, $search = '', $page = 1, $page_size = 20)
public function getInquiryList($domain, $search = '', $page = 1, $page_size = 20, $ids = [])
{
$project = Project::getProjectByDomain($domain);
$is_upgrade = $project['is_upgrade'] ??0;
... ... @@ -63,6 +63,11 @@ class FormGlobalsoApi
'page' => $page,
'source' => $is_upgrade ? '1,2,3,4' : '1,3' //来源类型 新项目用1,3
];
if($ids){
$params['ids'] = implode(',', $ids);
unset($params['page']);
unset($params['limit']);
}
if($search){
$params['name'] = $search;
}
... ...
... ... @@ -168,7 +168,7 @@ class InquiryController extends BaseController
$data = $data['list'] ?? [];
foreach ($data as &$item){
//非正常登录的
if($this->param['login_source'] != 2){
if($this->param['login_source']??0 != 2){
//脱敏
$item['email'] = email_desensitize($item['email']);
$item['phone'] = substr($item['phone'], 0, -4) . '****';
... ...
... ... @@ -40,10 +40,11 @@ class InquiryLogic extends BaseLogic
}
$search = $this->request['search'] ?: '';
$page = $this->request['page'] ?: 1;
$ids = $this->request['ids'] ?: [];
$project = (new ProjectLogic())->getProjectInfo($this->user['project_id']);
$domain = (!empty(
$project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$list = $this->form_globalso_api->getInquiryList($domain, $search, $page, $page_size);
$list = $this->form_globalso_api->getInquiryList($domain, $search, $page, $page_size, $ids);
//处理格式 免得前端又改
$data = [
"list" => [],
... ... @@ -66,10 +67,14 @@ class InquiryLogic extends BaseLogic
$page_size = $export ? 1000 : 20;
$search = $this->request['search'] ?: '';
$page = $this->request['page'] ?: 1;
$ids = $this->request['ids'] ?? [];
$map = [];
if($search){
$map['email'] = ['like','%'.$search.'%'];
}
if ($ids) {
$map['id'] = ['in', $ids];
}
$data = (new InquiryOther())->lists($map,$page,$page_size,'id',
['id', 'email', 'ip', 'country', 'domain', DB::raw('referer as refer'), DB::raw('status as read_status'), 'submit_time']
... ... @@ -83,15 +88,19 @@ class InquiryLogic extends BaseLogic
$search = $this->request['search'] ?: '';
$page = $this->request['page'] ?: 1;
$form_id = $this->request['form_id'] ?? '';
$ids = $this->request['ids'] ?? [];
$field = InquiryForm::getField($form_id);
$fields = ['id', 'data', 'ip', 'country', 'domain', DB::raw('referer as refer'), DB::raw('status as read_status'), DB::raw('submit_at as submit_time')];
$lists = InquiryFormData::where('form_id', $form_id)
->where(function ($query) use ($search, $field){
->where(function ($query) use ($search, $field,$ids){
if($search){
foreach ($field as $v){
$query->orWhere('data->' . $v, $search);
}
}
if($ids){
$query->whereIn('ids', $ids);
}
})
->select($fields)->orderBy('id', 'desc')->paginate($page_size, ['*'], 'page', $page);
$data = $lists->toArray();
... ...