|
@@ -8,6 +8,7 @@ use app\model\ClientFavorite;
|
|
|
use app\model\Goods;
|
|
|
use app\model\GoodsEvaluate;
|
|
|
use app\model\Member;
|
|
|
+use app\model\MemberRole;
|
|
|
use support\exception\BusinessException;
|
|
|
use support\Request;
|
|
|
use support\Response;
|
|
@@ -21,18 +22,18 @@ class EvaluateController extends Curd
|
|
|
|
|
|
public function select(Request $request): Response
|
|
|
{
|
|
|
- $goodsName = $request->get('goods_name','');
|
|
|
- $searchTimes = $request->get('goods_evaluate_addtimes',[]);
|
|
|
+ $goodsName = $request->get('goods_name', '');
|
|
|
+ $searchTimes = $request->get('goods_evaluate_addtimes', []);
|
|
|
|
|
|
[$where, $format, $limit, $field, $order] = $this->selectInput($request);
|
|
|
$order = $request->get('order', 'desc');
|
|
|
$field = $field ?? 'goods_evaluate_addtimes';
|
|
|
|
|
|
- if ($goodsName != ''){
|
|
|
- $goodsIds = Goods::where('goods_name','like','%'.$goodsName.'%')->pluck('goods_id')->toArray();
|
|
|
- $where['join_evaluate_goods_id'] = ['in',implode(',',$goodsIds)];
|
|
|
+ if ($goodsName != '') {
|
|
|
+ $goodsIds = Goods::where('goods_name', 'like', '%' . $goodsName . '%')->pluck('goods_id')->toArray();
|
|
|
+ $where['join_evaluate_goods_id'] = ['in', implode(',', $goodsIds)];
|
|
|
}
|
|
|
- if(!empty($searchTimes)){
|
|
|
+ if (!empty($searchTimes)) {
|
|
|
$searchTimes[0] = !empty($searchTimes[0]) ? strtotime($searchTimes[0]) : time();
|
|
|
$searchTimes[1] = !empty($searchTimes[1]) ? strtotime($searchTimes[1]) : time();
|
|
|
|
|
@@ -42,6 +43,7 @@ class EvaluateController extends Curd
|
|
|
$query = $this->doSelect($where, $field, $order);
|
|
|
return $this->doFormat($query, $format, $limit);
|
|
|
}
|
|
|
+
|
|
|
protected function doSelect(array $where, string $field = null, string $order = 'desc')
|
|
|
{
|
|
|
$model = $this->model->with([
|
|
@@ -92,78 +94,85 @@ class EvaluateController extends Curd
|
|
|
|
|
|
public function afterQuery($items)
|
|
|
{
|
|
|
- foreach ($items as &$item){
|
|
|
- if (!empty($item->goods_evaluate_json)){
|
|
|
+ foreach ($items as &$item) {
|
|
|
+ if (!empty($item->goods_evaluate_json)) {
|
|
|
$imagesStr = '';
|
|
|
- $goodsEvaluateJson = json_decode($item->goods_evaluate_json,true);
|
|
|
- if (isset($goodsEvaluateJson['photo'])){
|
|
|
- foreach ($goodsEvaluateJson['photo'] as $images){
|
|
|
- if (isset($images['file'])){
|
|
|
- $imagesStr .= getenv('APP_IMAGE_DOMAIN').$images['file']['file_savepath'].$images['file']['file_savename'].',';
|
|
|
+ $goodsEvaluateJson = json_decode($item->goods_evaluate_json, true);
|
|
|
+ if (isset($goodsEvaluateJson['photo'])) {
|
|
|
+ foreach ($goodsEvaluateJson['photo'] as $images) {
|
|
|
+ if (isset($images['file'])) {
|
|
|
+ $imagesStr .= getenv('APP_IMAGE_DOMAIN') . $images['file']['file_savepath'] . $images['file']['file_savename'] . ',';
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (isset($goodsEvaluateJson['desc'])){
|
|
|
+ if (isset($goodsEvaluateJson['desc'])) {
|
|
|
$item->desc = $goodsEvaluateJson['desc'];
|
|
|
}
|
|
|
- $item->photos = rtrim($imagesStr,',');
|
|
|
+ $item->photos = rtrim($imagesStr, ',');
|
|
|
}
|
|
|
}
|
|
|
return $items;
|
|
|
}
|
|
|
|
|
|
- public function info(Request $request):Response
|
|
|
+ public function info(Request $request): Response
|
|
|
{
|
|
|
- $goodsEvaluateId = $request->get('goods_evaluate_id','');
|
|
|
- if (!$goodsEvaluateId){
|
|
|
+ $goodsEvaluateId = $request->get('goods_evaluate_id', '');
|
|
|
+ if (!$goodsEvaluateId) {
|
|
|
return json_fail('参数异常');
|
|
|
}
|
|
|
|
|
|
$evaluate = GoodsEvaluate::with([
|
|
|
- 'member'=>function($query){
|
|
|
- $query->select('member_id','member_mobile');
|
|
|
+ 'member' => function ($query) {
|
|
|
+ $query->select('member_id', 'member_mobile', 'member_is_owner', 'join_member_role_id', 'member_is_vip', 'member_is_partner', 'member_is_referrer');
|
|
|
},
|
|
|
- 'cert' => function ($query){
|
|
|
- $query->select('join_cert_member_id','member_cert_name');
|
|
|
+ 'cert' => function ($query) {
|
|
|
+ $query->select('join_cert_member_id', 'member_cert_name');
|
|
|
},
|
|
|
- 'info' => function ($query){
|
|
|
- $query->select('join_info_member_id','member_info_nickname','member_info_headimg');
|
|
|
+ 'info' => function ($query) {
|
|
|
+ $query->select('join_info_member_id', 'member_info_nickname', 'member_info_headimg');
|
|
|
},
|
|
|
- 'goods' => function($query){
|
|
|
- $query->select('goods_id','goods_name','goods_cover','goods_sales_price');
|
|
|
+ 'goods' => function ($query) {
|
|
|
+ $query->select('goods_id', 'goods_name', 'goods_cover', 'goods_sales_price');
|
|
|
},
|
|
|
- 'order' => function($query){
|
|
|
- $query->select('order_id','order_amount_pay','order_is_complete','order_status_system','order_status_payment','order_addtimes');
|
|
|
+ 'order' => function ($query) {
|
|
|
+ $query->select('order_id', 'order_amount_pay', 'order_is_complete', 'order_status_system', 'order_status_payment', 'order_addtimes');
|
|
|
}
|
|
|
- ])->where('goods_evaluate_id',$goodsEvaluateId)
|
|
|
+ ])->where('goods_evaluate_id', $goodsEvaluateId)
|
|
|
->first();
|
|
|
|
|
|
- if (!empty($evaluate->goods_evaluate_json)){
|
|
|
+ if (!empty($evaluate->goods_evaluate_json)) {
|
|
|
$imagesStr = '';
|
|
|
- $goodsEvaluateJson = json_decode($evaluate->goods_evaluate_json,true);
|
|
|
- if (isset($goodsEvaluateJson['photo'])){
|
|
|
- foreach($goodsEvaluateJson['photo'] as $file){
|
|
|
- if (isset($file['file'])){
|
|
|
- $imagesStr .= getenv('APP_IMAGE_DOMAIN_LOCAL').$file['file']['file_savepath'].$file['file']['file_savename'].',';
|
|
|
+ $goodsEvaluateJson = json_decode($evaluate->goods_evaluate_json, true);
|
|
|
+ if (isset($goodsEvaluateJson['photo'])) {
|
|
|
+ foreach ($goodsEvaluateJson['photo'] as $file) {
|
|
|
+ if (isset($file['file'])) {
|
|
|
+ $imagesStr .= getenv('APP_IMAGE_DOMAIN_LOCAL') . $file['file']['file_savepath'] . $file['file']['file_savename'] . ',';
|
|
|
}
|
|
|
}
|
|
|
- $evaluate->photos = rtrim($imagesStr,',');
|
|
|
+ $evaluate->photos = rtrim($imagesStr, ',');
|
|
|
}
|
|
|
- if (isset($goodsEvaluateJson['desc'])){
|
|
|
+ if (isset($goodsEvaluateJson['desc'])) {
|
|
|
$evaluate->desc = $goodsEvaluateJson['desc'];
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if (!empty($evaluate->info)){
|
|
|
- $evaluate->info->member_info_headimg = MemberService::getAvatarUrl($evaluate->info->member_info_headimg);
|
|
|
- $evaluate->info->member_info_nickname ?? substr($evaluate->member->member_mobile,-4).'会员';
|
|
|
+ if (!empty($evaluate->member) && !empty($evaluate->member->join_member_role_id)) {
|
|
|
+ $evaluate->member->level = MemberRole::where('member_role_id', $evaluate->member->join_member_role_id)->value('member_role_name');
|
|
|
}
|
|
|
- if (!empty($evaluate->goods)){
|
|
|
- $evaluate->goods->goods_cover = getenv('STORAGE_DOMAIN').$evaluate->goods->goods_cover;
|
|
|
- $evaluate->goods->goods_cover_origin = str_replace('/thumb','',$evaluate->goods->goods_cover);
|
|
|
+ $evaluate->member->member_info_headimg = MemberService::getAvatarUrl(!empty($evaluate->info) && !empty($evaluate->info->member_info_headimg) ? $evaluate->info->member_info_headimg : '');
|
|
|
+ $evaluate->member->member_info_nickname = MemberService::getNickname(!empty($evaluate->info) && !empty($evaluate->info->member_info_nickname) ? $evaluate->info->member_info_nickname : '', !empty($evaluate->member) ? $evaluate->member->member_mobile : '');
|
|
|
+
|
|
|
+ if (!empty($evaluate->goods)) {
|
|
|
+ $evaluateGoods = $evaluate->goods;
|
|
|
+ foreach ($evaluateGoods as &$good) {
|
|
|
+ $good['goods_cover'] = getenv('STORAGE_DOMAIN') . $good['goods_cover'];
|
|
|
+ $good['goods_cover_origin'] = str_replace('/thumb', '', $good['goods_cover']);
|
|
|
+ }
|
|
|
+ $evaluate->goods = $evaluateGoods;
|
|
|
+// $evaluate->goods->goods_cover = getenv('STORAGE_DOMAIN') . $evaluate->goods->goods_cover;
|
|
|
+// $evaluate->goods->goods_cover_origin = str_replace('/thumb', '', $evaluate->goods->goods_cover);
|
|
|
}
|
|
|
|
|
|
- return json_success('success',$evaluate);
|
|
|
+ return json_success('success', $evaluate);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -177,7 +186,7 @@ class EvaluateController extends Curd
|
|
|
try {
|
|
|
$data = $this->insertInput($request);
|
|
|
$this->doInsert($data);
|
|
|
-
|
|
|
+
|
|
|
} catch (BusinessException $customException) {
|
|
|
return json_fail($customException->getMessage());
|
|
|
} catch (\Exception $e) {
|
|
@@ -197,15 +206,15 @@ class EvaluateController extends Curd
|
|
|
{
|
|
|
$data = $this->inputFilter($request->post());
|
|
|
|
|
|
- if (!empty($data['goods_evaluate_json'])){
|
|
|
- $goodsEvaluateJson = explode(',',$data['goods_evaluate_json']);
|
|
|
- foreach ($goodsEvaluateJson as $key => $item){
|
|
|
+ if (!empty($data['goods_evaluate_json'])) {
|
|
|
+ $goodsEvaluateJson = explode(',', $data['goods_evaluate_json']);
|
|
|
+ foreach ($goodsEvaluateJson as $key => $item) {
|
|
|
$goodsEvaluateJson[$key] = str_replace(getenv('STORAGE_DOMAIN'), '', $item);
|
|
|
}
|
|
|
|
|
|
- $data['goods_evaluate_json'] = json_encode(['images'=>$goodsEvaluateJson]);
|
|
|
+ $data['goods_evaluate_json'] = json_encode(['images' => $goodsEvaluateJson]);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
@@ -246,13 +255,13 @@ class EvaluateController extends Curd
|
|
|
throw new BusinessException('记录不存在', 2);
|
|
|
}
|
|
|
|
|
|
- if (!empty($data['goods_evaluate_json'])){
|
|
|
- $goodsEvaluateJson = explode(',',$data['goods_evaluate_json']);
|
|
|
- foreach ($goodsEvaluateJson as $key => $item){
|
|
|
+ if (!empty($data['goods_evaluate_json'])) {
|
|
|
+ $goodsEvaluateJson = explode(',', $data['goods_evaluate_json']);
|
|
|
+ foreach ($goodsEvaluateJson as $key => $item) {
|
|
|
$goodsEvaluateJson[$key] = str_replace(getenv('STORAGE_DOMAIN'), '', $item);
|
|
|
}
|
|
|
|
|
|
- $data['goods_evaluate_json'] = json_encode(['images'=>$goodsEvaluateJson]);
|
|
|
+ $data['goods_evaluate_json'] = json_encode(['images' => $goodsEvaluateJson]);
|
|
|
}
|
|
|
|
|
|
unset($data[$primary_key]);
|