| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 | <?phpnamespace app\api\controller\company;use app\common\controller\Apic;use think\Db;/** * 会员接口 */class Index extends Apic{    protected $noNeedLogin = [];    protected $noNeedRight = '*';    //首页    public function index(){    }    //首页轮播    public function banner(){        $where = [            'status'     => 1,            'position'  => 1        ];        $list = Db::name('platform_banner')->where($where)->order('weigh asc,id asc')->select();        $list = list_domain_image($list,['image']);        $this->success(1,$list);    }    //商家钱包明细    public function money_log(){        $map = [            'user_id' => $this->auth->company_id,        ];        $list = Db::name('company_money_log')            ->field('id,log_type,change_value,remain,remark,createtime')            ->where($map)->order('id desc')->autopage()->select();        //$list = $this->list_appen_logtext($list);        $this->success(1,$list);    }    //追加log_text    private function list_appen_logtext($list){        if(!empty($list)){            $conf = config('wallet.logtype');            foreach($list as $key => $val){                $list[$key]['log_text'] = isset($conf[$val['log_type']]) ? $conf[$val['log_type']] : '';            }        }        return $list;    }    //资金账单,用来显示本门店下所有用户的储值卡的流水日志    public function usermoney_info(){        $usernumber = Db::name('user_wallet')->where('company_id',$this->auth->company_id)->count();        $summoney = Db::name('user_wallet')->where('company_id',$this->auth->company_id)->sum('money');        $rs = [            'usernumber' => $usernumber,            'summoney' => $summoney,        ];        $this->success(1,$rs);    }    //资金账单,下部列表    public function usermoney_lists(){        $keyword = input('keyword','');        $where = [            'log.company_id' => $this->auth->company_id,        ];        if(!empty($keyword)){            $where['user.nickname|user.mobile'] = ['LIKE','%'.$keyword.'%'];        }        $lists = Db::name('user_money_log')->alias('log')            ->field('log.id,log.log_type,log.change_value,log.remain,log.remark,log.createtime,user.nickname,user.mobile')            ->join('user','log.user_id = user.id','LEFT')            ->where($where)->autopage()->select();        $this->success(1,$lists);    }    //数据中心    public function datacenter_one(){        $date = input('date',date('Y-m-01'));        $starttime = strtotime($date);    //月初第一天        $endtime = strtotime("+1 month",$starttime) - 1; //月末最后一天        //柱状图        $ec_date = [];        $ec_ordernum = [];        $map = [            'company_id'  => $this->auth->company_id,        ];        if($this->auth->type == 2){            $map['staff_id'] = $this->auth->id;        }        for($i=$starttime;$i<$endtime;$i+=86400){            $starttime_i = $i;            $endtime_i = $i + 86399;            //日历            $ec_date[] = date('d',$starttime_i).'日';            //下单人数            $map['finish_time'] = ['between',[$starttime_i,$endtime_i]];            $ec_ordernum[] = Db::name('order')->where($map)->count('id');        }        //饼图        $map['finish_time'] = ['between',[$starttime,$endtime]];        $servicetype = Db::name('servicetype')->field('id,title as name')->select();        foreach($servicetype as $key => &$val){            $map['servicetype_id'] = $val['id'];            $val['value'] = Db::name('order')->where($map)->count('id');            unset($val['id']);        }        $result = [            'ec_data' => $ec_date,            'ec_ordernum' => $ec_ordernum,            'servicetype' => $servicetype,        ];        $this->success(1,$result);    }    public function datacenter_two(){        $usernumber = Db::name('user_wallet')->where('company_id',$this->auth->company_id)->count();//充卡客户数量        $summoney = Db::name('user_wallet')->where('company_id',$this->auth->company_id)->sum('money');//充卡余额        //客户类别        $comefrom_config = ['自然进店','平台引流','线下新客','老带新'];        $comefrom_array = [];        foreach($comefrom_config as $key => $val){            $number = Db::name('user_wallet')->where('company_id',$this->auth->company_id)->where('comefrom',$val)->count();            $bili = bcdiv($number*100,$usernumber,2).'%';            $comefrom_array[] = ['name'=>$val,'value'=>$bili];        }        //        $result = [            'usernumber' => $usernumber,            'summoney' => $summoney,            'comefrom_array'  => $comefrom_array,        ];        $this->success(1,$result);    }    public function datacenter_three(){        $type = input('type',1);        $servicetype = Db::name('servicetype')->field('id,title as name')->select();        //七日        if($type == 1){            $starttime = strtotime(date('Y-m-d')) - 518400;            $endtime   = strtotime(date('Y-m-d')) + 86399;            $ec_date = [];            $map = [                'company_id'  => $this->auth->company_id,            ];            if($this->auth->type == 2){                $map['staff_id'] = $this->auth->id;            }            for($i=$starttime;$i<$endtime;$i+=86400){                $starttime_i = $i;                $endtime_i = $i + 86399;                //日历                $ec_date[] = date('d',$starttime_i).'日';            }            foreach($servicetype as $key => &$val){                $map['servicetype_id'] = $val['id'];                $val['data'] = [];                $val['textColor'] = '#FFFFFF';                for($i=$starttime;$i<$endtime;$i+=86400){                    $starttime_i = $i;                    $endtime_i = $i + 86399;                    //销售金额                    $map['finish_time'] = ['between',[$starttime_i,$endtime_i]];                    $val['data'][] = Db::name('order')->where($map)->sum('total_fee');                }                unset($val['id']);            }            $result = [                'ec_data'     => $ec_date,                'ec_totalfee' => $servicetype,            ];            $this->success(1,$result);        }else{            $thismonth = strtotime(date('Y-m-01'));            $ec_date = [];            $map = [                'company_id'  => $this->auth->company_id,            ];            if($this->auth->type == 2){                $map['staff_id'] = $this->auth->id;            }            for($i=5;$i>=0;$i-=1){                $starttime_i = strtotime("-".$i." month",$thismonth);                $endtime_i = strtotime("-".$i+1 ." month",$thismonth) - 1;                //日历                $ec_date[] = date('m',$starttime_i).'月';                //dump(date('Y-m-d H:i:s',$starttime_i));                //dump(date('Y-m-d H:i:s',$endtime_i));            }            foreach($servicetype as $key => &$val){                $map['servicetype_id'] = $val['id'];                $val['data'] = [];                $val['textColor'] = '#FFFFFF';                for($i=5;$i>=0;$i-=1){                    $starttime_i = strtotime("-".$i." month",$thismonth);                    $endtime_i = strtotime("-".$i+1 ." month",$thismonth) - 1;                    //销售金额                    $map['finish_time'] = ['between',[$starttime_i,$endtime_i]];                    $val['data'][] = Db::name('order')->where($map)->sum('total_fee');                }                unset($val['id']);            }            $result = [                'ec_data'     => $ec_date,                'ec_totalfee' => $servicetype,            ];            $this->success(1,$result);        }    }    public function datacenter_four(){    }}
 |