|
|
|
@ -39,35 +39,106 @@ class MigrateOrder extends Command |
|
|
|
public function handle() |
|
|
|
{ |
|
|
|
|
|
|
|
// get old data from old table
|
|
|
|
$oldData = DB::table('ims_cjdc_order')->get(); |
|
|
|
// main order
|
|
|
|
$orderMain = DB::table('ims_cjdc_order_main')->get(); |
|
|
|
|
|
|
|
$bar = $this->output->createProgressBar(count($oldData)); |
|
|
|
$bar = $this->output->createProgressBar(count($orderMain)); |
|
|
|
$bar->start(); |
|
|
|
|
|
|
|
$newData = []; |
|
|
|
foreach ($oldData as $key => $value) { |
|
|
|
$newData[] = [ |
|
|
|
'order_main_id' => $value->order_main_id ?? 0, |
|
|
|
'user_id' => $value->user_id ?? 0, |
|
|
|
'store_id' => $value->store_id ?? 0, |
|
|
|
'status' => 1, |
|
|
|
'refund_time' => 0, |
|
|
|
'order_num' => $value->order_num ?? '', |
|
|
|
'money' => $value->money ?? 0, |
|
|
|
'oid' => $value->oid ?? 0, |
|
|
|
'refuse_refund_note' => '', |
|
|
|
'refund_note' => '', |
|
|
|
'note' => $value->note ?? '', |
|
|
|
'created_at' => $value->time_add ? strtotime($value->time_add) : 0, |
|
|
|
'updated_at' => $value->time_add ? strtotime($value->time_add) : 0, |
|
|
|
]; |
|
|
|
foreach ($orderMain as $k => $main) { |
|
|
|
DB::beginTransaction(); |
|
|
|
try { |
|
|
|
// 主订单
|
|
|
|
$dataMain = [ |
|
|
|
'market_id' => $main->market_id ?? 0, |
|
|
|
'order_num' => $main->order_num ?? '', |
|
|
|
'global_order_id' => $main->global_order_id ?? 0, |
|
|
|
'user_id' => $main->user_id ?? 0, |
|
|
|
'pay_type' => $main->pay_type ?? 0, |
|
|
|
'type' => $main->type ?? 0, |
|
|
|
'order_type' => $main->order_type ?? 0, |
|
|
|
'shipping_type' => $main->dada_status == 0 ? 1 : 2, |
|
|
|
'money' => $main->money ?? 0, |
|
|
|
'total_money' => $main->total_money ?? 0, |
|
|
|
'services_money' => 0, |
|
|
|
'coupon_money' => $main->yhq_money2 ?? 0, |
|
|
|
'delivery_money' => $main->dada_fee ?? 0, |
|
|
|
'state' => $main->state ?? 0, |
|
|
|
'pay_time' => $main->pay_time ? strtotime($main->pay_time) : 0, |
|
|
|
'receive_time' => $main->jd_time ? strtotime($main->jd_time) : 0, |
|
|
|
'delivery_time' => 0, |
|
|
|
'complete_time' => $main->complete_time ? strtotime($main->complete_time) : 0, |
|
|
|
'cancel_time' => $main->complete_time ? strtotime($main->complete_time) : 0, |
|
|
|
'refund_time' => $main->refund_time ?? 0, |
|
|
|
'tel' => $main->tel ?? '', |
|
|
|
'address' => $main->address ?? '', |
|
|
|
'lat' => $main->lat ?? '', |
|
|
|
'lng' => $main->lng ?? '', |
|
|
|
'name' => $main->name ?? '', |
|
|
|
'print_num' => $main->print_num ?? 0, |
|
|
|
'plat' => $main->plat ?? 0, |
|
|
|
'refuse_refund_note' => $main->refuse_refund_note ?? '', |
|
|
|
'delivery_time_note' => $main->delivery_time ?? '', |
|
|
|
'total_refund_note' => $main->total_refund_note ?? '', |
|
|
|
'note' => $main->note ?? '', |
|
|
|
'created_at' => $main->time_add ?? 0, |
|
|
|
'updated_at' => 0, |
|
|
|
]; |
|
|
|
$newMainId = DB::table('lanzu_order_main')->insertGetId($dataMain); |
|
|
|
|
|
|
|
$bar->advance(); |
|
|
|
} |
|
|
|
// 子订单
|
|
|
|
$orderChildren = DB::table('ims_cjdc_order')->where(['order_main_id' => $main->id])->get(); |
|
|
|
foreach ($orderChildren as $kChild => $child) { |
|
|
|
// 子订单
|
|
|
|
$dataChild = [ |
|
|
|
'order_main_id' => $newMainId ?? 0, |
|
|
|
'user_id' => $child->user_id ?? 0, |
|
|
|
'store_id' => $child->store_id ?? 0, |
|
|
|
'status' => 1, |
|
|
|
'refund_time' => 0, |
|
|
|
'order_num' => $child->order_num ?? '', |
|
|
|
'money' => $child->money ?? 0, |
|
|
|
'oid' => $child->oid ?? 0, |
|
|
|
'refuse_refund_note' => '', |
|
|
|
'refund_note' => '', |
|
|
|
'note' => $child->note ?? '', |
|
|
|
'created_at' => $child->time_add ? strtotime($child->time_add) : 0, |
|
|
|
'updated_at' => $child->time_add ? strtotime($child->time_add) : 0, |
|
|
|
]; |
|
|
|
$newChildId = DB::table('lanzu_order')->insertGetId($dataChild); |
|
|
|
|
|
|
|
// insert new data to new table
|
|
|
|
DB::table('lanzu_order')->insert($newData); |
|
|
|
// 订单商品
|
|
|
|
$orderGoods = DB::table('ims_cjdc_order_goods')->where(['order_id' => $child->id])->get(); |
|
|
|
$dataGoods = []; |
|
|
|
foreach ($orderGoods as $kGoods => $goods) { |
|
|
|
// 订单商品
|
|
|
|
$dataGoods[] = [ |
|
|
|
'order_id' => $newChildId ?? 0, |
|
|
|
'goods_id' => $goods->good_id ?? 0, |
|
|
|
'number' => $goods->number ?? 0, |
|
|
|
'status' => 1, |
|
|
|
'price' => $goods->money ?? 0, |
|
|
|
'original_price' => $goods->money2 ?? 0, |
|
|
|
'vip_price' => $goods->vip_money ?? 0, |
|
|
|
'name' => $goods->name ?? '', |
|
|
|
'goods_unit' => $goods->good_unit ?? '', |
|
|
|
'cover_img' => $goods->img ?? '', |
|
|
|
'spec' => json_encode([]), |
|
|
|
'refund_time' => 0, |
|
|
|
'created_at' => time(), |
|
|
|
'updated_at' => time(), |
|
|
|
'refuse_refund_note' => '', |
|
|
|
]; |
|
|
|
} |
|
|
|
DB::table('lanzu_order_goods')->insert($dataGoods); |
|
|
|
} |
|
|
|
$bar->advance(); |
|
|
|
DB::commit(); |
|
|
|
} catch (\Exception $e) { |
|
|
|
$this->info(json_encode(['order_id' => $main->id, 'exception' => $e->getMessage()])); |
|
|
|
DB::rollBack(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
$bar->finish(); |
|
|
|
return 0; |
|
|
|
|