lyh hace 2 años
padre
commit
ab1eb0eeef

+ 15 - 0
app/Http/Controllers/Admin/FinanceController.php

@@ -53,4 +53,19 @@ class FinanceController extends Backend
         return $message;
     }
 
+    /**
+     * 列表
+     * @return array
+     */
+    public function count()
+    {
+        $list = $this->service->getCount();
+        $message = array(
+            "msg" => '操作成功',
+            "code" => 0,
+            "data" => $list,
+        );
+        return $message;
+    }
+
 }

+ 43 - 31
app/Services/Common/FinanceService.php

@@ -40,67 +40,67 @@ class FinanceService extends BaseService
      * @param int $pageSize 分页大小:默认 15
      * @return array
      */
-    public function getDataList($params, $pageSize = 10, $field=[])
+    public function getDataList($params, $pageSize = 10, $field = [])
     {
         $where = ['a.mark' => 1];
         $query = $this->model->with(['member'])
             ->from('finance as a')
-            ->leftJoin('member as b','b.id','a.user_id')
+            ->leftJoin('member as b', 'b.id', 'a.user_id')
             ->where($where)
             ->select($field ? $field : ['a.*']);
 
         if (isset($params['keyword']) && $params['keyword'] != '') {
-            $query->where(function($query) use($params){
-                $kw = isset($params['keyword'])? trim($params['keyword']) : '';
-                if($kw){
-                    $query->where('b.nickname','like',"%{$params['keyword']}%")->orWhere('b.realname','like',"%{$params['keyword']}%")->orWhere('b.username','like',"%{$params['keyword']}%");
+            $query->where(function ($query) use ($params) {
+                $kw = isset($params['keyword']) ? trim($params['keyword']) : '';
+                if ($kw) {
+                    $query->where('b.nickname', 'like', "%{$params['keyword']}%")->orWhere('b.realname', 'like', "%{$params['keyword']}%")->orWhere('b.username', 'like', "%{$params['keyword']}%");
                 }
             });
         }
 
         if (isset($params['type'])) {
-            if(is_array($params['type'])){
-                $query->whereIn('a.type',$params['type']);
-            }else{
-                if($params['type'] != ''){
-                    $query->where('a.type',$params['type']);
+            if (is_array($params['type'])) {
+                $query->whereIn('a.type', $params['type']);
+            } else {
+                if ($params['type'] != '') {
+                    $query->where('a.type', $params['type']);
                 }
             }
         }
 
         if (isset($params['coin_type'])) {
-            if(is_array($params['coin_type'])){
-                $query->whereIn('a.coin_type',$params['coin_type']);
-            }else{
-                if($params['coin_type'] != ''){
-                    $query->where('a.coin_type',$params['coin_type']);
+            if (is_array($params['coin_type'])) {
+                $query->whereIn('a.coin_type', $params['coin_type']);
+            } else {
+                if ($params['coin_type'] != '') {
+                    $query->where('a.coin_type', $params['coin_type']);
                 }
             }
         }
 
         if (isset($params['status'])) {
-            if(is_array($params['status'])){
-                $query->whereIn('a.status',$params['status']);
-            }else{
-                if($params['status'] != ''){
-                    $query->where('a.status',$params['status']);
+            if (is_array($params['status'])) {
+                $query->whereIn('a.status', $params['status']);
+            } else {
+                if ($params['status'] != '') {
+                    $query->where('a.status', $params['status']);
                 }
             }
         }
 
         $list = $query->paginate($pageSize > 0 ? $pageSize : 9999999);
-        $list = $list? $list->toArray() :[];
-        if($list){
-            foreach($list['data'] as &$item){
-                $item['create_time_text'] = $item['create_time']? datetime($item['create_time']):'';
+        $list = $list ? $list->toArray() : [];
+        if ($list) {
+            foreach ($list['data'] as &$item) {
+                $item['create_time_text'] = $item['create_time'] ? datetime($item['create_time']) : '';
             }
         }
 
 
         return [
-            'pageSize'=> $pageSize,
-            'total'=>isset($list['total'])? $list['total'] : 0,
-            'list'=> isset($list['data'])? $list['data'] : []
+            'pageSize' => $pageSize,
+            'total'    => isset($list['total']) ? $list['total'] : 0,
+            'list'     => isset($list['data']) ? $list['data'] : []
         ];
     }
 
@@ -115,7 +115,7 @@ class FinanceService extends BaseService
         // 请求参数
         $data = request()->all();
         // 头像处理
-        if(isset($data['avatar'])){
+        if (isset($data['avatar'])) {
             $avatar = trim($data['avatar']);
             if (strpos($avatar, "temp")) {
                 $data['avatar'] = save_image($avatar, 'member');
@@ -125,14 +125,14 @@ class FinanceService extends BaseService
         }
 
         // 出生日期
-        if(isset($data['birthday'])){
+        if (isset($data['birthday'])) {
             if ($data['birthday']) {
                 $data['birthday'] = strtotime($data['birthday']);
             }
         }
 
         // 城市处理
-        if(isset($data['city'])){
+        if (isset($data['city'])) {
             $city = isset($data['city']) ? $data['city'] : [3];
             if (!empty($data['city'])) {
                 // 省份
@@ -148,4 +148,16 @@ class FinanceService extends BaseService
         return parent::edit($data); // TODO: Change the autogenerated stub
     }
 
+    public function getCount()
+    {
+        $expenses = FinanceModel::where(['user_id' => 0])->sum('expend');
+        $revenue  = FinanceModel::where(['user_id' => 0])->sum('income');
+        // expenses: 0,
+        // revenue: 0
+        return [
+            'expenses' => $expenses,
+            'revenue'  => $revenue
+        ];
+    }
+
 }

+ 1 - 0
routes/web.php

@@ -237,6 +237,7 @@ Route::get('/finance/info', [\App\Http\Controllers\Admin\FinanceController::clas
 Route::post('/finance/edit', [\App\Http\Controllers\Admin\FinanceController::class, 'edit']);
 Route::post('/finance/delete', [\App\Http\Controllers\Admin\FinanceController::class, 'delete']);
 Route::post('/finance/status', [\App\Http\Controllers\Admin\FinanceController::class, 'status']);
+Route::post('/finance/count', [\App\Http\Controllers\Admin\FinanceController::class, 'count']);
 
 Route::get('/article/index', [\App\Http\Controllers\Admin\ArticleController::class, 'index']);
 Route::get('/article/info', [\App\Http\Controllers\Admin\ArticleController::class, 'info']);