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 <<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/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index 6225f3e..778d53c 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -54,7 +54,6 @@ class ImsCjdcOrderMainController extends AdminController $grid->model()->where('market_id',$marketId); } - $grid->column('nick_name', '用户信息'); $grid->order_num; $grid->state('订单状态') @@ -68,6 +67,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/Controllers/v3/GoodsActivityController.php b/app/Admin/Controllers/v3/GoodsActivityController.php index 18dffd7..395a34b 100644 --- a/app/Admin/Controllers/v3/GoodsActivityController.php +++ b/app/Admin/Controllers/v3/GoodsActivityController.php @@ -2,6 +2,7 @@ namespace App\Admin\Controllers\v3; +use App\Admin\Actions\Grid\v3\GoodsActivitySetting; use App\Admin\Repositories\v3\GoodsActivity; use Dcat\Admin\Form; use Dcat\Admin\Grid; @@ -14,7 +15,10 @@ use App\Models\v3\GoodsActivity as GoodsActivityModel; use Dcat\Admin\Form\NestedForm; use App\Models\v3\GoodsCategory as GoodsCategoryModel; use App\Admin\Common\Auth; +use App\Admin\Forms\v3\GoodsActivitySettingForm; use Dcat\Admin\Admin; +use Dcat\Admin\Layout\Content; +use Dcat\Admin\Widgets\Card; class GoodsActivityController extends AdminController { @@ -47,7 +51,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 +64,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(); @@ -84,6 +88,8 @@ class GoodsActivityController extends AdminController }); // 每页10条 $grid->paginate(10); + + // $grid->tools([new GoodsActivitySetting()]); }); } @@ -181,7 +187,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 +231,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'); @@ -272,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/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); }); diff --git a/app/Admin/Controllers/v3/Salesman.php b/app/Admin/Controllers/v3/Salesman.php new file mode 100644 index 0000000..35078c7 --- /dev/null +++ b/app/Admin/Controllers/v3/Salesman.php @@ -0,0 +1,52 @@ +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/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/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/GoodsActivitySettingForm.php b/app/Admin/Forms/v3/GoodsActivitySettingForm.php new file mode 100644 index 0000000..d032dd3 --- /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(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS); + + $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); + $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/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..7fad51d --- /dev/null +++ b/app/Admin/Repositories/v3/Salesman.php @@ -0,0 +1,67 @@ +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['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']); + } + return $model->makePaginator($rows['total'],$rows['data']); // 传入总记录数// 传入数据二维数组 + } +} diff --git a/app/Admin/routes.php b/app/Admin/routes.php index aa9ac7c..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'); @@ -59,6 +60,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/Http/Controllers/Salesman.php b/app/Http/Controllers/Salesman.php new file mode 100644 index 0000000..51071c3 --- /dev/null +++ b/app/Http/Controllers/Salesman.php @@ -0,0 +1,111 @@ +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::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(); + } + } +} 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 @@ +first()->toArray(); //$order['distance'] = Rpc::getDistance($market['lng'],$market['lat'],$order['lng'],$order['lat'])['result']; 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 @@ + [ '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' => [ 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}} 元    diff --git a/routes/web.php b/routes/web.php index c2497f9..1eba8b1 100644 --- a/routes/web.php +++ b/routes/web.php @@ -19,3 +19,4 @@ Route::get('/', function(){ Route::get('/test', 'TestController@Test'); Route::any('/rpc', 'TestController@testRpc'); +Route::any('/add', 'Salesman@addData');