12 changed files with 149 additions and 62 deletions
-
86app/Admin/Actions/Exporter/GoodsSales.php
-
1app/Admin/Actions/Tools/GoodsReportExport.php
-
30app/Admin/Controllers/v3/GoodsReportController.php
-
41app/Admin/Repositories/v3/GoodsActivityReport.php
-
36app/Admin/Repositories/v3/GoodsReport.php
-
2app/Admin/Widgets/Charts/OrderGoodsActivityCountChart.php
-
2app/Admin/Widgets/Charts/OrderGoodsActivityTotalChart.php
-
1app/Admin/routes.php
-
2app/Models/ImsCjdcOrder.php
-
2app/Models/ImsCjdcOrderMain.php
-
2app/Models/LanzuOrderGoods.php
-
6resources/lang/zh-CN/goods-report.php
@ -0,0 +1,86 @@ |
|||
<?php |
|||
|
|||
namespace App\Admin\Actions\Exporter; |
|||
|
|||
use Maatwebsite\Excel\Concerns\FromArray; |
|||
use Maatwebsite\Excel\Concerns\WithStrictNullComparison; |
|||
use Maatwebsite\Excel\Concerns\ShouldAutoSize; |
|||
use App\Admin\Repositories\v3\GoodsReport; |
|||
use App\Models\v3\Market as MarketModel; |
|||
use App\Models\v3\Store as StoreModel; |
|||
use App\Models\LanzuOrderGoods as OrderGoodsModel; |
|||
use App\Models\ImsCjdcOrderMain as OrderMainModel; |
|||
use App\Models\ImsCjdcOrder as OrderModel; |
|||
|
|||
class GoodsSales implements FromArray, WithStrictNullComparison, ShouldAutoSize |
|||
{ |
|||
protected $params = []; |
|||
public function __construct($params) |
|||
{ |
|||
$this->params = $params; |
|||
} |
|||
|
|||
public function array(): array |
|||
{ |
|||
$result = [[ |
|||
'下单时间', |
|||
'主订单号', |
|||
'商品ID', |
|||
'商品名称', |
|||
'市场', |
|||
'店铺', |
|||
'售价(元)', |
|||
'原价(元)', |
|||
'数量', |
|||
'单位', |
|||
'规格', |
|||
|
|||
]]; |
|||
$data = $this->getData($this->params); |
|||
$markets = MarketModel::getMarketArray(); |
|||
$stores = StoreModel::getStoreArray(); |
|||
foreach ($data as $value){ |
|||
$specStr = ''; |
|||
if(!empty($value['spec'])){ |
|||
$specArr = json_decode($value['spec'],true); |
|||
if(isset($specArr[0]['spec_key'])){ |
|||
foreach($specArr as $spec){ |
|||
$specStr .= ' ['.$spec['spec_key'].':'.$spec['spec_value'].'] '; |
|||
} |
|||
} |
|||
} |
|||
$global_order_id = $value['global_order_id']??''; |
|||
$item = [ |
|||
date('Y-m_d H:i:s',$value['created_at']), |
|||
' '.$global_order_id, |
|||
$value['goods_id'], |
|||
$value['name']??'', |
|||
$markets[$value['market_id']]??'', |
|||
$stores[$value['store_id']]??'', |
|||
$value['price']??0, |
|||
$value['original_price']??0, |
|||
$value['number']??0, |
|||
$value['goods_unit']??'', |
|||
$specStr??'' |
|||
]; |
|||
|
|||
$result[] = $item; |
|||
} |
|||
return $result; |
|||
} |
|||
|
|||
/** |
|||
* 获取数据 |
|||
*/ |
|||
public function getData($option = []) |
|||
{ |
|||
$params = $option; |
|||
$repository = new GoodsReport(); |
|||
$selects = OrderGoodsModel::$tableName.'.goods_id,'.OrderGoodsModel::$tableName.'.name,price,original_price,goods_unit,spec,'.OrderMainModel::$tableName.'.market_id,'.OrderModel::$tableName.'.store_id,number,'.OrderMainModel::$tableName.'.created_at,global_order_id'; |
|||
$orderGoods = $repository->getDataModel($selects,$params); |
|||
$list = $orderGoods->get()->toArray(); |
|||
|
|||
return $list; |
|||
} |
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue