Browse Source

解除质抵押订单

afa 4 months ago
parent
commit
7c46478581
1 changed files with 14 additions and 7 deletions
  1. 14 7
      application/api/logic/PledgeLogic.php

+ 14 - 7
application/api/logic/PledgeLogic.php

@@ -86,7 +86,6 @@ class PledgeLogic
             if($item->end_time >  $time){
             if($item->end_time >  $time){
                 if($item->status == $model::Remove) {
                 if($item->status == $model::Remove) {
                     $total += $item->total_self;
                     $total += $item->total_self;
-                    unset($list[$key]);
                 }else{
                 }else{
                     $reta  = bcdiv($item->day_num, $day, 6); //天
                     $reta  = bcdiv($item->day_num, $day, 6); //天
                     $inter = ($item->last_time == 0) ? $time - $item->create_time: $time - $item->last_time; //最后收取时间
                     $inter = ($item->last_time == 0) ? $time - $item->create_time: $time - $item->last_time; //最后收取时间
@@ -94,6 +93,7 @@ class PledgeLogic
                     $growth = bcadd($growth, bcmul($reta, $item->num, 6), 6); //增长收益
                     $growth = bcadd($growth, bcmul($reta, $item->num, 6), 6); //增长收益
                 }
                 }
             }
             }
+            if($item->status == $model::Remove) unset($list[$key]);
         }
         }
         return ['total' => $total, 'growth' => $growth, 'list' => $list];   
         return ['total' => $total, 'growth' => $growth, 'list' => $list];   
     }
     }
@@ -101,7 +101,6 @@ class PledgeLogic
     //解除质抵押订单
     //解除质抵押订单
     public static function setPledgeRemove(int $pledge_id, string $order_id, int $user_id, $team_level_id, $address_level)
     public static function setPledgeRemove(int $pledge_id, string $order_id, int $user_id, $team_level_id, $address_level)
     {
     {
-        
         $model  = Loader::model('UserPledge');
         $model  = Loader::model('UserPledge');
         $time  = time();
         $time  = time();
         $rows   = $model::alias('a')
         $rows   = $model::alias('a')
@@ -109,7 +108,6 @@ class PledgeLogic
                 ->where('a.user_id', $user_id)
                 ->where('a.user_id', $user_id)
                 ->where('a.id', $pledge_id)
                 ->where('a.id', $pledge_id)
                 ->where('a.status', $model::Ongoing)
                 ->where('a.status', $model::Ongoing)
-                //->where('a.end_time', '>', $time)
                 ->field('a.*,b.day_num,b.type_id')
                 ->field('a.*,b.day_num,b.type_id')
                 ->find();
                 ->find();
         if(empty($rows))  throw new Exception('暂无质押订单');
         if(empty($rows))  throw new Exception('暂无质押订单');
@@ -130,15 +128,24 @@ class PledgeLogic
         }
         }
         $day   = 86400;
         $day   = 86400;
         $reta  = bcdiv($rows->day_num, $day, 6); //天数
         $reta  = bcdiv($rows->day_num, $day, 6); //天数
-        $inter = ($rows->last_time == 0) ? $time - $rows->create_time: $time - $rows->last_time; //最后收取时间
-        $rows->total_self= bcmul($reta, $inter, 6) * $num; //累计收益
-   
+
+        //到期解除收取
+        if($rows->end_time > $time){
+            $inter = ($rows->last_time == 0) ? $rows->end_time - $rows->create_time: $rows->end_time - $rows->last_time; //最后收取时间
+            $rows->total_self= bcmul($reta, $inter, 6) * $num; //累计收益
+            Loader::model('LedgerWalletModel')->changeWalletAccount($user_id, Asset::TEAC, $rows->total_self, LedgerTeacChangeModel::Pledge, 0);  
+            //更新领取状态
+            $rows->status = $model::Close;
+        }else{
+            $inter = ($rows->last_time == 0) ? $time - $rows->create_time: $time - $rows->last_time; //最后收取时间
+            $rows->total_self= bcmul($reta, $inter, 6) * $num; //累计收益
+        }
+      
         //修改状态
         //修改状态
         Loader::model('ProductOrder')::where('user_id', $user_id)->whereIn('id', $orderId)->setField('status', ProductOrder::Paid);
         Loader::model('ProductOrder')::where('user_id', $user_id)->whereIn('id', $orderId)->setField('status', ProductOrder::Paid);
 
 
         //等级
         //等级
         if($rows->type_id == 2) CommonLogic::setIsOuLevelSave($user_id, $team_level_id, $address_level);
         if($rows->type_id == 2) CommonLogic::setIsOuLevelSave($user_id, $team_level_id, $address_level);
-        //更新领取状态
         $rows->last_time = $time;
         $rows->last_time = $time;
         return  $rows->save();   
         return  $rows->save();   
     }
     }