118 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace app\controller\manager;
 | |
| 
 | |
| 
 | |
| 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;
 | |
|         $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);
 | |
|         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();
 | |
|     }
 | |
| 
 | |
| }
 |