Răsfoiți Sursa

兑换时间

afa 6 luni în urmă
părinte
comite
126c227863

+ 1 - 1
application/admin/controller/product/Welfarerede.php

@@ -13,7 +13,7 @@ class Welfarerede extends Backend
 {
 
     /**
-     * Welfarerede模型对象
+     * Welfarerede模型对象 welfarerede
      * @var \app\admin\model\product\Welfarerede
      */
     protected $model = null;

+ 2 - 0
application/admin/lang/zh-cn/product/welfarerede.php

@@ -11,6 +11,8 @@ return [
     'Token_name'       => '代币名称',
     'Token_address'    => '代币合约地址',
     'Token_num'        => '代币数量',
+    'Start_time'  => '开始时间',
+    'End_time'    => '结束时间',
     'Create_time' => '创建时间',
     'Update_time' => '更新时间'
 ];

+ 10 - 1
application/admin/view/product/welfarerede/add.html

@@ -39,7 +39,16 @@
             <input id="c-usdt_num" data-rule="required" class="form-control" step="0.0001" name="row[usdt_num]" type="number" value="0.0000">
         </div>
     </div>
-
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-start_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+        <label class="control-label col-xs-12 col-sm-2">{:__('End_time')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-end_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[end_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Is_token')}:</label>
         <div class="col-xs-12 col-sm-8">

+ 10 - 1
application/admin/view/product/welfarerede/edit.html

@@ -43,7 +43,16 @@
             <input id="c-weigh" class="form-control" step="0.0001" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}">
         </div>
     </div>
-
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-start_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{:$row.start_time?datetime($row.start_time):''}">
+        </div>
+        <label class="control-label col-xs-12 col-sm-2">{:__('End_time')}:</label>
+        <div class="col-xs-12 col-sm-3">
+            <input id="c-end_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[end_time]" type="text" value="{:$row.end_time?datetime($row.end_time):''}">
+        </div>
+    </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Is_token')}:</label>
         <div class="col-xs-12 col-sm-8">

+ 9 - 1
application/api/controller/Exchange.php

@@ -36,11 +36,14 @@ class Exchange extends Api
       public function getWelfareRedeList(ProductWelfareRede $productWelfareRede){
 
             $list = $productWelfareRede
+                  ->where('status', $productWelfareRede::Normal)
                   ->order('weigh desc')
                   ->paginate($this->pageSize);
             $this->success('ok', $list);
       }
 
+
+      
       //Rwa福利兑换详情
       public function getWelfareRedeDetail(ProductWelfareRede $productWelfareRede){
 
@@ -65,7 +68,12 @@ class Exchange extends Api
           }
           //福利兑换记录
           $welfare_config = $productWelfareRede::get($ids);
-          if (!$welfare_config)  $this->error(__('Invalid parameters'));
+          if (!$welfare_config) $this->error(__('Invalid parameters'));
+
+          //检查是否在开启时间之内
+          if(time() < $welfare_config['start_time'] || time() > $welfare_config['end_time']){
+              $this->error(__('不在兑换时间范围内'));
+          }
 
           $check_user = (new RwaExchangeRecordModel())->where('user_id', $this->auth->id)->count();
           if($check_user >= 2){

+ 2 - 1
application/api/lang/en.php

@@ -55,6 +55,7 @@ return [
     '官方公告'                                                                   => 'Official announcement',
     '新闻中心'                                                                   => 'News center',
     '茶说'                                                                      => 'Tea say',
-    '系统信息'                                                                   => 'System information',   
+    '系统信息'                                                                   => 'System information',
+    '不在兑换时间范围内'                                                          => 'Not in the exchange time range',
 
 ]; 

+ 2 - 1
application/api/lang/zh-cn.php

@@ -147,6 +147,7 @@ return [
     '新闻中心'                                                                   => '新闻中心',
     '茶说'                                                                      => '茶说',
     '系统信息'                                                                   => '系统信息',
-    
+    '不在兑换时间范围内'                                                          => '不在兑换时间范围内',
+
 
 ];

+ 33 - 2
application/common/model/ProductWelfareRede.php

@@ -25,13 +25,23 @@ class ProductWelfareRede extends Model
     // 追加属性
     protected $append = [
         'create_time_text',
-        'update_time_text'
+        'update_time_text',
+        'start_time_text',
+        'end_time_text'
     ];
 
+    //状态
+    const Stop           = 0;
+    const Normal         = 1;
 
+    //状态
+    public $status_list = [
+        '-1'                    => '全部',
+        self::Stop              => '停用',
+        self::Normal            => '正常'
+    ];
 
   
-
     public function getCreateTimeTextAttr($value, $data)
     {
         $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : '');
@@ -53,5 +63,26 @@ class ProductWelfareRede extends Model
     {
         return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
     }
+    public function getStartTimeTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : '');
+        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+    }
+
+
+    public function getEndTimeTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : '');
+        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+    }
+    protected function setStartTimeAttr($value)
+    {
+        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+    }
+
+    protected function setEndTimeAttr($value)
+    {
+        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+    }
 
 }

+ 5 - 3
public/assets/js/backend/product/welfarerede.js

@@ -55,9 +55,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'token_name', title: __('Token_name'), operate: false},
                         {field: 'token_address', title: __('Token_address'), operate: false},
                         {field: 'token_num', title: __('Token_num'), operate:false},
-                        { field: 'weigh', title: __('Weigh'), operate: false },
-                        {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'weigh', title: __('Weigh'), operate: false },
+                        {field: 'status', title: __('Status'), searchList: { "1": __('开启'), "0": __('关闭') }, formatter: Table.api.formatter.toggle },
+                        {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'end_time', title: __('End_time'), operate: false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'create_time', title: __('Create_time'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]