<?php
|
|
namespace app\api\controller\branch;
|
|
use app\api\controller\Controller;
|
use app\api\model\branch\ActivityComment as ActivityCommentModel;
|
use app\api\model\branch\ActivityUser as ActivityUserModel;
|
|
/**
|
* 活动评论控制器
|
*/
|
class ActivityComment extends Controller
|
{
|
/**
|
* 获取活动评论列表
|
*/
|
public function lists($activity_id)
|
{
|
$model = new ActivityCommentModel;
|
$list = $model->getActivityCommentList($activity_id, $this->postData());
|
return $this->renderSuccess('', compact('list'));
|
}
|
|
/**
|
* 获取活动评论统计
|
*/
|
public function statistics($activity_id)
|
{
|
$model = new ActivityCommentModel;
|
$statistics = $model->getCommentStatistics($activity_id);
|
return $this->renderSuccess('', compact('statistics'));
|
}
|
|
/**
|
* 活动报名详情及评价表单
|
*/
|
public function order($order_id)
|
{
|
// 报名记录
|
$activityUser = ActivityUserModel::detail($order_id, ['activity', 'activity.visitSupplier']);
|
// 验证是否允许评论
|
$model = new ActivityCommentModel;
|
if (!$model->checkActivityUserAllowComment($activityUser)) {
|
return $this->renderError($model->getError());
|
}
|
|
// 获取供应商名称
|
$supplierName = '';
|
if (isset($activityUser['activity']['visit_supplier_name'])) {
|
$supplierName = $activityUser['activity']['visit_supplier_name'];
|
} elseif (isset($activityUser['activity']['visitSupplier']) && $activityUser['activity']['visitSupplier'] && isset($activityUser['activity']['visitSupplier']['name'])) {
|
$supplierName = $activityUser['activity']['visitSupplier']['name'];
|
}
|
|
// 返回报名信息用于展示
|
$data = [
|
'order_id' => $activityUser['order_id'],
|
'activity_id' => $activityUser['activity_id'],
|
'activity_name' => $activityUser['activity']['name'],
|
'supplier_name' => $supplierName,
|
];
|
|
// 提交评论
|
if ($this->request->isPost()) {
|
$formData =$this->request->request('formData');
|
$formData = json_decode($formData,true);
|
if ($model->addForActivityUser($activityUser, $formData)) {
|
return $this->renderSuccess('评价发表成功');
|
}
|
return $this->renderError($model->getError() ?: '评价发表失败');
|
}
|
|
return $this->renderSuccess('', $data);
|
}
|
}
|