diff --git a/app/Domains/Virtual/Services/OrderService.php b/app/Domains/Virtual/Services/OrderService.php index 9dd975ca..ae5cf11b 100644 --- a/app/Domains/Virtual/Services/OrderService.php +++ b/app/Domains/Virtual/Services/OrderService.php @@ -21,6 +21,7 @@ use App\Models\Real\OrderCardPartition as RealOrderCardPartition; use App\Domains\Virtual\Repositories\OrderCardPartitionRepository; use App\Domains\Real\Repositories\OrderRepository as RealOrderRepository; use App\Domains\Real\Repositories\OrderCardPartitionRepository as RealOrderCardPartitionRepository; +use App\Exceptions\ExistedException; class OrderService extends Service { @@ -752,6 +753,10 @@ class OrderService extends Service } foreach (array_chunk($data, 1000) as $value) { + if ($table === 'virtual_order_cards' && DB::table($table)->where('sim', array_pluck($value, 'sim'))->whereNotNull('deleted_at')->count()) { + throw new ExistedException('出现重复销售卡'); + } + DB::table($table)->upsert($value, ['sim', 'order_id', 'deleted_at']); $simArray = implode(',', array_pluck($value, 'sim')); DB::statement("select fix_timelines('{{$simArray}}'::INT8[]);"); diff --git a/frontend/src/views/virtual/orders/index.vue b/frontend/src/views/virtual/orders/index.vue index ab2445e1..1f6f35d7 100644 --- a/frontend/src/views/virtual/orders/index.vue +++ b/frontend/src/views/virtual/orders/index.vue @@ -10,7 +10,15 @@
  • -
    +
    + 数据锁定 + + + + +
    + +
    -
    +