// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\store\controller; use app\store\model\Order as OrderModel; use app\store\model\Goods as GoodsModel; use think\response\Json; use app\common\model\UploadFile as UploadFileModel; use PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\F; /** * 订单管理 * Class Order * @package app\store\controller */ class Order extends Controller { /** * 订单列表 * @param string $dataType * @return Json */ public function list(string $dataType): Json { // 订单列表 $model = new OrderModel; $params = $this->request->param(); $params['merchantId'] = $this->merchantId; $result = $model->getList($params); $data = $result->items(); $goodsModel = new GoodsModel; if (!empty($data)) { foreach ($data as $key => $value) { $data[$key]['address_match_text'] = '--'; $copy_text = "订单号:{$value['order_no']}\n"; $goods_images = $goodsModel->storeUsePlatformGoodsImage(array_column($value['goods']->toArray(), 'origin_goods_id')); foreach ($value['goods'] as $good) { //使用总后台的商品图片 if ($good['origin_goods_id'] && $value['store_id'] > 0) { $good['goods_image'] = $goods_images[$good['origin_goods_id']][0]['file']['preview_url'] ?? ""; } $copy_text .= "商品名称:{$good['goods_name']}\n"; if (!empty($good['goods_no'])) { $copy_text .= "商品编码:{$good['goods_no']}\n"; } $copy_text .= "单价:{$good['goods_price']}\n"; $copy_text .= "数量:{$good['total_num']}\n"; $copy_text .= "总价:{$good['total_price']}\n"; $copy_text .= "\n"; } if (!empty($value['address'])) { $copy_text .= "\n"; $copy_text .= "收件人:{$value['address']['name']}\n"; $copy_text .= "电话:{$value['address']['phone']}\n"; $address = ''; if (!empty($value['address']['region'])) { $address = $value['address']['region']['province'] . $value['address']['region']['city'] . $value['address']['region']['region']; } $copy_text .= "地址:$address{$value['address']['detail']}\n"; } $data[$key]['copy_text'] = $copy_text; if ($value['delivery_type'] == 10) { if ($value['address_match'] == 20) { $data[$key]['address_match_text'] = '匹配'; } else { $data[$key]['address_match_text'] = '不匹配'; } } $merchant = null; if ($value['merchant_id']) { $merchant = \app\common\model\Merchant::detail($value['merchant_id'], $value['store_id']); if ($merchant) { if ($merchant['license_img_id']) { $img_ids = explode(",", $merchant['license_img_id']); $files = UploadFileModel::getFileList($img_ids, $value['store_id']); $merchant['licenseImg'] = $files ?: null; } if ($merchant['logo_image_id']) { $files = UploadFileModel::getFileList([$merchant['logo_image_id']], $value['store_id']); $merchant['logoImage'] = $files ?: null; } } } $data[$key]['merchant'] = $merchant; } } $list['current_page'] = $result->currentPage(); $list['last_page'] = $result->lastPage(); $list['total'] = $result->total(); $list['data'] = $data; return $this->renderSuccess(compact('dataType', 'list')); } /** * 订单详情 * @param int $orderId * @return Json */ public function detail(int $orderId): Json { // 订单详情 $model = new OrderModel; if (!$detail = $model->getDetail($orderId)) { return $this->renderError('未找到该订单记录'); } return $this->renderSuccess(compact('detail')); } }