Browse Source

Merge branch 'phoenix' into develop

# Conflicts:
#	app/Admin/routes.php
master
liangyuyan 6 years ago
parent
commit
f341aaf42c
  1. 14
      app/Admin/Common/StoreQRCode.php
  2. 15
      app/Admin/Controllers/v3/BannerController.php
  3. 8
      app/Admin/Controllers/v3/CategoryController.php
  4. 26
      app/Admin/Controllers/v3/GoodsController.php
  5. 21
      app/Admin/Controllers/v3/StoreController.php
  6. 4
      app/Admin/Repositories/v3/Banner.php
  7. 4
      app/Admin/Repositories/v3/Goods.php
  8. 4
      app/Admin/Repositories/v3/Store.php
  9. 15
      app/Admin/routes.php
  10. 119
      app/Console/Commands/MigrateOrder.php
  11. 5
      app/Models/v3/Banner.php
  12. 14
      app/Models/v3/Category.php
  13. 7
      app/Models/v3/Goods.php
  14. 2
      app/Models/v3/GoodsBanners.php
  15. 57
      app/Models/v3/Market.php
  16. 4
      app/Models/v3/Store.php
  17. 43
      app/Models/v3/User.php
  18. 1
      resources/lang/zh-CN/banner.php
  19. 2
      resources/lang/zh-CN/goods.php
  20. 4
      resources/lang/zh-CN/store.php

14
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);

15
app/Admin/Controllers/BannerController.php → app/Admin/Controllers/v3/BannerController.php

@ -1,14 +1,14 @@
<?php
namespace App\Admin\Controllers;
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\Banner;
use App\Admin\Repositories\v3\Banner;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
use App\Models\ImsCjdcMarket as MarketModel;
use App\Models\Banner as BannerModel;
use App\Models\v3\Banner as BannerModel;
class BannerController extends AdminController
{
@ -38,7 +38,8 @@ class BannerController extends AdminController
return isset(BannerModel::$_type[$type]) ? BannerModel::$_type[$type] : '';
});
$grid->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();

8
app/Admin/Controllers/CategoryController.php → app/Admin/Controllers/v3/CategoryController.php

@ -1,8 +1,8 @@
<?php
namespace App\Admin\Controllers;
namespace App\Admin\Controllers\v3;
use App\Models\Category;
use App\Models\v3\Category;
use Dcat\Admin\Form;
use Dcat\Admin\Layout\Row;
use Dcat\Admin\Layout\Content;
@ -21,8 +21,10 @@ class CategoryController extends AdminController
$tree->branch(function ($branch) {
$src = $branch['cover_img_url'];
$logo = "<img src='$src' style='margin-left: 20px; max-width:35px;max-height:35px' class='img'/>";
$actions = '<a href="/admin/category/TieForm/'.$branch['id'].'" style="margin-left: 20px;">绑定</a>';
return "{$branch['id']} - {$branch['title']} $logo";
return "{$branch['id']} - {$branch['title']} $logo $actions";
});
$row->column(12, $tree);

26
app/Admin/Controllers/GoodsController.php → app/Admin/Controllers/v3/GoodsController.php

@ -1,17 +1,17 @@
<?php
namespace App\Admin\Controllers;
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\Goods;
use App\Admin\Repositories\v3\Goods;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
use App\Models\GoodsType as GoodsTypeModel;
use App\Models\Store as StoreModel;
use App\Models\v3\Category as CategoryModel;
use App\Models\v3\Store as StoreModel;
use Dcat\Admin\Form\NestedForm;
use App\Models\Goods as GoodsModel;
use App\Models\ImsCjdcMarket as MarketModel;
use App\Models\v3\Goods as GoodsModel;
use App\Models\v3\Market as MarketModel;
class GoodsController extends AdminController
{
@ -26,9 +26,9 @@ class GoodsController extends AdminController
$grid->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();

21
app/Admin/Controllers/StoreController.php → app/Admin/Controllers/v3/StoreController.php

@ -1,19 +1,18 @@
<?php
namespace App\Admin\Controllers;
namespace App\Admin\Controllers\v3;
use App\Admin\Repositories\Store;
use App\Admin\Repositories\v3\Store;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Controllers\AdminController;
use App\Models\StoreType as StoreTypeModel;
use App\Models\LanzuMmInfo as MminfoModel;
use App\Models\ImsCjdcMarket as MarketModel;
use App\Models\v3\Market as MarketModel;
use App\Admin\Common\StoreQRCode;
use App\Admin\Repositories\StoreType;
use App\Models\Store as StoreModel;
use App\Models\ImsCjdcUser as UserModel;
use App\Models\v3\Store as StoreModel;
use App\Models\v3\User as UserModel;
use App\Models\v3\Category as CategoryModel;
class StoreController extends AdminController
{
@ -113,16 +112,16 @@ class StoreController extends AdminController
$mmList = MminfoModel::getMmInfoArray();
// 查询市场
$marketList = MarketModel::getMarket();
// 查询一级分类(店铺分类)
$storeTypeList = StoreTypeModel::getStoreTypeArray();
// 查询一级分类
$categoryList = CategoryModel::getCategoryArray([['parent_id','=',0]]);
// 用户
$userList = UserModel::getUserArray();
$form->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');

4
app/Admin/Repositories/Banner.php → app/Admin/Repositories/v3/Banner.php

@ -1,8 +1,8 @@
<?php
namespace App\Admin\Repositories;
namespace App\Admin\Repositories\v3;
use App\Models\Banner as Model;
use App\Models\v3\Banner as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class Banner extends EloquentRepository

4
app/Admin/Repositories/Goods.php → app/Admin/Repositories/v3/Goods.php

@ -1,8 +1,8 @@
<?php
namespace App\Admin\Repositories;
namespace App\Admin\Repositories\v3;
use App\Models\Goods as Model;
use App\Models\v3\Goods as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class Goods extends EloquentRepository

4
app/Admin/Repositories/Store.php → app/Admin/Repositories/v3/Store.php

@ -1,8 +1,8 @@
<?php
namespace App\Admin\Repositories;
namespace App\Admin\Repositories\v3;
use App\Models\Store as Model;
use App\Models\v3\Store as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class Store extends EloquentRepository

15
app/Admin/routes.php

@ -45,14 +45,15 @@ Route::group([
$router->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');
});

119
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;

5
app/Models/Banner.php → app/Models/v3/Banner.php

@ -1,6 +1,6 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\SoftDeletes;
@ -17,6 +17,9 @@ class Banner extends Model
protected $appends = [
'cover_url',
];
protected $casts = [
'market_ids'=>'array',
];
public static $_coverType = [1=>'图片', 2=>'视频'];
public static $_pathType = ['page'=>'page','webview'=>'webview','applet'=>'applet'];

14
app/Models/Category.php → app/Models/v3/Category.php

@ -1,6 +1,6 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Illuminate\Database\Eloquent\SoftDeletes;
use Dcat\Admin\Traits\ModelTree;
@ -31,6 +31,18 @@ class Category extends Model
$value = $value ? $value : $this->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为值

7
app/Models/Goods.php → app/Models/v3/Goods.php

@ -1,11 +1,10 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Model;
use App\Models\Store as StoreModel;
class Goods extends Model
{
@ -31,11 +30,11 @@ class Goods extends Model
}
public function ImageBanners(){
return $this->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);
}

2
app/Models/GoodsBanners.php → app/Models/v3/GoodsBanners.php

@ -1,6 +1,6 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\SoftDeletes;

57
app/Models/v3/Market.php

@ -0,0 +1,57 @@
<?php
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Model;
class Market extends Model
{
use HasDateTimeFormatter;
use SoftDeletes;
protected $table = 'lanzu_market';
protected $dateFormat = 'U';
public function setImgsAttribute($imgs)
{
if ($imgs){
$this->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);
}
}

4
app/Models/Store.php → app/Models/v3/Store.php

@ -1,12 +1,10 @@
<?php
namespace App\Models;
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Model;
use App\Models\ImsCjdcMarket as MarketModel;
use App\Models\StoreType as StoreTypeModel;
class Store extends Model
{

43
app/Models/v3/User.php

@ -0,0 +1,43 @@
<?php
namespace App\Models\v3;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'lanzu_user';
protected $dateFormat = 'U';
/**
* 获取单个用户信息
* @param int $id
* @param string $field
* @return object
*/
public static function getUserInfo($id,$field = '*')
{
return self::select($field)->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;
}
}

1
resources/lang/zh-CN/banner.php

@ -6,6 +6,7 @@ return [
],
'fields' => [
'market_id' => '市场',
'market_ids' => '多选市场',
'title' => '标题',
'sub_title' => '副标题',
'cover' => '封面图',

2
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' => '封面图',

4
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' => '提现用户',

Loading…
Cancel
Save