Browse Source

订单核销之后才扣除交易金

master
李可松 4 years ago
parent
commit
a7727ec4cc
  1. 9
      MySQL_change.sql
  2. 4
      app/AdminAgent/Controllers/IndustryOrderController.php
  3. 8
      app/AdminSupplier/Extensions/Grid/IndustryOrderStatus.php
  4. 7
      app/Http/Controllers/Api/VerificationController.php

9
MySQL_change.sql

@ -276,3 +276,12 @@ ALTER TABLE `products`
# 10:12 ‎2021/‎10/‎16 # 10:12 ‎2021/‎10/‎16
ALTER TABLE `order_product_items` ALTER TABLE `order_product_items`
CHANGE COLUMN `service_persons` `single_deposit` DECIMAL(20,2) NOT NULL DEFAULT 0 COMMENT '交易金单价' AFTER `deleted_at`; CHANGE COLUMN `service_persons` `single_deposit` DECIMAL(20,2) NOT NULL DEFAULT 0 COMMENT '交易金单价' AFTER `deleted_at`;
# 10:30 ‎2021/‎10/‎16
ALTER TABLE `suppliers`
ADD COLUMN `trade_balance` DECIMAL(20,2) NOT NULL DEFAULT '0.00' COMMENT '交易金' AFTER `balance`,
DROP COLUMN `deposit_used`,
DROP COLUMN `deposit_frozen`,
DROP COLUMN `deposit_normal`;
ALTER TABLE `industry_orders`
CHANGE COLUMN `deposit` `trade_deposit` DECIMAL(20,2) NOT NULL DEFAULT '0.00' COMMENT '需要扣除的交易金' AFTER `verify_code`;

4
app/AdminAgent/Controllers/IndustryOrderController.php

@ -175,7 +175,7 @@ class IndustryOrderController extends AdminController
$form->deleteInput(['pid', 'picture']); $form->deleteInput(['pid', 'picture']);
$form->hidden(['industry_product_id', 'supplier_id', 'agent_id', 'order_no', 'price', 'title', 'picture', 'status', 'pay_type', 'paid_at', 'verify_code', 'deposit', 'timeout']);
$form->hidden(['industry_product_id', 'supplier_id', 'agent_id', 'order_no', 'price', 'title', 'picture', 'status', 'pay_type', 'paid_at', 'verify_code', 'trade_deposit', 'timeout']);
$form->name = $form->name ?? Admin::user()->director; $form->name = $form->name ?? Admin::user()->director;
$form->mobile = $form->mobile ?? Admin::user()->contact_phone; $form->mobile = $form->mobile ?? Admin::user()->contact_phone;
@ -191,7 +191,7 @@ class IndustryOrderController extends AdminController
$form->pay_type = PayType::OFFLINE; $form->pay_type = PayType::OFFLINE;
$form->paid_at = null; $form->paid_at = null;
$form->verify_code = ''; $form->verify_code = '';
$form->deposit = $form->num * $industry->single_deposit;
$form->trade_deposit = $form->num * $industry->single_deposit;
$form->timeout = null; $form->timeout = null;
})->saved(function (Form $form) { })->saved(function (Form $form) {
return $form->response()->success('下单成功,请等待供应商审核订单')->script('history.go(-1)'); return $form->response()->success('下单成功,请等待供应商审核订单')->script('history.go(-1)');

8
app/AdminSupplier/Extensions/Grid/IndustryOrderStatus.php

@ -5,8 +5,6 @@ namespace App\AdminSupplier\Extensions\Grid;
use App\Common\OrderStatus; use App\Common\OrderStatus;
use App\Models\IndustryOrder; use App\Models\IndustryOrder;
use App\Models\IndustryProduct; use App\Models\IndustryProduct;
use App\Models\Supplier;
use Dcat\Admin\Admin;
use Dcat\Admin\Grid\RowAction; use Dcat\Admin\Grid\RowAction;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
@ -55,12 +53,6 @@ class IndustryOrderStatus extends RowAction
throw new \Exception('库存不足,请先增加库存'); throw new \Exception('库存不足,请先增加库存');
} }
//扣除交易金
$supplier = Supplier::find(Admin::user()->id); //不能使用Admin::user()修改,必须使用Supplier模型才能正确记录资金变动日志
$supplier->deposit_used = $supplier->deposit_used + $order->deposit;
$supplier->deposit_frozen = $supplier->deposit_frozen - $order->deposit;
$supplier->save();
DB::commit(); DB::commit();
return $this->response()->success('操作成功'); return $this->response()->success('操作成功');
} catch (\Exception $e) { } catch (\Exception $e) {

7
app/Http/Controllers/Api/VerificationController.php

@ -93,14 +93,11 @@ class VerificationController extends Controller
$order->status = OrderStatus::SUCCESS; $order->status = OrderStatus::SUCCESS;
$order->save(); $order->save();
//扣除供应商冻结的交易金
//扣除供应商的交易金
$supplier = Supplier::find($order->supplier_id); $supplier = Supplier::find($order->supplier_id);
$supplier->deposit_used = $supplier->deposit_used + $order->deposit;
$supplier->deposit_frozen = $supplier->deposit_frozen - $order->deposit;
$supplier->trade_balance = $supplier->trade_balance - $order->trade_deposit;
$supplier->save(); //需要用save才能执行模型事件记录日志 $supplier->save(); //需要用save才能执行模型事件记录日志
//TODO 此处交易金需要修改
DB::commit(); DB::commit();
return $this->success('核销成功'); return $this->success('核销成功');
} catch (\Exception $e) { } catch (\Exception $e) {

Loading…
Cancel
Save