添加一键复制预订单
This commit is contained in:
parent
227bde742d
commit
a3dfac406b
@ -340,5 +340,13 @@ class BeforehandOrderController extends BaseAdminController
|
|||||||
BeforehandOrderLogic::confirmLog($params);
|
BeforehandOrderLogic::confirmLog($params);
|
||||||
return $this->success('确认成功');
|
return $this->success('确认成功');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function copy()
|
||||||
|
{
|
||||||
|
$params = $this->request->post();
|
||||||
|
$params['admin_id'] = $this->adminId;
|
||||||
|
BeforehandOrderLogic::copy($params);
|
||||||
|
return $this->success('复制成功');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1028,4 +1028,41 @@ class BeforehandOrderLogic extends BaseLogic
|
|||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function copy($params)
|
||||||
|
{
|
||||||
|
Db::startTrans();
|
||||||
|
try {
|
||||||
|
$order = BeforehandOrder::where('id', $params['id'])->find();
|
||||||
|
if (empty($order)) {
|
||||||
|
throw new BusinessException('订单不存在');
|
||||||
|
}
|
||||||
|
if ($order['order_type'] != 1) {
|
||||||
|
throw new BusinessException('只能复制铺货订单');
|
||||||
|
}
|
||||||
|
$orderCartInfo = BeforehandOrderCartInfo::where('bhoid', $params['id'])->select()->toArray();
|
||||||
|
unset($order['id'], $order['create_time'], $order['update_time']);
|
||||||
|
$newOrder = new BeforehandOrder();
|
||||||
|
$newOrder->setAttrs($order->toArray());
|
||||||
|
$newOrder->admin_id = $params['admin_id'];
|
||||||
|
$newOrder->store_id = $params['store_id'];
|
||||||
|
$newOrder->order_id = getNewOrderId('YG');
|
||||||
|
if (!empty($params['mark'])) {
|
||||||
|
$newOrder->mark = $params['mark'];
|
||||||
|
}
|
||||||
|
$newOrder->save();
|
||||||
|
$insert = [];
|
||||||
|
foreach ($orderCartInfo as $v) {
|
||||||
|
unset($v['id'], $v['create_time'], $v['update_time']);
|
||||||
|
$v['bhoid'] = $newOrder->id;
|
||||||
|
$insert[] = $v;
|
||||||
|
}
|
||||||
|
(new BeforehandOrderCartInfo())->saveAll($insert);
|
||||||
|
Db::commit();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Db::rollback();
|
||||||
|
throw new BusinessException($e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user