文件
mashangyoujiu/Application/Retail/Controller/OrderEvaluateController.class.php

239 行
7.2 KiB
PHP
可执行文件

<?php
namespace Retail\Controller;
use Common\Model\ImageGalleryModel;
use Common\Model\RetailBillOrderModel;
use Common\Model\RetailSellModel;
use Common\Model\RetailOrderEvaluateModel;
use Think\Controller;
//[1.8.50]
/**
* OrderEvaluateController 后台-零售小程序商品评价
* @author shao nianyi
* @create_time 2020年4月10日
*/
class OrderEvaluateController extends BaseController
{
/**
* 评价列表展示
*/
public function index()
{
$this->display();
}
/**
* 获取门店商品评价
*/
public function getEvaluateByStore()
{
$goods_name = I('post.goods_name');
$nickname = I('post.nickname');
$stars = I('post.stars');
$is_hide = I('post.is_hide');
$start_time = I('post.start_time');
$end_time = I('post.end_time');
$page = I('post.page');
$pageSize = I('post.pageSize');
$RetailOrderEvaluate = new RetailOrderEvaluateModel();
$map['roe.state'] = 2;
$map['roe.store_id'] = $this->store_id;;
if ($nickname) {
$map['rx.nickname'] = ['like', "%{$nickname}%"];
}
if ($goods_name) {
$map['roe.goods_name'] = ['like', "%{$goods_name}%"];
}
if ($stars) {
$map['roe.stars'] = $stars;
}
if ($is_hide) {
$map['roe.is_hide'] = $is_hide;
}
if ($start_time && $end_time) {
$map['roe.create_time'] = array('between', array($start_time, $end_time));
} else if ($start_time && !$end_time) {
$map['roe.create_time'] = ['gt', $start_time];
} else if (!$start_time && $end_time) {
$map['roe.create_time'] = ['lt', $end_time];
}
$list = $RetailOrderEvaluate->getEvaluateByStore($map, $page, $pageSize);
if (!empty($list['list'])) {
$ImageGalleryModel = new ImageGalleryModel();
foreach ($list['list'] as &$value) {
$value['goods_img'] = $ImageGalleryModel->getImageArray($value['goods_img_id']);
if ($value['content']) $value['content'] = urldecode($value['content']);
}
$res['status'] = 1;
$res['msg'] = '数据获取成功!';
$res['data'] = $list;
} else {
$res['status'] = 1;
$res['msg'] = '暂无数据';
$res['data'] = array();
}
$this->ajaxReturn($res);
}
// 查看评价详情
public function getEvaluateDetails()
{
$evaluate_id = I('post.evaluate_id');
$RetailOrderEvaluate = new RetailOrderEvaluateModel();
$where['id'] = $evaluate_id;
$field = [
'content',
'img_id'
];
$evaluate_info = $RetailOrderEvaluate->getOrderFind($where, $field);
if (!$evaluate_info) {
$res['status'] = 0;
$res['msg'] = '必要参数缺失!';
$this->ajaxReturn($res);
}
$evaluate_info['content'] && ($evaluate_info['content'] = urldecode($evaluate_info['content']));
$ImageGalleryModel = new ImageGalleryModel();
$evaluate_info['goods_img'] = $ImageGalleryModel->getImageArray($evaluate_info['img_id']);
unset($evaluate_info['img_id']);
$res['status'] = 1;
$res['msg'] = '数据获取成功';
$res['data'] = $evaluate_info;
$this->ajaxReturn($res);
}
// 查看订单详情
public function getBillDetails()
{
$bill_id = I('post.bill_id');
if (!$bill_id) {
$res['status'] = 0;
$res['msg'] = '必要参数缺失!';
$this->ajaxReturn($res);
}
// 获取订单号与订单时间
$RetailBillOnline = new RetailBillOrderModel();
$billMap = [
'id' => $bill_id
];
$billField = [
'add_time',
'order_no'
];
$bill_info = $RetailBillOnline->getOrderFind($billMap, $billField);
if ($bill_info) {
$bill_info['add_time'] = date('Y-m-d H:i:s', $bill_info['add_time']);
}
// 获取订单详情
$RetailSell = new RetailSellModel();
$sellMap = [
'bill_id' => $bill_id
];
$sellField = [
's.goods_name',
's.goods_img_id',
's.price',
's.original_price',
's.vip_discount',
's.sell_number',
's.all_money'
];
$goods_info = $RetailSell->getSelectAndGoods($sellMap, $sellField);
$ImageGalleryModel = new ImageGalleryModel();
if ($goods_info) {
foreach ($goods_info as &$value) {
$value['goods_img'] = $ImageGalleryModel->getImageArray($value['goods_img_id'])[0];
}
}
$list['bill_info'] = $bill_info;
$list['goods_info'] = $goods_info;
$res['status'] = 1;
$res['msg'] = '数据获取成功';
$res['data'] = $list;
$this->ajaxReturn($res);
}
// 更改评价显示状态
public function updateEvaluateHide()
{
$evaluate_id = I('post.evaluate_id');
if (!$evaluate_id) {
$res['status'] = 0;
$res['msg'] = '必要参数缺失11!';
$this->ajaxReturn($res);
}
$RetailOrderEvaluate = new RetailOrderEvaluateModel();
$where['id'] = $evaluate_id;
$evaluate_info = $RetailOrderEvaluate->getFindTrue($where);
if (!$evaluate_info) {
$res['status'] = 0;
$res['msg'] = '评价信息有误!';
$this->ajaxReturn($res);
}
if ($evaluate_info['is_hide'] == 1) {
$result = $RetailOrderEvaluate->updateOrder(['id' => $evaluate_id], ['is_hide' => 2]);
} else {
$result = $RetailOrderEvaluate->updateOrder(['id' => $evaluate_id], ['is_hide' => 1]);
}
if ($result) {
$res['status'] = 1;
$res['msg'] = '操作成功';
} else {
$res['status'] = 0;
$res['msg'] = '操作失败,请稍后!';
}
$this->ajaxReturn($res);
}
// 更改评价置顶状态
public function updateEvaluateTop()
{
$evaluate_id = I('post.evaluate_id');
$store_id = $this->store_id;
$where['id'] = $evaluate_id;
$RetailOrderEvaluate = new RetailOrderEvaluateModel();
$evaluate_info = $RetailOrderEvaluate->getFindTrue($where);
if (!$evaluate_info) {
$res['status'] = 0;
$res['msg'] = '必要参数缺失!';
$this->ajaxReturn($res);
}
if ($evaluate_info['is_top'] == 1) {
$result = $RetailOrderEvaluate->updateOrder(['id' => $evaluate_id], ['is_top' => 2]);
} else {
$RetailOrderEvaluate->updateOrder(['store_id' => $store_id], ['is_top' => 2]); // 取消其他置顶
$result = $RetailOrderEvaluate->updateOrder(['id' => $evaluate_id], ['is_top' => 1]);
}
if ($result) {
$res['status'] = 1;
$res['msg'] = '操作成功';
} else {
$res['status'] = 0;
$res['msg'] = '操作有误!';
}
$this->ajaxReturn($res);
}
}