| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 | 
							- <?php
 
- namespace app\admin\controller;
 
- use think\exception\ValidateException;
 
- use app\model\Order;
 
- use app\model\OrderStatus;
 
- use app\model\Goods;
 
- use app\model\Member;
 
- use app\model\Technical;
 
- use app\model\Agent;
 
- use app\model\Operatingcity;
 
- use app\model\Tuanzhang;
 
- use app\model\RegisterField;
 
- use app\model\AgentLevel;
 
- use app\model\PartnerLevel;
 
- use app\model\Agreement;
 
- use app\model\OperatingcityLevel;
 
- use app\model\Paymethod;
 
- use app\model\TechnicalLevel;
 
- use app\model\Lang;
 
- use app\model\BottomMenu;
 
- use app\model\GoodsQuantityUnit;
 
- class DashboardController extends Base
 
- {
 
-     function index()
 
-     {
 
-         $weid = weid();
 
-         $where['weid'] = $weid;
 
-         $orderwhere = $where;
 
-         $Goodswhere = $where;
 
-         $Memberwhere = $where;
 
-         $Technicalwhere = $where;
 
-         if (!empty($this->sid)) {
 
-             $sidwhere = $where;
 
-             $sidwhere['sid'] = $this->sid;
 
-             $orderwhere = $sidwhere;
 
-             $Goodswhere = $sidwhere;
 
-             $Memberwhere = $sidwhere;
 
-             $Technicalwhere = $sidwhere;
 
-         } elseif (!empty($this->ocid)) {
 
-             $Operatingcitydata = Operatingcity::find($this->ocid);
 
-             if ($Operatingcitydata) {
 
-                 $Operatingcitydata = $Operatingcitydata->toArray();
 
-                 if(empty($Operatingcitydata['areatype'])){
 
- 					$Operatingcitydata['areatype'] = 3;
 
- 				}
 
-                 if ($Operatingcitydata['areatype'] == 3) {
 
-                     $orderwhere['shipping_district_name'] = $Operatingcitydata['district_name'];
 
-                     $Goodswhere['district_name'] = $Operatingcitydata['district_name'];
 
-                     $Technicalwhere['district_name'] = $Operatingcitydata['district_name'];
 
-                 } elseif ($Operatingcitydata['areatype'] == 2) {
 
-                     $orderwhere['shipping_city_name'] = $Operatingcitydata['city_name'];
 
-                     $Goodswhere['city_name'] = $Operatingcitydata['city_name'];
 
-                     $Technicalwhere['city_name'] = $Operatingcitydata['city_name'];
 
-                 } elseif ($Operatingcitydata['areatype'] == 1) {
 
-                     $orderwhere['shipping_province_name'] = $Operatingcitydata['province_name'];
 
-                     $Goodswhere['province_name'] = $Operatingcitydata['province_name'];
 
-                     $Technicalwhere['province_name'] = $Operatingcitydata['province_name'];
 
-                 }
 
-             }
 
-             $Memberwhere['ocid'] = $this->ocid;
 
-         } elseif (!empty($this->tzid)) {
 
-             $Tuanzhangdata = Tuanzhang::find($this->tzid);
 
-             if ($Tuanzhangdata) {
 
-                 $Tuanzhangdata = $Tuanzhangdata->toArray();
 
-                 $orderwhere['shipping_district_name'] = $Tuanzhangdata['district_name'];
 
-                 $Goodswhere['district_name'] = $Tuanzhangdata['district_name'];
 
-                 $Technicalwhere['district_name'] = $Tuanzhangdata['district_name'];
 
-             }
 
-         }
 
-         $statistical['deliverOrder'] = Order::where($orderwhere)->where('order_status_id', '>', 2)->count();
 
-         $statistical['returnOrder'] = Order::where($orderwhere)->where(['order_status_id' => 6])->count();
 
-         $statistical['sellOut'] = Goods::where($Goodswhere)->where(['quantity' => 0])->count();
 
-         $statistical['member_count'] = Member::where($Memberwhere)->count();
 
-         $statistical['technical_count'] = Technical::where($Technicalwhere)->count();
 
-         $statistical['agent_count'] = Agent::where($where)->count();
 
-         $statistical['order_count'] = $this->getOrdercount();
 
-         $statistical['order_paycount'] = $this->getOrdercount(['where' => ['order_status_id' => 2]]);
 
-         $statistical['order_paytotal'] = Order::where($orderwhere)->where('pay_time', '>', 0)->sum('total') + Order::where($orderwhere)->where('pay_time', '>', 0)->sum('additional');
 
-         $statistical['order_paytotal'] = round($statistical['order_paytotal'], 2);
 
-         $statistical['order_pay'] = $this->getOrdercount(['pay' => 1]);
 
-         $statistical['memberAccess'] = $this->getAccess();
 
-         $statistical['accessTopay_conversionrate'] = to_percent($statistical['order_paycount'], $statistical['memberAccess']);
 
-         $statistical['accessToorder_conversionrate'] = to_percent($statistical['order_count'], $statistical['memberAccess']);
 
-         $statistical['orderTopay_conversionrate'] = to_percent($statistical['order_paycount'], $statistical['order_count']);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 7, 'pay' => 1]);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 6, 'pay' => 1]);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 5, 'pay' => 1]);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 4, 'pay' => 1]);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 3, 'pay' => 1]);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 2, 'pay' => 1]);
 
-         $clinchadeal[] = $this->getOrderdaycount(['getday' => 1, 'pay' => 1]);
 
-         $res['statistical'] = $statistical;
 
-         $res['clinchadeal'] = $clinchadeal;
 
-         $res['goodssaletop5'] = Goods::where($Goodswhere)->order('sale_count desc')->limit(5)->select()->toArray();
 
-         $res['consumedop5'] = Member::where($Memberwhere)->order('totleconsumed desc')->limit(5)->select()->toArray();
 
-         $res['service_timestop5'] = Technical::where($Technicalwhere)->order('service_times desc')->limit(5)->select()->toArray();
 
-         if (config('database.app_name') == ('xm_mal' . 'lv3')) {
 
-             $res['version'] = 'v3';
 
-         } else {
 
-             $res['version'] = 'v2';
 
-         }
 
-         $data['data'] = $res;
 
-         return $this->json($data);
 
-     }
 
-     function datainitial()
 
-     {
 
-         RegisterField::datainitial('member');
 
-         RegisterField::datainitial('agent');
 
-         RegisterField::datainitial('partner');
 
-         RegisterField::datainitial('technical');
 
-         RegisterField::datainitial('store');
 
-         RegisterField::datainitial('operatingcity');
 
-         AgentLevel::datainitial();
 
-         PartnerLevel::datainitial();
 
-         Agreement::datainitial();
 
-         OperatingcityLevel::datainitial();
 
-         Paymethod::datainitial();
 
-         TechnicalLevel::datainitial();
 
-         Lang::datainitial();
 
-         BottomMenu::datainitial('bottom');
 
-         BottomMenu::datainitial('technical');
 
-         BottomMenu::datainitial('store');
 
-         BottomMenu::datainitial('member');
 
-         OrderStatus::datainitial('goods');
 
-         OrderStatus::datainitial('goodsuser');
 
-         OrderStatus::datainitial('service');
 
-         OrderStatus::datainitial('storeservice');
 
-         OrderStatus::datainitial('serviceuser');
 
-         GoodsQuantityUnit::datainitial(1);
 
-         GoodsQuantityUnit::datainitial(2);
 
-         return $this->json($data);
 
-     }
 
-     public function getAccess()
 
-     {
 
-         $getdata = input('get.');
 
-         if (empty($getdata['getday'])) {
 
-             $getdata['getday'] = 1;
 
-         }
 
-         $query = Member::where(['weid' => weid()]);
 
-         if (empty($getdata['date_start'])) {
 
-             $getdata['date_start'] = date("Y-m-d H:i:s", strtotime("-" . $getdata['getday'] . " day"));
 
-         }
 
-         if (empty($getdata['date_end'])) {
 
-             $getdata['date_end'] = date("Y-m-d H:i:s");
 
-         }
 
-         if (!empty($getdata['date_start'])) {
 
-             $query->where('regdate', '>=', strtotime(trim($getdata['date_start'])));
 
-         }
 
-         if (!empty($getdata['date_end'])) {
 
-             $query->where('regdate', '<=', strtotime(trim($getdata['date_end'])) + 86400);
 
-         }
 
-         return $query->count();
 
-     }
 
-     public function getOrdercount($data = [])
 
-     {
 
-         $where = $data['where'];
 
-         $pay = $data['pay'];
 
-         $getdata = input('get.');
 
-         if (empty($getdata['getday'])) {
 
-             $getdata['getday'] = 1;
 
-         }
 
-         $where['weid'] = weid();
 
-         if (!empty($this->sid)) {
 
-             $where['sid'] = $this->sid;
 
-         } elseif (!empty($this->ocid)) {
 
-             $Operatingcitydata = Operatingcity::find($this->ocid);
 
-             if ($Operatingcitydata) {
 
-                 $Operatingcitydata = $Operatingcitydata->toArray();
 
-                 if(empty($Operatingcitydata['areatype'])){
 
- 					$Operatingcitydata['areatype'] = 3;
 
- 				}
 
-                 if ($Operatingcitydata['areatype'] == 3) {
 
-                     $where['shipping_district_name'] = $Operatingcitydata['district_name'];
 
-                 } elseif ($Operatingcitydata['areatype'] == 2) {
 
-                     $where['shipping_city_name'] = $Operatingcitydata['city_name'];
 
-                 } elseif ($Operatingcitydata['areatype'] == 1) {
 
-                     $where['shipping_province_name'] = $Operatingcitydata['province_name'];
 
-                 }
 
-             }
 
-         } elseif (!empty($this->tzid)) {
 
-             $Tuanzhangdata = Tuanzhang::find($this->tzid);
 
-             if ($Tuanzhangdata) {
 
-                 $Tuanzhangdata = $Tuanzhangdata->toArray();
 
-                 $where['shipping_district_name'] = $Tuanzhangdata['district_name'];
 
-             }
 
-         }
 
-         $query =  Order::where($where);
 
-         if (empty($getdata['date_start'])) {
 
-             $getdata['date_start'] = date("Y-m-d H:i:s", strtotime("-" . $getdata['getday'] . " day"));
 
-         }
 
-         if (empty($getdata['date_end'])) {
 
-             $getdata['date_end'] = date("Y-m-d H:i:s");
 
-         }
 
-         if (!empty($getdata['date_start'])) {
 
-             $query->where('create_time', '>=', strtotime(trim($getdata['date_start'])));
 
-         }
 
-         if (!empty($getdata['date_end'])) {
 
-             $query->where('create_time', '<=', strtotime(trim($getdata['date_end'])) + 86400);
 
-         }
 
-         if (empty($pay)) {
 
-             return $query->count();
 
-         } else {
 
-             return $query->sum('total');
 
-         }
 
-     }
 
-     public function getOrderdaycount($data = [])
 
-     {
 
-         $where = $data['where'];
 
-         $pay = $data['pay'];
 
-         $getdata['getday'] = $data['getday'];
 
-         $where['weid'] = weid();
 
-         if (!empty($this->sid)) {
 
-             $where['sid'] = $this->sid;
 
-         } elseif (!empty($this->ocid)) {
 
-             $Operatingcitydata = Operatingcity::find($this->ocid);
 
-             if ($Operatingcitydata) {
 
-                 $Operatingcitydata = $Operatingcitydata->toArray();
 
-                 if(empty($Operatingcitydata['areatype'])){
 
- 					$Operatingcitydata['areatype'] = 3;
 
- 				}
 
-                 if ($Operatingcitydata['areatype'] == 3) {
 
-                     $where['shipping_district_name'] = $Operatingcitydata['district_name'];
 
-                 } elseif ($Operatingcitydata['areatype'] == 2) {
 
-                     $where['shipping_city_name'] = $Operatingcitydata['city_name'];
 
-                 } elseif ($Operatingcitydata['areatype'] == 1) {
 
-                     $where['shipping_province_name'] = $Operatingcitydata['province_name'];
 
-                 }
 
-             }
 
-         } elseif (!empty($this->tzid)) {
 
-             $Tuanzhangdata = Tuanzhang::find($this->tzid);
 
-             if ($Tuanzhangdata) {
 
-                 $Tuanzhangdata = $Tuanzhangdata->toArray();
 
-                 $where['shipping_district_name'] = $Tuanzhangdata['district_name'];
 
-             }
 
-         }
 
-         $query =  Order::where($where);
 
-         if (empty($getdata['date_start'])) {
 
-             $getdata['date_start'] = date("Y-m-d H:i:s", strtotime("-" . $getdata['getday'] . " day"));
 
-         }
 
-         if (empty($getdata['date_end'])) {
 
-             $getdata['date_end'] = date("Y-m-d H:i:s", strtotime("-" . ($getdata['getday'] - 1) . " day"));
 
-         }
 
-         if (!empty($getdata['date_start'])) {
 
-             $query->where('create_time', '>=', strtotime(trim($getdata['date_start'])));
 
-         }
 
-         if (!empty($getdata['date_end'])) {
 
-             $query->where('create_time', '<=', strtotime(trim($getdata['date_end'])) + 86400);
 
-         }
 
-         if (empty($pay)) {
 
-             return $query->count();
 
-         } else {
 
-             //var_dump($query->getLastsql());
 
-             return $query->sum('total');
 
-         }
 
-     }
 
- }
 
 
  |