修复本地生活订单导出功能
This commit is contained in:
parent
accb794394
commit
6f3efaf9a3
@ -66,7 +66,6 @@ class LocalStore extends AdminBase
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
public function del() {
|
||||
if ($this->request->isAjax()) {
|
||||
$post = $this->request->post();
|
||||
|
||||
@ -101,32 +101,42 @@ class LocalStoreLogic extends Logic
|
||||
// 导出数据
|
||||
public static function exportOrderData()
|
||||
{
|
||||
$time = date('Y-m-d H:i:s', strtotime('today 2:00:00'));
|
||||
$today = date('Y-m-d H:i:s', strtotime('today 02:00:00'));
|
||||
|
||||
try {
|
||||
$result = LocalStoreOrderRecord::where([ ['local_store_order_time', '<=', $time]])->field('local_store_order_id')->select()->toArray();
|
||||
$localStoreOrder = new LocalStoreOrder();
|
||||
|
||||
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')
|
||||
// 先将之前已导出的数据状态为2,这样就不会在重复导出之前的数据了(如果昨天的日期导出的状态还是为1则立马转换为2)
|
||||
$last_where[] = ['create_time', '<=', date('Y-m-d H:i:s', strtotime('yesterday 02:00:00'))];
|
||||
$last_where[] = ['is_checkout', '=', 1];
|
||||
$last_where[] = ['is_export', '=', 1];
|
||||
$localStoreOrder->where($last_where)->update(['is_export' => 2]);
|
||||
|
||||
$l_where[] = ['is_checkout', '=', 1];
|
||||
$l_where[] = ['create_time', '<=', $today];
|
||||
$l_where[] = ['is_export', '=', 1];
|
||||
$result = LocalStoreOrder::where($l_where)->limit(1)->select()->toArray();
|
||||
if (!empty($result)) {
|
||||
// 当天可以多次导出数据
|
||||
$lists = LocalStoreOrder::where($l_where)
|
||||
->field('lstore_id, 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];
|
||||
$where[] = ['create_time', '<=', $today];
|
||||
$where[] = ['is_export', '=', 0];
|
||||
|
||||
$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')
|
||||
->field('lstore_id, 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');
|
||||
@ -134,13 +144,21 @@ class LocalStoreLogic extends Logic
|
||||
$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]);
|
||||
|
||||
// 更新状态数据为已结账和可以继续导出
|
||||
$localStoreOrder->where($where)->update(['is_checkout' => 1, 'is_export' => 1]);
|
||||
}
|
||||
|
||||
foreach ($lists as &$v) {
|
||||
$v['bank_card'] = $v['bank_card'] . ' ';
|
||||
$v['large_number'] = $v['large_number'] . ' ';
|
||||
if ($v['payment_type'] == 1) {
|
||||
$v['payment_type'] = self::$PAYMENT_TYPE[$v['payment_type']];
|
||||
} else {
|
||||
// 对私银行账户
|
||||
$res = LocalStore::where('lstore_id', $v['lstore_id'])->field('bank_user_name')->find();
|
||||
$v['payment_type'] = $res['bank_user_name'];
|
||||
}
|
||||
}
|
||||
|
||||
$excelFields = [
|
||||
|
||||
Loading…
Reference in New Issue
Block a user