280 行
9.0 KiB
PHP
可执行文件
280 行
9.0 KiB
PHP
可执行文件
<?php
|
|
|
|
|
|
namespace SmallProgramApi\Controller;
|
|
|
|
use Think\Controller;
|
|
use Common\Model\ImageGalleryModel;
|
|
use Common\Model\RetailBillOnlineModel;
|
|
use Common\Model\RetailSellModel;
|
|
use Common\Model\RetailOrderEvaluateModel;
|
|
|
|
//[1.7.28]
|
|
|
|
/**
|
|
* OrderEvaluateController 零售小程序商品评价
|
|
* @author shao nianyi
|
|
* @create_time 2020年4月8日
|
|
*/
|
|
class OrderEvaluateController extends BaseController
|
|
{
|
|
/**
|
|
* 获取订单商品
|
|
*/
|
|
public function getBillOrderGoods()
|
|
{
|
|
$bill_id = I('post.bill_id');
|
|
if (!$bill_id) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '必要参数缺失!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$map = [
|
|
'bill_id' => $bill_id
|
|
];
|
|
|
|
$field = [
|
|
'id as sell_id',
|
|
'goods_id',
|
|
'goods_name',
|
|
'goods_img_id',
|
|
'sku_json_info',
|
|
'add_time'
|
|
];
|
|
|
|
$SellModel = new RetailSellModel();
|
|
$order_info = $SellModel->getSelect($map, $field);
|
|
if ($order_info) {
|
|
foreach ($order_info as &$value) {
|
|
$value['add_time'] = date('Y-m-d', $value['add_time']);
|
|
$value['goods_img'] = $this->getGoodsImage($value['goods_img_id']);
|
|
// 处理规格名称
|
|
if ($value['sku_json_info']) {
|
|
$value['sku_name'] = json_decode($value['sku_json_info'], true)['name'];
|
|
$value['sku_id'] = json_decode($value['sku_json_info'], true)['id'];
|
|
} else {
|
|
$value['sku_name'] = '';
|
|
$value['sku_id'] = '';
|
|
}
|
|
unset($value['sku_json_info']);
|
|
unset($value['goods_img_id']);
|
|
}
|
|
|
|
$res['status'] = 1;
|
|
$res['msg'] = '数据获取成功';
|
|
$res['data'] = $order_info;
|
|
} else {
|
|
$res['status'] = 1;
|
|
$res['msg'] = '暂无数据,请稍后重试!';
|
|
$res['data'] = [];
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
/**
|
|
* 用户发布评论
|
|
*/
|
|
public function userReleaseEvaluate()
|
|
{
|
|
$uid = self::$uid;
|
|
$store_id = self::$store_id;
|
|
$bill_id = I('post.bill_id');
|
|
$evaluate_json = I('post.evaluate_json');
|
|
if (!$evaluate_json) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '必要参数缺失!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$evaluate_data = json_decode($evaluate_json, true);
|
|
$RetailBillOnline = new RetailBillOnlineModel();
|
|
$RetailOrderEvaluate = new RetailOrderEvaluateModel();
|
|
|
|
// 查询订单是否评价
|
|
if ($RetailBillOnline->getFind(['bill_id' => $bill_id, 'eval_status' => 1])) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '订单已评价!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$evaluate_info = '';
|
|
foreach ($evaluate_data as &$value) {
|
|
|
|
if (!$value['sell_id'] || !$value['goods_id']) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '必要参数缺失2!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
if (mb_strlen($value['content'], 'utf-8') > 100) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '评论内容过长!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$field = [
|
|
'bill_id' => (int)$bill_id,
|
|
'sell_id' => (int)$value['sell_id'],
|
|
'goods_id' => (int)$value['goods_id'],
|
|
'sku_id' => (int)$value['sku_id'],
|
|
'sku_name' => $value['sku_name'],
|
|
'goods_name' => $value['goods_name'],
|
|
'uid' => $uid,
|
|
'store_id' => $store_id,
|
|
'content' => urlencode($value['content']),
|
|
'stars' => $value['stars'],
|
|
'img_id' => $value['img_id'],
|
|
'create_time' => date('Y-m-d H:i:s', time())
|
|
];
|
|
$evaluate_info = $RetailOrderEvaluate->addOrder($field);
|
|
}
|
|
$RetailBillOnline->updateOrder(['bill_id' => $bill_id], ['eval_status' => 1]);
|
|
|
|
if ($evaluate_info) {
|
|
$res['status'] = 1;
|
|
$res['msg'] = '评价成功';
|
|
} else {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '操作失败,请稍后评价!';
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
/**
|
|
* 获取商品第一个评论及条数
|
|
*/
|
|
public function getGoodsEvaluate()
|
|
{
|
|
$goods_id = I('post.goods_id');
|
|
if (empty($goods_id)) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '必要参数缺失!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$EvaluateModel = new RetailOrderEvaluateModel();
|
|
$evaluate_info = $EvaluateModel->getGoodsEvaluate($goods_id);
|
|
$ImageGalleryModel = new ImageGalleryModel();
|
|
if ($evaluate_info['list']) {
|
|
$evaluate_info['list']['evaluate_img'] = $ImageGalleryModel->getImageArray($evaluate_info['list']['img_id']);
|
|
if (!$evaluate_info['list']['evaluate_img']) {
|
|
$evaluate_info['list']['evaluate_img'] = [];
|
|
}
|
|
|
|
if (!$evaluate_info['list']['content']) {
|
|
$evaluate_info['list']['content'] = '此用户没有填写评价';
|
|
}else{
|
|
$evaluate_info['list']['content'] = urldecode($evaluate_info['list']['content']);
|
|
}
|
|
$evaluate_info['list'] = array(0 => $evaluate_info['list']);
|
|
$res['status'] = 1;
|
|
$res['msg'] = '信息获取成功';
|
|
$res['data'] = $evaluate_info;
|
|
} else {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '该商品暂无评价';
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
/**
|
|
* 获取评论列表
|
|
*/
|
|
public function getGoodsEvaluateList()
|
|
{
|
|
$goods_id = I('post.goods_id');
|
|
$page = I('post.page') ? I('post.page') : 1;
|
|
$pageSize = I('post.pageSize') ? I('post.pageSize') : 3;
|
|
if (empty($goods_id)) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '必要参数缺失!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$EvaluateModel = new RetailOrderEvaluateModel();
|
|
$evaluate_list = $EvaluateModel->getGoodsEvaluateList($goods_id, $page, $pageSize);
|
|
$ImageGalleryModel = new ImageGalleryModel();
|
|
if ($evaluate_list) {
|
|
foreach ($evaluate_list as &$value) {
|
|
$value['evaluate_img'] = $ImageGalleryModel->getImageArray($value['img_id']);
|
|
if (!$value['evaluate_img']) {
|
|
$value['evaluate_img'] = [];
|
|
}
|
|
if (!$value['content']) {
|
|
$value['content'] = '此用户没有填写评价';
|
|
}else{
|
|
$value['content'] = urldecode($value['content']);
|
|
}
|
|
}
|
|
|
|
$res['status'] = 1;
|
|
$res['msg'] = '信息获取成功';
|
|
$res['data'] = $evaluate_list;
|
|
} else {
|
|
$res['status'] = 1;
|
|
$res['msg'] = '该商品暂无评价';
|
|
$res['data'] = array();
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
/**
|
|
* 获取评论详情
|
|
*/
|
|
public function getGoodsEvaluateDetails()
|
|
{
|
|
$evaluate_id = I('post.evaluate_id');
|
|
if (empty($evaluate_id)) {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '必要参数缺失!';
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
$EvaluateModel = new RetailOrderEvaluateModel();
|
|
$evaluate_info = $EvaluateModel->getGoodsEvaluateDetails($evaluate_id);
|
|
if ($evaluate_info) {
|
|
$ImageGalleryModel = new ImageGalleryModel();
|
|
$evaluate_info['evaluate_img'] = $ImageGalleryModel->getImageArray($evaluate_info['img_id']);
|
|
$res['status'] = 1;
|
|
$res['msg'] = '数据获取成功!';
|
|
$res['data'] = $evaluate_info;
|
|
} else {
|
|
$res['status'] = 0;
|
|
$res['msg'] = '数据异常,请稍后评价!';
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
|
|
|
|
/**
|
|
* 评论图片上传
|
|
*/
|
|
public function evaluateImage()
|
|
{
|
|
$item_arr = array(
|
|
'add_time' => time(),
|
|
'from_type_id' => 50,
|
|
'localUrl' => 'Store/Evaluate',
|
|
'user_type' => 6,
|
|
'limit_size' => 5*1024*1024,
|
|
'merchant_id' => self::$merchant_id,
|
|
);
|
|
|
|
$uploads = uploadFiles($item_arr); //上传图片
|
|
if (!empty($uploads['evaluate_img'])) {
|
|
$res['status'] = 1;
|
|
$res['evaluate_img_id'] = $uploads['evaluate_img']['id']; // 评论图片
|
|
$res['evaluate_path'] = $uploads['evaluate_img']['path']; //商品展示图片
|
|
} else {
|
|
$res['status'] = 0;
|
|
if($uploads['msg']){
|
|
$res['msg'] = $uploads['msg'];
|
|
} else {
|
|
$res['msg'] = '图片上传失败';
|
|
}
|
|
|
|
}
|
|
$this->ajaxReturn($res);
|
|
}
|
|
} |