Zory 1 долоо хоног өмнө
parent
commit
b3d44fda47

+ 12 - 1
app/controller/IndexController.php

@@ -2,6 +2,8 @@
 
 namespace app\controller;
 
+use app\model\saas\SaasChatStore;
+use app\model\saas\SaasUserOpen;
 use support\Request;
 use Webman\Push\Api;
 
@@ -37,7 +39,16 @@ class IndexController
 
     public function view(Request $request)
     {
-        return view('index/view', ['name' => 'webman']);
+        $data = (new SaasChatStore)->select();
+        if ($data->isEmpty()) return json([]);
+        foreach ($data as $key=>$val){
+            $userOpen = (new SaasUserOpen)->where("openid",$val["openid"])->findOrEmpty();
+            if (!$userOpen->isEmpty()){
+                (new SaasChatStore)->where("id",$val["id"])->update(["nickname"=>$userOpen['nickname']]);
+                echo $userOpen['nickname']."===更新成功==\n";
+            }
+        }
+        return json([]);
     }
 
     public function json(Request $request)

+ 5 - 3
app/controller/api/Service.php

@@ -47,11 +47,11 @@ class Service extends Base
             }
             $param['openid'] = $request->user['openid'];
             $list = $this->service->setModel()->getList($param,null,true,['last','avatar'],['last' => function($data,$resp) use($param){
-                $last = (new SaasChatMsg)->where("poi_id",$resp['poi_id'])->where("openid",$param['openid'])->order("create_at desc")->field("content,create_at,type")->findOrEmpty();
+                $last = (new SaasChatMsg)->where(['poi_id' => $resp['poi_id'],'openid' => $param['openid'],'is_user' => 0])->order("create_at desc")->field("content,create_at,type")->findOrEmpty();
                 if ($last->isEmpty()) {
-                    return ['type' => "text","content"=>"",'num' => 0,"create_at"=> formatTime(date("Y-m-d H:i:s",time()))];
+                    return ['type' => "text","content"=>"-",'num' => 0,"create_at"=> formatTime(date("Y-m-d H:i:s",time()))];
                 }
-                return ["content"=> $last['content'],'num' => 0,"create_at"=> formatTime($last['create_at']),'type' => $last['type']];
+                return ["content"=> str_cut_ellipsis($last['content'],12),'num' => 0,"create_at"=> formatTime($last['create_at']),'type' => $last['type']];
             },'avatar' => function(){
                 return "https://washmy.oss-cn-guangzhou.aliyuncs.com/storage/20260511/23627b2cb8f73a8a90b95c31d726e6ecad0cbb9a.png";
             }]);
@@ -96,6 +96,7 @@ class Service extends Base
                     "poi_id"    => $store['poi_id'],
                     "poi_name"  => $store['poi_name'],
                     "openid"    => $request->user['openid'],
+                    "nickname"  => $request->user['nickname'],
                     "service_id"    => $service['id'],
                     "order"     => $param['order']??'',
                     "goods"     => $param['goods']??'',
@@ -104,6 +105,7 @@ class Service extends Base
             } else {
                 $chatStore->service_id = $service['id'];
                 $chatStore->order = $param['order']??'';
+                $chatStore->nickname = $request->user['nickname'];
                 $chatStore->goods = $param['goods']??'';
                 $chatStore->last_at = getDateFull();
                 $chatStore->save();

+ 2 - 2
app/controller/service/Service.php

@@ -51,10 +51,10 @@ class Service extends Base
             }],true,['last','avatar'],['last' => function($data,$resp) use($param){
                 $last = (new SaasChatMsg)->where(["poi_id" => $resp['poi_id'],"service_id" => $param['service_id'],"openid" => $resp['openid']])->order("create_at desc")->field("content,create_at,type")->findOrEmpty();
                 if ($last->isEmpty()) {
-                    return ['type' => "text","content"=>"",'num' => 0,'time' => time(),"create_at"=> formatTime(date("Y-m-d H:i:s",time()))];
+                    return ['type' => "text","content"=>"-",'num' => 0,'time' => time(),"create_at"=> formatTime(date("Y-m-d H:i:s",time()))];
                 }
                 $total = (new SaasChatMsg)->where(["poi_id" => $resp['poi_id'],"service_id" => $param['service_id'],"openid" => $resp['openid'],'is_read' => 0])->count();
-                return ["content"=> str_cut_ellipsis($last['content']),'num' => $total,"create_at"=> formatTime($last['create_at']),"time"=> strtotime($last['create_at']),'type' => $last['type']];
+                return ["content"=> str_cut_ellipsis($last['content'],12),'num' => $total,"create_at"=> formatTime($last['create_at']),"time"=> strtotime($last['create_at']),'type' => $last['type']];
             },'avatar' => function(){
                 return "https://washmy.oss-cn-guangzhou.aliyuncs.com/storage/20260511/23627b2cb8f73a8a90b95c31d726e6ecad0cbb9a.png";
             }]);

+ 1 - 0
app/service/saas/ChatStoreService.php

@@ -32,6 +32,7 @@ class ChatStoreService extends Service
         !empty($param['status']) && $filter[] = ["status", '=', $param['status']];
         !empty($param['type']) && $filter[] = ["type", '=', $param['type']];
         !empty($param['name']) && $filter[] = ["poi_name", 'like', "%{$param['name']}%"];
+        !empty($param['key']) && $filter[] = ["nickname", 'like', "%{$param['key']}%"];
         return $filter;
     }