123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2020-10-13
- * Time: 16:43
- */
-
- namespace app\back\controller;
-
- use app\back\model\UserModel;
- use app\back\model\RegionModel;
- use app\back\model\AgencyModel;
- use app\back\model\JsOrderModel;
- use cmf\controller\AdminBaseController;
- use think\Db;
- class HuizongController extends AdminBaseController
- {
- public function getList()
- {
- $JsOrderModel = new JsOrderModel();
- $id = cmf_get_current_admin_id();
- $admin = UserModel::find($id);
- $userObject = UserModel::where('mobile',$admin->user_login)->where('user_type',2)->select();
- $userArray = $userObject->toArray();
- if(count($userArray))
- {
- $user = $userObject[0];
- }
- $agency_id = 0;
- if(isset($user->agency_id) && !empty($user->agency_id))
- {
- $agency_id = (int)$user->agency_id;
- }
- $where = [];
- //如果有 代理 id 表示 是有区县代理的
- if($agency_id)
- {
- $agency = AgencyModel::find($agency_id);
- //需要判断 renk_id 是 1 还是 2 1级代理是地级市 2级代理是区县级
- if($agency->renk_id === 1)
- {
- $region = RegionModel::where('id',$agency->city_id)->select()[0];
- $where['city'] = $region->cityName;
- }
- else
- {
- $region = RegionModel::where('id',$agency->district_id)->select()[0];
- $where['district'] = $region->cityName;
- }
- }
- //今日时间
- $day_start_time = strtotime(date('Y-m-d'));
- $day_end_time = strtotime(date('Y-m-d') . '23:59:59');
- $jinri_money = $JsOrderModel->whereTime('pay_time',[$day_start_time,$day_end_time])->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- // dump($jinri_money);
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel->whereTime('pay_time',[$jidu_start,$jidu_end])->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel->whereTime('pay_time',[$year_start,$year_end])->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //总金额
- $zong = $JsOrderModel->where('pay_time','>',0)->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong,'agency_id'=>$agency_id]);
- }
-
-
- public function soso()
- {
- $type = $this->request->param('type');
- $keyword = $this->request->param('keyword');
- $start_time = $this->request->param('start_time');
- $end_time = $this->request->param('end_time');
- $jinri_money = 0;
- $m_money = 0;
- $jidu_money = 0;
- $year_money = 0;
- $zong = 0;
- $JsOrderModel = new JsOrderModel();
- $where = [];
- if(($start_time && $end_time) && !$keyword){
-
- $day_start_time = strtotime($start_time);
- $day_end_time = strtotime($end_time . '23:59:59');
- $jinri_money = $JsOrderModel->whereTime('pay_time',[$day_start_time,$day_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel->whereTime('pay_time',[$jidu_start,$jidu_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel->whereTime('pay_time',[$year_start,$year_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //总金额
- $zong = $JsOrderModel->where(function ($query) use ($day_start_time,$day_end_time){
- if($day_start_time && $day_end_time){
- $query->whereTime('pay_time',[$day_start_time,$day_end_time]);
- }
- })->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong]);
- }else{
- switch ($type){
- case 1://代理商
- if($keyword){
- $agency_id = Db::name('user')->where('mobile',$keyword)->value('agency_id');
- if(! $agency_id){
- return ['code'=>100,'msg'=>'该用户还不是代理商!'];
- }
- $district_id = Db::name('agency')->where('id',$agency_id)->value('district_id');
- $user_ids = Db::name('user')->where(['district_id'=>$district_id,'user_type'=>2])->field('id')->select();
- $user_new_ids = [];
- foreach ($user_ids as $vo){
- $user_new_ids[] = $vo['id'];
- }
- if(!$user_new_ids){
- return ['code'=>100,'msg'=>'该代理,地区还没有用户'];
- }
-
-
- $where['user_id'] = $user_new_ids;
-
- //今日时间
- $day_start_time = strtotime(date('Y-m-d'));
- $day_end_time = strtotime(date('Y-m-d') . '23:59:59');
- $jinri_money = $JsOrderModel::where($where)->whereTime('pay_time',[$day_start_time,$day_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel::where($where)->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel::where($where)->whereTime('pay_time',[$jidu_start,$jidu_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel::where($where)->whereTime('pay_time',[$year_start,$year_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //总金额
-
-
- $zong = $JsOrderModel::where($where)->where(function ($query) use ($start_time,$end_time){
- if($start_time && $end_time){
- $query->whereTime('pay_time',[$start_time,$end_time]);
- }
- })->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong]);
- }
- break;
- case 2://技师
-
- if($keyword){
- $user_id = Db::name('user')->where('mobile',$keyword)->where('user_type',3)->value('id');
- if(! $user_id){
- return ['code'=>100,'msg'=>'该用户不是技师!'];
- }
- $js_id = Db::name('js')->where('user_id',$user_id)->value('id');
- $where['jiedan_js_id'] = $js_id;
-
- //今日时间
- $day_start_time = strtotime(date('Y-m-d'));
- $day_end_time = strtotime(date('Y-m-d') . '23:59:59');
- $jinri_money = $JsOrderModel::where($where)->whereTime('pay_time',[$day_start_time,$day_end_time])->where(function ($query){
- $query->where('status',3);
- $query->whereOR('status',4);
- $query->whereOR('status',6);
- })->sum('price');
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel::where($where)->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where(function ($query){
- $query->where('status',3);
- $query->whereOR('status',4);
- $query->whereOR('status',6);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel::where($where)->whereTime('pay_time',[$jidu_start,$jidu_end])->where(function ($query){
- $query->where('status',3);
- $query->whereOR('status',4);
- $query->whereOR('status',6);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel::where($where)->whereTime('pay_time',[$year_start,$year_end])->where(function ($query){
- $query->where('status',3);
- $query->whereOR('status',4);
- $query->whereOR('status',6);
- })->sum('price');
-
- //总金额
- $zong = $JsOrderModel::where($where)->where(function ($query) use ($start_time,$end_time){
- if($start_time && $end_time){
- $query->whereTime('pay_time',[$start_time,$end_time]);
- }
- })->where(function ($query){
- $query->where('status',3);
- $query->whereOR('status',4);
- $query->whereOR('status',6);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong]);
- }
-
- break;
- case 3://用户
- if($keyword){
- $user_id = Db::name('user')->where('mobile',$keyword)->where('user_type',2)->value('id');
- $where['user_id'] = $user_id;
-
-
- //今日时间
- $day_start_time = strtotime(date('Y-m-d'));
- $day_end_time = strtotime(date('Y-m-d') . '23:59:59');
- $jinri_money = $JsOrderModel::where($where)->whereTime('pay_time',[$day_start_time,$day_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel::where($where)->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel::where($where)->whereTime('pay_time',[$jidu_start,$jidu_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel::where($where)->whereTime('pay_time',[$year_start,$year_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //总金额
- $zong = $JsOrderModel::where($where)->where(function ($query) use ($start_time,$end_time){
- if($start_time && $end_time){
- $query->whereTime('pay_time',[$start_time,$end_time]);
- }
- })->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong]);
- }
- break;
- case 4: //地区
- if($keyword){
- // $user_id = Db::name('user')->where('mobile',$keyword)->where('user_type',2)->value('id');
- $where['district'] = $keyword;
-
-
- //今日时间
- $day_start_time = strtotime(date('Y-m-d'));
- $day_end_time = strtotime(date('Y-m-d') . '23:59:59');
- $jinri_money = $JsOrderModel::where($where)->whereTime('pay_time',[$day_start_time,$day_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel::where($where)->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel::where($where)->whereTime('pay_time',[$jidu_start,$jidu_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel::where($where)->whereTime('pay_time',[$year_start,$year_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //总金额
- $zong = $JsOrderModel::where($where)->where(function ($query) use ($start_time,$end_time){
- if($start_time && $end_time){
- $query->whereTime('pay_time',[$start_time,$end_time]);
- }
- })->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong]);
- }
-
- break;
- default:
- //今日时间
- $day_start_time = strtotime(date('Y-m-d'));
- $day_end_time = strtotime(date('Y-m-d') . '23:59:59');
- $jinri_money = $JsOrderModel->whereTime('pay_time',[$day_start_time,$day_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本月时间
- $m_start_time = (date('Y-m-01', strtotime(date('Y-m-d'))));
- $m_end_time = strtotime(date('Y-m-d', strtotime("$m_start_time +1 month -1 day")). '23:59:59');
- $m_money = $JsOrderModel->whereTime('pay_time',[strtotime($m_start_time),$m_end_time])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本季度时间
- $season = ceil(date('n') /3);
- $jidu_start = date('Y-m-01',mktime(0,0,0,($season - 1) *3 +1,1,date('Y')));
- $jidu_end = date('Y-m-t 23:59:59',mktime(0,0,0,$season * 3,1,date('Y')));
- $jidu_money = $JsOrderModel->whereTime('pay_time',[$jidu_start,$jidu_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //本年度时间
- $year_start = strtotime(date('Y-01-01'));
- $year_end = strtotime(date('Y-12-31 23:59:59'));
- $year_money = $JsOrderModel->whereTime('pay_time',[$year_start,$year_end])->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
-
- //总金额
- $zong = $JsOrderModel->where('pay_time','>',0)->where($where)->where(function ($query){
- $query->where('status','<>',0);
- $query->where('status','<>',5);
- })->sum('price');
- return json(['code'=>1,'jinri'=>$jinri_money,'m'=>$m_money,'jidu'=>$jidu_money,'year'=>$year_money,'zong'=>$zong]);
- }
- }
-
-
-
- }
- }
|