You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
4.2 KiB
158 lines
4.2 KiB
<?php
|
|
|
|
namespace app\mall\controller\api;
|
|
|
|
|
|
use app\mall\model\MallEvaluate;
|
|
use think\facade\Db;
|
|
|
|
class Evaluate extends Base
|
|
{
|
|
/**
|
|
* 获取商品评价
|
|
* @date 2021-03-01
|
|
*/
|
|
public function getEvaluateList()
|
|
{
|
|
$param = input('post.');
|
|
$param['per_page_number'] = input('post.per_page_number', 10);
|
|
|
|
$evaluate_model = new MallEvaluate();
|
|
|
|
$where = [
|
|
['uid', '=', UID],
|
|
['product_id', '=', $param['product_id']],
|
|
['evaluate_id', '=', 0],
|
|
['status', '=', 2] //审核通过的
|
|
];
|
|
if (!empty($param['index'])) {
|
|
if ($param['index'] == 1) {
|
|
$where[] = ['has_img', '=', 2];
|
|
} else if ($param['index'] == 2) {
|
|
$where[] = ['star_rank', '=', 3];
|
|
} else if ($param['index'] == 3) {
|
|
$where[] = ['star_rank', '=', 2];
|
|
} else if ($param['index'] == 4) {
|
|
$where[] = ['star_rank', '=', 1];
|
|
} else if ($param['index'] == 5) {
|
|
$where[] = ['is_add', '=', 1];
|
|
}
|
|
}
|
|
|
|
$field = 'id,user_id,product_sku_name,content,has_video,video_path,has_img,img_path,create_time,is_add,is_replay,replay';
|
|
$list = $evaluate_model->getEvaluateList($where, $param['page'], $field, 'id desc', $param['per_page_number']);
|
|
|
|
return sendSuccessMessage([
|
|
'list' => $list
|
|
]);
|
|
}
|
|
|
|
|
|
/**
|
|
* 获取商品评价种类数量
|
|
* @date 2021-03-01
|
|
*/
|
|
public function getEvaluateNumber()
|
|
{
|
|
$param = input('post.');
|
|
|
|
|
|
$evaluate_model = new MallEvaluate();
|
|
|
|
$where = [
|
|
['product_id', '=', $param['product_id']],
|
|
['evaluate_id', '=', 0],
|
|
];
|
|
$number['all'] = $evaluate_model->where($where)->count();
|
|
|
|
$number['image'] = $evaluate_model->where($where)->where([
|
|
['has_img', '=', 2]
|
|
])->count(); //TODO 有视频是否算有图
|
|
|
|
$number['good'] = $evaluate_model->where($where)->where([
|
|
['star_rank', '=', 3]
|
|
])->count();
|
|
$number['middle'] = $evaluate_model->where($where)->where([
|
|
['star_rank', '=', 2]
|
|
])->count();
|
|
$number['bad'] = $evaluate_model->where($where)->where([
|
|
['star_rank', '=', 1]
|
|
])->count();
|
|
$number['add'] = $evaluate_model->where($where)->where([
|
|
['is_add', '=', 1]
|
|
])->count();
|
|
|
|
return sendSuccessMessage([
|
|
'number' => $number
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* 获取我的评价列表
|
|
* @date 2021-03-01
|
|
*/
|
|
public function getMyEvaluateList()
|
|
{
|
|
$param = input('post.');
|
|
|
|
$evaluate_model = new MallEvaluate();
|
|
|
|
$where = [
|
|
['uid', '=', UID],
|
|
['user_id', '=', USER_ID],
|
|
['evaluate_id', '=', 0]
|
|
];
|
|
$list = $evaluate_model->getEvaluateList($where, $param['page'], '*');
|
|
|
|
return sendSuccessMessage([
|
|
'list' => $list
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* 订单评价
|
|
* @date 2021-03-01
|
|
*/
|
|
public function orderEvaluate()
|
|
{
|
|
$param = input('post.');
|
|
$param['order_product'] = json_decode($param['order_product'], true);
|
|
|
|
$order_logic = new \app\mall\logic\Order();
|
|
|
|
Db::startTrans();
|
|
$res = $order_logic->orderEvaluate($param['order_id'], $param['order_product'], USER_ID);
|
|
if ($res['code'] != 0) {
|
|
Db::rollback();
|
|
return json($res);
|
|
}
|
|
Db::commit();
|
|
|
|
return sendSuccessMessage([], '评论成功');
|
|
}
|
|
|
|
/**
|
|
* 订单追加评价
|
|
* @date 2021-03-01
|
|
*/
|
|
public function orderEvaluateAdd()
|
|
{
|
|
$param = input('post.');
|
|
$param['order_product'] = json_decode($param['order_product'], true);
|
|
|
|
$order_logic = new \app\mall\logic\Order();
|
|
|
|
Db::startTrans();
|
|
$res = $order_logic->orderEvaluateAdd($param['order_id'], $param['order_product'], USER_ID);
|
|
if ($res['code'] != 0) {
|
|
Db::rollback();
|
|
return json($res);
|
|
}
|
|
Db::commit();
|
|
|
|
return sendSuccessMessage([], '评论成功');
|
|
}
|
|
|
|
|
|
}
|