dever il y a 3 ans
Parent
commit
352cde9af1

+ 14 - 0
app/collection/database/content.php

@@ -284,5 +284,19 @@ return array
             'order' => array('reorder' => 'asc', 'id' => 'desc'),
             'col' => '*|page_id|',
         ),
+
+        'getNew' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'info_id' => 'yes',
+                'page_id' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'one',
+            'order' => array('reorder' => 'desc', 'cdate' => 'desc'),
+            'col' => '*',
+        ),
     )
 );

+ 15 - 1
app/collection/database/page.php

@@ -322,14 +322,28 @@ return array
 		(
 			'option' => array
 			(
-				'state' => 1,
 				'page_id' => array(1, '>='),
 				'info_id' => 'yes',
 				'times_id' => 'yes',
+				'state' => 1,
 			),
 			'type' => 'one',
 			'order' => array('reorder' => 'asc', 'id' => 'asc'),
 			'col' => '*',
 		),
+
+		'getNew' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'info_id' => 'yes',
+                'page_id' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'one',
+            'order' => array('reorder' => 'desc', 'cdate' => 'desc'),
+            'col' => '*',
+        ),
 	)
 );

+ 144 - 0
app/collection/lib/Create.php

@@ -0,0 +1,144 @@
+<?php
+
+namespace Collection\Lib;
+
+use Dever;
+use Dever\Support\Img as Handle;
+
+class Create
+{
+    # 自动创建
+    public function up($info_id, $source_id, $type = 11, $data, $cover = '')
+    {
+        $where['info_id'] = $info_id;
+
+        $info = Dever::db('collection/content')->getNew($where);
+
+        if ($type == 11) {
+        	$data = explode(',', $data);
+        	if (!$cover) {
+        		$cover = $data[0];
+	            $cover = Dever::load('upload/view')->get($cover, 't', 1);
+	            $cover = Dever::load('upload/view')->get($cover, 'c', 1);
+        	}
+        }
+
+        # 1章最多15篇
+        $max = 15;
+        $result = array();
+        //唯美 第1章(时光)12季(主章节),1季12章(子章节),1章15篇(内容)
+        if ($info) {
+            if ($info['reorder'] >= $max) {
+                $result['reorder'] = $info['reorder'] = 1;
+                $name = '第' . $result['reorder'] . '篇';
+
+                $page = Dever::db('collection/page')->find($info['page_id']);
+                if ($page) {
+
+                	if ($page['reorder'] >= 12) {
+
+                	} else {
+                		$page_reorder = $page['reorder'] + 1;
+                		$name = '第' . ;
+                	}
+                	
+                }
+
+                $name = '第' . $result['reorder'] . '篇';
+
+                $result['page_id'] = $this->createPage($info_id, $source_id, $month_name, $parent_page_id, $times_id_parent, $times_id, $page_desc, $cover, $reorder, $max);
+
+                $result['content_id'] = $this->createContent($info_id, $source_id, $result['page_id'], 11, $name, $cover);
+
+            } else {
+                $result['reorder'] = $info['reorder'] + 1;
+                $name = '第' . $result['reorder'] . '篇';
+
+                $result['page_id'] = $info['page_id'];
+                $result['content_id'] = $this->createContent($info_id, $source_id, $result['page_id'], 11, $result['reorder'], $cover);
+                
+            }
+            return $info['reorder'] + 1; 
+        }
+
+        return 1;
+    }
+
+    # 生成时光
+    public function createTimes($info_id, $source_id, $name, $year = '', $parent = -1)
+    {
+    	$table = 'collection/times';
+    	$where['info_id'] = $info_id;
+    	$where['source_id'] = $source_id;
+    	$where['times_id'] = $parent;
+        $where['name'] = $name;
+        $param = array();
+    	if ($year) {
+    		$param['year'] = $year;
+    	}
+    	return Dever::upinto($table, $where, $param);
+    }
+
+    # 生成章节
+    public function createPage($info_id, $source_id, $name, $parent = -1, $times_id_parent, $times_id, $desc = '', $pic = '', $reorder = 1, $max = 12, $num = 1)
+    {
+    	$table = 'collection/page';
+    	$where['info_id'] = $info_id;
+    	$where['source_id'] = $source_id;
+    	$where['name'] = $name;
+    	$where['page_id'] = $parent;
+    	$where['times_id_parent'] = $times_id_parent;
+    	$where['times_id'] = $times_id;
+    	if ($desc) {
+    		$param['desc'] = $desc;
+    	}
+    	if ($pic) {
+    		$param['pic'] = $pic;
+    	}
+        if ($reorder) {
+            $param['reorder'] = $reorder;
+        }
+
+        if ($parent > 0) {
+            $where['clear'] = true;
+            $where['name'] .= '第'.$num.'期';
+            $info = Dever::db($table)->one($where);
+            if (!$info) {
+                $param = array_merge($where, $param);
+                $id = Dever::db($table)->insert($param);
+            } else {
+                $total = Dever::db('collection/content')->total(array('info_id' => $info_id, 'page_id' => $info['id'], 'clear' => true));
+
+                if ($total >= $max) {
+                    $num = $num+1;
+                    $reorder += $num;
+                    $id = $this->createPage($info_id, $source_id, $name, $parent, $times_id_parent, $times_id, $desc, $pic, $reorder, $max, $num);
+                } else {
+                    $id = $info['id'];
+                }
+            }
+        } else {
+            $id = Dever::upinto($table, $where, $param);
+        }
+
+        return $id;
+    }
+
+    # 生成内容
+    public function createContent($info_id, $source_id, $page_id, $type, $reorder, $pic)
+    {
+    	$table = 'collection/content';
+    	$where['info_id'] = $info_id;
+    	$where['source_id'] = $source_id;
+    	$where['reorder'] = $reorder;
+    	$where['name'] = '第' . $reorder . '篇';
+    	$where['page_id'] = $page_id;
+    	$where['type'] = $type;
+
+    	if ($pic) {
+    		$param['pic'] = $pic;
+    	}
+    	
+    	return Dever::upinto($table, $where, $param);
+    }
+}

+ 30 - 1
app/collection/lib/Spider.php

@@ -37,7 +37,7 @@ class Spider
         # 导入到唯美中
         # 每年12期,
         $id = Dever::input('info_id', 5);
-        $source_id = $where['pid'] = Dever::input('pid', 3);
+        $source_id = $where['pid'] = Dever::input('pid', 14);
         $where['use'] = 1;
         $where['limit'] = '0,15';
         $data = Dever::db('spider/data')->getAll($where);
@@ -53,6 +53,7 @@ class Spider
         $param = array();
 
         if ($data) {
+            print_r($data);die;
             foreach ($data as $k => $v) {
                 $value = Dever::array_decode($v['value']);
                 if ($value && is_array($value)) {
@@ -265,6 +266,34 @@ class Spider
     	return Dever::upinto($table, $where, $param);
     }
 
+    # 自动创建章节
+    public function getContentNum($info_id)
+    {
+        $table = 'collection/content';
+        $where['info_id'] = $info_id;
+
+        $info = Dever::db($table)->getNew($where);
+
+        $max = 15;
+        $result = array();
+        //唯美 第1章(时光)12季(主章节),1季12章(子章节),1章15篇(内容)
+        if ($info) {
+            if ($info['reorder'] >= $max) {
+                $info['reorder'] = 1;
+                # 篇数加1
+            } else {
+                $result['reorder'] = $info['reorder'] + 1;
+
+                $result['page_id'] = $info['page_id'];
+                $result['content_id'] = $this->createContent($id, $source_id, $result['page_id'], 11, $day_name, $cover);
+                
+            }
+            return $info['reorder'] + 1; 
+        }
+
+        return 1;
+    }
+
     # 生成图片
     public function createPic($id, $content_id, $pic)
     {

+ 1 - 0
config/base.php

@@ -2,6 +2,7 @@
 $config['base'] = array
 (
 	'name' => '合小记',
+    'name' => '橙猫供应链',
 	'version' => '1.0.0 Beta',
 
     # 设置分类组件中的栏目下的分类为系统使用的主分类