love_php/app/Http/Controllers/Server/Admin/QuestionnaireController.php
2026-04-02 09:20:51 +08:00

780 lines
30 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Http\Controllers\Server\Admin;
use App\Http\Controllers\UploadController;
use App\Jobs\MakeSurveyQrcode;
use App\Models\Server\CommunityActivity;
use App\Models\Server\Survey;
use App\Models\Server\SurveyService as SurveyServiceModel;
use App\Facades\SurveyService;
use App\Models\Server\SurveyUser;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Answers;
use App\Models\Live\Anchor;
use App\Models\Questionnaire;
use App\Models\Server\MerchantMembers;
use App\Models\Server\MerchantUser;
use App\Models\Server\TouristOrder;
use App\Models\Server\QuestionaireQuestion;
use App\Models\Server\QuestionaireAnswer;
use App\Models\User;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
class QuestionnaireController extends Controller
{
//问卷调查控制器
public function addQuestionaire(Request $request){
try {
//todo Questionnaire表增加merchant_id admin_id 字段
$naire = Questionnaire::where('type',$request->type)->where('type_id',$request->type_id)->first();
if($naire) return $this->failure('请勿重复创建');
$data = $request->data;
// choice 0 单选 1多选 2输入框 3 投票匹配
Questionnaire::create([
'm_id'=>$request->account_id,
'admin_id'=>$request->merchant_admin_id ?? 0,
'type'=>$request->type ?? 'activity',
'type_id'=>$request->type_id ?? 1,
'title'=>$request->title ?? '测试',
'status'=>1,
'content'=>json_encode($data),
]);
return $this->success('ok');
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息,请稍后再试');
}
}
// 调查问卷详情
public function questionaireDetail(Request $request){
try {
$type = $request->type;
$type_id = $request->type_id;
$result = Questionnaire::where('type',$type)->where('type_id',$type_id)->select('m_id','admin_id','id','title','content','created_at','updated_at')->first();
if(!$result) return $this->success('ok',[]);
if($result) $result->content = json_decode($result->content);
if($result->admin_id){//创建人头像 昵称
$user = MerchantMembers::where(['mch_id'=>$result->m_id,'admin_id'=>$result->admin_id])->select('name','avatar')->first();
}else{
$user = Anchor::where('m_id',$result->m_id)->select('name','pic as avatar')->first();
}
$result->user = $user;
//todo 生成跳转二维码
$jump_url = urlencode(env('APP_URL') . '/pu/#/questionnaireV2/'.$result->id);
$share_url = env('APP_URL') . '/api/official/live/wechat/FamilyAuth?merchant_id='.$request->account_id.'&url=' . $jump_url;
$share_qrcode = $this->getPreviewQrcode($share_url);
$result->share_qrcode = $share_qrcode;
return $this->success('ok',$result);
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息,请稍后再试');
}
}
//修改问卷
public function updateQuestionnire(Request $request,$questionnaire_id){
$value = Questionnaire::find($questionnaire_id);
if(!$value) return $this->failure('要修改的问卷不存在');
$value->data = json_decode($request->data);
$value->save();
return $this->success('ok');
}
//用户提交问卷列表
public function userAnswers(Request $request){
try {
$keyword = trim($request->input('keyword'));
$questionnaire_id = $request->questionnaire_id;
$result = Answers::with('mUser:id,nickname,pic,mobile')->whereHas('mUser')->where('questionnaire_id',$questionnaire_id)->select('id','user_id','questionnaire_id','content','created_at','desc');
if($keyword){
$result = $result->whereHas('mUser',function($sql) use($keyword){
$sql->where('nickname','like',"%$keyword%");
});
}
$result = $result->orderBy('id','desc')->paginate();
foreach ($result as $key => $value) {
$value->content = json_decode($value->content);
if($value->mUser->mobile) continue;
$value->mUser->mobile = TouristOrder::where('account_id',$value->mUser->id)->whereRaw('char_length(mobile)=11')->value('mobile');
}
return $this->success('ok',$result);
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息,请稍后再试');
}
}
//用户提交问卷列表
public function userAnswersV2(Request $request){
try {
$questionnaire_id = $request->questionnaire_id;
$title = [];
$results = Answers::with('mUser:id,nickname,pic,mobile')->whereHas('mUser')->where('questionnaire_id',$questionnaire_id)->select('id','user_id','questionnaire_id','content','created_at','desc');
$results = $results->orderBy('id','desc')->get();
foreach ($results as $key => $result) {
$result->content = json_decode($result->content);
foreach ($result->content as $value) {
if($key == 0) $title[] = $value->title;
$answers = implode(' ',$value->answer);
$value->answer = $answers;
}
if($result->mUser->mobile) continue;
$result->mUser->mobile = TouristOrder::where('account_id',$result->mUser->id)->whereRaw('char_length(mobile)=11')->value('mobile');
}
return $this->success('ok',compact('results','title'));
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息,请稍后再试');
}
}
//问卷调查列表
public function questionaireList(Request $request){
try {
$result = Questionnaire::where('m_id',$request->account_id)->select('id','type','type_id','title','content')->orderBy('id','desc')->paginate();
foreach ($result as $key => $value) {
$value->content = json_decode($value->content);
}
return $this->success('ok',$result);
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息,请稍后再试');
}
}
//嘉宾编号
public function memberSort(Request $request){
$questionnaire_id = $request->questionnaire_id;
$result = Questionnaire::find($questionnaire_id);
if(!$result) return $this->failure('问卷不存在');
$orders = TouristOrder::where('type','community')->where('type_id',$result->type_id)->whereIn('pay_status',[1,4])->get();
$i = 1;
$j = 1;
foreach ($orders as $key => $value) {
$m_user = MerchantUser::find($value->account_id);
if($m_user->sex){
if($m_user->sex == 1) {
$value->update(['remark'=>$i.'男']);
$i++;
}
if($m_user->sex == 2) {
$value->update(['remark'=>$j.'女']);
$j++;
}
continue;
}
if($value->channel == '福恋小程序'){
$user_id = $this->getUseridByOpenid($value->open_id,2);
}else{
$user_id = $this->getUseridByOpenid($value->open_id,0);
}
if($user_id){
$user = User::find($user_id);
if($user->sex == 0) continue;
if($user->sex == 1) {
$value->update(['remark'=>$i.'男']);
$i++;
}
if($user->sex == 2) {
$value->update(['remark'=>$j.'女']);
$j++;
}
}
}
return $this->success('ok',$orders);
}
//问卷互选
public function voteEachOther(Request $request){
try {
$m_id = $request->account_id;
$questionnaire_id = $request->questionnaire_id;
$questionnaire = Questionnaire::find($questionnaire_id);
if($questionnaire_id == 33 || $questionnaire_id == 30) return $this->failure('该活动未开启配对');
if($m_id != $questionnaire->m_id) return $this->failure('没有权限访问');
if(!$questionnaire) return $this->failure('问卷不存在');
$my_choose = [];
$choose_me = [];
$choose_each = [];
$user_id = $request->user_id;
//我是几号嘉宾
$order = TouristOrder::where('type','community')->where('type_id',$questionnaire->type_id)->where('account_id',$user_id)->whereIn('pay_status',[1,3,4])->first();
//$remark = $order->remark.'-'.$order->name;
$answer = Answers::with('mUser:id,nickname,pic')->where('user_id',$user_id)->where('questionnaire_id',$questionnaire_id)->first();
if($answer && $answer->content){
$desc = json_decode($answer->content);
foreach ($desc as $key => $value) {
if($value->choice != 3) continue;
//我选择了谁
$my_choose = $value->answer;
}
}
$answers = Answers::with('mUser:id,nickname,pic')->where('questionnaire_id',$questionnaire_id)->where('user_id','!=',$user_id)->select('id','user_id','questionnaire_id','content')->get();
// return $this->success('ok',$answers);
$other_order = TouristOrder::where('type','community')->where('type_id',$questionnaire->type_id)->where('account_id',$user_id)->whereIn('pay_status',[1,3,4])->first();
if($other_order){
$other_remark = $other_order->remark.'-'.$other_order->name;
}else{
$other_remark = null;
}
foreach ($answers as $key => $answer) {
$answer->content = json_decode($answer->content);
foreach ($answer->content as $key => $value) {
if($value->choice != 3) continue;
if(in_array($other_remark,$value->answer)) {
//选择了他的用户
$other_orders = TouristOrder::where('type','community')->where('type_id',$questionnaire->type_id)->where('account_id',$answer->user_id)->whereIn('pay_status',[1,3,4])->first();
$other_remarks = $other_orders->remark.'-'.$other_orders->name;
$choose_me[] = $other_remarks;
}
}
}
//互选
$choose_each = array_intersect($my_choose,$choose_me);
$my_choose_user_ids = [];
$choose_me_user_ids = [];
$choose_each_user_ids = [];
if($my_choose){
foreach ($my_choose as $key => $mc) {
$arr = explode('-',$mc);
$num = $arr[0];
$my_choose_user_ids[] = TouristOrder::where('type','community')->where('type_id',$questionnaire->type_id)->whereIn('pay_status',[1,3,4])->where('remark',$num)->value('account_id');
}
}
//我选择的用户
$my_choose_users = MerchantUser::whereIn('id',$my_choose_user_ids)->select('id','mobile','nickname','pic')->get();
if($choose_me){
foreach ($choose_me as $key => $mc) {
$arr = explode('-',$mc);
$num = $arr[0];
$choose_me_user_ids[] = TouristOrder::where('type','community')->where('type_id',$questionnaire->type_id)->whereIn('pay_status',[1,3,4])->where('remark',$num)->value('account_id');
}
}
//选择我的用户
$choose_me_users = MerchantUser::whereIn('id',$choose_me_user_ids)->select('id','mobile','nickname','pic')->get();
if($choose_each){
foreach ($choose_each as $key => $mc) {
$arr = explode('-',$mc);
$num = $arr[0];
$choose_each_user_ids[] = TouristOrder::where('type','community')->where('type_id',$questionnaire->type_id)->whereIn('pay_status',[1,3,4])->where('remark',$num)->value('account_id');
}
}
//互选用户
$choose_each_users = MerchantUser::whereIn('id',$choose_each_user_ids)->select('id','mobile','nickname','pic')->get();
return $this->success('ok',compact('my_choose_users','choose_me_users','choose_each_users'));
} catch (\Exception $e) {
$this->getError($e);
return $this->failure('服务器休息,请稍后再试');
}
}
/**
* 第二个版本,独立的调查问卷功能
*/
/**
*
*/
public function getQuestionaireList() {
$list = Questionnaire::orderby('id', 'DESC')->paginate();
return $this->success('ok', $list);
}
/**
* 创建新的调查问卷
*/
public function initQuestionaire(Request $request)
{
$data = $request->data;
Questionnaire::create([
'm_id'=>$request->account_id,
'admin_id'=>$request->merchant_admin_id ?? 0,
'type'=> '',
'type_id'=> '',
'title'=>$request->title ?? '测试',
'status'=>1,
'content'=>json_encode($data),
]);
return $this->success('ok');
}
public function updateQuestionaire(Request $request, $q_id)
{
$auth = $this->checkQuestionaireAuth($request->account_id, $q_id);
if(!$auth){
return $this->failure('权限不足');
}
$data = $request->data;
Questionnaire::where('id', $q_id)->update([
'title'=>$request->title ?? '新的调查问卷',
'content'=>json_encode($data),
]);
return $this->success('ok');
}
public function deleteQuestionaire(Request $request, $q_id)
{
$auth = $this->checkQuestionaireAuth($request->account_id, $q_id);
if(!$auth){
return $this->failure('权限不足');
}
$data = $request->data;
Questionnaire::where('id', $q_id)->delete();
return $this->success('ok');
}
/**
* 增加调查问卷的问题
* @param $q_id questionaire_id
*/
public function addQuestion(Request $request, $q_id)
{
$title = $request->title;
$option = $request->option;
$input_type = $request->input_type?$request->input_type:'input';
if($input_type == 'radio' || $input_type == 'checkbox')
{
if(!(is_array($option) && count($option) > 0)){
return $this->failure('请添加选项内容');
}
}
$auth = $this->checkQuestionaireAuth($request->account_id, $q_id);
if(!$auth){
return $this->failure('权限不足');
}
QuestionaireQuestion::create(array(
'questionaire_id' => $q_id,
'title'=>$title,
'input_type' => $input_type,
'option'=> json_encode($option, JSON_UNESCAPED_UNICODE),
));
return $this->success('ok');
}
/**
* @param $m_id merchant_id
* @param $q_id questionaire_id
*/
private function checkQuestionaireAuth($m_id, $q_id)
{
$auth = false;
$count = Questionnaire::where('m_id', $m_id)->where('id',$q_id)->count();
if($count > 0)
{
$auth = true;
}
return $auth;
}
/**
* 修改调查问卷的问题
* @param $q_id questionaire_id
*/
public function updateQuestion(Request $request, $q_id, $id)
{
$title = $request->title;
$option = $request->option;
$input_type = $request->input_type;
$auth = $this->checkQuestionaireAuth($request->account_id, $q_id);
if(!$auth){
return $this->failure('权限不足');
}
QuestionaireQuestion::where('id', $id)->update(array(
'title'=> $title,
'input_type' => $input_type,
'option'=> json_encode($option, JSON_UNESCAPED_UNICODE),
));
return $this->success('ok');
}
/**
* 删除调查问卷的问题
* @param $q_id questionaire id
* @param $id question_id
*/
public function deleteQuestion(Request $request, $q_id, $id)
{
$auth = $this->checkQuestionaireAuth($request->account_id, $q_id);
if(!$auth){
return $this->failure('权限不足');
}
QuestionaireQuestion::where('id', $id)->delete();
return $this->success('ok');
}
/**
* 绑定调查问卷到指定的 实体中去
*/
public function bindQuestionaire(Request $request, $id)
{
$type = $request->type;
$type_id = $request->type_id;
Questionnaire::where('id', $id)->update(array(
'type'=> $type,
'type_id'=> $type_id,
));
return $this->success('ok');
}
/**
* 获取单个调查问卷
*/
public function getQuestionaireDetail(Request $request, $id)
{
$questionarie = Questionnaire::where('id', $id)
->select('id', 'type', 'type_id', 'title')
->first();
if(empty($questionarie)){
return $this->failure("questionaire not found");
}
$question_list = QuestionaireQuestion::where('questionaire_id', $id)->get();
foreach($question_list as &$question)
{
$question->option_list = json_decode($question->option);
}
$questionarie->question_list = $question_list;
return $this->success('ok',$questionarie);
}
/**
* @depercated since 2022年12月12日18:12:41
* 这个功能是用户端功能不在Admin端实现
* 填写调查问卷
*/
public function answerQuestion(Request $request, $questionaire_id, $question_id)
{
$answer = $request->answer;
$question = QuestionaireQuestion::where('id', $question_id)
->where('questionnaire_id', $questionaire_id)
->first();
if(empty($question)){
return $this->failure('question not found');
}
$fill = array(
'questionaire_id' => $questionaire_id,
'question_id' => $question_id,
'question' => json_decode($question),
'answer' => $answer
);
QuestionaireAnswer::create($fill);
return $this->success('ok');
}
/**
* @depercated since 2022年12月12日18:12:41
* 这个功能是用户端功能不在Admin端实现
* 修改调查问卷
*/
public function updateQuestionAnswer(Request $request, $questionaire_id, $question_id)
{
$answer = $request->answer;
$question = QuestionaireQuestion::where('id', $question_id)
->where('questionnaire_id', $questionaire_id)
->first();
if(empty($question)){
return $this->failure('question not found');
}
$fill = array(
'questionaire_id' => $questionaire_id,
'question_id' => $question_id,
'question' => json_decode($question),
'answer' => $answer
);
QuestionaireAnswer::create($fill);
return $this->success('ok');
}
/**
* 公版问卷调查列表
* @param Request $request
*/
public function pubSurveys(Request $request)
{
$m_id = $request->account_id;
$surveys = Survey::where('m_id', $m_id);
$keyword = $request->input('keyword');
if ($keyword) {
$surveys = $surveys->where('title', 'like', '%'.$keyword.'%');
}
$surveys = $surveys->orderByDesc('id')->paginate();
return $this->success('ok', $surveys);
}
/**
* 公版问卷调查增加
* @param Request $request
* @return \Illuminate\Http\JsonResponse|string
*/
public function storePubSurveys(Request $request)
{
$m_id = $request->account_id;
$title = $request->input('title');
if (empty($title)) return $this->failure("请输入问卷调查标题");
$content = $request->input('content', []);
if (empty($content) || count($content) == 0) return $this->failure("请输入问卷调查内容");
$note = $request->input('note');
$price = $request->input('price');
DB::beginTransaction();
$survey = Survey::create(['m_id'=>$m_id, 'title'=>$title, 'content'=> json_encode($content), 'note'=>$note, 'price'=>$price]);
$type = $request->input('type');
$type_id = $request->input('type_id');
if ($type && $type_id) {
//是否已绑定其他服务
// $s_service = SurveyServiceModel::where(['type'=>$type, 'type_id'=>$type_id])->first();
// if ($s_service) return $this->failure("该服务已绑定其他问卷调查");
SurveyService::bindSurveyService(['m_id'=>$m_id, 'type'=>$type, 'type_id'=>$type_id, 'survey_id'=>$survey->id]);
MakeSurveyQrcode::dispatch($m_id, $type, $type_id, $survey->id)->onQueue('love');
// $this->MakeSurveyQrcode($m_id, $type, $type_id, $survey->id);
} else {
MakeSurveyQrcode::dispatch($m_id, null, null, $survey->id)->onQueue('love');
// $this->MakeSurveyQrcode($m_id, null, null, $survey->id);
}
DB::commit();
//todo 异步生成二维码
return $this->success('ok');
}
public function MakeSurveyQrcode($m_id, $type, $type_id, $survey_id)
{
$base_url = env('APP_URL')."/pu/#/questionnaireV3/".$survey_id."?merchant_id=".$m_id."&type=".$type."&type_id=".$type_id;
$base_url = urlencode($base_url);
$url = env('APP_URL')."/survey/auth?url=".$base_url;
$pic_path = storage_path('qrcode/'.$m_id.'_survey_'.$survey_id."_".$type.'_'.$type_id.'_sharer_qrcode.png');
//二维码图片
QrCode::format('png')->margin(1)->size(300)->generate($url, $pic_path);
if(file_exists($pic_path)){
$qrcode = $this->MakeSurveyQrcodeUploadFile($pic_path);
if ($type && $type_id) {
SurveyService::where('survey_id', $survey_id)->where('type', $type)->where('type_id', $type_id)->update(['qrcode'=>$qrcode, 'share_url'=>$url]);
}else {
Survey::where('id', $survey_id)->update(['qrcode'=>$qrcode, 'share_url'=>$url]);
}
unlink($pic_path);
}
}
public function MakeSurveyQrcodeUploadFile($file)
{
$ossClient = UploadController::getOssClient();
//生成file
$object = date('Y') . date('m') . "/" . date('d') . "/" . basename($file);
$url = 'https://' . config('alioss.picture_domain') . '/' . $object;
try {
$ossClient->uploadFile(config('alioss.buckets.picture'), $object, $file);
} catch (\OSS\Core\OssException $e) {
Log::info($e->getMessage());
return false;
}
return $url;
}
/**
* 公版问卷调查修改
* @param Request $request
* @param $id
* @return \Illuminate\Http\JsonResponse|string
*/
public function updatePubSurveys(Request $request, $id)
{
$m_id = $request->account_id;
$survey = Survey::where('m_id', $m_id)->where('id', $id)->first();
if ($request->has('title') ) {
$survey->title = $request->title;
}
if ($request->has('content') ) {
$survey->content = json_encode($request->input('content'));
}
if ($request->has('price') ) {
$survey->price = $request->price;
}
if ($request->has('note') ) {
$survey->note = $request->note;
}
$survey->save();
return $this->success('ok');
}
/**
* 公版问卷调查详情
* @param Request $request
* @param $id
* @return \Illuminate\Http\JsonResponse|string
*/
public function pubSurvey(Request $request, $id)
{
$m_id = $request->account_id;
$survey = Survey::where('m_id', $m_id)->where('id', $id)->first();
return $this->success('ok', $survey);
}
/**
* 公版问卷调查删除
* @param Request $request
* @param $id
* @return \Illuminate\Http\JsonResponse|string
*/
public function deletePubSurvey(Request $request, $id)
{
$m_id = $request->account_id;
//todo 是否有被引用
$using = false;
if ($using) return $this->failure("删除失败-该问卷正被使用");
$survey = Survey::where('m_id', $m_id)->where('id', $id)->delete();
SurveyServiceModel::where("survey_id",$id)->delete();
return $this->success('ok', $survey);
}
/**
* 公版问卷-绑定服务
* @param Request $request
* @throws \Exception
*/
public function bindSurveyService(Request $request, $id)
{
$m_id = $request->account_id;
$type_id = $request->input('type_id');
$type = $request->input('type');
if (empty($type_id) || empty($type)) throw new \Exception("缺少类型参数或类型id");
SurveyService::bindSurveyService(['m_id'=>$m_id, 'type'=>$type, 'type_id'=>$type_id, 'survey_id'=>$id]);
MakeSurveyQrcode::dispatch($m_id, $type, $type_id, $id)->onQueue('love');
return $this->success('ok');
}
public function unbindSurveyService(Request $request, $id)
{
$m_id = $request->account_id;
$type_id = $request->input('type_id');
$type = $request->input('type');
if (empty($type_id) || empty($type)) throw new \Exception("缺少类型参数或类型id");
SurveyServiceModel::where(['m_id'=>$m_id, 'survey_id'=>$id, 'type'=>$type, 'type_id'=>$type_id])->delete();
return $this->success('ok');
}
public function surveyServices(Request $request, $id)
{
$services = SurveyServiceModel::where('survey_id', $id);
$keyword = $request->input('keyword');
if ($keyword) {
$services = $services->where('title', 'like', '%'.$keyword.'%');
}
$type = $request->input('type');
if ($type) {
$services = $services->where('type', $type);
}
$services = $services->orderByDesc('id')->paginate();
return $this->success('ok', $services);
}
public function surveyService(Request $request)
{
$type = $request->input('type');
$type_id = $request->input('type_id');
$service = SurveyServiceModel::with('survey')->where('type', $type)->where('type_id',$type_id)->first();
return $this->success('ok', $service);
}
public function surveyServiceUsers(Request $request, $id=null)
{
$survey_users = SurveyUser::with('merchantUser:id,mobile,nickname,pic')->whereHas('payOrder');
if ($id) {
$survey_users = $survey_users->where('survey_service_id', $id);
}else {
$survey_service_id = $request->input('survey_service_id');
$type = $request->input('type');
$type_id = $request->input('type_id');
if (empty($type) || empty($type_id)) throw new \Exception("缺少参数type,type_id");
$where = [
['type','=',$type],
['type_id','=',$type_id],
['survey_service_id','=',$survey_service_id],
];
$survey_users = $survey_users->where($where);
}
$keyword = $request->input('keyword');
if ($keyword) {
$survey_users = $survey_users->whereHas('merchantUser', function($sql) use($keyword) {
$sql->where('nickname', 'like', '%'.$keyword.'%')
->orWhere('mobile', 'like', '%'.$keyword.'%');
});
}
$nopage = $request->input('nopage', 0);
if ($nopage) {
$survey_users = $survey_users->orderByDesc('id')->get();
}else {
$survey_users = $survey_users->orderByDesc('id')->paginate();
}
return $this->success('ok', $survey_users);
}
public function surveyUsers(Request $request, $id)
{
$survey_users = SurveyUser::with('merchantUser:id,mobile,nickname,pic')
->whereHas('payOrder')
->where('survey_id', $id)
->whereNull('survey_service_id')
->whereNull('type')->whereNull('type_id');
$keyword = $request->input('keyword');
if ($keyword) {
$survey_users = $survey_users->whereHas('merchantUser', function($sql) use($keyword) {
$sql->where('nickname', 'like', '%'.$keyword.'%')
->orWhere('mobile', 'like', '%'.$keyword.'%');
});
}
$nopage = $request->input('nopage', 0);
if ($nopage) {
$survey_users = $survey_users->orderByDesc('id')->get();
}else {
$survey_users = $survey_users->orderByDesc('id')->paginate();
}
return $this->success('ok', $survey_users);
}
/**
* 活动/服务详情 问卷列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse|string
*/
public function surveysByService(Request $request)
{
try {
$merchant_id = $request->account_id;
$type = $request->input('type');
$type_id = $request->input('type_id');
$list = SurveyServiceModel::with('survey')
->where('type',$type)
->where('type_id',$type_id)
->where('m_id',$merchant_id)
->paginate();
return $this->success('ok',$list);
} catch (\Exception $e) {
$this->getError($e);
return $this->failure($e->getMessage());
}
}
}