Procházet zdrojové kódy

用戶搜索記錄入庫

joe před 4 roky
rodič
revize
6b851c9575

+ 5 - 1
app/models/store/StoreProduct.php

@@ -17,6 +17,7 @@ use crmeb\traits\ModelTrait;
 use app\models\store\{
     StoreBargain, StoreCombination, StoreSeckill
 };
+use app\models\user\UserSearch;
 
 /**
  * TODO 产品Model
@@ -105,7 +106,10 @@ class StoreProduct extends BaseModel
                 })->field('product_id')->select();
             });
         }
-        if (!empty($keyword)) $model->where('keyword|store_name', 'LIKE', htmlspecialchars("%$keyword%"));
+        if (!empty($keyword)) {
+            $model->where('keyword|store_name', 'LIKE', htmlspecialchars("%$keyword%"));
+            UserSearch::InsertHistory($uid ?? 1, $keyword);
+        }
         if ($news != 0) $model->where('is_new', 1);
         $baseOrder = '';
         if ($priceOrder) $baseOrder = $priceOrder == 'desc' ? 'price DESC' : 'price ASC';

+ 51 - 0
app/models/system/SystemPool.php

@@ -0,0 +1,51 @@
+<?php
+
+namespace app\models\system;
+
+use crmeb\traits\ModelTrait;
+use crmeb\basic\BaseModel;
+
+class SystemPool extends BaseModel
+{
+    /**
+     * 数据表主键
+     * @var string
+     */
+    protected $pk = 'id';
+
+    /**
+     * 模型名称
+     * @var string
+     */
+    protected $name = 'system_pool';
+
+    use ModelTrait;
+
+
+    /**
+     * 记录变更
+     * 
+     * @amount: 变更金额
+     * @admin_id: 操作员ID
+     * @activity: 操作的活动
+     * @result: 变更后金额
+     */
+    public static function incrby(float $amount, int $admin_id, string $activity, float $result)
+    {
+        return self::create([
+            'adminid' => $admin_id,
+            'activity' => $activity,
+            'delta' => $amount,
+            'pool' => $result,
+            'add_time' => time(),
+        ]);
+    }
+
+    public static function getList($page, $limit)
+    {
+        return self::field('adminid, activity, delta, pool, FROM_UNIXTIME(add_time,"%Y-%m-%d") as add_time')
+            ->order('add_time desc')
+            ->page(intval($page), intval($limit))
+            ->select()->toArray();
+    }
+}

+ 47 - 0
app/models/user/UserSearch.php

@@ -0,0 +1,47 @@
+<?php
+
+namespace app\models\user;
+
+use crmeb\basic\BaseModel;
+use crmeb\traits\ModelTrait;
+
+/**
+ * 用户搜索历史
+ */
+class UserSearch extends BaseModel 
+{
+    /**
+     * 数据表主键
+     * @var string
+     */
+    protected $pk = 'id';
+
+    /**
+     * 模型名称
+     * @var string
+     */
+    protected $name = 'user_search';
+
+    use ModelTrait;
+
+    /**
+     * 记录搜索词汇
+     */
+    public static function InsertHistory($uid, $text)
+    {
+        return self::create([
+            'uid' => $uid,
+            'searched' => $text,
+            'add_time' => time(),
+        ]);
+    }
+
+    public static function getList($page, $limit)
+    {
+        return self::alias('s')->join('user u', 'u.uid=s.uid', 'left')
+            ->field('s.uid, u.nickname,s.searched, FROM_UNIXTIME(s.add_time,"%Y-%m-%d %H") as add_time')
+            ->order('add_time desc')
+            ->page(intval($page), intval($limit))
+            ->select()->toArray();
+    }
+}