dever 4 years ago
parent
commit
94afc79645

+ 64 - 5
app/collection/database/info.php

@@ -22,6 +22,24 @@ $cate = function() use ($auth)
     return $array;
 };
 
+$score = function()
+{
+    $array = array();
+    $info = Dever::db('score/config')->state(array('type' => 3));
+    
+    if($info)
+    {
+        $array += $info;
+    }
+    return $array;
+};
+
+$score_type = array
+(
+    1 => '全局积分',
+    2 => '私有积分',
+);
+
 $buy = array
 (
     1 => '收费',
@@ -40,11 +58,11 @@ $config = array
     # 显示给用户看的名称
     'lang' => '合集列表',
     'order' => 100,
-    'ends' => array
+    'end' => array
     (
-        'insert' => 'collection/lib/manage.setInfoCache',
-        'update' => 'collection/lib/manage.setInfoCache',
-        'update_status' => 'collection/lib/manage.setInfoCache',
+        'insert' => 'collection/lib/manage.setInfo',
+        'update' => 'collection/lib/manage.setInfo',
+        'update_status' => 'collection/lib/manage.setInfo',
     ),
 
     # 数据结构
@@ -199,6 +217,47 @@ $config = array
         ),
 
         'hr2'       => array
+        (
+            'name'      => '积分配置',
+            'class'     => '',//本项必须填写
+            'attr'      => '',
+        ),
+
+        'score_id'     => array
+        (
+            'type'      => 'int-11',
+            'name'      => '积分配置名称',
+            'default'   => '',
+            'desc'      => '积分配置名称',
+            'match'     => 'is_numeric',
+            'update'    => 'select',
+            'option'    => $score,
+        ),
+
+        'score_type'       => array
+        (
+            'type'      => 'int-11',
+            'name'      => '是否全局积分-全局积分就是与所有设置全局积分的合集共享一个积分,私有积分就是单独计算积分',
+            'default'   => '1',
+            'desc'      => '是否全局积分',
+            'match'     => 'option',
+            'update'    => 'radio',
+            'option'    => $score_type,
+            'control'   => 'score_type',
+        ),
+
+        'score_name'      => array
+        (
+            'type'      => 'varchar-180',
+            'name'      => '积分自定义名称-仅私有积分可以设置,修改后,将替换积分配置名称,但具体积分规则无法替换',
+            'default'   => '',
+            'desc'      => '积分自定义名称',
+            'match'     => 'option',
+            'update'    => 'text',
+            'show'      => 'score_type=2',
+        ),
+
+        'hr3'       => array
         (
             'name'      => '购买配置',
             'class'     => '',//本项必须填写
@@ -353,7 +412,7 @@ $config = array
             'edit'      => true,
         ),
 
-        'hr3'       => array
+        'hr4'       => array
         (
             'name'      => '首页按钮配置',
             'class'     => '',//本项必须填写

+ 7 - 12
app/collection/lib/Manage.php

@@ -307,18 +307,13 @@ class Manage
         }
     }
 
-    public function setJournalCache($id, $name, $param)
+    public function setInfo($id, $name, $param)
     {
-        Dever::load('act/order')->setCache($id, 1);
-    }
-
-    public function setBuyCache($id, $name, $param)
-    {
-        Dever::load('act/order')->setCache($id, 2);
-    }
-
-    public function setRankingCache($id, $name, $param)
-    {
-        Dever::load('act/order')->setCache($id, 3);
+        $score_type = Dever::param('score_type', $param);
+        if ($score_type) {
+            $score_id = Dever::param('score_id', $param);
+            $name = Dever::param('score_name', $param);
+            Dever::load('score/lib/core')->setScoreChild($score_type, $score_id, 'collection/info', $id, $name);
+        }
     }
 }

+ 16 - 0
app/collection/src/Api.php

@@ -16,6 +16,22 @@ class Api extends Core
         }
     }
 
+    # 设置上级
+    public function setParent()
+    {
+        $uid = Dever::load('invite/api')->setRelation(3, 1);
+
+        return $uid;
+    }
+
+    # 测试积分
+    public function testScore()
+    {
+        Dever::score(3, 'submit_community', '发表帖子', false, false, false, 'collection/info', 2);
+
+        return 1;
+    }
+
     # 获取用户信息
     public function getUser()
     {

+ 6 - 1
app/collection/src/Pay.php

@@ -37,7 +37,12 @@ class Pay extends Core
             Dever::alert('请传入正确的产品ID');
         }
 
-        $pay = Dever::load('goods/lib/pay')->action($uid, $goods_id, $sku, $num, $source);
+        $info = Dever::db('collection/info')->one($this->id);
+        if ($info['score_type']) {
+            
+        }
+
+        $pay = Dever::load('goods/lib/pay')->action($this->share_uid, $uid, $goods_id, $sku, $num, $source, 'collection/info', $this->id);
         # 直接支付成功 测试用
         $send['pay_order_id'] = $pay['order_id'];
         $send['pay_status'] = 2;

+ 7 - 0
config/base.php

@@ -126,6 +126,13 @@ $config['base'] = array
             'ad/lib/cron.run'
         ),
     ),
+
+    # 积分配置
+    'score' => array
+    (
+        # 实时增加积分开启,关闭则需要把lib/core.cron放到计划任务中
+        'sync' => true,
+    ),
 );