dever 6 years ago
parent
commit
3698d5f602
2 changed files with 141 additions and 0 deletions
  1. 95 0
      act/database/live_note.php
  2. 46 0
      act/lib/Note.php

+ 95 - 0
act/database/live_note.php

@@ -0,0 +1,95 @@
+<?php
+
+$table = Dever::config('base')->type;
+return array
+(
+    # 表名
+    'name' => 'live_note',
+    # 显示给用户看的名称
+    'lang' => '直播提醒用户',
+    # 是否显示在后台菜单
+    'order' => 69,
+    # 数据结构
+    'struct' => array
+    (
+        'id'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'ID',
+            'default'   => '',
+            'desc'      => '',
+            'match'     => 'is_numeric',
+            'order'     => 'desc',
+            //'list'        => true,
+        ),
+        
+
+        'uid'       => array
+        (
+            'type'      => 'int-11',
+            'name'      => '用户名',
+            'default'   => '0',
+            'desc'      => '请选择用户',
+            'match'     => 'is_numeric',
+            //'update'  => 'select',
+            //'search'  => 'select',
+            'search'    => array
+            (
+                'api' => 'passport/user-all',
+                'col' => 'username',
+                'result' => 'id',
+            ),
+            'list'      => '{uid} > 0 ? Dever::load("passport/user-one#username", {uid}) : "匿名用户"',
+        ),
+
+        'type'      => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '提醒类别',
+            'default'   => '',
+            'desc'      => '提醒类别',
+            'match'     => 'option',
+            //'search'    => 'select',
+            'option'    => $table,
+            //'list'      => true,
+        ),
+        
+        'data_id'       => array
+        (
+            'type'      => 'int-11',
+            'name'      => '标题',
+            'default'   => '',
+            'desc'      => '标题',
+            'match'     => 'option',
+            'list'      => 'Dever::load("act/lib/manage.load", "{type}", {data_id})',
+        ),
+        
+        'state'     => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '状态',
+            'default'   => '1',
+            'desc'      => '请选择状态',
+            'match'     => 'is_numeric',
+        ),
+        
+        'cdate'     => array
+        (
+            'type'      => 'int-11',
+            'name'      => '提醒时间',
+            'match'     => array('is_numeric', time()),
+            'desc'      => '',
+            # 只有insert时才生效
+            'insert'    => true,
+            'search'    => 'date',
+            'list'      => 'date("Y-m-d H:i:s", {cdate})',
+        ),
+    ),
+
+    'manage' => array
+    (
+        'insert' => false,
+        'edit' => false,
+        'delete' => false,
+    ),
+);

+ 46 - 0
act/lib/Note.php

@@ -0,0 +1,46 @@
+<?php
+
+namespace Act\Lib;
+
+use Dever;
+
+class Note
+{
+    # 获取当前用户是否预约
+    public function get($uid, $id, $type)
+    {
+        $where['uid'] = $uid;
+        $where['type'] = $type;
+        $where['data_id'] = $id;
+        $where['state'] = 1;
+        $info = Dever::db('act/live_note')->one($where);
+
+        if ($info) {
+            return 1;
+        } else {
+            return 2;
+        }
+    }
+
+    # 预约
+    public function submit($uid, $id, $type)
+    {
+        $where['uid'] = $uid;
+        $where['data_id'] = $id;
+        $where['type'] = $type;
+        $info = Dever::db('act/live_note')->one($where);
+        if (!$info) {
+            Dever::db('act/live_note')->insert($where);
+        } else {
+            if ($info['state'] == 1) {
+                Dever::db('act/live_note')->update(array('where_id' => $info['id'], 'state' => 2));
+            } else {
+                Dever::db('act/live_note')->update(array('where_id' => $info['id'], 'state' => 1));
+            }
+        }
+
+        return true;
+    }
+
+    # 提醒 后续实现
+}