82 lines
3.6 KiB
PHP
Executable File
82 lines
3.6 KiB
PHP
Executable File
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||
// +----------------------------------------------------------------------
|
||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||
// | 开源版本可自由商用,可去除界面版权logo
|
||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||
// | 访问官网:https://www.likeadmin.cn
|
||
// | likeadmin团队 版权所有 拥有最终解释权
|
||
// +----------------------------------------------------------------------
|
||
// | author: likeadminTeam
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\adminapi\logic\logistics;
|
||
|
||
|
||
use app\common\model\logistics\Courier;
|
||
use app\common\model\logistics\Logistics;
|
||
use app\common\logic\BaseLogic;
|
||
use app\common\model\logistics\LogisticsRecord;
|
||
use app\common\model\logistics\Product;
|
||
use app\common\model\logistics\User;
|
||
|
||
|
||
/**
|
||
* Logistics逻辑
|
||
* Class LogisticsLogic
|
||
* @package app\adminapi\logic
|
||
*/
|
||
class LogisticsLogic extends BaseLogic
|
||
{
|
||
|
||
/**
|
||
* @notes 获取详情
|
||
* @param $params
|
||
* @return array
|
||
* @author likeadmin
|
||
* @date 2023/08/10 15:41
|
||
*/
|
||
public static function detail($params): array
|
||
{
|
||
$logistics = Logistics::findOrEmpty($params['id']);
|
||
$logistics['status_name'] = $logistics->status_name;
|
||
//获取商品信息
|
||
$product_count = 0;
|
||
$product = Product::field('product_num,cart_info')->where('order_id', $logistics['order_id'])->select()->each(function($pro_item) use(&$product_count){
|
||
$pro_item['cart_info'] = json_decode($pro_item['cart_info'], true);
|
||
$pro_item['goods_name'] = $pro_item['cart_info']['product']['store_name'];
|
||
$pro_item['goods_unit'] = $pro_item['cart_info']['product']['unit_name'];
|
||
$pro_item['goods_pic'] = $pro_item['cart_info']['product']['image'];
|
||
$pro_item['goods_price'] = $pro_item['cart_info']['product']['price'];
|
||
$pro_item['goods_sku'] = $pro_item['cart_info']['productAttr']['sku'];
|
||
$pro_item['goods_total_price'] = $pro_item['cart_info']['product']['price'] * $pro_item['product_num'];
|
||
$product_count += $pro_item['product_num'];
|
||
unset($pro_item['cart_info']);
|
||
return $pro_item;
|
||
})->toArray();
|
||
$logistics['product'] = $product;
|
||
//获取物流记录
|
||
$records = LogisticsRecord::field('type,user_name,content,create_time')
|
||
->where('lst_id', $logistics['id'])->order('create_time desc')->select()->each(function($red_item){
|
||
switch ($red_item['type']) {
|
||
case 1:
|
||
$red_item['content'] = '用户'.$red_item['user_name'].$red_item['content'];
|
||
break;
|
||
case 2:
|
||
$red_item['content'] = '配送员'.$red_item['user_name'].$red_item['content'];
|
||
break;
|
||
case 3:
|
||
$red_item['content'] = '平台'.$red_item['user_name'].$red_item['content'];
|
||
break;
|
||
default:
|
||
$red_item['content'] = '未知';
|
||
}
|
||
unset($red_item['type'], $red_item['user_name']);
|
||
})->toArray();
|
||
$logistics['records'] = $records;
|
||
//返回数据
|
||
return $logistics->toArray();
|
||
}
|
||
} |