Browse Source

Merge branch 'develop' of http://120.24.33.109:11081/hyzjshwo/mp_lanzu_cat into develop

master
lanzu_qsy 5 years ago
parent
commit
b52d6ad881
  1. 76
      app/Admin/Actions/Tree/CategoryTie.php
  2. 29
      app/Admin/Controllers/v3/CategoryController.php
  3. 23
      app/Admin/Controllers/v3/StoreController.php
  4. 34
      app/Admin/Extensions/TypeCorrelationBind.php
  5. 69
      app/Admin/Forms/CategoryTieForm.php
  6. 2
      app/Admin/routes.php
  7. 3
      app/Models/v3/Category.php
  8. 13
      resources/lang/zh-CN/category-tie.php

76
app/Admin/Actions/Tree/CategoryTie.php

@ -0,0 +1,76 @@
<?php
namespace App\Admin\Actions\Tree;
use Dcat\Admin\Actions\Response;
use Dcat\Admin\Form;
use Dcat\Admin\Traits\HasPermissions;
use Dcat\Admin\Tree\AbstractTool;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Models\v3\Category as CategoryModel;
class CategoryTie extends AbstractTool
{
/**
* @return string
*/
protected $title = '绑定分类到首页导航';
/**
* Handle the action request.
*
* @param Request $request
*
* @return Response
*/
public function handle(Request $request)
{
return $this->response()
->success('跳转到绑定页面' )
->redirect('/categoryTie');
}
/**
* @return string|void
*/
// public function href()
// {
// return admin_url('category/tie');
// }
/**
* @return string|array|void
*/
public function confirm()
{
// return ['Confirm?', 'contents'];
}
// protected function actionScript()
// {
// return <<<JS
// function (data, target, action) {
// console.log('发起请求之前', data, target, action);
// // return false; 在这里return false可以终止执行后面的操作
// // 更改传递到接口的主键值
// action.options.key = 123;
// }
// JS;
// }
/**
* @param Model|Authenticatable|HasPermissions|null $user
*
* @return bool
*/
protected function authorize($user): bool
{
return true;
}
}

29
app/Admin/Controllers/v3/CategoryController.php

@ -2,6 +2,7 @@
namespace App\Admin\Controllers\v3;
use App\Admin\Actions\Tree\CategoryTie;
use App\Models\v3\Category;
use Dcat\Admin\Form;
use Dcat\Admin\Layout\Row;
@ -9,6 +10,9 @@ use Dcat\Admin\Layout\Content;
use Dcat\Admin\Tree;
use Dcat\Admin\Controllers\AdminController;
use Dcat\Admin\Show;
use Dcat\Admin\Widgets\Card;
use App\Admin\Forms\CategoryTieForm;
use App\Libs\SsdbClient;
class CategoryController extends AdminController
{
@ -19,13 +23,22 @@ class CategoryController extends AdminController
$tree = new Tree(new Category);
$tree->branch(function ($branch) {
// 查询分类ssdb
$ssdb = new SsdbClient();
$category = $ssdb->client()->hgetall('applet_index_category');
$select = array_keys($category);
$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>';
$actions = '';
$actions = (in_array($branch['id'],$select)) ?'<a href="/admin/category/'.$branch['id'].'/tie" style="margin-left: 20px;">已绑定</a>':$actions;
return "{$branch['id']} - {$branch['title']} $logo $actions";
});
$tree->tools(function (Tree\Tools $tools) {
$tools->add(new CategoryTie());
});
$row->column(12, $tree);
});
@ -34,14 +47,14 @@ class CategoryController extends AdminController
public function form()
{
return Form::make(new Category(),function (Form $form){
// 只查一级
$parentList = Category::getCategoryArray([['parent_id','=',0]],[0=>'顶级']);
$form->select('parent_id')->default(0)->options($parentList);
$form->text('title');
$form->image('cover_img');
$form->number('sort');
$form->disableResetButton();
@ -51,7 +64,13 @@ class CategoryController extends AdminController
});
}
public function CategoryTieForms(Content $content)
{
return $content
->title('绑定分类到首页')
->body(new Card(new CategoryTieForm()));
}
/**
* Make a show builder.
*

23
app/Admin/Controllers/v3/StoreController.php

@ -13,6 +13,7 @@ use App\Admin\Common\StoreQRCode;
use App\Models\v3\Store as StoreModel;
use App\Models\v3\User as UserModel;
use App\Models\v3\Category as CategoryModel;
use App\Models\LanzuUserBalance as UserBalanceModel;
class StoreController extends AdminController
{
@ -166,8 +167,22 @@ class StoreController extends AdminController
$form->saved(function (Form $form){
$id = $form->getKey();
// $form->isCreating() &&
if(!empty($id)){
$store = StoreModel::find($id);
// 添加商户钱包
$userBalance = UserBalanceModel::where([
['user_type','=',5],
['source_id','=',$id]
])->first();
if(empty($userBalance)){
$userBalance = new UserBalanceModel();
$userBalance->user_type = 5;
$userBalance->source_id = $id;
$userBalance->save();
}
if($form->isCreating() && !empty($id)){
$qrCode = new StoreQRCode();
// 生成小程序码 店铺
$sRes = $qrCode->SetStoreWeChatCode($id);
@ -176,11 +191,9 @@ class StoreController extends AdminController
$pRes = $qrCode->SetPayWeChatCode($id);
// 保存图片
$store = StoreModel::find($id);
$store->store_applet_img = $sRes['status'] ? $sRes['path'] : '';
$store->cash_code_img = $pRes['status'] ? $pRes['path'] : '';;
$store->cash_code_img = $pRes['status'] ? $pRes['path'] : '';
$store->save();
// 剪裁图片
// $form->image('cash_code_img')->crop(270, 270, [5, 5]);
}

34
app/Admin/Extensions/TypeCorrelationBind.php

@ -1,34 +0,0 @@
<?php
namespace App\Admin\Extensions;
use Dcat\Admin\Grid\RowAction;
class TypeCorrelationBind extends RowAction
{
public function title()
{
return '绑定';
}
/**
* 添加JS
*
* @return string
*/
protected function script()
{
return <<<JS
$('.type-bind-row').on('click', function () {
// Your code.
window.location.href ='/admin/coupon/TieForm';
});
JS;
}
public function html()
{
$this->setHtmlAttribute(['class' => 'coupon-edit-row']);
return parent::html();
}
}

69
app/Admin/Forms/CategoryTieForm.php

@ -0,0 +1,69 @@
<?php
namespace App\Admin\Forms;
use Dcat\Admin\Widgets\Form;
use Symfony\Component\HttpFoundation\Response;
use App\Libs\SsdbClient;
use App\Models\v3\Category as CategoryModel;
class CategoryTieForm extends Form
{
protected $ssdb;
/**
* Handle the form request.
*
* @param array $input
*
* @return Response
*/
public function handle(array $input)
{
$ids = $input['category_ids'];
$category = CategoryModel::select('id','title','cover_img')->whereIn('id',$ids)->get();
$data = [];
if(!empty($category)){
foreach ($category as $key => $value){
$data[$value->id] = json_encode([
'icon' => $value->cover_img,
'name' => $value->title
]);
}
}
$category = $this->ssdb->client()->multi_hset('applet_index_category',$data);
if($category === false){
return $this->error('修改失败');
}
return $this->success('修改成功', '/category');
}
/**
* Build a form here.
*/
public function form()
{
$this->ssdb = new SsdbClient();
$category = $this->ssdb->client()->hgetall('applet_index_category');
$select = array_keys($category);
// 只查一级
$parentList = CategoryModel::where('parent_id',0)->pluck('title','id')->toArray();
$this->multipleSelect('category_ids','选择分类')->required()->options($parentList)->value($select)->default($select);
}
/**
* The data of the form.
*
* @return array
*/
public function default()
{
return [];
}
}

2
app/Admin/routes.php

@ -46,7 +46,7 @@ Route::group([
// 分类
$router->resource('/category', 'v3\CategoryController');
$router->get('/category/TieForm', 'v3\CategoryTieController@CategoryTieForm');
$router->get('/categoryTie', 'v3\CategoryController@CategoryTieForms');
// 店铺
$router->resource('/store', 'v3\StoreController');

3
app/Models/v3/Category.php

@ -67,7 +67,7 @@ class Category extends Model
return $array;
}
/**
* 处理旧图片
* @param $value
@ -81,4 +81,5 @@ class Category extends Model
return $value;
}
}
}

13
resources/lang/zh-CN/category-tie.php

@ -0,0 +1,13 @@
<?php
return [
'labels' => [
'CategoryTie' => '绑定',
'categoryTie' => '绑定',
],
'fields' => [
'category_ids' => '选择分类',
],
'options' => [
'actions' => '操作'
],
];
Loading…
Cancel
Save