rabin 6 dienas atpakaļ
vecāks
revīzija
b3078ca048
2 mainītis faili ar 17 papildinājumiem un 10 dzēšanām
  1. 4 4
      src/dai/seller/app/Lib/Info.php
  2. 13 6
      src/dai/seller/table/info.php

+ 4 - 4
src/dai/seller/app/Lib/Info.php

@@ -6,8 +6,8 @@ class Info
     public function dec_commit(){}
     public function dec($id, $cash)
     {
-        $sql = 'UPDATE {table} SET cash = cash - :amount WHERE id = :id AND (credit + cash) >= :need';
-        $bind = [':amount' => $cash, ':id' => $id, ':need' => $cash];
+        $sql = 'UPDATE {table} SET cash = cash - :amount, balance = COALESCE(balance, credit + cash) - :amount WHERE id = :id AND COALESCE(balance, credit + cash) >= :amount';
+        $bind = [':amount' => $cash, ':id' => $id];
         $statement = Dever::db('seller/info')->query($sql, $bind, ['method' => 'update']);
         return $statement->rowCount() > 0;
     }
@@ -16,8 +16,8 @@ class Info
     public function inc_commit(){}
     public function inc($id, $cash)
     {
-        $sql = 'UPDATE {table} SET cash = cash + :cash WHERE id = :id';
-        $bind = [':cash' => $cash, ':id' => $id];
+        $sql = 'UPDATE {table} SET cash = cash + :amount, balance = COALESCE(balance, credit + cash) + :amount WHERE id = :id';
+        $bind = [':amount' => $cash, ':id' => $id];
         $statement = Dever::db('seller/info')->query($sql, $bind, ['method' => 'update']);
         return $statement->rowCount() > 0;
     }

+ 13 - 6
src/dai/seller/table/info.php

@@ -60,11 +60,18 @@ return array
             'name'      => '可用金额',
         ),
 
-        'credit' => array
-        (
-            'name'      => '授信额度',
-            'type'      => 'decimal(11,2)',
-        ),
+        'credit' => array
+        (
+            'name'      => '授信额度',
+            'type'      => 'decimal(11,2)',
+        ),
+
+        'balance' => array
+        (
+            'name'      => '可用余额',
+            'type'      => 'decimal(11,2)',
+            'default'   => '0',
+        ),
 
         'p_cash'        => array
         (
@@ -104,4 +111,4 @@ return array
             ),
         ),
     ),
-);
+);