From 82770610c78e6eca4e95e31d234fca036c84d707 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Wed, 23 Sep 2020 14:16:02 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=95=86=E5=93=81=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=8F=AF=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v3/GoodsActivityController.php | 21 +++++++++++++------ app/Admin/Controllers/v3/GoodsController.php | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/Admin/Controllers/v3/GoodsActivityController.php b/app/Admin/Controllers/v3/GoodsActivityController.php index 18dffd7..75512dc 100644 --- a/app/Admin/Controllers/v3/GoodsActivityController.php +++ b/app/Admin/Controllers/v3/GoodsActivityController.php @@ -47,7 +47,7 @@ class GoodsActivityController extends AdminController $grid->column('name')->editable(); $grid->column('price')->editable(); $grid->column('type_text'); - + $grid->column('inventory')->editable(); $grid->column('market_id')->display(function($marketId){ $item = MarketModel::getMarketInfo($marketId,'name'); return empty($item) ? '' : $item->name; @@ -60,10 +60,10 @@ class GoodsActivityController extends AdminController $item = CategoryModel::getInfo($categoryId,'title'); return empty($item) ? '' : $item->title; }); - $grid->goods_category_id->display(function ($goodsCategoryId){ - $item = GoodsCategoryModel::getInfo($goodsCategoryId,'title'); - return empty($item) ? '' : $item->title; - }); + // $grid->goods_category_id->display(function ($goodsCategoryId){ + // $item = GoodsCategoryModel::getInfo($goodsCategoryId,'title'); + // return empty($item) ? '' : $item->title; + // }); $grid->column('expire_time_text'); $grid->column('sort'); $grid->column('on_sale')->switch(); @@ -181,7 +181,7 @@ class GoodsActivityController extends AdminController $form->currency('vip_price')->required()->floatTwo()->symbol('¥'); $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('inventory')->required()->attribute('min', 0)->default(1); $form->number('restrict_num')->attribute('min', 0)->default(1)->help('0表示不限购,单笔订单限购数量'); $form->number('start_num')->attribute('min', 1)->default(1); $form->number('time_limit_days')->help('A时间段内限购'); @@ -225,6 +225,15 @@ class GoodsActivityController extends AdminController $spec = $form->input('spec'); $detailsImgs = $form->input('details_imgs'); $goodsCategoryId = $form->input('goods_category_id'); + + $inventory = $form->input('inventory'); + // 规格 + if(!empty($inventory)){ + if(!is_numeric($inventory) || $inventory < 0){ + return $form->error('库存必须为大于等于0的数字'); + } + } + if(!empty($storeId)){ // 商品所属市场,根据店铺查询市场 $info = StoreModel::getStoreInfo($storeId,'market_id'); diff --git a/app/Admin/Controllers/v3/GoodsController.php b/app/Admin/Controllers/v3/GoodsController.php index 7dae3fd..a5a3d1e 100644 --- a/app/Admin/Controllers/v3/GoodsController.php +++ b/app/Admin/Controllers/v3/GoodsController.php @@ -219,7 +219,7 @@ class GoodsController extends AdminController $form->currency('vip_price')->required()->symbol('¥'); $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('inventory')->required()->attribute('min', 0)->default(1); $form->number('restrict_num')->attribute('min', 0)->default(0)->help('0表示不限购'); $form->number('start_num')->attribute('min', 1)->default(1); }); From 339e11edc2ad2b89e3d5a5d0953033a221a95561 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Wed, 23 Sep 2020 17:06:30 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=95=86=E5=93=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Forms/GoodsNewCopyForm.php | 108 -------------------- app/Admin/Forms/GoodsNewImageForm.php | 73 ------------- app/Admin/Forms/v3/GoodsActivitySetting.php | 52 ++++++++++ 3 files changed, 52 insertions(+), 181 deletions(-) delete mode 100644 app/Admin/Forms/GoodsNewCopyForm.php delete mode 100644 app/Admin/Forms/GoodsNewImageForm.php create mode 100644 app/Admin/Forms/v3/GoodsActivitySetting.php diff --git a/app/Admin/Forms/GoodsNewCopyForm.php b/app/Admin/Forms/GoodsNewCopyForm.php deleted file mode 100644 index 6fda924..0000000 --- a/app/Admin/Forms/GoodsNewCopyForm.php +++ /dev/null @@ -1,108 +0,0 @@ -get(); - $markets = StoreModel::whereIn('id',$storeIds)->pluck('market_id','id'); - foreach($storeIds as $key =>$value){ - $storeId = $value; - $model = new GoodsModel(); - - $model->store_id = $storeId; - $model->market_id = $markets[$storeId]; - $model->category_id = $goods->category_id; - - $model->name = $goods->name; - $model->cover_img = $goods->cover_img; - $model->goods_unit = $goods->goods_unit; - - $model->tags = $goods->tags; - $model->spec = $goods->spec; - $model->details_imgs = $goods->details_imgs; - $model->content = $goods->content; - $model->details = $goods->details; - - $model->price = $goods->price; - $model->original_price = $goods->original_price; - $model->vip_price = $goods->vip_price; - - $model->start_num = $goods->start_num; - $model->restrict_num = $goods->restrict_num; - $model->is_infinite = $goods->is_infinite; - $model->inventory = $goods->inventory; - - $model->on_sale = $goods->on_sale; - $model->sort = $goods->sort; - $model->remark = $goods->remark; - - if($model->save() && !empty($goodsBanners)){ - $goodsId = $model->getKey(); - $banners = []; - foreach($goodsBanners as $kb => $vb){ - $banners[] = [ - 'goods_id' => $goodsId, - 'type' => $vb->type, - 'path' => $vb->path, - 'sort' => $vb->sort, - 'created_at' => time(), - 'updated_at' => time(), - ]; - GoodsBannerModel::insert($banners); - } - }else{ - return $this->error('修改失败'); - }; - } - - return $this->error('修改成功'); - } - - /** - * Build a form here. - */ - public function form() - { - $id = $this->getKey(); - $goods = GoodsModel::select('name')->find($id); - $this->hidden('goods_id')->value($id); - $name = empty($goods->name)?'':$goods->name; - $this->display('name')->value($name); - $stores = StoreModel::getStoreArray(); - $this->multipleSelect('store_ids','选择店铺')->required()->options($stores)->help('选择店铺,将当前商品复制到所选店铺。注意选择重复店铺问题!!!'); - } - - /** - * The data of the form. - * - * @return array - */ - public function default() - { - return []; - } - -} diff --git a/app/Admin/Forms/GoodsNewImageForm.php b/app/Admin/Forms/GoodsNewImageForm.php deleted file mode 100644 index f418ff0..0000000 --- a/app/Admin/Forms/GoodsNewImageForm.php +++ /dev/null @@ -1,73 +0,0 @@ - 0 && !empty($coverImg)){ - $data = ['cover_img' => $coverImg]; - GoodsModel::where('id',$goodsId)->update($data); - } - if($goodsId > 0 && !empty($bannerImg)){ - $banner = GoodsBannerModel::where('goods_id',$goodsId)->first(); - if(empty($banner)){ - $banner = new GoodsBanners(); - $banner->goods_id = $goodsId; - $banner->type = 1; - $banner->created_at = time(); - } - $banner->path = $bannerImg; - $banner->updated_at = time(); - $banner->save(); - } - - return $this->error('修改成功'); - } - - /** - * Build a form here. - */ - public function form() - { - $id = $this->getKey(); - $goods = GoodsModel::select('name')->find($id); - $goodName = empty($goods->name)?'':$goods->name; - $this->hidden('goods_id')->value($id); - $this->display('name','商品名称')->value($goodName); - $this->image('cover_img','封面图')->url('ops/files'); - $this->image('img_banner','轮播图')->url('ops/files'); - } - - /** - * The data of the form. - * - * @return array - */ - public function default() - { - return []; - } - -} diff --git a/app/Admin/Forms/v3/GoodsActivitySetting.php b/app/Admin/Forms/v3/GoodsActivitySetting.php new file mode 100644 index 0000000..38895a7 --- /dev/null +++ b/app/Admin/Forms/v3/GoodsActivitySetting.php @@ -0,0 +1,52 @@ +error('修改成功'); + } + + /** + * Build a form here. + */ + public function form() + { + $id = $this->getKey(); + + $this->display('activity_type_limit_nums','同一活动类型商品单笔订单可购买商品种数'); + $this->number('flash_sale','秒杀')->value()->default(); + $this->image('group_buy','团购')->value()->default(); + $this->image('new_product','新品')->value()->default(); + } + + /** + * The data of the form. + * + * @return array + */ + public function default() + { + return []; + } + +} From f289363967a5ff135dcc62b023f4252aed1e01d9 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Wed, 23 Sep 2020 18:38:02 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=85=8D=E9=80=81=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ImsCjdcOrderMainController.php | 4 +++- app/Admin/Extensions/MyDetailPage.php | 2 ++ app/Models/ImsCjdcOrderMain.php | 8 ++++++- resources/views/orderdetail.php | 23 +++++++++++++------ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index ac463a2..d7d0121 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -51,7 +51,6 @@ class ImsCjdcOrderMainController extends AdminController $grid->model()->where('market_id',$marketId); } - $grid->column('nick_name', '用户信息'); $grid->order_num; $grid->state('订单状态') @@ -65,6 +64,9 @@ class ImsCjdcOrderMainController extends AdminController } return '未支付'; }); + $grid->column('shipping_type', '配送方式') + ->using(config('order.shipping_type')) + ->label([1 => '#FF9900', 2 => '#99CCFF', 3 => '#CCCCCC']); $grid->created_at('下单时间')->display(function ($time) { return date('Y-m-d H:i:s',$time); }); diff --git a/app/Admin/Extensions/MyDetailPage.php b/app/Admin/Extensions/MyDetailPage.php index 223b565..92c6c9e 100644 --- a/app/Admin/Extensions/MyDetailPage.php +++ b/app/Admin/Extensions/MyDetailPage.php @@ -40,6 +40,7 @@ class MyDetailPage extends LazyRenderable el:"#detail", data:{ dialogFormVisible: false, + market_name: "{$order['market_name']}", order_num: "{$order['order_num']}", name: "{$order['name']}", state: "{$order['state']}", @@ -47,6 +48,7 @@ class MyDetailPage extends LazyRenderable updated_at: "{$order['updated_at']}", pay_type: "{$order['pay_type']}", shipping_type: "{$order['shipping_type']}", + shipping_type_num: "{$order['shipping_type_num']}", tel: "{$order['tel']}", delivery_time_note: "{$order['delivery_time_note']}", refuse_refund_note: "{$order['refuse_refund_note']}", diff --git a/app/Models/ImsCjdcOrderMain.php b/app/Models/ImsCjdcOrderMain.php index 4a655ee..741661b 100644 --- a/app/Models/ImsCjdcOrderMain.php +++ b/app/Models/ImsCjdcOrderMain.php @@ -4,7 +4,7 @@ namespace App\Models; use App\Admin\Common\Rpc; use Dcat\Admin\Traits\HasDateTimeFormatter; - +use App\Models\v3\Market as MarketModel; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; @@ -58,9 +58,15 @@ class ImsCjdcOrderMain extends Model $order['created_at'] = date('Y-m-d H:i:s', $order['created_at']); $order['updated_at'] = $order['updated_at'] ? date('Y-m-d H:i:s', $order['updated_at']) : null; $order['pay_type'] = config('order.pay_type')[$order['pay_type']]; + $order['shipping_type_num'] = $order['shipping_type']; $order['shipping_type'] = config('order.shipping_type')[$order['shipping_type']]; $order['horseman_name'] = $order['shipping_name']??LanzuServiceHorseman::getName($order['horseman_id']); + // 获取市场 + $marketId = $order['market_id']?$order['market_id']:0; + $market = MarketModel::getMarketInfo($marketId,'name'); + $order['market_name'] = $market?$market['name']:''; + //获取市场经纬度 //$market = LanzuMarket::where('id',$order['market_id'])->first()->toArray(); //$order['distance'] = Rpc::getDistance($market['lng'],$market['lat'],$order['lng'],$order['lat'])['result']; diff --git a/resources/views/orderdetail.php b/resources/views/orderdetail.php index 0aab4c0..e5680e3 100644 --- a/resources/views/orderdetail.php +++ b/resources/views/orderdetail.php @@ -11,21 +11,28 @@ 联系电话:{{tel}} - 收货地址:{{address}} + 收货地址:{{address}} + 自提地址:{{market_name}} + 更新时间:{{updated_at}} + + + 预约送达时间:{{delivery_time_note}} + 配送员: {{horseman_name}} + - 预约送达时间:{{delivery_time_note}} - 配送员: {{horseman_name}} + 配送距离:{{distance}} + 配送费:{{delivery_money}} 元 + - 配送距离:{{distance}} - 配送费:{{delivery_money}} 元 + 配送方式:{{shipping_type}} + 订单备注:{{note}} 拒绝退款原因:{{refuse_refund_note}} - 退款原因:{{total_refund_note}} @@ -61,8 +68,10 @@ 总金额: {{total_money}} 元    优惠金额: -{{coupon_money}} 元 +    - 配送费: +{{delivery_money}} 元 + 配送费: +{{delivery_money}} 元 +    增值服务费: +{{services_money?services_money:0}} 元    From c7d1ca343fa05c0687c2ee455a39eb399433ec15 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Wed, 23 Sep 2020 19:59:06 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=95=86=E5=93=81--?= =?UTF-8?q?=E8=AE=BE=E7=BD=AEredis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Actions/Grid/v3/GoodsActivitySetting.php | 74 +++++++++++++++++++ .../v3/GoodsActivityController.php | 14 ++++ app/Admin/Forms/v3/GoodsActivitySetting.php | 52 ------------- .../Forms/v3/GoodsActivitySettingForm.php | 68 +++++++++++++++++ app/Admin/routes.php | 1 + app/Libs/Redis/RedisKey.php | 12 +++ 6 files changed, 169 insertions(+), 52 deletions(-) create mode 100644 app/Admin/Actions/Grid/v3/GoodsActivitySetting.php delete mode 100644 app/Admin/Forms/v3/GoodsActivitySetting.php create mode 100644 app/Admin/Forms/v3/GoodsActivitySettingForm.php create mode 100644 app/Libs/Redis/RedisKey.php diff --git a/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php b/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php new file mode 100644 index 0000000..068b7af --- /dev/null +++ b/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php @@ -0,0 +1,74 @@ +response() + ->success('跳转到设置页面' ) + ->redirect('/activity_setting'); + } + + /** + * @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 <<paginate(10); + + $grid->tools([new GoodsActivitySetting()]); }); } @@ -281,4 +287,12 @@ class GoodsActivityController extends AdminController }); }); } + + + public function SettingForm(Content $content) + { + return $content + ->title('活动设置') + ->body(new Card(new GoodsActivitySettingForm())); + } } diff --git a/app/Admin/Forms/v3/GoodsActivitySetting.php b/app/Admin/Forms/v3/GoodsActivitySetting.php deleted file mode 100644 index 38895a7..0000000 --- a/app/Admin/Forms/v3/GoodsActivitySetting.php +++ /dev/null @@ -1,52 +0,0 @@ -error('修改成功'); - } - - /** - * Build a form here. - */ - public function form() - { - $id = $this->getKey(); - - $this->display('activity_type_limit_nums','同一活动类型商品单笔订单可购买商品种数'); - $this->number('flash_sale','秒杀')->value()->default(); - $this->image('group_buy','团购')->value()->default(); - $this->image('new_product','新品')->value()->default(); - } - - /** - * The data of the form. - * - * @return array - */ - public function default() - { - return []; - } - -} diff --git a/app/Admin/Forms/v3/GoodsActivitySettingForm.php b/app/Admin/Forms/v3/GoodsActivitySettingForm.php new file mode 100644 index 0000000..a1d1648 --- /dev/null +++ b/app/Admin/Forms/v3/GoodsActivitySettingForm.php @@ -0,0 +1,68 @@ + $flashSale, + 'group_buy' => $groupBuy, + 'new_product' => $newProduct, + ]; + + $res = Redis::hmset(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS , $data); + if($res){ + return $this->success('修改成功','/goods_activity'); + }else{ + return $this->error('修改失败'); + } + } + + /** + * Build a form here. + */ + public function form() + { + $data = Redis::hgetall('activity_type_limit_nums'); + + $flashSale = $data['flash_sale']?$data['flash_sale']:0; + $groupBuy= $data['group_buy']?$data['group_buy']:0; + $newProduct= $data['new_product']?$data['new_product']:0; + + $this->display(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS , '设置')->value('同一活动类型的商品,单笔订单可购买商品种数'); + $this->number('flash_sale','秒杀')->attribute('min', 0)->default(1)->value($flashSale); + $this->number('group_buy','团购')->attribute('min', 0)->default(1)->value($groupBuy); + $this->number('new_product','新品')->attribute('min', 0)->default(1)->value($newProduct); + } + + /** + * The data of the form. + * + * @return array + */ + public function default() + { + return []; + } + +} diff --git a/app/Admin/routes.php b/app/Admin/routes.php index aa9ac7c..a729727 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -59,6 +59,7 @@ Route::group([ $router->resource('/goods', 'v3\GoodsController'); $router->resource('/goods_activity', 'v3\GoodsActivityController'); $router->resource('/goods_new', 'v3\GoodsNewController'); + $router->get('/activity_setting', 'v3\GoodsActivityController@SettingForm'); // 平台管理 $router->resource('/banners', 'v3\BannersController'); diff --git a/app/Libs/Redis/RedisKey.php b/app/Libs/Redis/RedisKey.php new file mode 100644 index 0000000..1ce5a70 --- /dev/null +++ b/app/Libs/Redis/RedisKey.php @@ -0,0 +1,12 @@ + Date: Wed, 23 Sep 2020 20:04:23 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE--=E6=B7=BB=E5=8A=A0=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Forms/v3/GoodsActivitySettingForm.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Admin/Forms/v3/GoodsActivitySettingForm.php b/app/Admin/Forms/v3/GoodsActivitySettingForm.php index a1d1648..d4811df 100644 --- a/app/Admin/Forms/v3/GoodsActivitySettingForm.php +++ b/app/Admin/Forms/v3/GoodsActivitySettingForm.php @@ -45,9 +45,9 @@ class GoodsActivitySettingForm extends Form { $data = Redis::hgetall('activity_type_limit_nums'); - $flashSale = $data['flash_sale']?$data['flash_sale']:0; - $groupBuy= $data['group_buy']?$data['group_buy']:0; - $newProduct= $data['new_product']?$data['new_product']:0; + $flashSale = isset($data['flash_sale'])?$data['flash_sale']:0; + $groupBuy= isset($data['group_buy'])?$data['group_buy']:0; + $newProduct= isset($data['new_product'])?$data['new_product']:0; $this->display(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS , '设置')->value('同一活动类型的商品,单笔订单可购买商品种数'); $this->number('flash_sale','秒杀')->attribute('min', 0)->default(1)->value($flashSale); From a4b454e83dbcb789cf749817eaffac408bce439b Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Wed, 23 Sep 2020 20:47:28 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=95=86=E5=93=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE--=E5=8E=BB=E6=8E=89redis=E7=9A=84=E5=89=8D?= =?UTF-8?q?=E7=BC=80=EF=BC=8C=E5=85=88=E9=9A=90=E8=97=8F=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/v3/GoodsActivityController.php | 2 +- app/Admin/Forms/v3/GoodsActivitySettingForm.php | 2 +- config/database.php | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Admin/Controllers/v3/GoodsActivityController.php b/app/Admin/Controllers/v3/GoodsActivityController.php index 620c1aa..395a34b 100644 --- a/app/Admin/Controllers/v3/GoodsActivityController.php +++ b/app/Admin/Controllers/v3/GoodsActivityController.php @@ -89,7 +89,7 @@ class GoodsActivityController extends AdminController // 每页10条 $grid->paginate(10); - $grid->tools([new GoodsActivitySetting()]); + // $grid->tools([new GoodsActivitySetting()]); }); } diff --git a/app/Admin/Forms/v3/GoodsActivitySettingForm.php b/app/Admin/Forms/v3/GoodsActivitySettingForm.php index d4811df..d032dd3 100644 --- a/app/Admin/Forms/v3/GoodsActivitySettingForm.php +++ b/app/Admin/Forms/v3/GoodsActivitySettingForm.php @@ -43,7 +43,7 @@ class GoodsActivitySettingForm extends Form */ public function form() { - $data = Redis::hgetall('activity_type_limit_nums'); + $data = Redis::hgetall(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS); $flashSale = isset($data['flash_sale'])?$data['flash_sale']:0; $groupBuy= isset($data['group_buy'])?$data['group_buy']:0; diff --git a/config/database.php b/config/database.php index ebef13f..079b4a5 100644 --- a/config/database.php +++ b/config/database.php @@ -143,7 +143,8 @@ return [ 'options' => [ 'cluster' => env('REDIS_CLUSTER', 'redis'), - 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + // 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + 'prefix' => env('REDIS_PREFIX', ''), ], 'default' => [ From fb7c57d702a58af294651eb839359f44af6b4de3 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Thu, 24 Sep 2020 17:21:10 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E6=8B=93=E5=B1=95?= =?UTF-8?q?=E4=B8=93=E5=91=98=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Common/Order.php | 120 ++++++++++++++++++ app/Admin/Controllers/v3/Salesman.php | 33 +++++ .../Metrics/Examples/Order/OrderData.php | 83 +----------- app/Admin/Repositories/v3/Salesman.php | 104 +++++++++++++++ app/Admin/routes.php | 1 + 5 files changed, 262 insertions(+), 79 deletions(-) create mode 100644 app/Admin/Common/Order.php create mode 100644 app/Admin/Controllers/v3/Salesman.php create mode 100644 app/Admin/Repositories/v3/Salesman.php diff --git a/app/Admin/Common/Order.php b/app/Admin/Common/Order.php new file mode 100644 index 0000000..792285c --- /dev/null +++ b/app/Admin/Common/Order.php @@ -0,0 +1,120 @@ +whereIn('lanzu_order_main.market_id',$params['market_id']); + } else { + $buildData = $buildData->where('lanzu_order_main.market_id',$params['market_id']); + } + } + if ($params['user_type']=='lanzu_cs'||$params['user_type']=='lanzu_biz'){//社区角色 + if ($params['condition']==1){//获取时间范围 + list($beginTime,$endTime) = self::beginAndEnd($option); + //>>2.构建数据模型 + if ($params['user_ids']){ + $buildData = $buildData->whereIn('lanzu_order_main.user_id',$params['user_ids']); + }else{ + return 0; + } + $buildData = $buildData + ->leftJoin('lanzu_user_relation_bind','lanzu_user_relation_bind.user_id','lanzu_order_main.user_id') + ->whereRaw('lanzu_order_main.created_at > lanzu_user_relation_bind.created_at') + ->whereBetween('lanzu_order_main.created_at',[$beginTime,$endTime]); + } + }elseif ($params['user_type']=='market_service'||$params['user_type']=='lanzu_mp'){//市场服务站角色 及服务商 + if ($params['condition']==1){//获取时间范围 + list($beginTime,$endTime) = self::beginAndEnd($option); + //>>2.构建数据模型 + $buildData = $buildData->whereBetween('created_at',[$beginTime,$endTime]); + } + } + if ($params['data_type']=='count_user'){ + $result = $buildData + ->groupBy('lanzu_order_main.user_id') + ->pluck('lanzu_order_main.user_id') + ->toArray(); + $result = count($result); + }elseif ($params['data_type']=='number'){ + $result = $buildData->count(); + + }elseif ($params['data_type']=='amount'){ + $result = $buildData->sum('money'); + } + return $result; + } + + /** + * 查询时间范围 + * @param $option + * @return array + */ + public static function beginAndEnd($option) + { + switch ($option) { + case '1': + $beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')); + $endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; + break; + case '-1': + $beginTime = mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); + $endTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1; + break; + case '7': + $beginTime = mktime(0, 0, 0, date('m'), date('d') - 7, date('Y')); + $endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; + break; + case 'w': + $beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y")); + $endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y")); + break; + case 'lw': + $beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y")); + $endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7 - 7, date("Y")); + break; + case '30': + $beginTime = mktime(0, 0, 0, date('m'), 1, date('Y')); + $endTime = mktime(23, 59, 59, date('m'), date('t'), date('Y')); + break; + case '-30': + $beginTime = mktime(0, 0, 0, date('m') - 1, 1, date('Y')); + $endTime = strtotime(date("Y-m-d H:i:s", mktime(23, 59, 59, date("m"), 0, date("Y")))); + break; + default: + $beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')); + $endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; + break; + } + return [$beginTime,$endTime]; + } + + /** + * 构建数据模型 + * @param $condition + * @return mixed + */ + public static function buildData() + { + $build = ImsCjdcOrderMain + ::whereIn('state', [3, 4, 5, 10]) + ->where('type',1); + return $build; + } +} diff --git a/app/Admin/Controllers/v3/Salesman.php b/app/Admin/Controllers/v3/Salesman.php new file mode 100644 index 0000000..14c2d67 --- /dev/null +++ b/app/Admin/Controllers/v3/Salesman.php @@ -0,0 +1,33 @@ +paginate(10); + $grid->column('person_id','懒ID'); + $grid->column('nick_name','拓展员'); + $grid->column('total','社区总数'); + $grid->column('t_num','今日订单数'); + $grid->column('t_amount','今日成交额'); + $grid->column('y_num','昨日订单数'); + $grid->column('y_amount','昨日成交额'); + $grid->column('w_num','本周订单数'); + $grid->column('w_amount','本周成交额'); + $grid->column('m_num','本月订单数'); + $grid->column('m_amount','本月成交额'); + $grid->disableActions(); + $grid->filter(function (Grid\Filter $filter){ + $filter->equal('user_id','拓展员懒ID'); + }); + }); + } +} diff --git a/app/Admin/Metrics/Examples/Order/OrderData.php b/app/Admin/Metrics/Examples/Order/OrderData.php index 5f7aaf7..1af21a6 100644 --- a/app/Admin/Metrics/Examples/Order/OrderData.php +++ b/app/Admin/Metrics/Examples/Order/OrderData.php @@ -3,6 +3,7 @@ namespace App\Admin\Metrics\Examples\Order; +use App\Admin\Common\Order; use App\Models\ImsCjdcOrder; use App\Models\ImsCjdcOrderMain; use Dcat\Admin\Widgets\Metrics\Card; @@ -50,48 +51,7 @@ class OrderData extends Card */ public function getOrderData($params,$option) { - //如果市场id存在 - $buildData = $this->buildData(); - if ($params['market_id']) {//是否存在市场id - if (is_array($params['market_id'])) { - $buildData = $buildData->whereIn('lanzu_order_main.market_id',$params['market_id']); - } else { - $buildData = $buildData->where('lanzu_order_main.market_id',$params['market_id']); - } - } - if ($params['user_type']=='lanzu_cs'||$params['user_type']=='lanzu_biz'){//社区角色 - if ($params['condition']==1){//获取时间范围 - list($beginTime,$endTime) = $this->beginAndEnd($option); - //>>2.构建数据模型 - if ($params['user_ids']){ - $buildData = $buildData->whereIn('lanzu_order_main.user_id',$params['user_ids']); - }else{ - return 0; - } - $buildData = $buildData - ->leftJoin('lanzu_user_relation_bind','lanzu_user_relation_bind.user_id','lanzu_order_main.user_id') - ->whereRaw('lanzu_order_main.created_at > lanzu_user_relation_bind.created_at') - ->whereBetween('lanzu_order_main.created_at',[$beginTime,$endTime]); - } - }elseif ($params['user_type']=='market_service'||$params['user_type']=='lanzu_mp'){//市场服务站角色 及服务商 - if ($params['condition']==1){//获取时间范围 - list($beginTime,$endTime) = $this->beginAndEnd($option); - //>>2.构建数据模型 - $buildData = $buildData->whereBetween('created_at',[$beginTime,$endTime]); - } - } - if ($params['data_type']=='count_user'){ - $result = $buildData - ->groupBy('lanzu_order_main.user_id') - ->pluck('lanzu_order_main.user_id') - ->toArray(); - $result = count($result); - }elseif ($params['data_type']=='number'){ - $result = $buildData->count(); - - }elseif ($params['data_type']=='amount'){ - $result = $buildData->sum('money'); - } + $result = Order::getOrderData($params,$option); return $result; } @@ -102,40 +62,7 @@ class OrderData extends Card */ public function beginAndEnd($option) { - switch ($option) { - case '1': - $beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')); - $endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; - break; - case '-1': - $beginTime = mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); - $endTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1; - break; - case '7': - $beginTime = mktime(0, 0, 0, date('m'), date('d') - 7, date('Y')); - $endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; - break; - case 'w': - $beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y")); - $endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y")); - break; - case 'lw': - $beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y")); - $endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7 - 7, date("Y")); - break; - case '30': - $beginTime = mktime(0, 0, 0, date('m'), 1, date('Y')); - $endTime = mktime(23, 59, 59, date('m'), date('t'), date('Y')); - break; - case '-30': - $beginTime = mktime(0, 0, 0, date('m') - 1, 1, date('Y')); - $endTime = strtotime(date("Y-m-d H:i:s", mktime(23, 59, 59, date("m"), 0, date("Y")))); - break; - default: - $beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')); - $endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; - break; - } + list($beginTime,$endTime) = Order::beginAndEnd($option); return [$beginTime,$endTime]; } @@ -146,9 +73,7 @@ class OrderData extends Card */ public function buildData() { - $build = ImsCjdcOrderMain - ::whereIn('state', [3, 4, 5, 10]) - ->where('type',1); + $build = Order::buildData(); return $build; } diff --git a/app/Admin/Repositories/v3/Salesman.php b/app/Admin/Repositories/v3/Salesman.php new file mode 100644 index 0000000..06578a8 --- /dev/null +++ b/app/Admin/Repositories/v3/Salesman.php @@ -0,0 +1,104 @@ +filter()->input('user_id'); + $build = LanzuCsInfo::select( + DB::raw('count("lanzu_cs_info.person_id") as total'), + DB::raw('group_concat(lanzu_cs_info.admin_user_id) as admin_user_id'), + DB::raw('group_concat(rb.user_id) as user_id'), + 'lanzu_cs_info.person_id','lanzu_user.nick_name') + ->groupBy('lanzu_cs_info.person_id') + ->leftJoin('lanzu_user','lanzu_user.id','lanzu_cs_info.person_id') + ->leftJoin('lanzu_user_relation_bind as rb','rb.source_id','lanzu_cs_info.admin_user_id') + ->where('lanzu_cs_info.person_id','>',0); + if ($userId){ + $build = $build->where('lanzu_user.id',$userId); + } + //>>1.获取业务员 + $rows = $build->paginate(10)->toArray(); + //>>2.获取业务员下的所有社区的绑定用户 + foreach ($rows['data'] as &$value){ + $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id'])); + $value['total'] = count($value['admin_user_id']); + $uid = explode(',',$value['user_id']); + $value['t_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],1);//今日订单数 + + $value['t_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],1);//今日订单金额 + + $value['y_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],-1);//昨日订单数 + + $value['y_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],-1);//昨日订单金额 + + $value['w_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'w');//本周订单数 + + $value['w_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'w');//本周订单金额 + + $value['m_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'30');//本月订单数 + + $value['m_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'30');//本月订单金额 + } + return $model->makePaginator($rows['total'],$rows['data']); // 传入总记录数// 传入数据二维数组 + } +} diff --git a/app/Admin/routes.php b/app/Admin/routes.php index a729727..f6b46bc 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -16,6 +16,7 @@ Route::group([ //$router->resource('/', 'LanzuCsInfoController'); $router->resource('/speaker', 'LanzuServiceSpeakerController'); $router->resource('/mp', 'LanzuMpInfoController'); + $router->resource('/salesman', 'v3\Salesman'); $router->any('/mp_data', 'LanzuMpInfoController@showData'); $router->resource('/mm', 'LanzuMmInfoController'); $router->resource('/market', 'ImsCjdcMarketController'); From aea6f4eff72de28e886ea1fb208ff20ce26bcc3c Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Fri, 25 Sep 2020 09:57:24 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=91=98=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/ImsCjdcOrderMainController.php | 1 + app/Admin/Controllers/v3/Salesman.php | 1 + composer.json | 1 + 3 files changed, 3 insertions(+) diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index d7d0121..4fa6e48 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -38,6 +38,7 @@ class ImsCjdcOrderMainController extends AdminController //>>4.订单状态变更√ //>>5.打印功能 //>6.退款 + $grid->tools('测试按钮'); $grid->paginate(10);//每页展示数据10条 //$grid->id; //$grid->user_id('用户信息'); diff --git a/app/Admin/Controllers/v3/Salesman.php b/app/Admin/Controllers/v3/Salesman.php index 14c2d67..b6b8183 100644 --- a/app/Admin/Controllers/v3/Salesman.php +++ b/app/Admin/Controllers/v3/Salesman.php @@ -25,6 +25,7 @@ class Salesman extends AdminController $grid->column('m_num','本月订单数'); $grid->column('m_amount','本月成交额'); $grid->disableActions(); + //$grid->export(); $grid->filter(function (Grid\Filter $filter){ $filter->equal('user_id','拓展员懒ID'); }); diff --git a/composer.json b/composer.json index 18796c7..3853008 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,7 @@ "require": { "php": "^7.2.5", "alibabacloud/client": "^1.5", + "dcat/easy-excel": "^1.0", "dcat/laravel-admin": "^1.6", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^1.0", From 4b8a87d1c07d18b229e09f82c665de9f15e88052 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Fri, 25 Sep 2020 11:50:21 +0800 Subject: [PATCH 09/11] 1 --- app/Admin/Controllers/ImsCjdcOrderMainController.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index 4fa6e48..d7d0121 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -38,7 +38,6 @@ class ImsCjdcOrderMainController extends AdminController //>>4.订单状态变更√ //>>5.打印功能 //>6.退款 - $grid->tools('测试按钮'); $grid->paginate(10);//每页展示数据10条 //$grid->id; //$grid->user_id('用户信息'); From 2f854f25abd9117a7946da5d6eb6cc1cf629a8c7 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Fri, 25 Sep 2020 15:14:51 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=91=98=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/v3/Salesman.php | 6 +- app/Admin/Repositories/v3/Salesman.php | 6 +- app/Http/Controllers/Salesman.php | 97 ++++++++++++++++++++++++++ app/Models/v3/SalesmanData.php | 13 ++++ routes/web.php | 1 + 5 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 app/Http/Controllers/Salesman.php create mode 100644 app/Models/v3/SalesmanData.php diff --git a/app/Admin/Controllers/v3/Salesman.php b/app/Admin/Controllers/v3/Salesman.php index b6b8183..ac554da 100644 --- a/app/Admin/Controllers/v3/Salesman.php +++ b/app/Admin/Controllers/v3/Salesman.php @@ -4,6 +4,7 @@ namespace App\Admin\Controllers\v3; +use App\Models\v3\SalesmanData; use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Grid; @@ -11,7 +12,7 @@ class Salesman extends AdminController { protected function grid() { - return Grid::make(new \App\Admin\Repositories\v3\Salesman(),function (Grid $grid){ + return Grid::make(new SalesmanData(),function (Grid $grid){ $grid->paginate(10); $grid->column('person_id','懒ID'); $grid->column('nick_name','拓展员'); @@ -25,9 +26,8 @@ class Salesman extends AdminController $grid->column('m_num','本月订单数'); $grid->column('m_amount','本月成交额'); $grid->disableActions(); - //$grid->export(); $grid->filter(function (Grid\Filter $filter){ - $filter->equal('user_id','拓展员懒ID'); + $filter->equal('person_id','拓展员懒ID'); }); }); } diff --git a/app/Admin/Repositories/v3/Salesman.php b/app/Admin/Repositories/v3/Salesman.php index 06578a8..6666f97 100644 --- a/app/Admin/Repositories/v3/Salesman.php +++ b/app/Admin/Repositories/v3/Salesman.php @@ -6,6 +6,7 @@ namespace App\Admin\Repositories\v3; use App\Admin\Common\Order; use App\Models\LanzuCsInfo; +use App\Models\v3\SalesmanData; use Dcat\Admin\Grid; use Dcat\Admin\Repositories\EloquentRepository; use Illuminate\Support\Facades\DB; @@ -30,6 +31,7 @@ class Salesman extends EloquentRepository } //>>1.获取业务员 $rows = $build->paginate(10)->toArray(); + //>>2.获取业务员下的所有社区的绑定用户 foreach ($rows['data'] as &$value){ $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id'])); @@ -73,7 +75,7 @@ class Salesman extends EloquentRepository 'market_id'=>'',//取哪个市场数据 'condition'=>1,//取数据维度 condition 'user_ids'=>$uid?$uid:null - ],'w');//本周订单数 + ],'w');//本周订单 数 $value['w_amount'] = Order::getOrderData([ 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 @@ -98,6 +100,8 @@ class Salesman extends EloquentRepository 'condition'=>1,//取数据维度 condition 'user_ids'=>$uid?$uid:null ],'30');//本月订单金额 + unset($value['admin_user_id']); + unset($value['user_id']); } return $model->makePaginator($rows['total'],$rows['data']); // 传入总记录数// 传入数据二维数组 } diff --git a/app/Http/Controllers/Salesman.php b/app/Http/Controllers/Salesman.php new file mode 100644 index 0000000..36856a8 --- /dev/null +++ b/app/Http/Controllers/Salesman.php @@ -0,0 +1,97 @@ +groupBy('lanzu_cs_info.person_id') + ->leftJoin('lanzu_user','lanzu_user.id','lanzu_cs_info.person_id') + ->leftJoin('lanzu_user_relation_bind as rb','rb.source_id','lanzu_cs_info.admin_user_id') + ->where('lanzu_cs_info.person_id','>',0)->get()->toArray(); + + foreach ($rows as &$value){ + $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id'])); + $value['total'] = count($value['admin_user_id']); + $uid = explode(',',$value['user_id']); + $value['t_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],1);//今日订单数 + + $value['t_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],1);//今日订单金额 + + $value['y_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],-1);//昨日订单数 + + $value['y_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],-1);//昨日订单金额 + + $value['w_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'w');//本周订单 数 + + $value['w_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'w');//本周订单金额 + + $value['m_num'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'number',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'30');//本月订单数 + + $value['m_amount'] = Order::getOrderData([ + 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 + 'data_type'=>'amount',//取什么数据 data_type 数据类型 + 'market_id'=>'',//取哪个市场数据 + 'condition'=>1,//取数据维度 condition + 'user_ids'=>$uid?$uid:null + ],'30');//本月订单金额 + unset($value['admin_user_id']); + unset($value['user_id']); + } + DB::table('lanzu_salesman_data')->delete(); + return DB::table('lanzu_salesman_data')->insert($rows); + } +} diff --git a/app/Models/v3/SalesmanData.php b/app/Models/v3/SalesmanData.php new file mode 100644 index 0000000..537c04b --- /dev/null +++ b/app/Models/v3/SalesmanData.php @@ -0,0 +1,13 @@ + Date: Fri, 25 Sep 2020 16:57:18 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=91=98=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/v3/Salesman.php | 52 +++++++++++++++++--------- app/Admin/Repositories/v3/Salesman.php | 41 -------------------- app/Http/Controllers/Salesman.php | 20 ++++++++-- 3 files changed, 52 insertions(+), 61 deletions(-) diff --git a/app/Admin/Controllers/v3/Salesman.php b/app/Admin/Controllers/v3/Salesman.php index ac554da..35078c7 100644 --- a/app/Admin/Controllers/v3/Salesman.php +++ b/app/Admin/Controllers/v3/Salesman.php @@ -12,23 +12,41 @@ class Salesman extends AdminController { protected function grid() { - return Grid::make(new SalesmanData(),function (Grid $grid){ - $grid->paginate(10); - $grid->column('person_id','懒ID'); - $grid->column('nick_name','拓展员'); - $grid->column('total','社区总数'); - $grid->column('t_num','今日订单数'); - $grid->column('t_amount','今日成交额'); - $grid->column('y_num','昨日订单数'); - $grid->column('y_amount','昨日成交额'); - $grid->column('w_num','本周订单数'); - $grid->column('w_amount','本周成交额'); - $grid->column('m_num','本月订单数'); - $grid->column('m_amount','本月成交额'); - $grid->disableActions(); - $grid->filter(function (Grid\Filter $filter){ - $filter->equal('person_id','拓展员懒ID'); + if (false){ + return Grid::make(new SalesmanData(),function (Grid $grid){ + $grid->paginate(10); + $grid->column('person_id','懒ID'); + $grid->column('nick_name','拓展员'); + $grid->column('total','社区总数'); + $grid->column('t_num','今日订单数'); + $grid->column('t_amount','今日成交额'); + $grid->column('y_num','昨日订单数'); + $grid->column('y_amount','昨日成交额'); + $grid->column('w_num','本周订单数'); + $grid->column('w_amount','本周成交额'); + $grid->column('m_num','本月订单数'); + $grid->column('m_amount','本月成交额'); + $grid->disableActions(); + $grid->filter(function (Grid\Filter $filter){ + $filter->equal('person_id','拓展员懒ID'); + }); }); - }); + }else{ + return Grid::make(new \App\Admin\Repositories\v3\Salesman(),function (Grid $grid){ + + + $grid->paginate(10); + $grid->column('person_id','懒ID'); + $grid->column('nick_name','拓展员'); + $grid->column('total','社区总数'); + $grid->column('t_num','今日订单数'); + $grid->column('t_amount','今日成交额'); + $grid->disableActions(); + $grid->filter(function (Grid\Filter $filter){ + $filter->equal('person_id','拓展员懒ID'); + }); + }); + } + } } diff --git a/app/Admin/Repositories/v3/Salesman.php b/app/Admin/Repositories/v3/Salesman.php index 6666f97..7fad51d 100644 --- a/app/Admin/Repositories/v3/Salesman.php +++ b/app/Admin/Repositories/v3/Salesman.php @@ -31,7 +31,6 @@ class Salesman extends EloquentRepository } //>>1.获取业务员 $rows = $build->paginate(10)->toArray(); - //>>2.获取业务员下的所有社区的绑定用户 foreach ($rows['data'] as &$value){ $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id'])); @@ -53,46 +52,6 @@ class Salesman extends EloquentRepository 'user_ids'=>$uid?$uid:null ],1);//今日订单金额 - $value['y_num'] = Order::getOrderData([ - 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 - 'data_type'=>'number',//取什么数据 data_type 数据类型 - 'market_id'=>'',//取哪个市场数据 - 'condition'=>1,//取数据维度 condition - 'user_ids'=>$uid?$uid:null - ],-1);//昨日订单数 - - $value['y_amount'] = Order::getOrderData([ - 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 - 'data_type'=>'amount',//取什么数据 data_type 数据类型 - 'market_id'=>'',//取哪个市场数据 - 'condition'=>1,//取数据维度 condition - 'user_ids'=>$uid?$uid:null - ],-1);//昨日订单金额 - - $value['w_num'] = Order::getOrderData([ - 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 - 'data_type'=>'number',//取什么数据 data_type 数据类型 - 'market_id'=>'',//取哪个市场数据 - 'condition'=>1,//取数据维度 condition - 'user_ids'=>$uid?$uid:null - ],'w');//本周订单 数 - - $value['w_amount'] = Order::getOrderData([ - 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 - 'data_type'=>'amount',//取什么数据 data_type 数据类型 - 'market_id'=>'',//取哪个市场数据 - 'condition'=>1,//取数据维度 condition - 'user_ids'=>$uid?$uid:null - ],'w');//本周订单金额 - - $value['m_num'] = Order::getOrderData([ - 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 - 'data_type'=>'number',//取什么数据 data_type 数据类型 - 'market_id'=>'',//取哪个市场数据 - 'condition'=>1,//取数据维度 condition - 'user_ids'=>$uid?$uid:null - ],'30');//本月订单数 - $value['m_amount'] = Order::getOrderData([ 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型 'data_type'=>'amount',//取什么数据 data_type 数据类型 diff --git a/app/Http/Controllers/Salesman.php b/app/Http/Controllers/Salesman.php index 36856a8..51071c3 100644 --- a/app/Http/Controllers/Salesman.php +++ b/app/Http/Controllers/Salesman.php @@ -6,11 +6,13 @@ namespace App\Http\Controllers; use App\Admin\Common\Order; use App\Models\LanzuCsInfo; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Log; class Salesman extends \Illuminate\Routing\Controller { public function addData() { + set_time_limit(0); $rows = LanzuCsInfo::select( DB::raw('count("lanzu_cs_info.person_id") as total'), DB::raw('group_concat(lanzu_cs_info.admin_user_id) as admin_user_id'), @@ -20,7 +22,6 @@ class Salesman extends \Illuminate\Routing\Controller ->leftJoin('lanzu_user','lanzu_user.id','lanzu_cs_info.person_id') ->leftJoin('lanzu_user_relation_bind as rb','rb.source_id','lanzu_cs_info.admin_user_id') ->where('lanzu_cs_info.person_id','>',0)->get()->toArray(); - foreach ($rows as &$value){ $value['admin_user_id'] = array_unique(explode(',',$value['admin_user_id'])); $value['total'] = count($value['admin_user_id']); @@ -91,7 +92,20 @@ class Salesman extends \Illuminate\Routing\Controller unset($value['admin_user_id']); unset($value['user_id']); } - DB::table('lanzu_salesman_data')->delete(); - return DB::table('lanzu_salesman_data')->insert($rows); + + DB::beginTransaction(); + try { + DB::table('lanzu_salesman_data')->delete(); + $result = DB::table('lanzu_salesman_data')->insert($rows); + if ($result){ + echo 'success'; + }else{ + echo 'fail'; + } + DB::commit(); + }catch (\Exception $e){ + Log::debug('社区拓展员数据添加失败',[$e->getMessage()]); + DB::rollBack(); + } } }