|
@@ -11,6 +11,7 @@
|
|
|
import CLDModel from "../models/cld_model";
|
|
|
import UserModel from "../models/user_model"
|
|
|
import CompilationModel from "../models/compilation_model";
|
|
|
+let online_facade = require('../facade/online_facade')
|
|
|
|
|
|
class CLDController {
|
|
|
|
|
@@ -62,10 +63,12 @@ class CLDController {
|
|
|
if (userData === null || userData === '') {
|
|
|
throw '不存在该建筑用户';
|
|
|
}
|
|
|
+ let userList = [userData];
|
|
|
+ await online_facade.setOnlineTimes(userList, {});
|
|
|
userData = JSON.parse(JSON.stringify(userData));
|
|
|
|
|
|
- userData.company_scale = userData.company_scale === null || userData.company_scale === undefined ? '' : userModel.companyScale[userData.company_scale] + '人';
|
|
|
- userData.company_type = userData.company_type === null || userData.company_type === undefined ? '' : userModel.companyType[userData.company_type];
|
|
|
+ userData.company_scale = userData.company_scale === null || userData.company_scale === undefined || userData.company_scale === -1 ? '' : userModel.companyScale[userData.company_scale] + '人';
|
|
|
+ userData.company_type = userData.company_type === null || userData.company_type === undefined || userData.company_type === -1 ? '' : userModel.companyType[userData.company_type];
|
|
|
userData.province = userModel.province[userData.province];
|
|
|
|
|
|
let date = new Date(userData.create_time);
|
|
@@ -161,6 +164,143 @@ class CLDController {
|
|
|
const compilationList = await compilationModel.getList();
|
|
|
response.json({error: 0, msg: 'success', data: compilationList});
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取个人和已使用编办信息
|
|
|
+ * @param request
|
|
|
+ * @param response
|
|
|
+ * @returns {Promise<void>}
|
|
|
+ */
|
|
|
+ async getUsersInfo(request, response) {
|
|
|
+ let ssoID = request.query.ssoID;
|
|
|
+ try {
|
|
|
+ //获取用户信息
|
|
|
+ if (ssoID === undefined) {
|
|
|
+ throw '传参有误';
|
|
|
+ }
|
|
|
+ let userModel = new UserModel();
|
|
|
+ let userData = await userModel.findDataBySsoId(ssoID);
|
|
|
+ if (userData === null || userData === '') {
|
|
|
+ throw '不存在该建筑用户';
|
|
|
+ }
|
|
|
+ userData = JSON.parse(JSON.stringify(userData));
|
|
|
+
|
|
|
+ userData.company_scale = userData.company_scale === null || userData.company_scale === undefined ? '' : userModel.companyScale[userData.company_scale] + '人';
|
|
|
+ userData.company_type = userData.company_type === null || userData.company_type === undefined ? '' : userModel.companyType[userData.company_type];
|
|
|
+ userData.province = userModel.province[userData.province];
|
|
|
+
|
|
|
+ let date = new Date(userData.create_time);
|
|
|
+ userData.create_time = date.getFullYear() + '年' +
|
|
|
+ (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '月' +
|
|
|
+ (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
|
|
|
+
|
|
|
+ //获取编办列表
|
|
|
+ let compilationModel = new CompilationModel();
|
|
|
+ let compilationList = JSON.parse(JSON.stringify(await compilationModel.getList()));
|
|
|
+ if (userData.upgrade_list !== undefined) {
|
|
|
+ let userUpgradeList = userData.upgrade_list;
|
|
|
+ for (let i in userUpgradeList) {
|
|
|
+ let oneCompilationIndex = await compilationList.findIndex(function (item) {
|
|
|
+ return item._id === userUpgradeList[i].compilationID;
|
|
|
+ });
|
|
|
+ if (oneCompilationIndex !== -1) {
|
|
|
+ // compilationList[oneCompilationIndex].isUpgrade = userUpgradeList[i].isUpgrade;
|
|
|
+ userData.upgrade_list[i].name = compilationList[oneCompilationIndex].name;
|
|
|
+ userData.upgrade_list[i].description = compilationList[oneCompilationIndex].description;
|
|
|
+ userData.upgrade_list[i].categoryID = compilationList[oneCompilationIndex].categoryID;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ response.json({error: 0, msg: 'success', data: { userInfo: userData }});
|
|
|
+ } catch (err) {
|
|
|
+ response.json({error: 1, msg: err});
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取用户列表分页
|
|
|
+ * @param request
|
|
|
+ * @param response
|
|
|
+ * @returns {Promise<void>}
|
|
|
+ */
|
|
|
+ async getUserList(request, response) {
|
|
|
+ let userModel = new UserModel();
|
|
|
+ let total = 0;
|
|
|
+ let pageSize = 12;
|
|
|
+ let pageData = {};
|
|
|
+ let userList = [];
|
|
|
+ let compilationList =[];
|
|
|
+ let filter = request.query;
|
|
|
+ try {
|
|
|
+ //获取编办列表
|
|
|
+ let compilationModel = new CompilationModel();
|
|
|
+ compilationList = await compilationModel.getCompilationList({_id: 1, name: 1, is_release: 1});
|
|
|
+ let condition = userModel.getFilterCondition(request);
|
|
|
+ //设置搜索普通用户:
|
|
|
+ condition.user_type = 'normal';
|
|
|
+
|
|
|
+ //获取注册时间
|
|
|
+ let regtime = request.query.regtime;
|
|
|
+ if(regtime !== '' && regtime !== undefined){
|
|
|
+ filter.regtimeMsg = userModel.getDayMsg(regtime);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取注册时间
|
|
|
+ let loginTime = request.query.loginTime;
|
|
|
+ if(loginTime !== '' && loginTime !== undefined){
|
|
|
+ filter.loginMsg = userModel.getDayMsg(loginTime);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 排序方式
|
|
|
+ let sortType = request.query.sortType !== '' && request.query.sortType !== undefined ? request.query.sortType : -1;
|
|
|
+
|
|
|
+ // 排序条件
|
|
|
+ let sortField = request.query.sortField;
|
|
|
+ let sort = sortField !== '' && sortField !== undefined && sortField === 'latest_login' ? {latest_login: sortType}: {_id: sortType};
|
|
|
+
|
|
|
+ // 获取用户总数
|
|
|
+ total = await userModel.count(condition);
|
|
|
+
|
|
|
+ // 分页数据
|
|
|
+ let page = request.query.page === undefined ? 1 : request.query.page;
|
|
|
+ pageSize = request.query.pageSize === undefined ? 12 : parseInt(request.query.pageSize);
|
|
|
+ pageData = {
|
|
|
+ current: page,
|
|
|
+ total: total,
|
|
|
+ queryData: response.locals.urlQuery
|
|
|
+ };
|
|
|
+ // console.log("取用户信息=========================");
|
|
|
+ // console.log(condition);
|
|
|
+ // 获取用户列表
|
|
|
+ userList = await userModel.getList(condition, page, pageSize, sort);
|
|
|
+ await online_facade.setOnlineTimes(userList,condition);
|
|
|
+ response.json({error: 0, msg: 'success', data: {
|
|
|
+ userInfo: userList,
|
|
|
+ pageData: pageData,
|
|
|
+ compilationList:compilationList,
|
|
|
+ }});
|
|
|
+ } catch (error) {
|
|
|
+ response.json({error: 1, msg: error});
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ async getUserOnlineInfo(request, response){
|
|
|
+ let filter = JSON.parse(request.body.data);
|
|
|
+ let responseData = {
|
|
|
+ error: 0,
|
|
|
+ msg: '',
|
|
|
+ data: null
|
|
|
+ };
|
|
|
+ try{
|
|
|
+ let info = await online_facade.getOnlineInfo(filter);
|
|
|
+ responseData.data = info;
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ responseData.error = error.code;
|
|
|
+ responseData.msg = error.err;
|
|
|
+ }
|
|
|
+ response.json(responseData);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
export default CLDController;
|