Browse Source

Merge branch 'master' of http://39.98.194.76:3000/txct/wanyue_app

gorden 6 months ago
parent
commit
977768a6e3

+ 18 - 2
app/admin/service/consultant/CustomService.php

@@ -100,8 +100,8 @@ class CustomService
         }
         if (!empty($params['visit_time'])) {
             $datetime = $params['visit_time'];
-            $datetime[0] = strtotime($datetime[0]);
-            $datetime[1] = strtotime($datetime[1]);
+            $datetime[0] = strtotime($datetime[0].' 00:00:00');
+            $datetime[1] = strtotime($datetime[1].' 23:59:59');
             $where[] = [function($query) use ($datetime) {
                 $query->whereBetween('visit_time', $datetime);
             }];
@@ -426,6 +426,14 @@ class CustomService
                 $query->orWhere('name', 'like', "%{$consultant}%")->orWhere('mobile', 'like', "%{$consultant}%");
             }];
         }
+        if (!empty($params['follow_time'])) {
+            $datetime = $params['follow_time'];
+            $datetime[0] = strtotime($datetime[0].' 00:00:00');
+            $datetime[1] = strtotime($datetime[1].' 23:59:59');
+            $where[] = [function($query) use ($datetime) {
+                $query->whereBetween('follow_time', $datetime);
+            }];
+        }
         $paginator = MarketCustomerFollow::with(['custom', 'consultant'])->whereHas('custom', function($query) use ($whereCustom){
             $query->where($whereCustom);
         })->whereHas('consultant', function($query) use ($whereConsultant) {
@@ -624,6 +632,14 @@ class CustomService
                 }];
             }
         }
+        if (!empty($params['created_at'])) {
+            $createdDate = $params['created_at'];
+            $createdDate[0] = strtotime($createdDate[0].' 00:00:00');
+            $createdDate[1] = strtotime($createdDate[1].' 23:59:59');
+            $where[] = [function($query) use ($createdDate) {
+                $query->whereBetween('created_at', $createdDate);
+            }];
+        }
         $paginator = MarketCustomerLogs::with(['custom', 'beforeMan', 'currentMan', 'opBackPerson', 'opFrontPerson'])
             ->whereHas('custom', function ($query) use ($whereCustom) {
                 $query->where($whereCustom);

+ 11 - 1
app/model/MarketCustomer.php

@@ -72,7 +72,7 @@ class MarketCustomer extends Model
      */
     public static function handleNumParams($data)
     {
-        $setField = ['require_area', 'requirement', 'age_range', 'focus', 'region'];
+        $setField = ['require_area', 'requirement', 'age_range', 'region'];
         foreach ($data as $k => $v) {
             if (in_array($k, $setField)) {
                 if (is_numeric($v)) {
@@ -123,6 +123,11 @@ class MarketCustomer extends Model
         if (empty($data['purpose'])) {
             $data['purpose'] = null;
         }
+        if (!empty($data['focus'])) {
+            $data['focus'] = implode(',', $data['focus']);
+        } else {
+            $data['focus'] = null;
+        }
         return $data;
     }
 
@@ -153,4 +158,9 @@ class MarketCustomer extends Model
         }
         return self::where($where)->exists();
     }
+
+    public function consultant()
+    {
+        return $this->belongsTo(Consultant::class, 'consultant_id');
+    }
 }

+ 25 - 1
app/wechat/service/CustomService.php

@@ -108,6 +108,9 @@ class CustomService
                 $where[] = ['check_status', '=', 1];
             }
         }
+        if (!empty($params['check_status'])) {
+            $where[] = ['check_status', '=', $params['check_status']];
+        }
         if (!empty($params['type'])) {
             $where[] = ['type', '=', $params['type']];
         }
@@ -122,7 +125,24 @@ class CustomService
         if (!empty($params['current_status'])) {
             $where[] = ['current_status', '=', $params['current_status']];
         }
-        $paginator = MarketCustomer::where($where)->orderBy('visit_time', 'desc')->paginate($size, '*', 'page', $page);
+        if (!empty($params['created_at'])) {
+            $createdAt = $params['created_at'];
+            if (is_array($createdAt)) {
+                $createdAtStart = strtotime($createdAt[0]);
+                $createdAtEnd = strtotime($createdAt[1]);
+            } else {
+                //本月开始和结束
+                $createdAtStart = strtotime(date('Y-m-01 00:00:00'));
+                $createdAtEnd = strtotime(date('Y-m-t 23:59:59'));
+            }
+            $where[] = [function($query) use ($createdAtStart,$createdAtEnd) {
+                $query->whereBetween('created_at', [$createdAtStart, $createdAtEnd]);
+            }];
+        }
+        $fn = function ($query) {
+            $query->select('name', 'mobile', 'id');
+        };
+        $paginator = MarketCustomer::with(['consultant' => $fn])->where($where)->orderBy('visit_time', 'desc')->paginate($size, '*', 'page', $page);
         $total = $paginator->total();
         $items = $paginator->items();
         if (!empty($items)) {
@@ -373,6 +393,10 @@ class CustomService
         //查询最新的跟进记录
         $follow = MarketCustomerFollow::where('market_customer_id', $id)->orderBy('created_at', 'desc')->first();
         $customInfo->follow = $follow;
+        $focus = $customInfo->focus;
+        if (!empty($focus)) {
+            $customInfo->focus = explode(',', $focus);
+        }
         return json_success('', $customInfo);
     }
 

+ 14 - 0
app/wechat/service/FollowService.php

@@ -125,6 +125,20 @@ class FollowService
                 $query->orWhere('name', 'like', "%{$consultant}%")->orWhere('mobile', 'like', "%{$consultant}%");
             }];
         }
+        if (!empty($params['created_at'])) {
+            $createdAt = $params['created_at'];
+            if (is_array($createdAt)) {
+                $createdAtStart = strtotime($createdAt[0]);
+                $createdAtEnd = strtotime($createdAt[1]);
+            } else {
+                //本月开始和结束
+                $createdAtStart = strtotime(date('Y-m-01 00:00:00'));
+                $createdAtEnd = strtotime(date('Y-m-t 23:59:59'));
+            }
+            $where[] = [function($query) use ($createdAtStart,$createdAtEnd) {
+                $query->whereBetween('created_at', [$createdAtStart, $createdAtEnd]);
+            }];
+        }
         $paginator = MarketCustomerFollow::with(['custom', 'consultant'])->whereHas('custom', function($query) use ($whereCustom){
             $query->where($whereCustom);
         })->whereHas('consultant', function($query) use ($whereConsultant) {

+ 2 - 1
app/wechat/service/UserService.php

@@ -6,6 +6,7 @@ namespace app\wechat\service;
 
 use app\model\Consultant;
 use app\model\MarketCustomer;
+use app\model\MarketCustomerFollow;
 use app\model\SysDept;
 use Carbon\Carbon;
 use support\Db;
@@ -390,7 +391,7 @@ class UserService
         //已成交客户数量
         $dealCustomNums = MarketCustomer::where($where)->where('current_status', 4)->where('check_status', 2)->count();
         //新增跟进记录数量
-        $newFollowNums = MarketCustomer::where($where)->count();
+        $newFollowNums = MarketCustomerFollow::where($where)->count();
         //男女性别占比
         $whereEffective = [
             [function($query) {