love_php/app/Http/Controllers/Server/Admin/QuestionnaireController.php

780 lines
30 KiB
PHP
Raw Normal View History

2026-04-02 09:20:51 +08:00
<?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());
}
}
}