PHP 封裝方法 private

主方法

 //導入第三方結果集
    public function import()
    {
        //查詢第三方表  rs_other_request_log  ->field("id,cloud_platform,module,data,status")
        set_time_limit(0);       //超時
        ini_set('memory_limit', '256M');   //內存

        //查詢所有
        $list = M('OtherRequestLog')
            ->field("id,data,status,cloud_platform,module")
            ->where(['status' => 0, 'cloud_platform' => ['in', [0, 2]], 'module' => 2])
            ->select();

        foreach ($list as $value => $key) {
            $data = json_decode($key['data'], true);

            //調用分詞方法,拿到詞彙
            $result = $this->get_word($key['cloud_platform'], $data, $key['module']);

            //循環處理數據庫
            if(!empty($result)){
                foreach ($result as $v => $k) {
                    $this->deal_sql($k);
                }
            }

        //更新第三方的狀態
        M('OtherRequestLog')->where(['id' => $key['id']])->save(['status' => 1]);
        }
        $this->success('操作成功');
    }

 方法一:

//篩選詞彙 將data裏邊的詞彙取出來返回
    private function get_word($cloud_platform, $data, $module)
    {
        if(empty($data)) return false;
        //調用通用物體識別 cloud_platform= 0  module=2  status=0(未檢索)

        if ($cloud_platform == 0 && $module == 2) {

            if (!empty($data['log_id'])) {    //log_id存在

                $arr = $data['result'];  //二維數組

                foreach ($arr as $v => $k) {
                    $word[] = $k['keyword'];
                }

            } else {     //login_id 不存在

                $barr = $data['Keywords'] ;

                foreach ($barr as $v => $k) {
                    $word[] = $k['Word'];
                }

            }

         //第二種 阿里圖像識別接口 cloud_platform= 2  module=2
        } elseif ($cloud_platform == 2 && $module == 2) {

            $arr = $data['tags'];  //二維數組

            foreach ($arr as $v => $k) {
                $word[] = $k['value'];
            }

        }
        return $word;   //數組
    }

方法二:

//處理數據庫
    private function deal_sql($word)
    {
        if (empty($word)) return false;

        //拿到keyword 判斷詞庫表是否存在   rs_rubbish_keywords
        $sys_status = M('RubbishKeywords')
            ->field("id,txt")
            ->where(['txt' => $word])
            ->find();

        if (!empty($sys_status)) return false;

        //拿到keyword 判斷系統記錄表是否存在
        $record_status = M('KeywordSearchRecord')
            ->field("id,input_text,count")
            ->where(['input_text' => $word])
            ->find();

        if (empty($record_status) && !empty($word)  ) {  //無記錄

            $arr = [
                'input_text' => $word,
                'create_user' => session('ADMIN_ID'),
                'create_time' => NOW_TIME,
            ];

            $add_ststus = M('KeywordSearchRecord')->add($arr);

            if ($add_ststus == false) return false;
        } else {    //有記錄

            //記錄表搜索次數加1
            $record_sts = M('KeywordSearchRecord')->where(['id' => $record_status['id']])->save(['count' => $record_status['count'] + 1]);

            if ($record_sts == false) return false;

        }
        return true;
    }

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章