diff --git a/app/Admin/Actions/Grid/v3/StoreSetTime.php b/app/Admin/Actions/Grid/v3/StoreSetTime.php new file mode 100644 index 0000000..719b910 --- /dev/null +++ b/app/Admin/Actions/Grid/v3/StoreSetTime.php @@ -0,0 +1,36 @@ +getKey(); + + $modal = Modal::make() + ->xl() + ->title($this->title) + ->body(StoreSetTimeForm::make()->setKey($id)) + ->button($this->title); + + return $modal; + } + + public function parameters() + { + + return [ + + ]; + } +} diff --git a/app/Admin/Controllers/v3/BannersController.php b/app/Admin/Controllers/v3/BannersController.php index be3b5f8..eea4f36 100644 --- a/app/Admin/Controllers/v3/BannersController.php +++ b/app/Admin/Controllers/v3/BannersController.php @@ -105,7 +105,7 @@ class BannersController extends AdminController }); }); $form->column(6, function (Form $form) { - $form->image('cover')->required()->uniqueName();//->disk('admin') + $form->image('cover')->required()->uniqueName(); $form->select('cover_type')->options(BannersModel::$_coverType)->required(); $form->text('path')->default(''); $form->select('path_type')->options(BannersModel::$_pathType)->default(''); diff --git a/app/Admin/Controllers/v3/GoodsActivityController.php b/app/Admin/Controllers/v3/GoodsActivityController.php index a37ab3b..b2d0296 100644 --- a/app/Admin/Controllers/v3/GoodsActivityController.php +++ b/app/Admin/Controllers/v3/GoodsActivityController.php @@ -132,20 +132,19 @@ class GoodsActivityController extends AdminController // 店铺 $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->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('goods_category_id'); $form->select('store_id')->required()->options($storeList); $form->text('name')->required()->maxLength(20); $form->image('cover_img')->required()->uniqueName(); $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->currency('price')->required()->floatTwo()->symbol('¥'); @@ -154,9 +153,10 @@ class GoodsActivityController extends AdminController $form->text('goods_unit')->help('如:斤,个,盒,500克,1000克,1500克等'); $form->radio('is_infinite')->options(['关闭','开启'])->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('time_limit_num'); + $form->number('time_limit_days')->help('A时间段内限购'); + $form->number('time_limit_num')->help('A时间段内限购的数量'); $form->switch('can_use_coupon'); }); $form->column(12, function (Form $form) { @@ -191,11 +191,49 @@ class GoodsActivityController extends AdminController }); $form->saving(function (Form $form){ $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)){ // 商品所属市场,根据店铺查询市场 $info = StoreModel::getStoreInfo($storeId,'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->disableViewCheck(); diff --git a/app/Admin/Controllers/v3/GoodsController.php b/app/Admin/Controllers/v3/GoodsController.php index ba18762..a788312 100644 --- a/app/Admin/Controllers/v3/GoodsController.php +++ b/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 Dcat\Admin\Form\NestedForm; use App\Models\v3\Goods as GoodsModel; +use App\Models\v3\GoodsBanners as GoodsBannersModel; use App\Models\v3\Market as MarketModel; use Dcat\Admin\Grid\Displayers\Actions; use App\Models\v3\GoodsCategory as GoodsCategoryModel; @@ -82,12 +83,12 @@ class GoodsController extends AdminController return empty($item) ? '' : $item->title; }); $show->width(6)->store_id->as(function ($storeId){ - $item = GoodsCategoryModel::getInfo($storeId,'name'); + $item = storeModel::getStoreInfo($storeId,'name'); return empty($item) ? '' : $item->name; }); - $show->width(6)->store_id->as(function ($goodsCategoryId){ - $item = StoreModel::getStoreInfo($goodsCategoryId,'name'); - return empty($item) ? '' : $item->name; + $show->width(6)->goods_category_id->as(function ($goodsCategoryId){ + $item = GoodsCategoryModel::getInfo($goodsCategoryId,'title'); + return empty($item) ? '' : $item->title; }); $show->width(6)->cover_img->image(); $show->width(6)->price; @@ -110,8 +111,10 @@ class GoodsController extends AdminController }); $show->width(6)->spec->as(function ($value){ $text = ''; - foreach ($value as $v){ - $text .= '【'.$v['spec_key'] .':'.$v['spec_value'].'】 '; + if($value){ + foreach ($value as $v){ + $text .= '【'.$v['spec_key'] .':'.$v['spec_value'].'】 '; + } } return $text; }); @@ -179,7 +182,7 @@ class GoodsController extends AdminController }); $form->column(12, function (Form $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->hidden('type')->value(1)->default(1); })->required(); @@ -214,23 +217,39 @@ class GoodsController extends AdminController $form->disableCreatingCheck(); }); $form->saving(function (Form $form){ + $id = $form->getKey; $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)){ // 商品所属市场,根据店铺查询市场 $info = StoreModel::getStoreInfo($storeId,'market_id'); $form->market_id = $info->market_id; } - $tags = $form->input('tags'); + $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); + if($storeId && empty($spec)){ + $form->spec = []; + } + if($storeId && empty($detailsImgs)){ + $form->details_imgs = []; + } + if($storeId && empty($goodsCategoryId)){ + $form->goods_category_id = 0; + } }); }); } diff --git a/app/Admin/Controllers/v3/GoodsNewController.php b/app/Admin/Controllers/v3/GoodsNewController.php index 07b9fbe..40af02a 100644 --- a/app/Admin/Controllers/v3/GoodsNewController.php +++ b/app/Admin/Controllers/v3/GoodsNewController.php @@ -99,12 +99,12 @@ class GoodsNewController extends AdminController return empty($item) ? '' : $item->title; }); $show->width(6)->store_id->as(function ($storeId){ - $item = GoodsCategoryModel::getInfo($storeId,'name'); + $item = StoreModel::getStoreInfo($storeId,'name'); return empty($item) ? '' : $item->name; }); - $show->width(6)->store_id->as(function ($goodsCategoryId){ - $item = StoreModel::getStoreInfo($goodsCategoryId,'name'); - return empty($item) ? '' : $item->name; + $show->width(6)->goods_category_id->as(function ($goodsCategoryId){ + $item = GoodsCategoryModel::getInfo($goodsCategoryId,'title'); + return empty($item) ? '' : $item->title; }); $show->width(6)->cover_img->image(); $show->width(6)->price; @@ -127,8 +127,10 @@ class GoodsNewController extends AdminController }); $show->width(6)->spec->as(function ($value){ $text = ''; - foreach ($value as $v){ - $text .= '【'.$v['spec_key'] .':'.$v['spec_value'].'】 '; + if($value){ + foreach ($value as $v){ + $text .= '【'.$v['spec_key'] .':'.$v['spec_value'].'】 '; + } } return $text; }); @@ -231,8 +233,12 @@ class GoodsNewController extends AdminController $form->disableCreatingCheck(); }); $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'); // $form->market_id = $info->market_id; @@ -250,6 +256,16 @@ class GoodsNewController extends AdminController $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; + } }); }); } diff --git a/app/Admin/Controllers/v3/ServicePersonnelController.php b/app/Admin/Controllers/v3/ServicePersonnelController.php new file mode 100644 index 0000000..338feb1 --- /dev/null +++ b/app/Admin/Controllers/v3/ServicePersonnelController.php @@ -0,0 +1,86 @@ +column('id')->sortable(); + $grid->column('user_id'); + $grid->column('name'); + $grid->column('tel'); + $grid->column('market_id'); + $grid->column('type'); + $grid->column('status'); + $grid->column('qr_url'); + $grid->column('head_url'); + $grid->column('created_at'); + $grid->column('updated_at')->sortable(); + + $grid->filter(function (Grid\Filter $filter) { + $filter->equal('id'); + + }); + }); + } + + /** + * Make a show builder. + * + * @param mixed $id + * + * @return Show + */ + protected function detail($id) + { + return Show::make($id, new ServicePersonnel(), function (Show $show) { + $show->field('id'); + $show->field('user_id'); + $show->field('name'); + $show->field('tel'); + $show->field('market_id'); + $show->field('type'); + $show->field('status'); + $show->field('qr_url'); + $show->field('head_url'); + $show->field('created_at'); + $show->field('updated_at'); + }); + } + + /** + * Make a form builder. + * + * @return Form + */ + protected function form() + { + return Form::make(new ServicePersonnel(), function (Form $form) { + $form->display('id'); + $form->text('user_id'); + $form->text('name'); + $form->text('tel'); + $form->text('market_id'); + $form->text('type'); + $form->text('status'); + $form->text('qr_url'); + $form->text('head_url'); + + $form->display('created_at'); + $form->display('updated_at'); + }); + } +} diff --git a/app/Admin/Controllers/v3/StoreController.php b/app/Admin/Controllers/v3/StoreController.php index a3fbe57..81b13fa 100644 --- a/app/Admin/Controllers/v3/StoreController.php +++ b/app/Admin/Controllers/v3/StoreController.php @@ -15,6 +15,7 @@ use App\Models\v3\User as UserModel; use App\Models\v3\Category as CategoryModel; use App\Models\LanzuUserBalance as UserBalanceModel; use App\Models\v3\StoreUsers as StoreUsersModel; +use App\Admin\Actions\Grid\v3\StoreSetTime; class StoreController extends AdminController { @@ -46,6 +47,7 @@ class StoreController extends AdminController $grid->is_rest->switch(); $grid->is_open->switch(); + $grid->actions([new StoreSetTime()]); // 搜索 $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); diff --git a/app/Admin/Forms/GoodsCopyForm.php b/app/Admin/Forms/GoodsCopyForm.php index aa8906f..1c09275 100644 --- a/app/Admin/Forms/GoodsCopyForm.php +++ b/app/Admin/Forms/GoodsCopyForm.php @@ -87,7 +87,8 @@ class GoodsCopyForm extends Form $id = $this->getKey(); $goods = GoodsModel::select('name')->find($id); $this->hidden('goods_id')->value($id); - $this->display('name')->value($goods->name); + $name = empty($goods->name)?'':$goods->name; + $this->display('name')->value($name); $stores = StoreModel::getStoreArray(); $this->multipleSelect('store_ids','选择店铺')->required()->options($stores)->help('选择店铺,将当前商品复制到所选店铺。注意选择重复店铺问题!!!'); } diff --git a/app/Admin/Forms/GoodsNewCopyForm.php b/app/Admin/Forms/GoodsNewCopyForm.php index 52e1abb..8ca431c 100644 --- a/app/Admin/Forms/GoodsNewCopyForm.php +++ b/app/Admin/Forms/GoodsNewCopyForm.php @@ -87,7 +87,8 @@ class GoodsNewCopyForm extends Form $id = $this->getKey(); $goods = GoodsModel::select('name')->find($id); $this->hidden('goods_id')->value($id); - $this->display('name')->value($goods->name); + $name = empty($goods->name)?'':$goods->name; + $this->display('name')->value($name); $stores = StoreModel::getStoreArray(); $this->multipleSelect('store_ids','选择店铺')->required()->options($stores)->help('选择店铺,将当前商品复制到所选店铺。注意选择重复店铺问题!!!'); } diff --git a/app/Admin/Forms/GoodsNewImageForm.php b/app/Admin/Forms/GoodsNewImageForm.php index f4e1e7f..f418ff0 100644 --- a/app/Admin/Forms/GoodsNewImageForm.php +++ b/app/Admin/Forms/GoodsNewImageForm.php @@ -55,7 +55,8 @@ class GoodsNewImageForm extends Form $goods = GoodsModel::select('name')->find($id); $goodName = empty($goods->name)?'':$goods->name; $this->hidden('goods_id')->value($id); - $this->image('cover_img','封面图')->url('ops/files')->help('商品名称:'.$goodName); + $this->display('name','商品名称')->value($goodName); + $this->image('cover_img','封面图')->url('ops/files'); $this->image('img_banner','轮播图')->url('ops/files'); } diff --git a/app/Admin/Forms/v3/StoreSetTimeForm.php b/app/Admin/Forms/v3/StoreSetTimeForm.php new file mode 100644 index 0000000..862e623 --- /dev/null +++ b/app/Admin/Forms/v3/StoreSetTimeForm.php @@ -0,0 +1,65 @@ +time1 = $input['time1']; + $store->time2 = $input['time2']; + $store->time3 = $input['time3']; + $store->time4 = $input['time4']; + if($store->save()){ + return $this->success('修改成功', '/store'); + } + return $this->error('修改失败'); + } + + /** + * Build a form here. + */ + public function form() + { + $id = $this->getKey(); + $store = StoreModel::select('name','time1','time2','time3','time4')->find($id); + $this->hidden('store_id')->value($id); + $name = empty($store->name)?'':$store->name; + $time1 = empty($store->time1)?'':$store->time1; + $time2 = empty($store->time2)?'':$store->time2; + $time3 = empty($store->time3)?'':$store->time3; + $time4 = empty($store->time4)?'':$store->time4; + $this->display('name','店铺名称')->value($name); + $this->time('time1','时间段一开始')->format('HH:mm')->value($time1); + $this->time('time2','时间段一结束')->format('HH:mm')->rules('after:time1',['after'=>'选择的时间必须比时间段一开始时间晚'])->value($time2); + $this->time('time3','时间段二开始')->format('HH:mm')->rules('after:time2',['after'=>'选择的时间必须比时间段一结束时间晚'])->value($time3); + $this->time('time4','时间段二结束')->format('HH:mm')->rules('after:time3',['after'=>'选择的时间必须比时间段二开始时间晚'])->value($time4); + } + + /** + * The data of the form. + * + * @return array + */ + public function default() + { + return []; + } + +} diff --git a/app/Admin/Repositories/v3/ServicePersonnel.php b/app/Admin/Repositories/v3/ServicePersonnel.php new file mode 100644 index 0000000..3582a75 --- /dev/null +++ b/app/Admin/Repositories/v3/ServicePersonnel.php @@ -0,0 +1,16 @@ +resource('/horseman', 'LanzuServiceHorsemanController'); $router->any('ops/files', 'v3\FileController@handle'); + + // 服务站专员 + $router->resource('/service_personnel', 'v3\ServicePersonnelController'); }); diff --git a/app/Console/Commands/MigrateCoupon.php b/app/Console/Commands/MigrateCoupon.php new file mode 100644 index 0000000..d8839dd --- /dev/null +++ b/app/Console/Commands/MigrateCoupon.php @@ -0,0 +1,139 @@ +get(); + $oldData = DB::table($oldTableName)->get(); + $oldTypeData = DB::table($oldTypeTableName)->get(); + $bar = $this->output->createProgressBar(count($oldData)); + $bar->start(); + + $newSetData = []; + $newData = []; + $newTypeData = []; + foreach ($oldSetData as $key => $value) { + $newSetData[] = [ + 'id' => $value->id, + 'name' => $value->name ?? 0, + 'category' => $value->category ?? 0, + 'value' => $value->value ?? 0, + 'desc' => $value->desc ?? '', + 'sort' => $value->sort ?? 0, + 'status' => $value->status ?? 0, + + 'created_at' => time(), + 'updated_at' => time(), + ]; + } + foreach ($oldData as $key => $value) { + $newData[] = [ + 'id' => $value->id, + 'status' => $value->status ?? 0, + 'active_type' => $value->active_type ?? 0, + 'type' => $value->type ?? 0, + 'title' => $value->title ?? '', + 'introduce' => $value->introduce ?? '', + 'start_time' => $value->start_time ?? 0, + 'end_time' => $value->end_time, + 'full_amount' => $value->full_amount, + 'discounts' => $value->discounts ?? 0, + 'is_new_user' => $value->is_new_user ?? 0, + + 'inventory' => $value->inventory, + 'inventory_use' => $value->inventory_use ?? 0, + 'market_ids' => json_encode([]), + 'category_ids' => json_encode([]), + 'category' => $value->category ?? 0, + 'discount_type' => $value->discount_type ?? 0, + 'activity_available' => json_encode([]), + 'weigh' => $value->weigh ?? 0, + 'usable_number' => $value->usable_number ?? 0, + 'usable_start_time' => $value->usable_start_time ?? 0, + 'usable_end_time' => $value->usable_end_time ?? 0, + + 'remark' => $value->remark ?? 0, + 'add_user_id' => $value->add_user_id ?? 0, + 'update_user_id' => $value->update_user_id ?? 0, + 'tags' => json_encode([]), + + 'created_at' => $value->addtime ?? 0, + 'updated_at' => time(), + 'deleted_at' => $value->status == -1 ? time() : $value->deleted_at ?? null, + ]; + } + foreach ($oldTypeData as $key => $value) { + $newTypeData[] = [ + 'id' => $value->id, + 'coupon_id' => $value->system_coupon_user_id ?? 0, + + 'receive_type' => $value->receive_type ?? 0, + 'one_receive_number' => $value->one_receive_number ?? 0, + + 'created_at' => $value->add_time ?? 0, + 'updated_at' => time(), + ]; + $bar->advance(); + } + + // insert new data to new table + DB::table($newSetTableName)->insert($newSetData); + DB::table($newTableName)->insert($newData); + DB::table($newTypeTableName)->insert($newTypeData); + + $bar->finish(); + return 0; + } +} diff --git a/app/Console/Commands/MigrateCouponReceive.php b/app/Console/Commands/MigrateCouponReceive.php new file mode 100644 index 0000000..1243760 --- /dev/null +++ b/app/Console/Commands/MigrateCouponReceive.php @@ -0,0 +1,89 @@ +get(); + + $bar = $this->output->createProgressBar(count($oldData)); + $bar->start(); + + $newData = []; + foreach ($oldData as $key => $value) { + $newData[] = [ + 'id' => $value->id, + 'coupon_id' => $value->system_coupon_user_id ?? 0, + + 'user_id' => $value->user_id ?? 0, + 'order_main_id' => $value->order_main_id ?? 0, + 'receive_time' => $value->receive_time ?? 0, + 'number' => $value->number ?? 0, + 'number_remain' => $value->number_remain ?? 0, + 'status' => $value->status ?? 0, + 'update_time' => $value->update_time ?? 0, + 'receive_type' => $value->receive_type ?? 0, + + 'rebate_type' => $value->rebate_type ?? 0, + 'send_user_id' => $value->send_user_id ?? 0, + 'phone' => $value->phone ?? '', + + 'created_at' => $value->created_at ?? 0, + 'updated_at' => time(), + ]; + $bar->advance(); + } + // insert new data to new table + DB::table($newTableName)->insert($newData); + + $bar->finish(); + return 0; + } +} diff --git a/app/Console/Commands/MigrateCouponUse.php b/app/Console/Commands/MigrateCouponUse.php new file mode 100644 index 0000000..89c88de --- /dev/null +++ b/app/Console/Commands/MigrateCouponUse.php @@ -0,0 +1,84 @@ +get(); + + $bar = $this->output->createProgressBar(count($oldData)); + $bar->start(); + + $newData = []; + foreach ($oldData as $key => $value) { + $newData[] = [ + 'id' => $value->id, + 'coupon_id' => $value->system_coupon_user_id ?? 0, + 'user_id' => $value->user_id ?? 0, + + 'order_main_id' => $value->order_main_id ?? 0, + 'user_receive_id' => $value->user_receive_id ?? 0, + 'number' => $value->number ?? 0, + 'use_time' => $value->use_time ?? 0, + 'status' => $value->status ?? 0, + 'return_time' => $value->return_time ?? 0, + + 'created_at' => $value->created_at ?? 0, + 'updated_at' => time(), + ]; + $bar->advance(); + } + // insert new data to new table + DB::table($newTableName)->insert($newData); + + $bar->finish(); + return 0; + } +} diff --git a/app/Console/Commands/MigrateFePrint.php b/app/Console/Commands/MigrateFePrint.php index ff4cda1..121bef0 100644 --- a/app/Console/Commands/MigrateFePrint.php +++ b/app/Console/Commands/MigrateFePrint.php @@ -40,7 +40,7 @@ class MigrateFePrint extends Command public function handle() { $oldTableName = 'ims_cjdc_feprint'; - $newTableName = 'lanzu_feprint_copy'; + $newTableName = 'lanzu_feprint'; // 判断表是否存在 if(!Schema::hasTable($oldTableName)){ var_dump('旧表不存在'); @@ -58,14 +58,14 @@ class MigrateFePrint extends Command foreach ($oldData as $key => $value) { $newData[] = [ '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(), ]; diff --git a/app/Console/Commands/MigrateMarketData.php b/app/Console/Commands/MigrateMarketData.php index f36d224..d5ecae8 100644 --- a/app/Console/Commands/MigrateMarketData.php +++ b/app/Console/Commands/MigrateMarketData.php @@ -40,7 +40,7 @@ class MigrateMarketData extends Command { // 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->start(); @@ -65,7 +65,7 @@ class MigrateMarketData extends Command 'status' => $value->status ?? 1, 'sort' => $value->sort ?? 1, 'created_at' => $value->addtime ? strtotime($value->addtime) : 0, - 'updated_at' => $value->addtime ? strtotime($value->addtime) : 0, + 'updated_at' => time(), ]; $bar->advance(); diff --git a/app/Console/Commands/MigrateOrder.php b/app/Console/Commands/MigrateOrder.php index ff806c3..b9d3a85 100644 --- a/app/Console/Commands/MigrateOrder.php +++ b/app/Console/Commands/MigrateOrder.php @@ -52,7 +52,7 @@ class MigrateOrder extends Command $dataMain = [ 'market_id' => $main->market_id ?? 0, 'order_num' => $main->order_num ?? '', - 'global_order_id' => $main->global_order_id ?? 0, + 'global_order_id' => $main->global_order_id ?? time().mt_rand(100000,999999), 'user_id' => $main->user_id ?? 0, 'pay_type' => $main->pay_type ?? 0, 'type' => $main->type ?? 0, @@ -81,8 +81,13 @@ class MigrateOrder extends Command 'delivery_time_note' => $main->delivery_time ?? '', 'total_refund_note' => $main->total_refund_note ?? '', 'note' => $main->note ?? '', + + 'shipping_name' => $main->shipping_name ?? '', + 'horseman_id' => $main->horseman_id ?? 0, + 'delivery_distance' => $main->delivery_distance ?? 0, + 'created_at' => $main->time_add ?? 0, - 'updated_at' => 0, + 'updated_at' => time(), ]; $newMainId = DB::table('lanzu_order_main')->insertGetId($dataMain); @@ -91,7 +96,7 @@ class MigrateOrder extends Command foreach ($orderChildren as $kChild => $child) { // 子订单 $dataChild = [ - 'order_main_id' => $newMainId ?? 0, + 'order_main_id' => $dataMain['global_order_id'] ?? 0, 'user_id' => $child->user_id ?? 0, 'store_id' => $child->store_id ?? 0, 'status' => 1, @@ -103,7 +108,7 @@ class MigrateOrder extends Command '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, + 'updated_at' => time(), ]; $newChildId = DB::table('lanzu_order')->insertGetId($dataChild); @@ -128,6 +133,7 @@ class MigrateOrder extends Command 'created_at' => time(), 'updated_at' => time(), 'refuse_refund_note' => '', + 'note' => '', ]; } DB::table('lanzu_order_goods')->insert($dataGoods); diff --git a/app/Console/Commands/MigrateOrderStatistics.php b/app/Console/Commands/MigrateOrderStatistics.php new file mode 100644 index 0000000..c2bab97 --- /dev/null +++ b/app/Console/Commands/MigrateOrderStatistics.php @@ -0,0 +1,79 @@ +get(); + + $bar = $this->output->createProgressBar(count($oldData)); + $bar->start(); + $newData = []; + foreach ($oldData as $key => $value) { + $newData[] = [ + 'id' => $value->id, + 'money' => $value->money ?? 0, + 'user_id' => $value->user_id ?? 0, + 'store_id' => $value->store_id ?? 0, + 'market_id' => $value->market_id ?? 0 , + 'order_id' => $value->order_id ?? 0, + + 'created_at' => $value->createtime ?? 0, + 'updated_at' => time(), + ]; + + $bar->advance(); + } + + DB::table($newTableName)->insert($newData); + + $bar->finish(); + return 0; + } +} diff --git a/app/Console/Commands/MigrateStoreBalance.php b/app/Console/Commands/MigrateStoreBalance.php index 84a99b2..0d3464c 100644 --- a/app/Console/Commands/MigrateStoreBalance.php +++ b/app/Console/Commands/MigrateStoreBalance.php @@ -70,16 +70,15 @@ class MigrateStoreBalance extends Command foreach($newData as $store_id => $money){ $exist = DB::table($newBalanceTableName)->where('source_id',$store_id)->where('user_type',5)->exists(); 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{ $saveData = [ 'source_id' => $store_id, @@ -87,8 +86,6 @@ class MigrateStoreBalance extends Command 'balance' => number_format($money,2,'.',''), 'updated_at' => time() ]; - // var_dump($saveData); - // return 0; $res = DB::table($newBalanceTableName)->insert($saveData); if(!$res){ $error[] = ['store_id'=>$store_id,'money'=>$money]; diff --git a/app/Console/Commands/MigrateStoreAccount.php b/app/Console/Commands/MigrateStoreFinancial.php similarity index 98% rename from app/Console/Commands/MigrateStoreAccount.php rename to app/Console/Commands/MigrateStoreFinancial.php index f960267..53791f4 100644 --- a/app/Console/Commands/MigrateStoreAccount.php +++ b/app/Console/Commands/MigrateStoreFinancial.php @@ -6,14 +6,14 @@ use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; -class MigrateStoreAccount extends Command +class MigrateStoreFinancial extends Command { /** * The name and signature of the console command. * * @var string */ - protected $signature = 'migrateData:storeAccount'; + protected $signature = 'migrateData:storeFinancial'; /** * The console command description. diff --git a/app/Console/Commands/MigrateStoreImg.php b/app/Console/Commands/MigrateStoreImg.php deleted file mode 100644 index 593851a..0000000 --- a/app/Console/Commands/MigrateStoreImg.php +++ /dev/null @@ -1,79 +0,0 @@ -orderBy('id','desc')->get(); - $bar = $this->output->createProgressBar(count($oldData)); - $bar->start(); - $startTime = time(); - $error = []; - $newData = []; - foreach ($oldData as $key => $value){ - $storeId = $value->id; - - $storeData =[ - 'store_applet_img' => $storeImgPath.$storeId.'.jpg', - 'cash_code_img' => $storePayPath.$storeId.'.jpg', - 'updated_at' => time(), - ]; - - $newData = $storeData; - $res = DB::table($newTableName)->where('id',$storeId)->update($newData); - if(!$res){ - $error[] = ['id'=>$storeId]; - break; - } - $bar->advance(); - } - $bar->finish(); - var_dump([time()-$startTime]); - var_dump($error); - return 0; - } -} diff --git a/app/Console/Commands/MigrateUserAddr.php b/app/Console/Commands/MigrateUserAddr.php index 930e526..d724190 100644 --- a/app/Console/Commands/MigrateUserAddr.php +++ b/app/Console/Commands/MigrateUserAddr.php @@ -74,7 +74,7 @@ class MigrateUserAddr extends Command 'tel' => $value->tel == 'undefined'? '': $value->tel, 'doorplate' => $doorplate, 'is_default' => $value->is_default ?? 0, - 'tags' => json_encode(''), + 'tags' => json_encode([]), 'created_at' => time(), 'updated_at' => time(), ]; diff --git a/app/Models/v3/GoodsActivity.php b/app/Models/v3/GoodsActivity.php index 7bcf306..2a2aa45 100644 --- a/app/Models/v3/GoodsActivity.php +++ b/app/Models/v3/GoodsActivity.php @@ -23,7 +23,8 @@ class GoodsActivity extends Model protected $casts = [ 'details_imgs'=>'array', - 'tags'=>'array', + // 'tags'=>'array', + // 'market_ids'=>'array', 'spec'=>'array', ]; diff --git a/app/Models/v3/ServicePersonnel.php b/app/Models/v3/ServicePersonnel.php new file mode 100644 index 0000000..f68195b --- /dev/null +++ b/app/Models/v3/ServicePersonnel.php @@ -0,0 +1,16 @@ +increments('id'); + $table->unsignedInteger('user_id')->default('0')->comment('服务员懒ID'); + $table->string('name')->default('')->comment('姓名'); + $table->char('tel')->comment('电话'); + $table->tinyInteger('market_id')->default('0')->comment('所属市场'); + $table->tinyInteger('type')->default('0')->comment('类型'); + $table->tinyInteger('status')->default('0')->comment('状态'); + $table->string('qr_url')->default('0')->comment('专员二维码'); + $table->string('head_url')->default('0')->comment('头像'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('lanzu_service_personnel'); + } +} diff --git a/dcat_admin_ide_helper.php b/dcat_admin_ide_helper.php index 775fa42..090bc50 100644 --- a/dcat_admin_ide_helper.php +++ b/dcat_admin_ide_helper.php @@ -1205,6 +1205,7 @@ namespace Dcat\Admin { * @property Grid\Column|Collection services_money * @property Grid\Column|Collection coupon_money * @property Grid\Column|Collection delivery_money + * @property Grid\Column|Collection delivery_distance * @property Grid\Column|Collection horseman_id * @property Grid\Column|Collection delivery_time_note * @property Grid\Column|Collection total_refund_note @@ -2432,6 +2433,7 @@ namespace Dcat\Admin { * @method Grid\Column|Collection services_money(string $label = null) * @method Grid\Column|Collection coupon_money(string $label = null) * @method Grid\Column|Collection delivery_money(string $label = null) + * @method Grid\Column|Collection delivery_distance(string $label = null) * @method Grid\Column|Collection horseman_id(string $label = null) * @method Grid\Column|Collection delivery_time_note(string $label = null) * @method Grid\Column|Collection total_refund_note(string $label = null) @@ -3664,6 +3666,7 @@ namespace Dcat\Admin { * @property Show\Field|Collection services_money * @property Show\Field|Collection coupon_money * @property Show\Field|Collection delivery_money + * @property Show\Field|Collection delivery_distance * @property Show\Field|Collection horseman_id * @property Show\Field|Collection delivery_time_note * @property Show\Field|Collection total_refund_note @@ -4891,6 +4894,7 @@ namespace Dcat\Admin { * @method Show\Field|Collection services_money(string $label = null) * @method Show\Field|Collection coupon_money(string $label = null) * @method Show\Field|Collection delivery_money(string $label = null) + * @method Show\Field|Collection delivery_distance(string $label = null) * @method Show\Field|Collection horseman_id(string $label = null) * @method Show\Field|Collection delivery_time_note(string $label = null) * @method Show\Field|Collection total_refund_note(string $label = null) diff --git a/resources/lang/zh-CN/goods-activity.php b/resources/lang/zh-CN/goods-activity.php index af1f1f8..ae43209 100644 --- a/resources/lang/zh-CN/goods-activity.php +++ b/resources/lang/zh-CN/goods-activity.php @@ -9,7 +9,8 @@ return [ 'type' => '活动类型', 'type_text' => '活动类型', 'goods_id' => '原始商品', - 'market_id' => '市场', + 'market_id' => '所属市场', + 'market_ids' => '适用市场', 'store_id' => '商家', 'category_id' => '分类', 'goods_category_id' => '商品类目', diff --git a/resources/lang/zh-CN/service-personnel.php b/resources/lang/zh-CN/service-personnel.php new file mode 100644 index 0000000..04d05a2 --- /dev/null +++ b/resources/lang/zh-CN/service-personnel.php @@ -0,0 +1,22 @@ + [ + 'ServicePersonnel' => '服务站专员', + 'servicePersonnel' => '服务站专员', + 'service_personnel' => '服务站专员', + ], + 'fields' => [ + 'user_id' => '服务员懒ID', + 'name' => '姓名', + 'tel' => '电话', + 'market_id' => '所属市场', + 'type' => '类型', + 'type_text' => '类型', + 'status' => '状态', + 'status_text' => '状态', + 'qr_url' => '专员二维码', + 'head_url' => '头像', + ], + 'options' => [ + ], +];