diff --git a/app/Admin/Common/StoreQRCode.php b/app/Admin/Common/StoreQRCode.php index bb40c95..7f639bb 100644 --- a/app/Admin/Common/StoreQRCode.php +++ b/app/Admin/Common/StoreQRCode.php @@ -48,16 +48,16 @@ class StoreQRCode extends AdminController */ public function SetPayWeChatCode($id) { - $isCREATE = env('IS_CREATE_WECHAT_MINI_QR_CODE',1); - if($isCREATE == 0){ + // $isCREATE = env('IS_CREATE_WECHAT_MINI_QR_CODE',1); + // if($isCREATE == 0){ $codeStore = $this->images->createQrCode($id,'zh_cjdianc/pages/seller/fukuan'); $storeImgPath = 'QR_code/code_minipay_img/wx_minipay_'.$id.'.jpg'; - }else{ - $codeStore = $this->images->createWeChatQrCode('?scene='.$id,'zh_cjdianc/pages/seller/fukuan'); - $storeImgPath = 'QR_code/code_pay_img/wx_pay_'.$id.'.jpg'; - // 裁剪 + // }else{ + // $codeStore = $this->images->createWeChatQrCode('?scene='.$id,'zh_cjdianc/pages/seller/fukuan'); + // $storeImgPath = 'QR_code/code_pay_img/wx_pay_'.$id.'.jpg'; + // // 裁剪 - } + // } // 裁剪测试 // $this->imageManager->make()->resize(270,270)->insert($codeStore); diff --git a/app/Admin/Controllers/BannerController.php b/app/Admin/Controllers/v3/BannerController.php similarity index 87% rename from app/Admin/Controllers/BannerController.php rename to app/Admin/Controllers/v3/BannerController.php index d020705..2ab494c 100644 --- a/app/Admin/Controllers/BannerController.php +++ b/app/Admin/Controllers/v3/BannerController.php @@ -1,14 +1,14 @@ column('sort')->sortable(); - $grid->column('status')->using(BannerModel::$_status)->label(['default' => 'primary',1 => 'primary', 0 => 'danger']); + $grid->column('status')->switch(); + // ->using(BannerModel::$_status)->label(['default' => 'primary',1 => 'primary', 0 => 'danger']); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); @@ -84,7 +85,9 @@ class BannerController extends AdminController $form->hidden('id'); // 市场 $marketList = MarketModel::getMarket(); - $form->select('market_id')->width(4)->options($marketList); + $form->select('market_id')->width(4)->options($marketList)->default(0); + // 多个市场 + $form->multipleSelect('market_ids')->options($marketList); $form->select('type')->options(BannerModel::$_type)->required(); $form->text('title')->required(); $form->text('sub_title'); @@ -92,7 +95,7 @@ class BannerController extends AdminController $form->select('cover_type')->options(BannerModel::$_coverType)->required(); $form->text('path')->default(''); $form->select('path_type')->options(BannerModel::$_pathType)->default(''); - $form->text('sort'); + $form->number('sort')->width(2)->default(0); $form->disableResetButton(); diff --git a/app/Admin/Controllers/CategoryController.php b/app/Admin/Controllers/v3/CategoryController.php similarity index 89% rename from app/Admin/Controllers/CategoryController.php rename to app/Admin/Controllers/v3/CategoryController.php index 67b2537..3d61bca 100644 --- a/app/Admin/Controllers/CategoryController.php +++ b/app/Admin/Controllers/v3/CategoryController.php @@ -1,8 +1,8 @@ branch(function ($branch) { $src = $branch['cover_img_url']; $logo = ""; + + $actions = '绑定'; - return "{$branch['id']} - {$branch['title']} $logo"; + return "{$branch['id']} - {$branch['title']} $logo $actions"; }); $row->column(12, $tree); diff --git a/app/Admin/Controllers/GoodsController.php b/app/Admin/Controllers/v3/GoodsController.php similarity index 88% rename from app/Admin/Controllers/GoodsController.php rename to app/Admin/Controllers/v3/GoodsController.php index 31acc64..d5ba4d5 100644 --- a/app/Admin/Controllers/GoodsController.php +++ b/app/Admin/Controllers/v3/GoodsController.php @@ -1,17 +1,17 @@ id->sortable(); $grid->cover_img_url->image('',50); $grid->name; - $grid->goods_type_id->display(function ($goodsTypeId){ - $goodsType = GoodsTypeModel::getGoodsInfo($goodsTypeId,'type_name'); - return empty($goodsType) ? '' : $goodsType->type_name; + $grid->category_id->display(function ($categoryId){ + $category = CategoryModel::getCategoryInfo($categoryId,'title'); + return empty($category) ? '' : $category->title; }); $grid->store_id->display(function ($storeId){ $store = StoreModel::getStoreInfo($storeId,'name'); @@ -96,16 +96,16 @@ class GoodsController extends AdminController return Form::make($builder, function (Form $form) { $form->hidden('id'); - // 二级分类(商品分类) - $goodsTypeList = GoodsTypeModel::getGoodsTypeArray(); + // 二级分类 + $categoryList = CategoryModel::getCategoryArray([['parent_id','>',0]]); // 店铺 $storeList = StoreModel::getStoreArray(); //市场 $marketList = MarketModel::getMarket(); - $form->column(6, function (Form $form) use($marketList,$storeList,$goodsTypeList ){ + $form->column(6, function (Form $form) use($marketList,$storeList,$categoryList ){ $form->select('market_id')->required()->options($marketList); - $form->select('goods_type_id')->required()->options($goodsTypeList); + $form->select('category_id')->required()->options($categoryList); $form->select('store_id')->required()->options($storeList); $form->text('name')->required()->maxLength(20); $form->image('cover_img')->required(); diff --git a/app/Admin/Controllers/StoreController.php b/app/Admin/Controllers/v3/StoreController.php similarity index 92% rename from app/Admin/Controllers/StoreController.php rename to app/Admin/Controllers/v3/StoreController.php index ef89eb4..ff08d63 100644 --- a/app/Admin/Controllers/StoreController.php +++ b/app/Admin/Controllers/v3/StoreController.php @@ -1,19 +1,18 @@ column(6, function (Form $form) use($mmList,$marketList,$storeTypeList){ + $form->column(6, function (Form $form) use($mmList,$marketList,$categoryList){ $form->hidden('id'); $form->select('mm_user_id')->options($mmList); $form->select('market_id')->required()->options($marketList); - $form->select('store_type_id')->required()->options($storeTypeList); + $form->select('category_id')->options($categoryList); $form->text('name')->required()->maxLength(50); $form->image('logo')->required(); $form->mobile('tel'); diff --git a/app/Admin/Repositories/Banner.php b/app/Admin/Repositories/v3/Banner.php similarity index 73% rename from app/Admin/Repositories/Banner.php rename to app/Admin/Repositories/v3/Banner.php index 18d3ba7..7f2bb8c 100644 --- a/app/Admin/Repositories/Banner.php +++ b/app/Admin/Repositories/v3/Banner.php @@ -1,8 +1,8 @@ resource('/storeUserReport', 'StoreUserReportController'); // 分类 - $router->resource('/storeType', 'StoreTypeController'); - $router->resource('/goodsType', 'GoodsTypeController'); - $router->resource('/category', 'CategoryController'); + $router->resource('/category', 'v3\CategoryController'); + $router->get('/category/TieForm', 'v3\CategoryTieController@CategoryTieForm'); + // 店铺 - $router->resource('/store', 'StoreController'); + $router->resource('/store', 'v3\StoreController'); // 商品 - $router->resource('/goods', 'GoodsController'); + $router->resource('/goods', 'v3\GoodsController'); // banner - $router->resource('/banner', 'BannerController'); - $router->any('/test', 'Test@test'); + $router->resource('/banner', 'v3\BannerController'); + $router->any('/test', 'Test@test'); }); + diff --git a/app/Console/Commands/MigrateOrder.php b/app/Console/Commands/MigrateOrder.php index 8acef0f..ff806c3 100644 --- a/app/Console/Commands/MigrateOrder.php +++ b/app/Console/Commands/MigrateOrder.php @@ -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; diff --git a/app/Models/Banner.php b/app/Models/v3/Banner.php similarity index 92% rename from app/Models/Banner.php rename to app/Models/v3/Banner.php index d2f64ae..7631409 100644 --- a/app/Models/Banner.php +++ b/app/Models/v3/Banner.php @@ -1,6 +1,6 @@ 'array', + ]; public static $_coverType = [1=>'图片', 2=>'视频']; public static $_pathType = ['page'=>'page','webview'=>'webview','applet'=>'applet']; diff --git a/app/Models/Category.php b/app/Models/v3/Category.php similarity index 86% rename from app/Models/Category.php rename to app/Models/v3/Category.php index fbb3aba..5f4a950 100644 --- a/app/Models/Category.php +++ b/app/Models/v3/Category.php @@ -1,6 +1,6 @@ cover_img; return $this->imageUrl($value); } + + /** + * 获取单个信息 + * @param int $id + * @param string $field + * @return string + */ + public static function getCategoryInfo($id,$field = '*') + { + return self::select($field)->find($id); + } + /** * 获取二级分类数组 * id为键,name为值 diff --git a/app/Models/Goods.php b/app/Models/v3/Goods.php similarity index 80% rename from app/Models/Goods.php rename to app/Models/v3/Goods.php index 74b8906..e411d86 100644 --- a/app/Models/Goods.php +++ b/app/Models/v3/Goods.php @@ -1,11 +1,10 @@ hasMany('\App\Models\GoodsBanners','goods_id','id')->where('type',1); + return $this->hasMany('\App\Models\v3\GoodsBanners','goods_id','id')->where('type',1); } public function VideoBanners(){ - return $this->hasMany('\App\Models\GoodsBanners','goods_id','id')->where('type',2); + return $this->hasMany('\App\Models\v3\GoodsBanners','goods_id','id')->where('type',2); } diff --git a/app/Models/GoodsBanners.php b/app/Models/v3/GoodsBanners.php similarity index 93% rename from app/Models/GoodsBanners.php rename to app/Models/v3/GoodsBanners.php index 8afe7fd..21dfc7d 100644 --- a/app/Models/GoodsBanners.php +++ b/app/Models/v3/GoodsBanners.php @@ -1,6 +1,6 @@ attributes['imgs'] = implode(',',$imgs); + } + } + + public function getImgsAttribute($imgs) + { + return explode(',',$imgs); + } + + public function mp(){ + return $this->hasOne('\App\Models\LanzuMpInfo','id','mp_id'); + } + + /** + * 获取市场信息 + * @return \Illuminate\Http\JsonResponse + */ + public static function getMarket() + { + $markets = self::select('id','name') + ->where('status',1) + ->whereNull('deleted_at') + ->get(); + $item = []; + foreach ($markets as $market) { + $item[$market->id] = $market->name; + } + return $item; + } + + /** + * 获取单个市场信息 + */ + public static function getMarketInfo($id,$field = '*') + { + return self::select($field)->find($id); + } + +} diff --git a/app/Models/Store.php b/app/Models/v3/Store.php similarity index 95% rename from app/Models/Store.php rename to app/Models/v3/Store.php index 80f65c1..abac462 100644 --- a/app/Models/Store.php +++ b/app/Models/v3/Store.php @@ -1,12 +1,10 @@ find($id); + } + + /** + * 获取用户数组 + * id为键,name为值 + * @return array + */ + public static function getUserArray() + { + $list = self::select('id','nick_name') + ->where('status',1) + ->whereNull('deleted_at') + ->get(); + $array = []; + if(count($list) > 0){ + foreach ($list as $value) { + $array[$value->id] = $value->nick_name; + } + } + + return $array; + } +} diff --git a/resources/lang/zh-CN/banner.php b/resources/lang/zh-CN/banner.php index 5f696a0..102e020 100644 --- a/resources/lang/zh-CN/banner.php +++ b/resources/lang/zh-CN/banner.php @@ -6,6 +6,7 @@ return [ ], 'fields' => [ 'market_id' => '市场', + 'market_ids' => '多选市场', 'title' => '标题', 'sub_title' => '副标题', 'cover' => '封面图', diff --git a/resources/lang/zh-CN/goods.php b/resources/lang/zh-CN/goods.php index 62d80a4..8aedc2d 100644 --- a/resources/lang/zh-CN/goods.php +++ b/resources/lang/zh-CN/goods.php @@ -6,7 +6,7 @@ return [ ], 'fields' => [ 'name' => '商品名称', - 'goods_type_id' => '商品所属分类', + 'category_id' => '商品所属分类', 'store_id' => '所属商家', 'cover_img' => '封面图', 'cover_img_url' => '封面图', diff --git a/resources/lang/zh-CN/store.php b/resources/lang/zh-CN/store.php index e7954f0..06158de 100644 --- a/resources/lang/zh-CN/store.php +++ b/resources/lang/zh-CN/store.php @@ -21,8 +21,8 @@ return [ 'introduction' => '商家简介', 'coordinates' => '经纬度', 'business_license' => '营业资质', - 'store_type_id' => '店铺所属分类', - 'store_type_name' => '店铺分类', + 'category_id' => '店铺所属分类', + 'category_name' => '店铺分类', 'is_open' => '开启门店', 'sort' => '排序', 'user_id' => '提现用户',