124 lines
3.4 KiB
PHP
124 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace member\modules\v1\controllers;
|
|
|
|
use common\core\BaseAppController;
|
|
use common\enums\OrderAcceptEnum;
|
|
use common\models\oldDb\Order;
|
|
use common\models\oldDb\UserComment;
|
|
use member\models\forms\CommentForm;
|
|
use yii\db\Exception;
|
|
|
|
/**
|
|
* @doc-module 用户评价
|
|
*/
|
|
class UserCommentController extends BaseAppController
|
|
{
|
|
/**
|
|
* @doc-name 添加评价
|
|
* @doc-param int su_id 医生id
|
|
* @doc-param int u_id 患者id
|
|
* @doc-param int score 评分1很差2较差3好4很好5非常好
|
|
* @doc-param string comment 内容
|
|
* @doc-param int order_id 订单id
|
|
*/
|
|
public function actionSave()
|
|
{
|
|
$post= \Yii::$app->request->post();
|
|
$this->requestValidate($post,[
|
|
[['order_id','su_id','u_id','comment','score'],'required']
|
|
]);
|
|
$order=Order::find()->where([
|
|
'id'=>$post['order_id'],
|
|
'user_id'=>\Yii::$app->user->identity->getId(),
|
|
'su_id'=>$post['su_id'],
|
|
'up_id'=>$post['u_id']
|
|
])->one();
|
|
|
|
if (!$order || $order->accept_status != OrderAcceptEnum::OVER) throw new Exception('订单不存在');
|
|
|
|
$t=\Yii::$app->db->beginTransaction();
|
|
try {
|
|
//评价
|
|
$UserComment=new UserComment();
|
|
$UserComment->su_id=$post['su_id'];
|
|
$UserComment->u_id=$post['u_id'];
|
|
$UserComment->score=$post['score'];
|
|
$UserComment->comment=$post['comment'];
|
|
$UserComment->order_id=$post['order_id'];
|
|
$UserComment->user_id=\Yii::$app->user->identity->getId();
|
|
$UserComment->saveOrFail();
|
|
|
|
//订单评价状态
|
|
$order->is_comment=1;
|
|
$order->comment_time=time();
|
|
$order->saveOrFail();
|
|
|
|
$t->commit();
|
|
}catch (\Exception $e){
|
|
$t->rollBack();
|
|
throw $e;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @doc-name 删除评价
|
|
* @doc-param int id 评价id
|
|
* @doc-param int su_id 医生id
|
|
* @doc-param int u_id 患者id
|
|
*/
|
|
public function actionDel()
|
|
{
|
|
$post= \Yii::$app->request->post();
|
|
$this->requestValidate($post,[
|
|
[ ['id','su_id','u_id'],'required']
|
|
]);
|
|
$CommentForm=new CommentForm();
|
|
$CommentForm->attributes=$post;
|
|
$CommentForm->del($post['id']);
|
|
|
|
return ['删除成功'];
|
|
}
|
|
|
|
/**
|
|
* @doc-name 评价列表
|
|
* @doc-param int su_id 医生id
|
|
* @doc-return mixed @UserComment{*} 信息
|
|
*/
|
|
public function actionList()
|
|
{
|
|
$post= \Yii::$app->request->post();
|
|
$this->requestValidate($post,[
|
|
[ 'su_id','required']
|
|
]);
|
|
$UserComment=UserComment::find()->where([
|
|
'su_id'=>$post['su_id']
|
|
])->all();
|
|
|
|
if (!$UserComment) throw new Exception('暂时没有任何评价');
|
|
return $UserComment;
|
|
}
|
|
|
|
/**
|
|
* @doc-name 编辑评价
|
|
* @doc-param int id 评价id
|
|
* @doc-param int su_id 医生id
|
|
* @doc-param int u_id 患者id
|
|
* @doc-param int score 评分
|
|
* @doc-param string comment 内容
|
|
*/
|
|
public function actionEditComment()
|
|
{
|
|
$post= \Yii::$app->request->post();
|
|
$this->requestValidate($post,[
|
|
[ ['id'],'required']
|
|
]);
|
|
$CommentForm=new CommentForm();
|
|
$CommentForm->attributes=$post;
|
|
|
|
|
|
$CommentForm->edit($post['id']);
|
|
return ['编辑成功'];
|
|
}
|
|
|
|
} |