|
@@ -10,6 +10,7 @@ namespace app\models\store;
|
|
|
use app\admin\model\system\SystemStore;
|
|
|
use app\models\user\User;
|
|
|
use crmeb\basic\BaseModel;
|
|
|
+use crmeb\services\PHPExcelService;
|
|
|
use crmeb\traits\ModelTrait;
|
|
|
|
|
|
/**
|
|
@@ -68,7 +69,11 @@ class StoreExchangeOrder extends BaseModel
|
|
|
$model = $model->order('a.id desc');
|
|
|
}
|
|
|
$count = $model->count();
|
|
|
- $data = ($data = $model->page((int)$where['page'], (int)$where['limit'])->select()) && count($data) ? $data->toArray() : [];
|
|
|
+ if ($where['excel']) {
|
|
|
+ $data = ($data = $model->select()) && count($data) ? $data->toArray() : [];
|
|
|
+ } else {
|
|
|
+ $data = ($data = $model->page((int)$where['page'], (int)$where['limit'])->select()) && count($data) ? $data->toArray() : [];
|
|
|
+ }
|
|
|
foreach ($data as &$v) {
|
|
|
$v['nickname'] = User::where('uid', $v['uid'])->value('nickname');
|
|
|
$v['giftnickname'] = User::where('uid', $v['gift_uid'])->value('nickname');
|
|
@@ -85,9 +90,48 @@ class StoreExchangeOrder extends BaseModel
|
|
|
$v['store'] = SystemStore::where('id', $v['store_id'])->value('name') ?: '--';
|
|
|
$v['add_time'] = $v['add_time'] ? date('Y-m-d H:i:s', $v['add_time']) : '';
|
|
|
}
|
|
|
+ if (isset($where['excel']) && $where['excel'] == 1) {
|
|
|
+ self::SaveExcel($data);
|
|
|
+ }
|
|
|
return compact('data', 'count');
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public static function SaveExcel($list)
|
|
|
+ {
|
|
|
+ $export = [];
|
|
|
+ foreach ($list as $index => $item) {
|
|
|
+ $_info = $item['_info'];
|
|
|
+ $goodsName = [];
|
|
|
+ foreach ($_info as $k => $v) {
|
|
|
+ $v = json_decode($v, true);
|
|
|
+ $suk = '';
|
|
|
+ if (isset($v['productInfo']['attrInfo'])) {
|
|
|
+ if (isset($v['productInfo']['attrInfo']['suk'])) {
|
|
|
+ $suk = '(' . $v['productInfo']['attrInfo']['suk'] . ')';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $goodsName[] = implode(
|
|
|
+ [$v['productInfo']['store_name'],
|
|
|
+ $suk,
|
|
|
+ "[1 * {$v['truePrice']}]"
|
|
|
+ ], ' ');
|
|
|
+ }
|
|
|
+ $export[] = [
|
|
|
+ $item['order_id'],
|
|
|
+ $goodsName,
|
|
|
+ $item['nickname'] . '|' . $item['uid'],
|
|
|
+ $item['giftnickname'] . '|' . $item['gift_uid'],
|
|
|
+ $item['store'],
|
|
|
+ $item['status_name'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ PHPExcelService::setExcelHeader(['订单号', '商品信息', '订单用户', '赠送人', '核销店铺', '兑换券状态'])
|
|
|
+ ->setExcelTile('兑换券导出' . date('YmdHis', time()), '兑换券信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
|
|
|
+ ->setExcelContent($export)
|
|
|
+ ->ExcelSave();
|
|
|
+ }
|
|
|
+
|
|
|
public static function getOrderWhere($where, $model, $aler = '', $join = '')
|
|
|
{
|
|
|
if (isset($where['status']) && $where['status'] != '') $model = self::statusWhere($where['status'], $model, $aler);
|