|
|
<?php
namespace App\Admin\Actions\Exporter;
use Maatwebsite\Excel\Concerns\FromArray;use Maatwebsite\Excel\Concerns\WithStrictNullComparison;use App\Admin\Repositories\v3\GoodsActivityReport;use App\Models\v3\Market as MarketModel;use App\Models\v3\Store as StoreModel;use App\Models\ImsCjdcOrderMain as OrderMainModel;use App\Models\ImsCjdcOrder as OrderModel;use App\Models\LanzuOrderGoods as OrderGoodsModel;use App\Models\v3\GoodsActivity as GoodsActivityModel;
class GoodsActivitySales implements FromArray, WithStrictNullComparison{ 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){ $createdAt = $value['created_at']??0; $item = [ $value['goods_id'], $value['name']??'', $markets[$value['market_id']]??'', $stores[$value['store_id']]??'', $value['price']??0, $value['purchase_price']??0, date('Y-m-d H:i:s',$createdAt), $value['total']??0, $value['subsidy_total']??0 ]; $result[] = $item; } return $result; }
/** * 获取数据 */ public function getData($option = []) { $params = $option; $repository = new GoodsActivityReport(); $selects = OrderGoodsModel::$tableName.'.number as total,('.GoodsActivityModel::TABLE_NAME.'.purchase_price-'.GoodsActivityModel::TABLE_NAME.'.price)*'.OrderGoodsModel::$tableName.'.number as subsidy_total,'.GoodsActivityModel::TABLE_NAME.'.price,'.GoodsActivityModel::TABLE_NAME.'.purchase_price,'.OrderGoodsModel::$tableName.'.goods_id,'.OrderGoodsModel::$tableName.'.name,'.OrderGoodsModel::$tableName.'.cover_img,'.OrderGoodsModel::$tableName.'.created_at,'.OrderMainModel::$tableName.'.market_id,'.OrderModel::$tableName.'.store_id'; $orderGoodsActivity = $repository->getDataModel($selects,$params); $list = $orderGoodsActivity->orderBy('total','desc')->get()->toArray(); return $list; }
}
|