Ver código fonte

增加注入

15954078560 2 anos atrás
pai
commit
5c4b9dfb03

+ 136 - 29
application/admin/controller/Video.php

@@ -107,7 +107,7 @@ class Video extends Backend
                     $this->error($e->getMessage());
                 }
                 if ($result !== false) {
-                    //生成ftp文件
+                    /*//生成ftp文件
                     $content = [
                         'cpPrvdName' => '健康e家',
                         'cpPrvCode' => '41000144',
@@ -150,7 +150,46 @@ class Video extends Backend
                         'priKey' => '123456',
                         'data' => [$content]
                     ];
-                    httpRequest($url, $method, $postfields);
+                    httpRequest($url, $method, $postfields);*/
+
+                    //内容同步
+                    $cspid = config('cspid');
+                    $url = 'http://ip:port/epgDataSync/v1/' . $cspid;
+
+                    $data = [
+                        'cspId' => $cspid,
+                        'cpAlbumId' => $id,
+                        'albumName' => $params['title'],
+                        'tvSets' => 1,
+                        'updateToSet' => 1,
+                        'isPurchase' => $params['is_pay'],
+                        'isEffective' => $params['status'],
+                        'isOnline' => $params['status'],
+                        'albumTypes' => '健康',
+                        'picBox' => config('upload.cdnurl') . $params['image'],
+                        'albumUpdateTime' => date('YmdHis', time()),
+                        'albumCreateTime' => date('YmdHis', time()),
+                        'tvlist' => [
+                            [
+                                'cpAlbumId' => $id,
+                                'cpTvId' => $id,
+                                'tvName' => $params['title'],
+                                'tvIsEffective' => $params['status'],
+                                'tvIsOnline' => $params['status'],
+                                'isPurchase' => $params['is_pay'],
+                                'playOrder' => 1,
+                                'tvUrl' => 'ftp://'.config('ftp_user').':'.config('ftp_pwd').'@'.config('ftp_ip').':'.config('ftp_port').'/'.$params['title'].'.mp4'
+                            ]
+                        ]
+                    ];
+
+                    $rs = httpRequest($url, 'POST', $data);
+                    if ($rs) {
+                        $rs = json_decode($rs, true);
+                        if ($rs['code'] == 'A000000') {
+                            Db::name('video')->where(['id' => $id])->setField('inject_status', 1);
+                        }
+                    }
 
                     $this->success();
                 } else {
@@ -203,6 +242,45 @@ class Video extends Backend
                     $this->error($e->getMessage());
                 }
                 if ($result !== false) {
+                    //内容同步
+                    $cspid = config('cspid');
+                    $url = 'http://ip:port/epgDataSync/v1/' . $cspid;
+
+                    $data = [
+                        'cspId' => $cspid,
+                        'cpAlbumId' => $ids,
+                        'albumName' => $params['title'],
+                        'tvSets' => 1,
+                        'updateToSet' => 1,
+                        'isPurchase' => $params['is_pay'],
+                        'isEffective' => $params['status'],
+                        'isOnline' => $params['status'],
+                        'albumTypes' => '健康',
+                        'picBox' => config('upload.cdnurl') . $params['image'],
+                        'albumUpdateTime' => date('YmdHis', time()),
+//                        'albumCreateTime' => date('YmdHis', time()),
+                        'tvlist' => [
+                            [
+                                'cpAlbumId' => $ids,
+                                'cpTvId' => $ids,
+                                'tvName' => $params['title'],
+                                'tvIsEffective' => $params['status'],
+                                'tvIsOnline' => $params['status'],
+                                'isPurchase' => $params['is_pay'],
+                                'playOrder' => 1,
+                                'tvUrl' => 'ftp://'.config('ftp_user').':'.config('ftp_pwd').'@'.config('ftp_ip').':'.config('ftp_port').'/'.$params['title'].'.mp4'
+                            ]
+                        ]
+                    ];
+
+                    $rs = httpRequest($url, 'POST', $data);
+                    if ($rs) {
+                        $rs = json_decode($rs, true);
+                        if ($rs['code'] == 'A000000') {
+                            Db::name('video')->where(['id' => $ids])->setField('inject_status', 1);
+                        }
+                    }
+
                     $this->success();
                 } else {
                     $this->error(__('No rows were updated'));
@@ -223,34 +301,63 @@ class Video extends Backend
             $this->error(__("Invalid parameters"));
         }
         $ids = $ids ? $ids : $this->request->post("ids");
-        if ($ids) {
-            $pk = $this->model->getPk();
-            $adminIds = $this->getDataLimitAdminIds();
-            if (is_array($adminIds)) {
-                $this->model->where($this->dataLimitField, 'in', $adminIds);
-            }
-            $list = $this->model->where($pk, 'in', $ids)->select();
 
-            $count = 0;
-            Db::startTrans();
-            try {
-                foreach ($list as $k => $v) {
-                    $count += $v->delete();
-                }
-                Db::commit();
-            } catch (PDOException $e) {
-                Db::rollback();
-                $this->error($e->getMessage());
-            } catch (Exception $e) {
-                Db::rollback();
-                $this->error($e->getMessage());
-            }
-            if ($count) {
-                $this->success();
-            } else {
-                $this->error(__('No rows were deleted'));
-            }
+        $params = Db::name('video')->find($ids);
+        if (!$params) {
+            $this->success();
         }
-        $this->error(__('Parameter %s can not be empty', 'ids'));
+
+        Db::startTrans();
+        $rt = Db::name('video')->delete($ids);
+        if (!$rt) {
+            Db::rollback();
+            $this->error('删除失败');
+        }
+
+        //内容同步
+        $cspid = config('cspid');
+        $url = 'http://ip:port/epgDeleteSync/v1/' . $cspid;
+
+        $data = [
+            'cspId' => $cspid,
+            'cpAlbumId' => $ids,
+            'albumName' => $params['title'],
+            'tvSets' => 1,
+            'updateToSet' => 1,
+            'isPurchase' => $params['is_pay'],
+            'isEffective' => 0,
+            'isOnline' => 2,
+            'albumTypes' => '健康',
+            'picBox' => config('upload.cdnurl') . $params['image'],
+            'albumUpdateTime' => date('YmdHis', time()),
+//                'albumCreateTime' => date('YmdHis', time()),
+            'tvlist' => [
+                [
+                    'cpAlbumId' => $ids,
+                    'cpTvId' => $ids,
+                    'tvName' => $params['title'],
+                    'tvIsEffective' => 0,
+                    'tvIsOnline' => 2,
+                    'isPurchase' => $params['is_pay'],
+                    'playOrder' => 1,
+                    'tvUrl' => 'ftp://'.config('ftp_user').':'.config('ftp_pwd').'@'.config('ftp_ip').':'.config('ftp_port').'/'.$params['title'].'.mp4'
+                ]
+            ]
+        ];
+
+        $rs = httpRequest($url, 'POST', $data);
+        if (!$rs) {
+            Db::rollback();
+            $this->error('删除失败');
+        }
+
+        $rs = json_decode($rs, true);
+        if ($rs['code'] != 'A000000') {
+            Db::rollback();
+            $this->error('删除失败');
+        }
+
+        Db::commit();
+        $this->success();
     }
 }

+ 40 - 0
application/api/controller/Notify.php

@@ -717,5 +717,45 @@ class Notify extends Api
         $this->success('成功');
     }
 
+    //视频注入结果查询
+    public function injectquery() {
+        set_time_limit(0);
+
+        $time = strtotime(date('Y-m-d', time()));
+        $where = array(
+            'inject_status' => 1,
+            'updatetime' => ['egt', $time]
+        );
+
+        $hu_video = Db::name('video');
+        $list = $hu_video->where($where)->count('id');
 
+        if (!$list) {
+            echo 'mei shu ju';
+            die;
+        }
+
+        $starttime = date('Ymd000000', time());
+        $endtime = date('Ymd235959', time());
+        $url = 'http://ip:port/injectResult/v1/queryAdd?cspId' . config('cspid') . '&startTime='.$starttime.'&endTime='.$endtime;
+        $rs = httpRequest($url, 'POST', []);
+        if (!$rs) {
+            echo 'cuo wu1';
+            die;
+        }
+
+        $list = json_decode($rs, true);
+        if ($list['code'] != 'A000000') {
+            echo 'cuo wu2';
+            die;
+        }
+        foreach ($list['data'] as &$v) {
+            if ($v['taskStatus'] == 2) {
+                $hu_video->where(['id' => $v['cpTvId'], 'inject_status' => 1])->setField(['inject_status' => 2]);
+            }
+        }
+
+        echo 'wan bi';
+        die;
+    }
 }