hrjy 3 years ago
parent
commit
627288528d

+ 28 - 9
app/admin/controller/many/Many.php

@@ -63,9 +63,12 @@ class Many extends AuthController
     {
         $f = [];
         $f[] = Form::input('name', '名称')->col(12);
-        $f[] = Form::frameImageOne('image', '封面图(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')))->icon('image')->width('100%')->height('500px');
+//        $f[] = Form::frameImageOne('image', '封面图(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')))->icon('image')->width('100%')->height('500px');
         $f[] = Form::input('money', '额度');
+        $f[] = Form::input('increase', '自动增长额度', 0);
+        $f[] = Form::input('second', '自动增长时间(秒)', 0);
         $f[] = Form::input('upper_limit', '参与上限');
+        $f[] = Form::input('single', '单次上限');
         $f[] = Form::dateTime('add_time', '开启时间');
         $f[] = Form::dateTime('end_time', '结束时间');
         $f[] = Form::input('sort', '排序',0);
@@ -82,28 +85,33 @@ class Many extends AuthController
         $model = new \app\admin\model\many\Many();
         $data = Util::postMore([
             'name',
-            'image',
+//            'image',
             'money',
             'upper_limit',
             'add_time',
             'end_time',
             'sort',
+            'increase',
+            'second',
+            'single',
         ]);
         $validate = Validate::rule('name', 'require')->rule([
             'name' => 'require',
-            'image' => 'require',
+//            'image' => 'require',
             'money' => 'require',
             'upper_limit' => 'require',
             'add_time' => 'require',
             'end_time' => 'require',
+            'single' => 'require',
         ]);
         $validate->message([
             'name.require' => '名称不能为空',
-            'image.require' => '图片不能为空',
+//            'image.require' => '图片不能为空',
             'money.require' => '额度不能为空',
             'upper_limit.require' => '上限不能为空',
             'add_time.require' => '请选择进场时间',
             'end_time.require' => '请选择结束时间',
+            'single.require' => '请填写单次上限',
         ]);
         if (!$validate->check($data)) {
             return Json::fail($validate->getError());
@@ -126,9 +134,12 @@ class Many extends AuthController
         $data = \app\admin\model\many\Many::find($id);
         $f = [];
         $f[] = Form::input('name', '名称',$data->getData('name'))->col(12);
-        $f[] = Form::frameImageOne('image', '封面图(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $data->getData('image'))->icon('image')->width('100%')->height('500px');
+//        $f[] = Form::frameImageOne('image', '封面图(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $data->getData('image'))->icon('image')->width('100%')->height('500px');
         $f[] = Form::input('money', '额度', $data->getData('money'));
+        $f[] = Form::input('increase', '自动增长额度', $data->getData('increase'));
+        $f[] = Form::input('second', '自动增长时间(秒)', $data->getData('second'));
         $f[] = Form::input('upper_limit', '参与上限',  $data->getData('upper_limit'));
+        $f[] = Form::input('single', '单次上限',  $data->getData('single'));
         $f[] = Form::dateTime('add_time', '开启时间', date('Y-m-d H:i:s', $data->getData('add_time')));
         $f[] = Form::dateTime('end_time', '结束时间', date('Y-m-d H:i:s', $data->getData('end_time')));
         $f[] = Form::input('sort', '排序',$data->getData('sort'));
@@ -152,36 +163,44 @@ class Many extends AuthController
         $data = Util::postMore([
             'id',
             'name',
-            'image',
+//            'image',
             'money',
             'upper_limit',
             'add_time',
             'end_time',
             'sort',
+            'increase',
+            'second',
+            'single'
         ]);
         $validate = Validate::rule('name', 'require')->rule([
             'name' => 'require',
-            'image' => 'require',
+//            'image' => 'require',
             'money' => 'require',
             'upper_limit' => 'require',
             'add_time' => 'require',
             'end_time' => 'require',
+            'single' => 'require',
         ]);
         $validate->message([
             'name.require' => '名称不能为空',
-            'image.require' => '图片不能为空',
+//            'image.require' => '图片不能为空',
             'money.require' => '额度不能为空',
             'upper_limit.require' => '上限不能为空',
             'add_time.require' => '请选择进场时间',
             'end_time.require' => '请选择结束时间',
+            'single.require' => '请填写单次上限',
         ]);
         if (!$validate->check($data)) {
             return Json::fail($validate->getError());
         }
         $details = $model->find($data['id']);
         $details['name'] = $data['name'];
-        $details['image'] = $data['image'];
+        $details['single'] = $data['single'];
+//        $details['image'] = $data['image'];
         $details['money'] = $data['money'];
+        $details['increase'] = $data['increase'];
+        $details['second'] = $data['second'];
         $details['upper_limit'] = $data['upper_limit'];
         $details['add_time'] = strtotime($data['add_time']);
         $details['end_time'] = strtotime($data['end_time']);

+ 4 - 2
app/admin/view/many/many/index.php

@@ -130,12 +130,14 @@
             {type: 'checkbox'},
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
             {field: 'name', title: '名称', templet: '#name',  align: 'center'},
-            {field: 'image', title: '封面', templet: '#image', align: 'center', width: '5%'},
+            // {field: 'image', title: '封面', templet: '#image', align: 'center', width: '5%'},
             {field: 'money', title: '总额度', align: 'center'},
             {field: 'number', title: '参与额度', align: 'center'},
+            {field: 'increase', title: '自增额度', align: 'center'},
+            {field: 'second', title: '自增时间(秒)', align: 'center'},
             {field: 'upper_limit', title: '额度上限', align: 'center'},
             {field: 'stage', title: '期数', align: 'center'},
-            {field: 'suc', title: '众筹状态',  templet: '#suc',align: 'center'},
+            {field: 'suc', title: '状态',  templet: '#suc',align: 'center'},
             {field: 'status', title: '开启状态', templet: '#status', align: 'center'},
             {field: 'sort', title: '排序', align: 'center'},
             {field: 'add_time', title: '开始时间', align: 'center',width: '8%'},

+ 34 - 0
app/models/many/Many.php

@@ -106,4 +106,38 @@ class Many extends BaseModel
     }
 
 
+    /**
+     * 自动增加额度
+     * @return void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public static function second()
+    {
+        $many = self::where('second', '>', 0)->where('increase', '>', 0)->where('status', 1)->select();
+        if ($many){
+            foreach ($many as &$item) {
+                if ($item['increase_time']+$item['second'] < time() and $item['money'] > $item['number'] and $item['money'] <> $item['number']){
+                    $number = $item['number'];
+                    $item['number'] += $item['increase'];
+                    if ($item['number'] > $item['money']){
+                        $item['number'] = $number;
+                        $item['number'] += $item['money'] - $item['number'];
+                        self::where('id', $item['id'])->update(['number' => $item['number'], 'increase_time' => time(), 'suc' => 1, 'status' => 0]);
+                        if ($item['stage'] >= 4){
+                            // 期数如果大于等于4
+                            $stage = $item['stage'] - 3;
+                            ManyOrder::where('many_id', $item['id'])->where('stage', $stage)->update(['is_return' => 1]);// 成功后添加返还状态
+                        }
+                    }else{
+                        self::where('id', $item['id'])->update(['number' => $item['number'], 'increase_time' => time()]);
+                    }
+
+                }
+            }
+        }
+    }
+
+
 }

+ 7 - 0
crmeb/subscribes/TaskSubscribe.php

@@ -29,6 +29,13 @@ class TaskSubscribe
      */
     public function onTask_2()
     {
+        try {
+            Db::startTrans();
+            Many::second();//区域代理发放
+            Db::commit();
+        } catch (\Exception $e) {
+            Db::rollback();
+        }
     }
 
     /**