Browse Source

cld用户管理接口更新

laiguoran 4 năm trước cách đây
mục cha
commit
8550226f21

+ 5 - 1
modules/all_models/user.js

@@ -124,6 +124,10 @@ let schema = {
     online_times: {
         type: Number,
         default: 0
-    } //最近一天的登录时长累计
+    }, //最近一天的登录时长累计
+    is_cld: {
+        type: Number,
+        default: 0, // 0为普通用户,时间戳代表CLD剔除用户并按时间戳排序
+    },
 };
 mongoose.model(collectionName, new Schema(schema, {versionKey: false}));

+ 9 - 2
modules/users/controllers/cld_controller.js

@@ -252,6 +252,8 @@ class CLDController {
             let condition = userModel.getFilterCondition(request);
             //设置搜索普通用户:
             condition.user_type = 'normal';
+            //设置剔除CLD用户列表不显示
+            condition.is_cld = {$in: [null, 0]};
 
             //获取注册时间
             let regtime = request.query.regtime;
@@ -270,9 +272,14 @@ class CLDController {
 
             // 排序条件
             let sortField = request.query.sortField;
-            let sort = sortField !== '' && sortField !== undefined && sortField === 'latest_login' ? {latest_login: sortType}: {_id: sortType};
+            let sort = {_id: sortType};
+            if (sortField !== '' && sortField !== undefined && sortField === 'latest_login') {
+                sort = {latest_login: sortType}
+            } else if(sortField !== '' && sortField !== undefined && sortField === 'online_times')  {
+                sort = {online_times: sortType}
+            }
 
-            // 获取用户总数
+                // 获取用户总数
             total = await userModel.count(condition);
 
             // 分页数据

+ 34 - 0
modules/users/models/user_model.js

@@ -442,6 +442,7 @@ class UserModel extends BaseModel {
         page = parseInt(page);
         page = page <= 1 ? 1 : page;
         let option = {pageSize: pageSize, offset: parseInt((page - 1) * pageSize), sort: sort};
+        console.log(condition, option);
 
         let userList = await this.db.find(condition, null, option);
         userList = userList.length > 0 ? userList : [];
@@ -485,6 +486,13 @@ class UserModel extends BaseModel {
             condition.latest_used = latestUsed;
         }
 
+        // 最近登录时长
+        let onlineTimes = request.query.onlineTimes;
+        onlineTimes = onlineTimes !== '' && onlineTimes !== undefined ? parseInt(onlineTimes) : 0;
+        if (onlineTimes !== 0) {
+            condition.online_times = this.getOnlineTimestamp(onlineTimes);
+        }
+
         let keyword = request.query.keyword;
         if (keyword !== '' && keyword !== undefined) {
             condition.$or = [{real_name : {$regex: keyword}},{email : {$regex: keyword}},{mobile : {$regex: keyword}},{qq : {$regex: keyword}},{company : {$regex: keyword}}];
@@ -521,6 +529,32 @@ class UserModel extends BaseModel {
     }
 
     /**
+     * 获取时间戳区间
+     *
+     * @return {Object}
+     */
+    getOnlineTimestamp(type) {
+        let startTime = 0;
+        switch (type) {
+            case 1 :
+                startTime = 1800*1000;
+                break;
+            case 2 :
+                startTime = 3600*1000;
+                break;
+            case 3 :
+                startTime = 3600*1000*2;
+                break;
+            case 4 :
+                startTime = 3600*1000*3;
+                break;
+            default :
+                break;
+        }
+        return startTime === '' ? '' : {'$gte': startTime};
+    }
+
+    /**
      * 获取daymsg
      *
      */