122 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
namespace app\controller\manager;
 | 
						|
 | 
						|
 | 
						|
use app\model\Member;
 | 
						|
use app\repository\AccountRepository;
 | 
						|
use app\repository\CouponRepository;
 | 
						|
 | 
						|
/**
 | 
						|
 * 统计图
 | 
						|
 */
 | 
						|
class Statistical extends Base
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * 签到
 | 
						|
     * */
 | 
						|
    public function sign()
 | 
						|
    {
 | 
						|
        $startTime = input("startTime/s", date("Y-m-d", strtotime("-1 year")));
 | 
						|
        $endTime = input("endTime/s", date("Y-m-d"));
 | 
						|
        $agencyCode = input("agencyCode/s");
 | 
						|
        $this->data["startTime"] = $startTime;
 | 
						|
        $this->data["endTime"] = $endTime;
 | 
						|
        $this->data["agencyCode"] = $agencyCode;
 | 
						|
        $xDay = diffBetweenTwoDays($startTime, $endTime);
 | 
						|
        if ($xDay > 366) {
 | 
						|
            return $this->error("日期不要超过");
 | 
						|
        }
 | 
						|
        //生成折现点
 | 
						|
        $x = ["product"];
 | 
						|
        $releaseDataArray = ["zero"=>"发布数量"];
 | 
						|
        $signDataArray = ["zero"=>"签到数量"];
 | 
						|
        $receiveDataArray = ["zero"=>"领取数量"];
 | 
						|
        for ($aa = 0; $aa <= $xDay; $aa++) {
 | 
						|
            $key = date("Y-m-d", strtotime($startTime . " +" . $aa . " day"));
 | 
						|
            $x[] = $key;
 | 
						|
            $releaseDataArray[$key] = 0;
 | 
						|
            $signDataArray[$key] = 0;
 | 
						|
            $receiveDataArray[$key] = 0;
 | 
						|
        }
 | 
						|
 | 
						|
        $this->data["x"] = json_encode($x);
 | 
						|
 | 
						|
        //拿数据
 | 
						|
 | 
						|
        //发布
 | 
						|
        $release = CouponRepository::getInstance()->getReleaseStatistics($startTime,$endTime,$agencyCode);
 | 
						|
        foreach ($release as $item){
 | 
						|
            if(isset($releaseDataArray[$item["create_time"]])){
 | 
						|
                $releaseDataArray[$item["create_time"]]++;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        $releaseDataArray= array_values($releaseDataArray);
 | 
						|
        $this->data["releaseDataArray"]=json_encode($releaseDataArray);
 | 
						|
 | 
						|
        //签到数量
 | 
						|
        $sign = CouponRepository::getInstance()->getSignStatistics($startTime,$endTime,$agencyCode);
 | 
						|
        foreach ($sign as $item){
 | 
						|
            if(isset($signDataArray[$item["verificate_time"]])){
 | 
						|
                $signDataArray[$item["verificate_time"]]++;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        $signDataArray= array_values($signDataArray);
 | 
						|
        $this->data["signDataArray"]=json_encode($signDataArray);
 | 
						|
 | 
						|
        //领取数量
 | 
						|
        $receive = CouponRepository::getInstance()->getReceiveStatistics($startTime,$endTime,$agencyCode);
 | 
						|
        foreach ($receive as $item){
 | 
						|
            if(isset($receiveDataArray[$item["received_time"]])){
 | 
						|
                $receiveDataArray[$item["received_time"]]++;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        $receiveDataArray               =   array_values($receiveDataArray);
 | 
						|
        $this->data["receiveDataArray"] =   json_encode($receiveDataArray);
 | 
						|
        $this->data["agency"]           =   Member::getAgentAll();
 | 
						|
 | 
						|
        return $this->view();
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 注册位置
 | 
						|
     * */
 | 
						|
    public function register(){
 | 
						|
        if($this->request->isPost()){
 | 
						|
            $page =input("page/d",1);
 | 
						|
            $size =input("size/d",1000);
 | 
						|
            $data = AccountRepository::getInstance()->findList([
 | 
						|
                ["lat",">",0],
 | 
						|
                ["lng",">",0],
 | 
						|
            ],["lat","lng","id as value"],$page,$size,function ($q){
 | 
						|
                return $q->withAttr("value",function ($value){
 | 
						|
                    return 100;
 | 
						|
                });
 | 
						|
            },["id"=>"desc"]);
 | 
						|
            return $this->json(0,"success",$data);
 | 
						|
        }
 | 
						|
        return $this->view();
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 领取签到券位置
 | 
						|
     * */
 | 
						|
    public function receive(){
 | 
						|
        if($this->request->isPost()){
 | 
						|
            $page =input("page/d",1);
 | 
						|
            $size =input("size/d",1000);
 | 
						|
            $data = CouponRepository::getInstance()->findList([
 | 
						|
                ["lat",">",0],
 | 
						|
                ["lng",">",0],
 | 
						|
            ],["lat","lng","id as value"],$page,$size,function ($q){
 | 
						|
                return $q->withAttr("value",function ($value){
 | 
						|
                    return 100;
 | 
						|
                });
 | 
						|
            },["id"=>"desc"]);
 | 
						|
            return $this->json(0,"success",$data);
 | 
						|
        }
 | 
						|
        return $this->view();
 | 
						|
    }
 | 
						|
 | 
						|
}
 |