Browse Source

活动商品添加适用市场,迁移数据修改

master
liangyuyan 5 years ago
parent
commit
dfa42bf38c
  1. 52
      app/Admin/Controllers/v3/GoodsActivityController.php
  2. 35
      app/Admin/Controllers/v3/GoodsController.php
  3. 16
      app/Admin/Controllers/v3/GoodsNewController.php
  4. 16
      app/Console/Commands/MigrateFePrint.php
  5. 4
      app/Console/Commands/MigrateMarketData.php
  6. 5
      app/Console/Commands/MigrateOrder.php
  7. 21
      app/Console/Commands/MigrateStoreBalance.php
  8. 2
      app/Console/Commands/MigrateUserAddr.php
  9. 3
      app/Models/v3/GoodsActivity.php
  10. 3
      resources/lang/zh-CN/goods-activity.php

52
app/Admin/Controllers/v3/GoodsActivityController.php

@ -132,20 +132,19 @@ class GoodsActivityController extends AdminController
// 店铺 // 店铺
$storeList = StoreModel::getStoreArray(); $storeList = StoreModel::getStoreArray();
//市场 //市场
// $marketList = MarketModel::getMarketArray();
$marketList = MarketModel::getMarketArray();
$form->column(6, function (Form $form) use($storeList,$categoryList ){
$form->column(6, function (Form $form) use($marketList,$storeList,$categoryList ){
$form->text('goods_id')->default(0)->help('输入正常商品id,用于关联商品。'); $form->text('goods_id')->default(0)->help('输入正常商品id,用于关联商品。');
$form->hidden('market_id')->default(0); $form->hidden('market_id')->default(0);
$form->multipleSelect('market_ids')->options($marketList)->help('不选则适用所有市场');
$form->select('category_id')->required()->options($categoryList)->load('goods_category_id', '/api/goods_category_list'); $form->select('category_id')->required()->options($categoryList)->load('goods_category_id', '/api/goods_category_list');
$form->select('goods_category_id'); $form->select('goods_category_id');
$form->select('store_id')->required()->options($storeList); $form->select('store_id')->required()->options($storeList);
$form->text('name')->required()->maxLength(20); $form->text('name')->required()->maxLength(20);
$form->image('cover_img')->required()->uniqueName(); $form->image('cover_img')->required()->uniqueName();
$form->select('type')->options(GoodsActivityModel::$_type)->default('flash_sale'); $form->select('type')->options(GoodsActivityModel::$_type)->default('flash_sale');
$form->datetime('expire_time')->value($form->model()->expire_time_text);
$form->number('time_limit_days');
$form->datetime('expire_time')->required()->format('YYYY-MM-DD HH:mm:ss')->help($form->model()->expire_time_text);
}); });
$form->column(6, function (Form $form) { $form->column(6, function (Form $form) {
$form->currency('price')->required()->floatTwo()->symbol('¥'); $form->currency('price')->required()->floatTwo()->symbol('¥');
@ -154,9 +153,10 @@ class GoodsActivityController extends AdminController
$form->text('goods_unit')->help('如:斤,个,盒,500克,1000克,1500克等'); $form->text('goods_unit')->help('如:斤,个,盒,500克,1000克,1500克等');
$form->radio('is_infinite')->options(['关闭','开启'])->default(1); $form->radio('is_infinite')->options(['关闭','开启'])->default(1);
$form->number('inventory')->required()->attribute('min', 1)->default(1); $form->number('inventory')->required()->attribute('min', 1)->default(1);
$form->number('restrict_num')->attribute('min', 0)->default(0)->help('0表示不限购');
$form->number('restrict_num')->attribute('min', 0)->default(0)->help('0表示不限购,单笔订单限购数量');
$form->number('start_num')->attribute('min', 1)->default(1); $form->number('start_num')->attribute('min', 1)->default(1);
$form->number('time_limit_num');
$form->number('time_limit_days')->help('A时间段内限购');
$form->number('time_limit_num')->help('A时间段内限购的数量');
$form->switch('can_use_coupon'); $form->switch('can_use_coupon');
}); });
$form->column(12, function (Form $form) { $form->column(12, function (Form $form) {
@ -191,11 +191,49 @@ class GoodsActivityController extends AdminController
}); });
$form->saving(function (Form $form){ $form->saving(function (Form $form){
$storeId = $form->input('store_id'); $storeId = $form->input('store_id');
$marketIds = $form->input('market_ids');
$tags = $form->input('tags');
$spec = $form->input('spec');
$detailsImgs = $form->input('details_imgs');
$goodsCategoryId = $form->input('goods_category_id');
if(!empty($storeId)){ if(!empty($storeId)){
// 商品所属市场,根据店铺查询市场 // 商品所属市场,根据店铺查询市场
$info = StoreModel::getStoreInfo($storeId,'market_id'); $info = StoreModel::getStoreInfo($storeId,'market_id');
$form->market_id = $info->market_id; $form->market_id = $info->market_id;
} }
$marketIdsArr = [];
if(!empty($marketIds)){
foreach($marketIds as $km => $marketId){
if(empty($marketId)){
unset($marketIds[$km]);
continue;
}
$marketIdsArr[] = $marketId;
}
}
$form->marketIds = json_encode($marketIdsArr);
$tagsArr = [];
if(!empty($tags)){
foreach($tags as $kt => $tag){
if(empty($tag)){
unset($tags[$kt]);
continue;
}
$tagsArr[] = $tag;
}
};
$form->tags = json_encode($tagsArr);
if($storeId && empty($spec)){
$form->spec = [];
}
if($storeId && empty($detailsImgs)){
$form->details_imgs = [];
}
if($storeId && empty($goodsCategoryId)){
$form->goods_category_id = 0;
}
}); });
$form->disableResetButton(); $form->disableResetButton();
$form->disableViewCheck(); $form->disableViewCheck();

35
app/Admin/Controllers/v3/GoodsController.php

@ -12,6 +12,7 @@ use App\Models\v3\Category as CategoryModel;
use App\Models\v3\Store as StoreModel; use App\Models\v3\Store as StoreModel;
use Dcat\Admin\Form\NestedForm; use Dcat\Admin\Form\NestedForm;
use App\Models\v3\Goods as GoodsModel; use App\Models\v3\Goods as GoodsModel;
use App\Models\v3\GoodsBanners as GoodsBannersModel;
use App\Models\v3\Market as MarketModel; use App\Models\v3\Market as MarketModel;
use Dcat\Admin\Grid\Displayers\Actions; use Dcat\Admin\Grid\Displayers\Actions;
use App\Models\v3\GoodsCategory as GoodsCategoryModel; use App\Models\v3\GoodsCategory as GoodsCategoryModel;
@ -181,7 +182,7 @@ class GoodsController extends AdminController
}); });
$form->column(12, function (Form $form) { $form->column(12, function (Form $form) {
$form->hasMany('image_banners', function (Form\NestedForm $form) { $form->hasMany('image_banners', function (Form\NestedForm $form) {
$form->image('path')->width(2)->uniqueName();
$form->image('path')->required()->width(2)->uniqueName();
$form->number('sort')->width(2)->default(0); $form->number('sort')->width(2)->default(0);
$form->hidden('type')->value(1)->default(1); $form->hidden('type')->value(1)->default(1);
})->required(); })->required();
@ -216,23 +217,39 @@ class GoodsController extends AdminController
$form->disableCreatingCheck(); $form->disableCreatingCheck();
}); });
$form->saving(function (Form $form){ $form->saving(function (Form $form){
$id = $form->getKey;
$storeId = $form->input('store_id'); $storeId = $form->input('store_id');
$tags = $form->input('tags');
$spec = $form->input('spec');
$detailsImgs = $form->input('details_imgs');
$goodsCategoryId = $form->input('goods_category_id');
if(!empty($storeId)){ if(!empty($storeId)){
// 商品所属市场,根据店铺查询市场 // 商品所属市场,根据店铺查询市场
$info = StoreModel::getStoreInfo($storeId,'market_id'); $info = StoreModel::getStoreInfo($storeId,'market_id');
$form->market_id = $info->market_id; $form->market_id = $info->market_id;
} }
$tags = $form->input('tags');
$tagsArr = []; $tagsArr = [];
foreach($tags as $kt => $tag){
if(empty($tag)){
unset($tags[$kt]);
continue;
if(!empty($tags)){
foreach($tags as $kt => $tag){
if(empty($tag)){
unset($tags[$kt]);
continue;
}
$tagsArr[] = $tag;
} }
$tagsArr[] = $tag;
}
};
$form->tags = json_encode($tagsArr); $form->tags = json_encode($tagsArr);
if($storeId && empty($spec)){
$form->spec = [];
}
if($storeId && empty($detailsImgs)){
$form->details_imgs = [];
}
if($storeId && empty($goodsCategoryId)){
$form->goods_category_id = 0;
}
}); });
}); });
} }

16
app/Admin/Controllers/v3/GoodsNewController.php

@ -233,8 +233,12 @@ class GoodsNewController extends AdminController
$form->disableCreatingCheck(); $form->disableCreatingCheck();
}); });
$form->saving(function (Form $form){ $form->saving(function (Form $form){
// $storeId = $form->input('store_id');
$storeId = $form->input('store_id');
$tags = $form->input('tags');
$spec = $form->input('spec');
$detailsImgs = $form->input('details_imgs');
$goodsCategoryId = $form->input('goods_category_id');
// 商品所属市场,根据店铺查询市场 // 商品所属市场,根据店铺查询市场
// $info = StoreModel::getStoreInfo($storeId,'market_id'); // $info = StoreModel::getStoreInfo($storeId,'market_id');
// $form->market_id = $info->market_id; // $form->market_id = $info->market_id;
@ -252,6 +256,16 @@ class GoodsNewController extends AdminController
$form->tags = json_encode($tagsArr); $form->tags = json_encode($tagsArr);
} }
if($storeId && empty($spec)){
$form->spec = [];
}
if($storeId && empty($detailsImgs)){
$form->details_imgs = [];
}
if($storeId && empty($goodsCategoryId)){
$form->goods_category_id = 0;
}
}); });
}); });
} }

16
app/Console/Commands/MigrateFePrint.php

@ -40,7 +40,7 @@ class MigrateFePrint extends Command
public function handle() public function handle()
{ {
$oldTableName = 'ims_cjdc_feprint'; $oldTableName = 'ims_cjdc_feprint';
$newTableName = 'lanzu_feprint_copy';
$newTableName = 'lanzu_feprint';
// 判断表是否存在 // 判断表是否存在
if(!Schema::hasTable($oldTableName)){ if(!Schema::hasTable($oldTableName)){
var_dump('旧表不存在'); var_dump('旧表不存在');
@ -58,14 +58,14 @@ class MigrateFePrint extends Command
foreach ($oldData as $key => $value) { foreach ($oldData as $key => $value) {
$newData[] = [ $newData[] = [
'id' => $value->id, 'id' => $value->id,
'name' => $value->name,
'sn' => $value->sn,
'market_id' => $value->market_id ,
'simnum' => $value->simnum,
'addtime' => $value->addtime,
'status' => $value->status,
'name' => $value->name ?? '',
'sn' => $value->sn ?? '',
'market_id' => $value->market_id ?? 0,
'simnum' => $value->simnum ?? 0 ,
'addtime' => $value->addtime ?? 0,
'status' => $value->status ?? 0,
'created_at' => strtotime($value->addtime),
'created_at' => $value->addtime ? strtotime($value->addtime) : 0,
'updated_at' => time(), 'updated_at' => time(),
]; ];

4
app/Console/Commands/MigrateMarketData.php

@ -40,7 +40,7 @@ class MigrateMarketData extends Command
{ {
// get old data from old table // get old data from old table
$oldData = DB::table('ims_cjdc_market_new')->get();
$oldData = DB::table('ims_cjdc_market')->get();
$bar = $this->output->createProgressBar(count($oldData)); $bar = $this->output->createProgressBar(count($oldData));
$bar->start(); $bar->start();
@ -65,7 +65,7 @@ class MigrateMarketData extends Command
'status' => $value->status ?? 1, 'status' => $value->status ?? 1,
'sort' => $value->sort ?? 1, 'sort' => $value->sort ?? 1,
'created_at' => $value->addtime ? strtotime($value->addtime) : 0, 'created_at' => $value->addtime ? strtotime($value->addtime) : 0,
'updated_at' => $value->addtime ? strtotime($value->addtime) : 0,
'updated_at' => time(),
]; ];
$bar->advance(); $bar->advance();

5
app/Console/Commands/MigrateOrder.php

@ -82,7 +82,7 @@ class MigrateOrder extends Command
'total_refund_note' => $main->total_refund_note ?? '', 'total_refund_note' => $main->total_refund_note ?? '',
'note' => $main->note ?? '', 'note' => $main->note ?? '',
'created_at' => $main->time_add ?? 0, 'created_at' => $main->time_add ?? 0,
'updated_at' => 0,
'updated_at' => time(),
]; ];
$newMainId = DB::table('lanzu_order_main')->insertGetId($dataMain); $newMainId = DB::table('lanzu_order_main')->insertGetId($dataMain);
@ -103,7 +103,7 @@ class MigrateOrder extends Command
'refund_note' => '', 'refund_note' => '',
'note' => $child->note ?? '', 'note' => $child->note ?? '',
'created_at' => $child->time_add ? strtotime($child->time_add) : 0, 'created_at' => $child->time_add ? strtotime($child->time_add) : 0,
'updated_at' => $child->time_add ? strtotime($child->time_add) : 0,
'updated_at' => time(),
]; ];
$newChildId = DB::table('lanzu_order')->insertGetId($dataChild); $newChildId = DB::table('lanzu_order')->insertGetId($dataChild);
@ -128,6 +128,7 @@ class MigrateOrder extends Command
'created_at' => time(), 'created_at' => time(),
'updated_at' => time(), 'updated_at' => time(),
'refuse_refund_note' => '', 'refuse_refund_note' => '',
'note' => '',
]; ];
} }
DB::table('lanzu_order_goods')->insert($dataGoods); DB::table('lanzu_order_goods')->insert($dataGoods);

21
app/Console/Commands/MigrateStoreBalance.php

@ -70,16 +70,15 @@ class MigrateStoreBalance extends Command
foreach($newData as $store_id => $money){ foreach($newData as $store_id => $money){
$exist = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->exists(); $exist = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->exists();
if($exist){ if($exist){
$saveData = [
'balance' => number_format($money,2,'.',''),
'updated_at' => time()
];
// var_dump($saveData);
// return 0;
$res = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->update($saveData);
if(!$res){
$error[] = ['store_id'=>$store_id,'money'=>$money];
}
$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{ }else{
$saveData = [ $saveData = [
'source_id' => $store_id, 'source_id' => $store_id,
@ -87,8 +86,6 @@ class MigrateStoreBalance extends Command
'balance' => number_format($money,2,'.',''), 'balance' => number_format($money,2,'.',''),
'updated_at' => time() 'updated_at' => time()
]; ];
// var_dump($saveData);
// return 0;
$res = DB::table($newBalanceTableName)->insert($saveData); $res = DB::table($newBalanceTableName)->insert($saveData);
if(!$res){ if(!$res){
$error[] = ['store_id'=>$store_id,'money'=>$money]; $error[] = ['store_id'=>$store_id,'money'=>$money];

2
app/Console/Commands/MigrateUserAddr.php

@ -74,7 +74,7 @@ class MigrateUserAddr extends Command
'tel' => $value->tel == 'undefined'? '': $value->tel, 'tel' => $value->tel == 'undefined'? '': $value->tel,
'doorplate' => $doorplate, 'doorplate' => $doorplate,
'is_default' => $value->is_default ?? 0, 'is_default' => $value->is_default ?? 0,
'tags' => json_encode(''),
'tags' => json_encode([]),
'created_at' => time(), 'created_at' => time(),
'updated_at' => time(), 'updated_at' => time(),
]; ];

3
app/Models/v3/GoodsActivity.php

@ -23,7 +23,8 @@ class GoodsActivity extends Model
protected $casts = [ protected $casts = [
'details_imgs'=>'array', 'details_imgs'=>'array',
'tags'=>'array',
// 'tags'=>'array',
// 'market_ids'=>'array',
'spec'=>'array', 'spec'=>'array',
]; ];

3
resources/lang/zh-CN/goods-activity.php

@ -9,7 +9,8 @@ return [
'type' => '活动类型', 'type' => '活动类型',
'type_text' => '活动类型', 'type_text' => '活动类型',
'goods_id' => '原始商品', 'goods_id' => '原始商品',
'market_id' => '市场',
'market_id' => '所属市场',
'market_ids' => '适用市场',
'store_id' => '商家', 'store_id' => '商家',
'category_id' => '分类', 'category_id' => '分类',
'goods_category_id' => '商品类目', 'goods_category_id' => '商品类目',

Loading…
Cancel
Save