Browse Source

Merge branch 'hotfix-phoenix' into develop

# Conflicts:
#	app/Console/Commands/MigrateStore.php
master
liangyuyan 5 years ago
parent
commit
ec989277a1
  1. 6
      app/Admin/Actions/Grid/v3/CouponForbidden.php
  2. 19
      app/Admin/Controllers/v3/BannersController.php
  3. 100
      app/Console/Commands/MigrateOrder.php
  4. 3
      app/Console/Commands/MigrateOrderStatistics.php
  5. 63
      app/Console/Commands/MigrateStore.php
  6. 264
      app/Console/Commands/MigrateStoreBalance.php
  7. 22
      app/Console/Commands/MigrateStoreFinancial.php
  8. 1
      app/Console/Commands/MigrateStoreWithdrawal.php
  9. 25
      app/Console/Commands/MigrateUser.php
  10. 2
      app/Console/Commands/MigrateUserAddr.php
  11. 11
      app/Console/Commands/MigrateUserCollection.php
  12. 5
      app/Console/Commands/SetStoreBalance.php
  13. 57
      app/Console/Commands/SetStoreUsers.php
  14. 2
      resources/views/orderdetail.php

6
app/Admin/Actions/Grid/v3/CouponForbidden.php

@ -17,11 +17,15 @@ class CouponForbidden extends RowAction
{ {
$id = $this->getKey(); $id = $this->getKey();
$coupon = CouponModel::getInfo($id); $coupon = CouponModel::getInfo($id);
if(!empty($coupon)){
if(empty($coupon)){
return $this->response()->success('找不到优惠券!');
}else if($coupon->status == 1){
$coupon->status = 3; $coupon->status = 3;
if($coupon->save()){ if($coupon->save()){
return $this->response()->success('禁用成功!','/coupon'); return $this->response()->success('禁用成功!','/coupon');
} }
}else if($coupon->status == 3){
return $this->response()->error('优惠券已禁用!');
} }
return $this->response()->success('禁用失败!'); return $this->response()->success('禁用失败!');
} }

19
app/Admin/Controllers/v3/BannersController.php

@ -20,13 +20,22 @@ class BannersController extends AdminController
protected function grid() protected function grid()
{ {
return Grid::make(new Banners(), function (Grid $grid) { return Grid::make(new Banners(), function (Grid $grid) {
$marketList = MarketModel::getMarket();
$grid->column('id')->sortable(); $grid->column('id')->sortable();
$grid->column('market_id')->display(function($markerId){
$market = MarketModel::getMarketInfo($markerId,'name');
return empty($market) ? '' : $market['name'];
$grid->column('market_ids','适用市场')->display(function($marketIds) use($marketList){
$item = '';
if(!empty($marketIds)){
foreach($marketIds as $value){
$item .= isset($marketList[$value])?$marketList[$value].'</br>' : '';
}
}
return $item;
}); });
$grid->column('title'); $grid->column('title');
$grid->column('cover_url')->image('',100); $grid->column('cover_url')->image('',100);
$grid->column('bg_color')->display(function($bgColor){
return "<span style='display: block;color: $bgColor;width: 10px;height: 20px;'></span>";
});
$grid->column('cover_type_text'); $grid->column('cover_type_text');
$grid->column('path'); $grid->column('path');
$grid->column('path_type_text'); $grid->column('path_type_text');
@ -63,6 +72,7 @@ class BannersController extends AdminController
$show->width(6)->field('sub_title'); $show->width(6)->field('sub_title');
$show->width(6)->field('cover_type_text'); $show->width(6)->field('cover_type_text');
$show->width(6)->field('cover')->image(); $show->width(6)->field('cover')->image();
$show->width(6)->field('bg_color')->color();
$show->width(6)->field('type_text'); $show->width(6)->field('type_text');
}); });
$show->row(function (Show\Row $show) { $show->row(function (Show\Row $show) {
@ -89,7 +99,7 @@ class BannersController extends AdminController
$form->hidden('id'); $form->hidden('id');
// 市场 // 市场
$marketList = MarketModel::getMarket(); $marketList = MarketModel::getMarket();
$form->select('market_id')->options($marketList)->default(0);
$form->hidden('market_id')->options($marketList)->default(0);
// 多个市场 // 多个市场
$form->multipleSelect('market_ids')->options($marketList); $form->multipleSelect('market_ids')->options($marketList);
$form->select('type')->options(BannersModel::$_TYPE)->required(); $form->select('type')->options(BannersModel::$_TYPE)->required();
@ -105,6 +115,7 @@ class BannersController extends AdminController
}); });
}); });
$form->column(6, function (Form $form) { $form->column(6, function (Form $form) {
$form->color('bg_color')->required()->default('#FF7B21');
$form->image('cover')->autoUpload()->required()->uniqueName(); $form->image('cover')->autoUpload()->required()->uniqueName();
$form->select('cover_type')->options(BannersModel::$_COVER_TYPE)->required(); $form->select('cover_type')->options(BannersModel::$_COVER_TYPE)->required();
$form->text('path')->default(''); $form->text('path')->default('');

100
app/Console/Commands/MigrateOrder.php

@ -19,7 +19,7 @@ class MigrateOrder extends Command
* *
* @var string * @var string
*/ */
protected $description = 'migrate order data';
protected $description = 'migrate 迁移订单数据';
/** /**
* Create a new command instance. * Create a new command instance.
@ -39,20 +39,38 @@ class MigrateOrder extends Command
public function handle() public function handle()
{ {
$oldOrderMain = 'ims_cjdc_order_main';
$oldOrder = 'ims_cjdc_order';
$oldOrderGood = 'ims_cjdc_order_goods';
$newOrderMain = 'lanzu_order_main';
$newOrder = 'lanzu_order';
$newOrderGood = 'lanzu_order_goods';
// main order // main order
$orderMain = DB::table('ims_cjdc_order_main')->get();
$orderMain = DB::table($oldOrderMain)->where('id',1)->get();
$bar = $this->output->createProgressBar(count($orderMain)); $bar = $this->output->createProgressBar(count($orderMain));
$bar->start(); $bar->start();
$mainIds = '已存在的订单id:';
$childIds = '已存在的订单id:';
foreach ($orderMain as $k => $main) { foreach ($orderMain as $k => $main) {
DB::beginTransaction(); DB::beginTransaction();
try { try {
// 查询记录是否存在
$exist_main = DB::table($newOrderMain)->where('id',$main->id)->exists();
if($exist_main){
$mainIds .= ','.$main->id;
continue;
}
// 主订单 // 主订单
$dataMain = [ $dataMain = [
'id' => $main->id,
'market_id' => $main->market_id ?? 0, 'market_id' => $main->market_id ?? 0,
'order_num' => $main->order_num ?? '', 'order_num' => $main->order_num ?? '',
'global_order_id' => $main->global_order_id ?? time().mt_rand(100000,999999),
'global_order_id' => $main->global_order_id ? $main->global_order_id : time().mt_rand(100000,999999),
'user_id' => $main->user_id ?? 0, 'user_id' => $main->user_id ?? 0,
'pay_type' => $main->pay_type ?? 0, 'pay_type' => $main->pay_type ?? 0,
'type' => $main->type ?? 0, 'type' => $main->type ?? 0,
@ -68,7 +86,7 @@ class MigrateOrder extends Command
'receive_time' => $main->jd_time ? strtotime($main->jd_time) : 0, 'receive_time' => $main->jd_time ? strtotime($main->jd_time) : 0,
'delivery_time' => 0, 'delivery_time' => 0,
'complete_time' => $main->complete_time ? strtotime($main->complete_time) : 0, 'complete_time' => $main->complete_time ? strtotime($main->complete_time) : 0,
'cancel_time' => $main->complete_time ? strtotime($main->complete_time) : 0,
'cancel_time' => $main->cancel_time ? strtotime($main->cancel_time) : 0,
'refund_time' => $main->refund_time ?? 0, 'refund_time' => $main->refund_time ?? 0,
'tel' => $main->tel ?? '', 'tel' => $main->tel ?? '',
'address' => $main->address ?? '', 'address' => $main->address ?? '',
@ -89,17 +107,24 @@ class MigrateOrder extends Command
'created_at' => $main->time_add ?? 0, 'created_at' => $main->time_add ?? 0,
'updated_at' => time(), 'updated_at' => time(),
]; ];
$newMainId = DB::table('lanzu_order_main')->insertGetId($dataMain);
$newMainId = DB::table($newOrderMain)->insertGetId($dataMain);
// 子订单 // 子订单
$orderChildren = DB::table('ims_cjdc_order')->where(['order_main_id' => $main->id])->get();
$orderChildren = DB::table($oldOrder)->where(['order_main_id' => $main->id])->get();
foreach ($orderChildren as $kChild => $child) { foreach ($orderChildren as $kChild => $child) {
// 查询记录是否存在
$exist_main = DB::table($newOrder)->where('id',$child->id)->exists();
if($exist_main){
$childIds .= ','.$child->id;
DB::rollBack();
continue;
}
// 子订单 // 子订单
$dataChild = [ $dataChild = [
'id' => $child->id,
'order_main_id' => $dataMain['global_order_id'] ?? 0, 'order_main_id' => $dataMain['global_order_id'] ?? 0,
'user_id' => $child->user_id ?? 0, 'user_id' => $child->user_id ?? 0,
'store_id' => $child->store_id ?? 0, 'store_id' => $child->store_id ?? 0,
'status' => 1,
'refund_time' => 0, 'refund_time' => 0,
'order_num' => $child->order_num ?? '', 'order_num' => $child->order_num ?? '',
'money' => $child->money ?? 0, 'money' => $child->money ?? 0,
@ -110,33 +135,43 @@ class MigrateOrder extends Command
'created_at' => $child->time_add ? strtotime($child->time_add) : 0, 'created_at' => $child->time_add ? strtotime($child->time_add) : 0,
'updated_at' => time(), 'updated_at' => time(),
]; ];
$newChildId = DB::table('lanzu_order')->insertGetId($dataChild);
if($child->state == 9){
$dataChild['status'] = 3;
}else if($child->state == 8){
$dataChild['status'] = 2;
}else{
$dataChild['status'] = 1;
}
$newChildId = DB::table($newOrder)->insertGetId($dataChild);
// 订单商品 // 订单商品
$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' => '',
'note' => '',
];
$orderGoods = DB::table($oldOrderGood)->where(['order_id' => $child->id])->get();
if(count($orderGoods) > 0){
$dataGoods = [];
foreach ($orderGoods as $kGoods => $goods) {
// 订单商品
$dataGoods[] = [
'order_id' => $newChildId ?? 0,
'goods_id' => $goods->good_id ?? 0,
'number' => $goods->number ?? 0,
'status' => $dataChild['status'],
'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' => '',
'note' => '',
];
}
DB::table($newOrderGood)->insert($dataGoods);
} }
DB::table('lanzu_order_goods')->insert($dataGoods);
} }
$bar->advance(); $bar->advance();
DB::commit(); DB::commit();
@ -145,7 +180,8 @@ class MigrateOrder extends Command
DB::rollBack(); DB::rollBack();
} }
} }
var_dump($mainIds);
var_dump($childIds);
$bar->finish(); $bar->finish();
return 0; return 0;
} }

3
app/Console/Commands/MigrateOrderStatistics.php

@ -57,11 +57,10 @@ class MigrateOrderStatistics extends Command
$newData = []; $newData = [];
foreach ($oldData as $key => $value) { foreach ($oldData as $key => $value) {
$newData[] = [ $newData[] = [
'id' => $value->id,
'money' => $value->money ?? 0, 'money' => $value->money ?? 0,
'user_id' => $value->user_id ?? 0, 'user_id' => $value->user_id ?? 0,
'store_id' => $value->store_id ?? 0, 'store_id' => $value->store_id ?? 0,
'market_id' => $value->market_id ?? 0 ,
'market_id' => $value->market_id ?? 0,
'order_id' => $value->order_id ?? 0, 'order_id' => $value->order_id ?? 0,
'created_at' => $value->createtime ?? 0, 'created_at' => $value->createtime ?? 0,

63
app/Console/Commands/MigrateStore.php

@ -60,56 +60,57 @@ class MigrateStore extends Command
$error = []; $error = [];
$newData = []; $newData = [];
foreach ($oldData as $key => $value){ foreach ($oldData as $key => $value){
$storeId = $value->id;
$storeId = $value->id ?? 0;
// 判断是否存在 // 判断是否存在
$exist = DB::table($newTableName)->where('id',$storeId)->exists(); $exist = DB::table($newTableName)->where('id',$storeId)->exists();
if($exist){
if($exist || $storeId == 0){
$error[] = ['store_id'=>$storeId,'msg'=>'已存在或者id为0'];
continue; continue;
} }
$storeData =[ $storeData =[
'id'=>$storeId, 'id'=>$storeId,
'market_id'=>$value->market_id,
'market_id'=>$value->market_id ?? 0,
'is_open'=> $value->is_open == 1 ? 1 : 0, 'is_open'=> $value->is_open == 1 ? 1 : 0,
'is_rest'=> $value->is_rest == 1 ? 1 : 0, 'is_rest'=> $value->is_rest == 1 ? 1 : 0,
'status'=>$value->state,
'category_id'=>$value->md_type,
'user_id'=>$value->user_id,
'admin_id'=>$value->admin_id,
'mm_user_id'=>$value->mm_user_id,
'sort'=>$value->number,
'loudspeaker_imei'=>$value->loudspeaker_imei,
'name'=>$value->name,
'logo'=>$value->logo,
'announcement'=>$value->announcement,
'address' => $value->address,
'business_license'=> ($storeId == 365) ? '' :$value->yyzz,/* 因为365的数据的营业资质数据乱码,目前只有365这个店铺的有问题 */
'zm_img' => $value->zm_img,
'fm_img'=>$value->fm_img,
'tel' => $value->tel,
'link_name'=>$value->link_name,
'link_tel' => $value->link_tel,
'expire_time'=> strtotime($value->rzdq_time),
'status'=>$value->state ?? 0,
'category_id'=>$value->md_type ?? 0,
'user_id'=>$value->user_id ?? 0,
'admin_id'=>$value->admin_id ?? 0,
'mm_user_id'=>$value->mm_user_id ?? 0,
'sort'=>$value->number ?? 0,
'loudspeaker_imei'=>$value->loudspeaker_imei ?? '',
'name'=>$value->name ?? '',
'logo'=>$value->logo ?? '',
'announcement'=>$value->announcement ?? '',
'address' => $value->address ?? '',
'business_license'=> ($storeId == 365) ? '' :$value->yyzz ?? '',/* 因为365的数据的营业资质数据乱码,目前只有365这个店铺的有问题 */
'zm_img' => $value->zm_img ?? '',
'fm_img'=>$value->fm_img ?? '',
'tel' => $value->tel ?? '',
'link_name'=>$value->link_name ?? '',
'link_tel' => $value->link_tel ?? '',
'expire_time'=> $value->rzdq_time ? strtotime($value->rzdq_time) : 0,
'time1' => (empty($value->time) || $value->time == 'null')? '': $value->time, 'time1' => (empty($value->time) || $value->time == 'null')? '': $value->time,
'time2'=> (empty($value->time2) || $value->time2 == 'null')? '': $value->time2, 'time2'=> (empty($value->time2) || $value->time2 == 'null')? '': $value->time2,
'time3' => (empty($value->time3) || $value->time3 == 'null')? '': $value->time3, 'time3' => (empty($value->time3) || $value->time3 == 'null')? '': $value->time3,
'time4'=> (empty($value->time4) || $value->time4 == 'null')? '': $value->time4, 'time4'=> (empty($value->time4) || $value->time4 == 'null')? '': $value->time4,
'award_money' => $value->award_money,
'sales'=>$value->score,
'grade' => $value->sales,
'award_money' => $value->award_money ?? 0,
'sales'=>$value->score ?? 0,
'grade' => $value->sales ?? 0,
'code'=>$value->code,
'environment' => $value->environment,
'code'=>$value->code ?? '',
'environment' => $value->environment ?? '',
'introduction'=> strip_tags($value->details),
'introduction'=> $value->details ? strip_tags($value->details) :'',
'store_applet_img' => '', 'store_applet_img' => '',
'cash_code_img' => '', 'cash_code_img' => '',
'created_at' => $value->time_add ?strtotime($value->time_add) : 0,
'created_at' => $value->time_add ? strtotime($value->time_add) : 0,
'updated_at' => time(), 'updated_at' => time(),
]; ];

264
app/Console/Commands/MigrateStoreBalance.php

@ -32,72 +32,157 @@ class MigrateStoreBalance extends Command
parent::__construct(); parent::__construct();
} }
/**
* Execute the console command.
*
* @return int
*/
public function handle()
public function getBalanceById($id)
{ {
$oldAccountTableName = 'ims_cjdc_store_account';
$oldStoreTableName = 'ims_cjdc_store';
$oldStoreSetTableName = 'ims_cjdc_storeset';
$oldStoreTypeTableName = 'ims_cjdc_storetype';
$oldOrderTableName = 'ims_cjdc_order';
$oldWithdrawalTableName = 'ims_cjdc_withdrawal';
$newBalanceTableName = 'lanzu_user_balance';
// 查询店铺
$stores = DB::table($oldStoreTableName)->select('id','md_type','ps_poundage','award_money')->where('id',$id)->get();
// 判断表是否存在
if(!Schema::hasTable($oldAccountTableName)){
var_dump('旧表不存在');
return 0;
}
if(!Schema::hasTable($newBalanceTableName)){
var_dump('新表不存在');
return 0;
if(count($stores) <= 0){
var_dump('店铺不存在');
return ;
} }
// 流水算法
$newData = $this->countStore($oldAccountTableName);
// 订单算法
// $newData = $this->countOrder();
//店铺设置
$storeSets = DB::table($oldStoreSetTableName)
->select('id','store_id','is_poundage','poundage','dn_poundage','dm_poundage','yd_poundage')
->where('store_id',$id)->first();
// var_dump($newData);
// var_dump(count($newData));
// return 0;
// 所有分类
$storeTypes = DB::table($oldStoreTypeTableName)->get()->toArray();
$storeTypeArr = array_column($storeTypes,null,'id');
$bar = $this->output->createProgressBar(count($newData));
$bar->start();
$startTime = time();
$error = [];
foreach($stores as $key => $value){
$storeId = $value->id;
foreach($newData as $store_id => $money){
$exist = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->exists();
if($exist){
$error[] = ['store_id'=>$store_id,'money'=>$money,'msg'=>'已存在'];
// $saveData = [
// 'balance' => number_format($money,2,'.',''),
// 'updated_at' => time()
// ];
// $res = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->increment('balance',$saveData['balance']);
// if(!$res){
// $error[] = ['store_id'=>$store_id,'money'=>$money];
// }
// 获取商家手续费 % 如果商家设置有自己的手续费则用商家的
if(!empty($storeSets) && $storeSets->is_poundage == 1){
$poundage = $storeSets;
}else{ }else{
$saveData = [
'source_id' => $store_id,
'user_type' => 5,
'balance' => number_format($money,2,'.',''),
'updated_at' => time()
];
$res = DB::table($newBalanceTableName)->insert($saveData);
if(!$res){
$error[] = ['store_id'=>$store_id,'money'=>$money];
}
$poundage = $storeTypeArr[$value->md_type];
} }
$bar->advance();
// 商家订单金额
// type '1.外卖2.店内3.预定4.当面付',
// pay_type '1.微信支付2.余额支付3.积分支付4.货到付款',
// state '1.待付款2.待结单3.等待送达4.完成5.已评价6.取消7.拒绝8.退款中9.已退款10.退款拒绝',
// 外卖
$wmOrder = DB::table($oldOrderTableName)
->select(DB::raw('sum(money) as total_money'),DB::raw('sum(ps_money) as ps_money'),DB::raw('sum(yhq_money2) as hb_money'))
->where('store_id',$storeId)
->where('type',1)
->whereIn('state',[4,5,10])
->whereIn('pay_type',[1,2])
->first();
// 店内
$dnOrder = DB::table($oldOrderTableName)
->select(DB::raw('sum(money) as total_money'),DB::raw('sum(yhq_money2) as hb_money'))
->where('store_id',$storeId)
->where('type',2)
->where('dn_state',2)
->whereIn('pay_type',[1,2])
->first();
// 当面
$dmOrder = DB::table($oldOrderTableName)
->select(DB::raw('sum(money) as total_money'))
->where('store_id',$storeId)
->where('type',4)
->where('dm_state',2)
->whereIn('pay_type',[1,2])
->first();
// 预约
$yyOrder = DB::table($oldOrderTableName)
->select(DB::raw('sum(money) as total_money'))
->where('store_id',$storeId)
->where('type',3)
->where('yy_state',3)
->whereIn('pay_type',[1,2])
->first();
// 提现
$txTotal = DB::table($oldWithdrawalTableName)
->select(DB::raw('sum(tx_cost) as total'))
->where('store_id',$storeId)
->whereIn('state',[1,2])
->first();
// 商家奖励
$awardTotal = empty($value->award_money) ? 0 : $value->award_money;
// 商户配送手续费
$psMoney = number_format(floatval($wmOrder->ps_money)*floatval($value->ps_poundage)/100,2,'.','');
// 不计算拼团和抢购的订单,目前没有这样的订单,在另外的订单表
// 计算 金额 = 奖励 + 订单(外卖+店内+当面+预约) - 手续费 - 提现 - 配送费
$balance = $awardTotal
+ ($wmOrder->total_money + $wmOrder->hb_money + $dnOrder->total_money + $dnOrder->hb_money + $dmOrder->total_money + $yyOrder->total_money )
- ((
($wmOrder->total_money + $wmOrder->ps_money + $wmOrder->hb_money) * floatval($poundage->poundage)
+ ($dnOrder->total_money + $dnOrder->hb_money ) * floatval($poundage->dn_poundage)
+ $dmOrder->total_money * floatval($poundage->dm_poundage)
+ $yyOrder->total_money * floatval($poundage->yd_poundage)
)/100)
- $txTotal->total
- $psMoney;
// $newData[$storeId] = number_format($balance,2,'.','');
} }
$bar->finish();
var_dump([time()-$startTime]);
var_dump($error);
return 0;
return number_format($balance,2,'.','');
}
/**
* Execute the console command.
* 单个店铺处理
* @return int
*/
public function handle()
{
$oldStoreTableName = 'ims_cjdc_store';
$newBalanceTableName = 'lanzu_user_balance';
$store_id = 2 ; // 店铺id
$balance = $this->getBalanceById($store_id);
// var_dump(number_format($balance,2,'.',''));
// return ;
$res = 1;
$userId = 0;// 店铺的提现用户id
$storeInfo = DB::table($oldStoreTableName)->select('user_id')->find($store_id);
if(empty($storeInfo) || empty($storeInfo->user_id)){
$res = ['store_id'=>$store_id,'balance'=>$balance,'msg'=>'店铺的用户不存在'];
var_dump($res);
return ;
}
$userId = $storeInfo->user_id;
$exist = DB::table($newBalanceTableName)->where('source_id',$userId)->where('user_type',5)->exists();
if($exist){
$res = ['store_id'=>$store_id,'balance'=>$balance,'msg'=>'已存在'];
}else{
$saveData = [
'source_id' => $userId,
'user_type' => 5,
'balance' => $balance,
'created_at' => time(),
'updated_at' => time()
];
// var_dump($saveData);
$res = DB::table($newBalanceTableName)->insert($saveData);
if(!$res){
$res = ['store_id'=>$store_id,'user_id'=>$userId,'balance'=>$balance,'msg'=>'添加失败'];
}
};
var_dump($res);
return ;
} }
/** /**
@ -135,7 +220,7 @@ class MigrateStoreBalance extends Command
$newData = []; $newData = [];
// 查询所有店铺 // 查询所有店铺
$stores = DB::table($oldStoreTableName)->select('id','md_type','ps_poundage','award_money')->get();
$stores = DB::table($oldStoreTableName)->select('id','md_type','ps_poundage','award_money')->where('id',)->get();
//店铺设置 //店铺设置
$storeSets = DB::table($oldStoreSetTableName)->select('id','store_id','is_poundage','poundage','dn_poundage','dm_poundage','yd_poundage')->get()->toArray(); $storeSets = DB::table($oldStoreSetTableName)->select('id','store_id','is_poundage','poundage','dn_poundage','dm_poundage','yd_poundage')->get()->toArray();
@ -225,4 +310,73 @@ class MigrateStoreBalance extends Command
return $newData; return $newData;
} }
/**
* 旧的处理方式
*/
public function old()
{
$oldAccountTableName = 'ims_cjdc_store_account';
$newBalanceTableName = 'lanzu_user_balance';
// 判断表是否存在
if(!Schema::hasTable($oldAccountTableName)){
var_dump('旧表不存在');
return 0;
}
if(!Schema::hasTable($newBalanceTableName)){
var_dump('新表不存在');
return 0;
}
// 流水算法
$newData = $this->countStore($oldAccountTableName);
// 订单算法
// $newData = $this->countOrder();
var_dump($newData);
var_dump(count($newData));
return 0;
$storeList = DB::table($newBalanceTableName)->pluck('user_id','id');
$bar = $this->output->createProgressBar(count($newData));
$bar->start();
$startTime = time();
$error = [];
foreach($newData as $store_id => $money){
$userId = 0;
if(!isset($storeList[$store_id])){
$error[] = ['store_id'=>$store_id,'money'=>$money,'msg'=>'店铺的用户不存在'];
}
$exist = DB::table($newBalanceTableName)->where('source_id',$userId)->where('user_type',5)->exists();
if($exist){
$error[] = ['store_id'=>$store_id,'money'=>$money,'msg'=>'已存在'];
// $saveData = [
// 'balance' => number_format($money,2,'.',''),
// 'updated_at' => time()
// ];
// $res = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->increment('balance',$saveData['balance']);
// if(!$res){
// $error[] = ['store_id'=>$store_id,'money'=>$money];
// }
}else{
$saveData = [
'source_id' => $userId,
'user_type' => 5,
'balance' => number_format($money,2,'.',''),
'updated_at' => time()
];
// $res = DB::table($newBalanceTableName)->insert($saveData);
// if(!$res){
// $error[] = ['store_id'=>$store_id,'money'=>$money];
// }
}
$bar->advance();
}
$bar->finish();
var_dump([time()-$startTime]);
var_dump($error);
return 0;
}
} }

22
app/Console/Commands/MigrateStoreFinancial.php

@ -59,12 +59,12 @@ class MigrateStoreFinancial extends Command
$startTime = time(); $startTime = time();
$error = []; $error = [];
foreach ($oldData as $key => $value){ foreach ($oldData as $key => $value){
$type = $value->type;
$note = $value->note;
$storeId = $value->store_id;
$userId = $value->user_id;
$type = $value->type ?? 0;
$note = $value->note ?? '';
$storeId = $value->store_id ?? 0;
$userId = $value->user_id ?? 0;
if(empty($storeId) || empty($type) || empty($note)){ if(empty($storeId) || empty($type) || empty($note)){
$error[] = ['id'=>$value->id];
$error[] = ['id'=>$value->id,'msg'=>'数据错误或者为空'];
continue; continue;
} }
if(empty($userId)){ if(empty($userId)){
@ -117,7 +117,10 @@ class MigrateStoreFinancial extends Command
->where('money_type',$moneyType) ->where('money_type',$moneyType)
->exists(); ->exists();
if(!$exist){
if($exist){
$error[] = ['id'=>$value->id,'msg'=>'总帐已存在'];
continue;
}else{
if(!DB::table($newTableName)->insert($newData)){ if(!DB::table($newTableName)->insert($newData)){
$error[] = ['id'=>$value->id,'msg'=>'总账添加失败']; $error[] = ['id'=>$value->id,'msg'=>'总账添加失败'];
break; break;
@ -135,7 +138,10 @@ class MigrateStoreFinancial extends Command
->where('money',$money) ->where('money',$money)
->where('money_type',$moneyType) ->where('money_type',$moneyType)
->exists(); ->exists();
if(!$existSub){
if($existSub){
$error[] = ['id'=>$value->id,'msg'=>'已存在'];
continue;
}else{
if(!DB::table($newSubTableName)->insert($newData)){ if(!DB::table($newSubTableName)->insert($newData)){
$error[] = ['id'=>$value->id,'msg'=>'用户账添加失败']; $error[] = ['id'=>$value->id,'msg'=>'用户账添加失败'];
break; break;
@ -146,7 +152,7 @@ class MigrateStoreFinancial extends Command
} }
$bar->finish(); $bar->finish();
var_dump([time()-$startTime]); var_dump([time()-$startTime]);
var_dump($error);
var_dump(count($error));
return 0; return 0;
} }

1
app/Console/Commands/MigrateStoreWithdrawal.php

@ -62,6 +62,7 @@ class MigrateStoreWithdrawal extends Command
// 判断是否存在 // 判断是否存在
$exist = DB::table($newTableName)->where('id',$withdrawalId)->exists(); $exist = DB::table($newTableName)->where('id',$withdrawalId)->exists();
if($exist){ if($exist){
$error[] = ['id'=>$withdrawalId,'msg'=>'已存在'];
continue; continue;
} }
$newData =[ $newData =[

25
app/Console/Commands/MigrateUser.php

@ -55,35 +55,36 @@ class MigrateUser extends Command
$bar = $this->output->createProgressBar(count($oldData)); $bar = $this->output->createProgressBar(count($oldData));
$bar->start(); $bar->start();
$startTime = time(); $startTime = time();
$error = [];
$error = '用户已存在:';
foreach ($oldData as $key => $value){ foreach ($oldData as $key => $value){
$userId = $value->id;
$userId = $value->id ?? 0;
// 判断是否存在 // 判断是否存在
$exist = DB::table($newTableName)->where('id',$userId)->exists(); $exist = DB::table($newTableName)->where('id',$userId)->exists();
if($exist){ if($exist){
$error .= ','.$value->id;
continue; continue;
} }
$newData =[ $newData =[
'id'=>$userId, 'id'=>$userId,
'nick_name'=>$value->name,
'nick_name'=>$value->name ?? '',
'avatar'=>$value->img,
'openid'=>$value->openid,
'avatar'=>$value->img ?? '',
'openid'=>$value->openid ?? '',
'total_score'=>$value->total_score,
'wallet'=>$value->wallet,
'total_score'=>$value->total_score ?? 0,
'wallet'=>$value->wallet ?? 0,
'real_name'=>$value->user_name,
'tel'=>$value->user_tel,
'real_name'=>$value->user_name ?? '',
'tel'=>$value->user_tel ?? '',
'unionid'=>$value->unionid, 'unionid'=>$value->unionid,
'created_at' => strtotime($value->join_time),
'updated_at' => $value->updated_at,
'created_at' => $value->join_time ?? time(),
'updated_at' => time(),
]; ];
$res = DB::table($newTableName)->insert($newData); $res = DB::table($newTableName)->insert($newData);
if(!$res){ if(!$res){
$error[] = ['id'=>$userId];
$error[] = ['id'=>$userId,'msg'=>'添加失败'];
break; break;
} }
$bar->advance(); $bar->advance();

2
app/Console/Commands/MigrateUserAddr.php

@ -60,7 +60,7 @@ class MigrateUserAddr extends Command
foreach ($oldData as $key => $value) { foreach ($oldData as $key => $value) {
$addressArr = explode('|',$value->address); $addressArr = explode('|',$value->address);
$address = $addressArr[0];
$address = isset($addressArr[0])?$addressArr[0]:'';
$doorplate = isset($addressArr[1])?$addressArr[1]:''; $doorplate = isset($addressArr[1])?$addressArr[1]:'';
$newData[] = [ $newData[] = [

11
app/Console/Commands/MigrateUserCollection.php

@ -57,23 +57,24 @@ class MigrateUserCollection extends Command
$bar = $this->output->createProgressBar(count($oldData)); $bar = $this->output->createProgressBar(count($oldData));
$bar->start(); $bar->start();
$startTime = time(); $startTime = time();
$error = [];
$error = '已存在:';
foreach ($oldData as $key => $value){ foreach ($oldData as $key => $value){
$collectionId = $value->id;
$collectionId = $value->id ?? 0;
// 判断是否存在 // 判断是否存在
$exist = DB::table($newTableName)->where('id',$collectionId)->exists(); $exist = DB::table($newTableName)->where('id',$collectionId)->exists();
if($exist){ if($exist){
$error .= ','.$collectionId;
continue; continue;
} }
// 店铺存在 // 店铺存在
if(isset($oldStoreData[$value->store_id])){ if(isset($oldStoreData[$value->store_id])){
$newData =[ $newData =[
'id'=>$collectionId, 'id'=>$collectionId,
'store_id'=>$value->store_id,
'user_id'=>$value->user_id,
'store_id'=>$value->store_id ?? 0,
'user_id'=>$value->user_id ?? 0,
'market_id'=> isset($oldStoreData[$value->store_id])?$oldStoreData[$value->store_id]:0, 'market_id'=> isset($oldStoreData[$value->store_id])?$oldStoreData[$value->store_id]:0,
'created_at' => $value->time,
'created_at' => $value->time ?? time(),
'updated_at' => time(), 'updated_at' => time(),
]; ];

5
app/Console/Commands/SetStoreBalance.php

@ -53,13 +53,13 @@ class SetStoreBalance extends Command
foreach ($oldData as $key => $value){ foreach ($oldData as $key => $value){
// 查询店铺是否存在balance // 查询店铺是否存在balance
$exist = DB::table($newTableName) $exist = DB::table($newTableName)
->where('source_id',$value->id)
->where('source_id',$value->user_id)
->where('user_type',5) ->where('user_type',5)
->first(); ->first();
if(empty($exist)){ if(empty($exist)){
$newData[] = [ $newData[] = [
'source_id' => $value->id,
'source_id' => $value->user_id,
'user_type' => 5, 'user_type' => 5,
'balance' => 0, 'balance' => 0,
'created_at' => time(), 'created_at' => time(),
@ -68,6 +68,7 @@ class SetStoreBalance extends Command
}else{ }else{
$data[] = [ $data[] = [
'store_id' => $value->id, 'store_id' => $value->id,
'user_id' => $value->user_id,
'balance_id' => $exist->id 'balance_id' => $exist->id
]; ];
} }

57
app/Console/Commands/SetStoreUsers.php

@ -41,31 +41,54 @@ class SetStoreUsers extends Command
*/ */
public function handle() public function handle()
{ {
// 如果表不存在则创建
// if(!Schema::hasTable('lanzu_store_users')){
// Schema::create('lanzu_store_users',function (Blueprint $table){
// $table->id();
// });
// }
$account = DB::table('ims_cjdc_account')->get();
$oldAccount = 'ims_cjdc_account';
$oldTable = 'ims_users';
$newTable = 'lanzu_store_users';
$oldData = DB::table($oldTable)->get();
$account = DB::table($oldAccount)->select('uid','role','storeid')->get()->toArray();
$accountArr = array_column($account,null,'uid');
$bar = $this->output->createProgressBar(count($account)); $bar = $this->output->createProgressBar(count($account));
$bar->start(); $bar->start();
$accountStr = '已经存在的账号id:';
$newData = [];
foreach ($oldData as $k => $v){
foreach ($account as $ka => $va){
$data = [];
$storeUsers = DB::table('lanzu_store_users')->find($va->uid);
if(!empty($storeUsers)){
$data =[
'user_category'=>$va->role,
'store_id'=>$va->storeid
$exist = DB::table($newTable)->where('id',$v->uid)->exists();
if($exist){
$accountStr .= ','.$v->uid;
}else{
$newData[] =[
'id' => $v->uid,
'openid' => $v->openid ?? '',
'username' => $v->username ?? '',
'password' => $v->password ?? '',
'salt' => $v->salt ?? '',
'register_type' => 0,
'status' => $v->status ?? 0,
'join_ip' => $v->joinip ?? '',
'last_visit_time' => $v->lastvisit ?? 0,
'last_ip' => $v->lastip ?? '',
'token' => $v->token ?? '',
'token_expire' => $v->token_expire ?? '',
'remark' => $v->remark ?? '',
'created_at' => $v->joindate ?? 0,
'updated_at' => time(),
'user_category'=> isset($accountArr[$v->uid]) ? $accountArr[$v->uid]->role ?? 0 : 0,
'store_id'=> isset($accountArr[$v->uid]) ? $accountArr[$v->uid]->storeid ?? 0 : 0,
]; ];
DB::table('lanzu_store_users')->where('id',$va->uid)->update($data);
} }
$bar->advance();
} }
DB::table($newTable)->insert($newData);
$bar->finish(); $bar->finish();
var_dump($accountStr);
return 0; return 0;
} }
} }

2
resources/views/orderdetail.php

@ -23,7 +23,7 @@
<td colspan="5">配送费:{{delivery_money}} </td> <td colspan="5">配送费:{{delivery_money}} </td>
</tr> </tr>
<tr> <tr>
<td class="text-nowrap" scope="col">订单备注:{{note}}</td>
<td class="text-nowrap" scope="col" v-if="note">订单备注:{{note}}</td>
<td class="text-nowrap" scope="col" v-if="refuse_refund_note">拒绝退款原因:{{refuse_refund_note}}</td> <td class="text-nowrap" scope="col" v-if="refuse_refund_note">拒绝退款原因:{{refuse_refund_note}}</td>
</tr> </tr>

Loading…
Cancel
Save