Procházet zdrojové kódy

wesmiler 抢表商城

APPLE před 3 roky
rodič
revize
62e6deb804

+ 11 - 0
app/Http/Controllers/Admin/GoodsController.php

@@ -52,4 +52,15 @@ class GoodsController extends Backend
         return $message;
     }
 
+    /**
+     * 删除数据
+     * @return mixed
+     * @since 2020/11/11
+     * @author laravel开发员
+     */
+    public function delete()
+    {
+        $result = $this->service->delete();
+        return $result;
+    }
 }

+ 27 - 0
app/Services/Common/GoodsService.php

@@ -605,5 +605,32 @@ class GoodsService extends BaseService
         return false;
     }
 
+    public function delete()
+    {
+        // 参数
+        $param = request()->all();
+        $ids = getter($param, "id");
+        if (empty($ids)) {
+            return message("记录ID不能为空", false);
+        }
 
+        $ids = is_array($ids)? $ids : [$ids];
+        DB::beginTransaction();
+
+        $result = parent::delete(); // TODO: Change the autogenerated stub
+        $code = isset($result['success'])? $result['success'] : '';
+        if(!$code){
+            DB::rollBack();
+            return $result;
+        }
+
+        // 删除交易记录
+        if(!TradeModel::whereIn('goods_id', $ids)->update(['mark'=>0,'remark'=>'删除商品同步删除','update_time'=>time()])){
+            DB::rollBack();
+            return message('删除商品交易记录失败', false);
+        }
+
+        DB::commit();
+        return $result;
+    }
 }

+ 9 - 6
app/Services/Common/TradeService.php

@@ -156,14 +156,12 @@ class TradeService extends BaseService
             ->orderBy('a.create_time', 'desc')
             ->orderBy('a.id', 'desc');
 
-        $totalModdel = $model;
-
-        $list = $model->paginate($pageSize > 0 ? $pageSize : 9999999);
-        $list = $list ? $list->toArray() : [];
-
-//        $totalModdel = $totalModdel->whereIn('a.status',[3,4]);
+        // 统计
+        $totalModdel = clone $model;
+        $totalModdel = $totalModdel->whereIn('a.status',[3,4]);
         $counts = ['total' => 0, 'service_fee' => 0, 'bonus' => 0, 'fee' => 0];
         $total = $totalModdel->sum('a.real_price');
+
         $counts['total'] = intval($total);
         $bonus = $totalModdel->sum('a.bonus');
         $counts['bonus'] = intval($bonus);
@@ -172,6 +170,11 @@ class TradeService extends BaseService
         $fee = $totalModdel->sum('a.fee');
         $counts['fee'] = intval($fee);
 
+        $list = $model->paginate($pageSize > 0 ? $pageSize : 9999999);
+        $list = $list ? $list->toArray() : [];
+
+
+
         if ($list) {
             foreach ($list['data'] as &$item) {
                 $item['create_time'] = $item['create_time'] ? datetime($item['create_time'], 'Y-m-d H:i:s') : '';