广告

您的位置 首页 新闻中心 搜索技术红帽更新产品组合,进一步提高云原生应用开发的性能和规模

红帽更新产品组合,进一步提高云原生应用开发的性能和规模

search-高级搜索

<?php if ( ! defined('BASEPATH')) exit('Webmeng Warning ! No direct script access allowed.');

class Search extends CI_Controller {

     function __construct()

     {

         parent::__construct();

     $this->load->helper('comfun');

     }

  public function _remap()   
  { 
        $m= $this->uri->rsegment(2);  //调用的方法名称
            if(method_exists($this,$m)){ //如果存在该方法,则直接调用
          call_user_func_array(array($this, $m), array_slice($this->uri->rsegments, 2));
      }else{           
              call_user_func_array(array($this,"_details"),array_slice($this->uri->rsegments, 1));  //调用函数的替代方法*/
          }
  }

  
  public function _details($id)
  {
    
       $id = (int) $id;
       $data['id'] = $id;
       $content = '';
       $app_id =  $this->session->userdata('app_id');
       if(!$app_id ){
             header("Location:".site_url("login")); 
       }
        
       $status = $this->db->fetch_one("select status from ".WEBMENG_CONMENG."user where id='".$app_id."' ");
       if($status!=1){
           returnpage("您的账号还未通过审核,请耐心等待!",1);
       }

       $task_detail = $this->db->fetch("select * from ".WEBMENG_CONMENG."task where uid='".$app_id."' and pid='".$id."' and status=0 and t_status =1 ",true);
       if(!empty($task_detail)){  //已存在
           
                $content  = $this->db->fetch_one("select content from ".WEBMENG_CONMENG."comment where  pid='".$id."' and id='".$task_detail['cid']."'  ");
         
           
       }else{

           //  同一个任务  一天只能领取一个任务,一个月只能领取3次
           $today = strtotime(date("Y-m-d"));
           $sql ="select count(*) from ".WEBMENG_CONMENG."task where opertime>='".$today."' and pid='".$id."' and uid='".$app_id."' and t_status>0 ";
           $today_nums= $this->db->fetch_one($sql);
           if($today_nums>0){
              returnpage("相同任务一天只能领取一次",1);
           }
           $first_day = strtotime(date('Y-m-01'));  //当月第一天
           $last_day = strtotime(date('Y-m-t'));    //当月最后一天
           
           $sql ="select count(*) from ".WEBMENG_CONMENG."task where opertime>='".$first_day."' and opertime<='".$last_day."' and uid='".$app_id."' and pid='".$id."' and t_status>0 ";
           $month_nums= $this->db->fetch_one($sql);

           if($month_nums>3){
              returnpage("相同任务一个月只能领取3次",1);
           }
            
           $p_nums = $this->db->fetch_one("select p_nums from ".WEBMENG_CONMENG."product where id='".$id."' ");
           if($p_nums>=1){
              $p_nums --;
              $this->db->update("product",array("p_nums"=>$p_nums),array("id"=>$id));
           }else{
              returnpage("任务已领取完",1);
           }


           $comment_info  = $this->db->fetch("select id,content from ".WEBMENG_CONMENG."comment where status=1 and pid='".$id."' order by id asc limit 1  ",true);
           $cid = isset($comment_info['id'])?$comment_info['id']:0;
           $content =  isset($comment_info['content'])?$comment_info['content']:'';
           $t_data = array(
                'uid'     => $app_id,
                'pid'     => $id,
                'cid'     => $cid,
                'opertime'=> time()
            );
           $result = $this->db->insert('task',$t_data);
           if($result){
                 if($cid){
                    $this->db->update("comment",array("status"=>2),array("id"=>$cid));
                 }
           }

            get_app_comment_nums($id);// 统计任务条数

       }
       $data['content'] = $content?$content:'填写有利于此app的评论内容!';
       $data['detail'] = $this->db->fetch("select * from ".WEBMENG_CONMENG."product where id='".$id."' ",true);
       if(!$data['detail']){ show_404(); }
       $data['base'] =base_info();
       $this->load->view('search/detail',$data);
  }
  
  public function cancel()
  {
       $pid=(int) $this->input->post('pid',true);
       $app_id =  $this->session->userdata('app_id');
       $task_detail = $this->db->fetch("select * from ".WEBMENG_CONMENG."task where uid='".$app_id."' and pid='".$pid."' and status=0 and t_status =1 ",true);
       if(empty($task_detail)){ return ''; }
      
       $result =  $this->db->update("task",array("t_status"=>0,"status"=>-1),array("id"=>$task_detail['id']));

       if($result){
            $this->db->query("update ".WEBMENG_CONMENG."product set p_nums=p_nums+1 where id='".$pid."'  ");
            $cid = $task_detail['cid'];
            if($cid){
                $this->db->update("comment",array("status"=>1),array("id"=>$cid));
            }
            get_app_comment_nums($pid);// 统计任务条数
            echo 1;exit();
       }
  }

  public function index()

  {
         $data['base'] =base_info();
         $is_task_show = isset($data['base']['is_task_show'])?$data['base']['is_task_show']:'';

         $status_info =array();  //任务状态

         //我的任务
         $my_task="";
         $app_id =  $this->session->userdata('app_id');
         if($app_id){
             $task =$this->db->fetch("select b.*,a.status as task_status from ".WEBMENG_CONMENG."task a left join  ".WEBMENG_CONMENG."product b on a.pid=b.id where  b.status=1 and a.uid='".$app_id."' and (a.status=0 or a.status=1 ) order by a.id desc ");
            // print_r($task);
             //操作状态 0已领取 1已申请 2已同意 3已拒绝
             if(!empty($task)){
               foreach ($task as  $v) {
                   if($v['task_status']==0){
                      $status_info[$v['id']]= array('msg'=>'进行中','url'=>'');
                   }else if($v['task_status']==1){
                      $status_info[$v['id']]= array('msg'=>'审核中','url'=>'javascript:;');
                   }
               }
             }  
             $my_task =$this->_get_my_data($task,$is_task_show);
         }

         //print_r($status_info);
         $data['my_task'] = $my_task;

         //任务列表
         $task =$this->db->fetch("select * from ".WEBMENG_CONMENG."product where status=1 ");
         $data['task'] =$this->_get_data($task,$status_info,$is_task_show);

         
         $this->load->view('search/index',$data);

  }

  public function _get_data($data,$status_info,$is_task_show)
  { 
       $list='';
       if(!empty($data)){
            foreach ($data as $v) {
                $list .='<div name="gradTask" task_id="255" class="list_box ">';
                $list .='   <div class="list_box_left">';
                $list .='      <dl class="left" style="width:140px;margin-left:15px;">';
                $list .='         <div class="task_ico_cover"></div>';
                $list .='         <div class="task_ico_avatar"><img height="120" width="120" src="'.$v['pic'].'"></div>';
                $list .='      </dl>';
                $list .='      <dl class="left">';
                $list .='            <h2>'.$v['p_name'].'</h2>';
                $list .=$is_task_show?'            <h5>剩余量:'.$v['p_nums'].'</h5>':'';
                $list .='             <h3 class="red">¥'.$v['p_price'].'</h3>';
                $list .='       </dl>';
                $list .='    </div>';
                $list .='    <div class="list_box_right" style="padding-top:30px;">';
                if(isset($status_info[$v['id']])){  //任务进行中,或审核中的
                      $url = $status_info[$v['id']]['url']?$status_info[$v['id']]['url']:site_url("list/".$v['id']);
                      $list .='        <a href="'.$url.'">';
                      $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">'.$status_info[$v['id']]['msg'].'</div>';
                      $list .='        </a>';

                }else{
                      if($v['p_nums']<1){
                            $list .='        <a href="javascript:;">';
                            $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">已做完</div>';
                            $list .='        </a>';
                      }else{
                            $list .='        <a href="'.site_url("task/".$v['id']).'">';
                            $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">抢单</div>';
                            $list .='        </a>';
                      }
                      
                }

                
                
                $list .='    </div>';
                $list .='</div>';
            }
       }
       return $list;

  }


  public function _get_my_data($data,$is_task_show)
  { 
       $list='';
       if(!empty($data)){
            foreach ($data as $v) {
                $list .='<div name="gradTask" task_id="255" class="list_box ">';
                $list .='   <div class="list_box_left">';
                $list .='      <dl class="left" style="width:140px;margin-left:15px;">';
                $list .='         <div class="task_ico_cover"></div>';
                $list .='         <div class="task_ico_avatar"><img height="120" width="120" src="'.$v['pic'].'"></div>';
                $list .='      </dl>';
                $list .='      <dl class="left">';
                $list .='            <h2>'.$v['p_name'].'</h2>';
                $list .=$is_task_show?'            <h5>剩余量:'.$v['p_nums'].'</h5>':'';
                $list .='             <h3 class="red">¥'.$v['p_price'].'</h3>';
                $list .='       </dl>';
                $list .='    </div>';
                $list .='    <div class="list_box_right" style="padding-top:30px;">';
                //操作状态 0已领取 1已申请 2已同意 3已拒绝
                switch($v['task_status']){
                    case 0:
                      $list .='        <a href="'.site_url("list/".$v['id']).'">';
                      $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">进行中</div>';
                      $list .='        </a>';
                      break;
                    case 1:
                      $list .='        <a href="javascript:;">';
                      $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">审核中</div>';
                      $list .='        </a>';  
                      break;
                    case 2: 
                      $list .='        <a href="javascript:;">';
                      $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">已通过</div>';
                      $list .='        </a>';  
                      break;
                    case 3:
                      $list .='        <a href="javascript:;">';
                      $list .='            <div class="radius butten_red" name="gradTask1" task_id="'.$v['id'].'">未通过</div>';
                      $list .='        </a>';  
                      break;   
                }
                $list .='    </div>';
                $list .='</div>';
            }
       }
       return $list;

  }


  public  function upload()
  {
        $base64_string = $_POST['base64_string'];

        $savename = uniqid().'.jpeg';//localResizeIMG压缩后的图片都是jpeg格式

        $savepath =FCPATH. '/data/attachment/image/'.$savename; 

        $image =$this-> base64_to_img( $base64_string, $savepath );

        if($image){
            $image = WEB_SITE_URL.'/data/attachment/image/'.$savename; 
            echo '{"status":1,"content":"上传成功","url":"'.$image.'"}';
        }else{
            echo '{"status":0,"content":"上传失败"}';
        } 

  }

  function base64_to_img( $base64_string, $output_file ) {
        $ifp = fopen( $output_file, "wb" ); 
        fwrite( $ifp, base64_decode( $base64_string) ); 
        fclose( $ifp ); 
        return( $output_file ); 
    } 
    
    public function apply()
    {
         $app_id =  $this->session->userdata['app_id'];

         $status = false;$msg="";
         if(!$app_id){
             $msg="未登录";
         }else{
              $pic = $this->input->post("pic",true);
              $pid = $this->input->post("pid",true);

              $pic = $pic?json_encode($pic):''; 
         
              $result = $this->db->update("task",array("pic"=>$pic,"status"=>1),array("uid"=>$app_id,"pid"=>$pid,"t_status"=>1,"status"=>0));
              if($result){
                     $status = true;
                     $msg="提交成功";
              }else{
                      $msg="提交失败";
              }

         }

          echo json_encode(array('status'=>$status,'msg'=>$msg));exit();
        


    }
   
    function intro()
    {

         $data['content']=$this->db->fetch_one("select content from ".WEBMENG_CONMENG."aboutus where m_id=321 ",true);
         $data['menu'] ="好评任务玩法介绍";
         $data['base'] =base_info();
         $this->load->view('cn/about',$data);
    }
    


   
}

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

作者: admin

为您推荐

发表评论

admin
联系我们

联系我们

13585720501

在线咨询: QQ交谈

邮箱: ser@webmeng.net

关注微信
微信扫一扫关注我们

微信扫一扫关注我们