优化订单导出

This commit is contained in:
wangxiaowei 2024-08-13 16:06:53 +08:00
parent 596b339500
commit b0f4f99e53
2 changed files with 45 additions and 6 deletions

@ -5,8 +5,8 @@ namespace app\admin\logic\shop;
use app\common\basics\Logic;
use app\common\model\LocalStore;
use app\common\model\LocalStoreOrder;
use app\common\model\LocalStoreOrderRecord;
use app\common\server\ExportExcelServer;
use app\common\server\UrlServer;
use app\common\server\WeChatServer;
use EasyWeChat\Factory;
use app\common\model\user\User;
@ -61,12 +61,41 @@ class LocalStoreLogic extends Logic
// 导出数据
public static function exportOrderData()
{
$time = date('Y-m-d H:i:s', strtotime('today 2:00:00'));
try {
$lists = LocalStoreOrder::order('id desc')
->field('payment_type, account_name, bank_name, bank_card, large_number, separate_account, sum(separate_account) as total, tips, notes')
->group('bank_card')
->select()
->toArray();
$result = LocalStoreOrderRecord::where([ ['local_store_order_time', '<=', $time]])->field('local_store_order_id')->select()->toArray();
if ($result) {
foreach ($result as &$v) {
$ids[] = $v['local_store_order_id'];
}
$lists = LocalStoreOrder::whereIn('id', $ids)
->field('payment_type, account_name, bank_name, bank_card, large_number, separate_account, sum(separate_account) as total, tips, notes')
->group('bank_card')
->select()
->toArray();
} else {
$where[] = ['is_checkout', '=', 0];
$where[] = ['create_time', '<=', $time];
$localStoreOrder = new LocalStoreOrder();
$lists = $localStoreOrder
->where($where)
->field('payment_type, account_name, bank_name, bank_card, large_number, separate_account, sum(separate_account) as total, tips, notes')
->group('bank_card')
->select()
->toArray();
$data = $localStoreOrder->field('id, create_time')->where($where)->select()->toArray();
$record = [];
$insert_time = date('Y-m-d H:i:s');
foreach ($data as &$v) {
$record[] = ['local_store_order_id' => $v['id'], 'local_store_order_time' => $v['create_time'], 'export_time' => $insert_time];
}
LocalStoreOrderRecord::insertAll($record);
$localStoreOrder->where($where)->update(['is_checkout' => 1]);
}
foreach ($lists as &$v) {
$v['bank_card'] = $v['bank_card'] . ' ';

@ -0,0 +1,10 @@
<?php
namespace app\common\model;
use think\Model;
class LocalStoreOrderRecord extends Model
{
protected $name = 'local_store_order_record';
}