|
@@ -36,6 +36,13 @@ class UserModel extends BaseModel {
|
|
|
*/
|
|
|
companyScale = ['1-50', '50-100', '100-500', '500+'];
|
|
|
|
|
|
+ /**
|
|
|
+ * 最近天数
|
|
|
+ *
|
|
|
+ * @var
|
|
|
+ */
|
|
|
+ dayMsg = ['所有', '最近24小时', '最近3天', '最近7天', '最近30天'];
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 构造函数
|
|
@@ -388,6 +395,104 @@ class UserModel extends BaseModel {
|
|
|
const users = await this.model.find({_id: {$in: userIDList}}, 'real_name mobile company');
|
|
|
return users;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取列表
|
|
|
+ *
|
|
|
+ * @param {object} condition
|
|
|
+ * @param {number} page
|
|
|
+ * @param {Number} pageSize
|
|
|
+ * @return {promise}
|
|
|
+ */
|
|
|
+ async getList(condition = null, page = 1, pageSize = 30, sort = {_id:-1}) {
|
|
|
+ page = parseInt(page);
|
|
|
+ page = page <= 1 ? 1 : page;
|
|
|
+ let option = {pageSize: pageSize, offset: parseInt((page - 1) * pageSize), sort: sort};
|
|
|
+
|
|
|
+ let userList = await this.db.find(condition, null, option);
|
|
|
+ userList = userList.length > 0 ? userList : [];
|
|
|
+
|
|
|
+ return userList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取过滤条件
|
|
|
+ *
|
|
|
+ * @return {Object}
|
|
|
+ */
|
|
|
+ getFilterCondition(request) {
|
|
|
+ let condition = {};
|
|
|
+ let regtime = request.query.regtime;
|
|
|
+ regtime = regtime !== '' && regtime !== undefined ? parseInt(regtime) : 0;
|
|
|
+ if (regtime !== 0) {
|
|
|
+ condition.create_time = this.getTimestamp(regtime);
|
|
|
+ }
|
|
|
+
|
|
|
+ //最近登录时间
|
|
|
+ let loginTime = request.query.loginTime;
|
|
|
+ loginTime = loginTime !== '' && loginTime !== undefined ? parseInt(loginTime) : 0;
|
|
|
+ if (loginTime !== 0) {
|
|
|
+ condition.latest_login = this.getTimestamp(loginTime);
|
|
|
+ }
|
|
|
+
|
|
|
+ let version = request.query.version;
|
|
|
+ if(version !== '' && version !== undefined) {
|
|
|
+ condition.version = version;
|
|
|
+ }
|
|
|
+ // 已升级费用定额
|
|
|
+ let upGrade = request.query.upGrade;
|
|
|
+ if(upGrade !== '' && upGrade !== undefined){
|
|
|
+ condition.upgrade_list = {"$elemMatch":{"compilationID":upGrade,"isUpgrade":true}};
|
|
|
+ }
|
|
|
+
|
|
|
+ // 最近使用费用定额
|
|
|
+ let latestUsed = request.query.latestUsed;
|
|
|
+ if(latestUsed !== '' && latestUsed !== undefined){
|
|
|
+ condition.latest_used = latestUsed;
|
|
|
+ }
|
|
|
+
|
|
|
+ let keyword = request.query.keyword;
|
|
|
+ if (keyword !== '' && keyword !== undefined) {
|
|
|
+ condition.$or = [{real_name : {$regex: keyword}},{email : {$regex: keyword}},{mobile : {$regex: keyword}},{company : {$regex: keyword}}];
|
|
|
+ }
|
|
|
+
|
|
|
+ return condition;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取时间戳区间
|
|
|
+ *
|
|
|
+ * @return {Object}
|
|
|
+ */
|
|
|
+ getTimestamp(type) {
|
|
|
+ let startTime = '';
|
|
|
+ switch (type) {
|
|
|
+ case 1 :
|
|
|
+ startTime = Date.parse(new Date())-86400*1000;
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ startTime = Date.parse(new Date())-86400*1000*3;
|
|
|
+ break;
|
|
|
+ case 3 :
|
|
|
+ startTime = Date.parse(new Date())-86400*1000*7;
|
|
|
+ break;
|
|
|
+ case 4 :
|
|
|
+ startTime = Date.parse(new Date())-86400*1000*30;
|
|
|
+ break;
|
|
|
+ default :
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ let endTime = Date.parse(new Date());
|
|
|
+ return startTime === '' ? '' : {'$gte': startTime, '$lt': endTime};
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取daymsg
|
|
|
+ *
|
|
|
+ */
|
|
|
+ getDayMsg(index){
|
|
|
+ return this.dayMsg[index];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
export default UserModel;
|