Эх сурвалжийг харах

Merge branch 'master' of http://124.222.171.90:10880/Teapay/RWACha-API

* 'master' of http://124.222.171.90:10880/Teapay/RWACha-API:
  公告时间
  rwa直推数
  首页数据
jason 10 сар өмнө
parent
commit
3d7839d239

+ 7 - 1
application/admin/view/general/announcement/add.html

@@ -40,10 +40,16 @@
             <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="0">
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('公告时间')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-createtime" data-rule="required" min="0" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[createtime]" type="text" value="">
+        </div>
+    </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Details')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <textarea id="c-details" class="form-control editor" rows="5" name="row[details]" cols="50"></textarea>
+            <textarea id="c-body" class="form-control editor" rows="5" name="row[body]" cols="50"></textarea>
         </div>
     </div>
     <div class="form-group layer-footer">

+ 6 - 0
application/admin/view/general/announcement/edit.html

@@ -39,6 +39,12 @@
             <input id="c-weigh" data-rule="required" class="form-control" 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">{:__('公告时间')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-createtime" data-rule="required" min="0" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[createtime]" type="text" value="{:$row.createtime?datetime($row.createtime):''}">
+        </div>
+    </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Details')}:</label>
         <div class="col-xs-12 col-sm-8">

+ 2 - 3
application/api/controller/Home.php

@@ -71,10 +71,9 @@ class Home extends Api
     {
         //更新库存
         $productPopular::setUpdateStatus();
-        // 热销
         $resp['product_list']  = $productPopular->with('productsList')->where('product_popular.status', '<', $productPopular::STOP)->limit(2)
-           ->order('start_time asc,weigh desc')->select();
-
+           ->order('weigh desc,start_time asc')->select();
+        
         // 转让 
         $resp['transfer_list'] = $productTransfer->alias('a')
             ->join("product_list b", "a.product_id = b.id", "left")

+ 7 - 7
application/api/controller/Order.php

@@ -71,7 +71,7 @@ class Order extends Api
             }
       
             //更新Rwa持有数量
-            $userModel->updateForRwaNum($this->auth->id, $areaNum, '+');
+            $userModel::updateForRwaNum($this->auth->id, $this->auth->parent_id, $areaNum, '+');
             //扣除库存
             if(($order_info->stock - $areaNum) == 0 || time() >= $order_info->end_time) $order_info->status= $productPopular::STOP;
             $order_info->num  += $areaNum;
@@ -106,7 +106,7 @@ class Order extends Api
             $userArea->create(['name'=>$params['name'], 'phone'=>$params['phone'],'address'=>$params['address'],'order_id'=>$params['order_id']]);
 
             //扣除Rwa数量
-            $userModel->updateForRwaNum($order_info->user_id, 1, '-');
+            $userModel::updateForRwaNum($order_info->user_id, $userModel::getByParentId($order_info->user_id), 1, '-');
 
             $order_info->status= $productOrder::Shipped; 
             $order_info->save();
@@ -177,15 +177,15 @@ class Order extends Api
             //扣除余额记录 
             $ledgerWalletModel->changeWalletAccount($this->auth->id, Asset::TOKEN, -$order_info['price'], $ledgerWalletModel::Payment, $order_info['user_id']);
             
-            //扣除Rwa有效
-            $userModel->updateForRwaNum($order_info['user_id'], 1, '-');
+            //扣除Rwa有效 
+            $userModel::updateForRwaNum($order_info['user_id'], $userModel::getByParentId($order_info['user_id']), 1, '-');
           
             //增加转让人余额
             $amount = bcsub($order_info['price'], $order_info['fees'], 2);
             $ledgerWalletModel->changeWalletAccount($order_info['user_id'], Asset::TOKEN, $amount, $ledgerWalletModel::Receive, $this->auth->id);
 
             //增加Rwa有效
-            $userModel->updateForRwaNum($this->auth->id, 1, '+');
+            $userModel::updateForRwaNum($this->auth->id, $this->auth->parent_id, 1, '+');
 
             //修改原订单状态
             $productOrder->where('id', $order_info['order_id'])->setField('status', $productOrder::Closure);    
@@ -224,13 +224,13 @@ class Order extends Api
             $productOrder::setCreateOrder($params['order_id'], $order_info, $productOrder::Giveaway, $user['id'], $this->auth->id, getOrderSN('G'), $fees);
 
             //对方Rwa+1
-            $userModel->updateForRwaNum($user['id'], 1, '+');
+            $userModel::updateForRwaNum($user['id'], $userModel::getByParentId($user['id']), 1, '+');
 
             //扣除手续费
             $ledgerWalletModel->changeWalletAccount($this->auth->id, Asset::TOKEN, -$fees, $ledgerWalletModel::Giveaway, $user['id']);
 
             //扣除Rwa有效-1
-            $userModel->updateForRwaNum($this->auth->id, 1, '-');
+            $userModel::updateForRwaNum($this->auth->id, $this->auth->parent_id, 1, '-');
 
             $order_info->status= $productOrder::Closure; 
             $order_info->save();

+ 16 - 13
application/api/controller/Product.php

@@ -29,20 +29,23 @@ class Product extends Api
     {
         $list = $productsModel->where('status', 1)->column('id,'.$this->lan.'_title as title');
         $resp = array();
-
-        foreach ($list as $kk =>$val) 
-        {
-            $pro= $productPopular->alias('a')
-                ->join("product_list b", "b.id=a.product_id", "LEFT")
-                ->field('a.id,'.'b.'.$this->lan.'_name as name,a.product_id,b.thum as img_url,price,cost_price,stock,num,start_time,end_time,a.status')
-                ->where('a.status', '<', $productPopular::STOP)
-                ->where('b.type_id', $kk)
-                ->order('a.status')
-                ->select();
-    
-            $resp[] = ['type_id'=>$kk,'title'=>$val, 'product'=>$pro];
+        foreach ($list as $kk =>$val) {
+            $list= $productLists->where('type_id', $kk)->field('id,thum as img_url,'.$this->lan.'_name as name')->select();
+            foreach ($list as $key => &$item) {
+                $pro =$productPopular
+                    ->field('id,product_id,price,cost_price,stock,num,start_time,end_time,status')
+                    ->where('product_id', $item->id)
+                    ->where('status', '<', $productPopular::STOP)
+                    ->order('start_time')
+                    ->find();
+                if(!empty($pro)){
+                    $item['pro'] = $pro;
+                }else{
+                    unset($list[$key]);
+                }    
+            }
+            $resp[] = ['type_id'=>$kk,'title'=>$val, 'product'=>$list];
         }
-
         $this->success('', $resp);
     }
 

+ 7 - 9
application/common/logic/BonusRewards.php

@@ -63,18 +63,16 @@ class BonusRewards
 
         //读取当日新增数据
         $bonus = self::getDayEarnings($date);
-        // if(empty($bonus)){
-        //     (new Output())->writeln("本次没有可用新增数据:" . $date);
-        //     return $log_id;
-        // }
+        if(empty($bonus)){
+            (new Output())->writeln("本次没有可用新增数据:" . $date);
+            return $log_id;
+        }
         $ledgerWalletModel = new LedgerWalletModel();
         //1.服务津贴
-        $recharge_record = UserModel::alias('a')
-        ->join('user b', 'a.id = b.parent_id', 'left')
-        ->field('a.id, SUM(a.rwa_num, b.rwa_num) as total_amount')->having('total_amount >= 10')->group("a.id")
-        ->select();
+        $recharge_record = UserModel::field('id, (direct_rwa + rwa_num) as total_amount')
+                    ->having('total_amount >= 10')
+                    ->group("id")->select();
 
-        dump( collection($recharge_record)->toArray());die;
         $recharge_count  = count($recharge_record);//总人数
         $pv = bcdiv(bcmul($bonus, config('service_ratio')), $recharge_count, 2); //收益
         foreach ($recharge_record as $info) {

+ 34 - 5
application/common/model/AnnouncementModel.php

@@ -10,11 +10,17 @@ class AnnouncementModel  extends Model
     protected $name = "announcement";
 
     // 开启自动写入时间戳字段
-    //protected $autoWriteTimestamp = 'int';
-    // 定义时间戳字段名
-    //    protected $createTime = 'createtime';
-    //    protected $updateTime = 'updatetime';
- 
+    protected $autoWriteTimestamp = 'int';
+    //定义时间戳字段名
+    protected $createTime = 'createtime';
+    protected $updateTime = 'updatetime';
+    
+    // 追加属性
+    protected $append = [
+        'createtime_text',
+        'updatetime_text'
+    ];
+
     const Announ         = 1;
     const Banner         = 2;
 
@@ -29,4 +35,27 @@ class AnnouncementModel  extends Model
     ];
 
 
+    public function getCreatetimeTextAttr($value, $data)
+    {
+          $value = $value ? $value : (isset($data['createtime']) ? $data['createtime'] : '');
+          return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+    }
+
+
+    public function getUpdatetimeTextAttr($value, $data)
+    {
+          $value = $value ? $value : (isset($data['updatetime']) ? $data['updatetime'] : '');
+          return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+    }
+
+    protected function setCreatetimeAttr($value)
+    {
+          return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+    }
+
+    protected function setUpdatetimeAttr($value)
+    {
+          return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+    }
+
 }

+ 18 - 3
application/common/model/UserModel.php

@@ -38,6 +38,12 @@ class UserModel extends Model
         return $this->where("address", $address)->find();
     }
 
+    public static function getByParentId(int $uid): int
+    {   
+        return self::where('id', $uid)->value("parent_id");
+    }
+
+
     public function getAllAddress()
     {
         $all_list = $this->field('id,address')->select();
@@ -68,15 +74,24 @@ class UserModel extends Model
      * @param string $power
      * @return void
      */
-    public static function updateForRwaNum(int $uid, string $score, string $action)
+    public static function updateForRwaNum(int $uid, int $pid, string $score, string $action)
     {
         if($action == '+'){
-            return self::where('id', $uid)->setInc('rwa_num', $score);
+            //更新自己Rwa
+            self::where('id', $uid)->setInc('rwa_num', $score);
+            //更新直推Rwa
+            return self::where('id', $pid)->setInc('direct_rwa', $score);
         }else{
-            return self::where('id', $uid)->setDec('rwa_num', $score);
+
+            //更新自己Rwa
+            self::where('id', $uid)->setDec('rwa_num', $score);
+            //更新直推Rwa
+            return self::where('id', $pid)->setDec('direct_rwa', $score);
         }
     }
 
+
+
     /**
      * 余额更新数据
      * @param int $uid

+ 2 - 2
public/assets/js/backend/general/announcement.js

@@ -32,8 +32,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'img_url', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
                         {field: 'weigh', title: __('Weigh'), operate: false},
                         {field: 'status', title: __('Status'), searchList: {"1":__('上架'),"2":__('下架')}, formatter: Table.api.formatter.toggle},
-                        {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: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'updatetime', title: __('Update_time'), operate:'RANGE', 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}
                     ]
                 ]