初始化项目:添加后端代码、ThinkPHP框架、前端资源
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
|
||||
namespace app\common\model\order;
|
||||
|
||||
use think\Model;
|
||||
use app\common\model\order\Item as OrderItem;
|
||||
/**
|
||||
* 订单评价
|
||||
*/
|
||||
class Evaluate extends Model
|
||||
{
|
||||
|
||||
|
||||
// 表名
|
||||
protected $name = 'order_evaluate';
|
||||
|
||||
// 自动写入时间戳字段
|
||||
protected $autoWriteTimestamp = 'integer';
|
||||
|
||||
// 定义时间戳字段名
|
||||
protected $createTime = 'createtime';
|
||||
protected $updateTime = false;
|
||||
protected $deleteTime = false;
|
||||
|
||||
/**
|
||||
* 获取被评价的商品信息
|
||||
* @return void
|
||||
*/
|
||||
public function getToItemInfo($orderNo,$itemId){
|
||||
|
||||
$data = OrderItem::where([
|
||||
'evaluate'=>0,
|
||||
'order_no'=>$orderNo,
|
||||
'item_id'=>$itemId
|
||||
])->find();
|
||||
|
||||
if(!$data){
|
||||
return false;
|
||||
}
|
||||
|
||||
$data['snapshoot'] = json_decode($data['snapshoot'],true);
|
||||
|
||||
$data = (new \app\api\model\order\Order())->limitItemField($data);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取评价列表
|
||||
* @param $userId
|
||||
* @param $params
|
||||
* @return array
|
||||
*/
|
||||
public function getList($userId,$params = []){
|
||||
$rows = self::with(['user']);
|
||||
$where = [];
|
||||
|
||||
if(isset($params['status']) && $params['status'] && in_array($params['status'],$this->getStatus())){
|
||||
switch ($params['status']){
|
||||
case 'good':
|
||||
$where['rate'] = ['>=' , 3];
|
||||
break;
|
||||
case 'bad':
|
||||
$where['rate'] = ['<' , 3];
|
||||
break;
|
||||
case 'img':
|
||||
$where['imgs'] = ['<>',''];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($userId){
|
||||
$where['user_id'] = $userId;
|
||||
}
|
||||
|
||||
$where['item_id'] = $params['item_id'];
|
||||
|
||||
$where['evaluate.status'] = 1;
|
||||
|
||||
$list = $rows
|
||||
->where($where)
|
||||
->order('createtime','desc')
|
||||
->limit($params['limit'])->page($params['page'])
|
||||
->select();
|
||||
|
||||
$data = [];
|
||||
|
||||
if(!empty($list)){
|
||||
foreach ($list as $index => $item){
|
||||
|
||||
try{
|
||||
$item->getRelation('user')->visible(['nickname','avatar']);
|
||||
$item->visible(['content','anonymity','createtime','imgs','rate','user']);
|
||||
|
||||
if($item['imgs']){
|
||||
$imgs = explode(",",$item['imgs']);
|
||||
|
||||
foreach ($imgs as &$img){
|
||||
$img = cdnurl($img);
|
||||
}
|
||||
|
||||
$item['imgs'] = $imgs;
|
||||
}else{
|
||||
$item['imgs'] = [];
|
||||
}
|
||||
|
||||
$item->user['avatar'] = cdnurl($item->user['avatar']);
|
||||
if($item['anonymity'] == 1){
|
||||
$item->user['nickname'] = '匿名评价';
|
||||
$item->user['url'] = '-';
|
||||
$item->user['avatar'] = letter_avatar('匿');;
|
||||
}
|
||||
$data[] = $item;
|
||||
|
||||
}catch (\Exception $e){}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取推荐的评论列表
|
||||
* @return void
|
||||
*/
|
||||
public function getRecommendList($itemId){
|
||||
$data = [];
|
||||
$data['list'] = $this->getList(0,[
|
||||
'item_id'=>$itemId,
|
||||
'limit'=>2,
|
||||
'page'=>0
|
||||
]);
|
||||
$data['count'] = self::where([
|
||||
'item_id'=>$itemId,
|
||||
'status'=>1
|
||||
])->count();
|
||||
|
||||
$orderItem = OrderItem::where('item_id', $itemId)->find();
|
||||
if ($orderItem) {
|
||||
$goodsType = $orderItem['goods_type'] ?? '';
|
||||
$isVirtualPay = \app\common\library\pay\VirtualPayService::isUseVirtualPay($goodsType);
|
||||
$data['is_virtual_pay'] = $isVirtualPay ? 1 : 0;
|
||||
} else {
|
||||
$data['is_virtual_pay'] = 0;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function getStatus()
|
||||
{
|
||||
return [
|
||||
'good',
|
||||
'bad',
|
||||
'img'
|
||||
];
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('\app\common\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user