| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 | 
							- 'use strict';
 
- /**
 
-  * CLD接口相关控制器
 
-  *
 
-  * @author EllisRan.
 
-  * @date 2018/9/25
 
-  * @version
 
-  */
 
- const CLDModel = require("../models/cld_model");
 
- const UserModel = require("../models/user_model");
 
- const CompilationModel = require("../models/compilation_model");
 
- let online_facade = require('../facade/online_facade')
 
- const SMS = require('../models/sms');
 
- class CLDController {
 
-     /**
 
-      * 获取cld办事处人员信息
 
-      *
 
-      * @param request
 
-      * @param reponse
 
-      * @return {Promise.<void>}
 
-      */
 
-     async getCategoryStaff(request, response) {
 
-         const zongBuCategoryID = 12;
 
-         let category = request.query.category;
 
-         if (!category || category == -1) {
 
-             category = request.session.sessionCompilation && request.session.sessionCompilation.categoryID ? request.session.sessionCompilation.categoryID : zongBuCategoryID;
 
-             console.log(category);
 
-         }
 
-         try {
 
-             let cldModel = new CLDModel();
 
-             let result = await cldModel.getCategoryStaff(category);
 
-             response.json({error: 0, msg: 'success', data: JSON.parse(result)});
 
-         } catch (err) {
 
-             response.json({error: 1, msg: err});
 
-         }
 
-     }
 
-     /**
 
-      * cld 获取建筑用户和编办接口
 
-      *
 
-      * @param request
 
-      * @param response
 
-      * @return {Promise.<void>}
 
-      */
 
-     async getUsersAndCompilationList(request, response) {
 
-         let mobile = request.query.mobile;
 
-         let ssoID = request.query.ssoID;
 
-         try {
 
-             //获取用户信息
 
-             if (mobile === undefined && ssoID === undefined) {
 
-                 throw '传参有误';
 
-             }
 
-             let userModel = new UserModel();
 
-             let userData = '';
 
-             if (mobile !== undefined) {
 
-                 userData = await userModel.findDataByMobile(mobile);
 
-             } else {
 
-                 userData = await userModel.findDataBySsoId(ssoID);
 
-             }
 
-             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 || 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);
 
-             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;
 
-                         compilationList[oneCompilationIndex].deadline = userUpgradeList[i].deadline;
 
-                         compilationList[oneCompilationIndex].lock = userUpgradeList[i].lock;
 
-                     }
 
-                 }
 
-             }
 
-             response.json({error: 0, msg: 'success', data: { userInfo: userData, compilationList: compilationList }});
 
-         } catch (err) {
 
-             response.json({error: 1, msg: err});
 
-         }
 
-     }
 
-     /**
 
-      * 设置用户编办专业版
 
-      *
 
-      * @param request
 
-      * @param response
 
-      * @return {Promise.<void>}
 
-      */
 
-     async setUsersUpgrade(request, response) {
 
-         let ssoID = request.body.ssoId;
 
-         let compilationID = request.body.cid;
 
-         let deadline = request.body.deadline || '';
 
-         let status = parseInt(request.body.status); // 1.升级、2.降级、3.续期
 
-         let smssend = parseInt(request.body.smssend);
 
-         let lock = parseInt(request.body.lock);// 0.默认、1.借出(借用)、2.销售(购买)
 
-         try {
 
-             let userModel = new UserModel();
 
-             let userData = await userModel.findDataBySsoId(ssoID);
 
-             let compilationModel = new CompilationModel();
 
-             let compilationData = await compilationModel.getCompilationById(compilationID);
 
-             if (compilationData === null || compilationData === undefined) {
 
-                 throw '不存在该编办或者编办未发布';
 
-             }
 
-             let upgrade_list = userData.upgrade_list !== undefined ? JSON.parse(JSON.stringify(userData.upgrade_list)) : [];
 
-             let upgradeIndex = upgrade_list.findIndex(function (item) {
 
-                 return item.compilationID === compilationID
 
-             });
 
-             let upgradeInfo = {
 
-                 compilationID:compilationID,//编办ID
 
-                 upgrade_time:new Date().getTime(),
 
-                 isUpgrade: status !== 2,
 
-                 remark: '',
 
-                 deadline: deadline,
 
-                 lock: lock,
 
-             };
 
-             if (upgradeIndex === -1) {
 
-                 upgrade_list.push(upgradeInfo);
 
-             } else {
 
-                 upgrade_list.splice(upgradeIndex, 1, upgradeInfo);
 
-             }
 
-             let condition = {ssoId: ssoID};
 
-             let result = await userModel.updateUser(condition, {upgrade_list: upgrade_list});
 
-             if (result) {
 
-                 // 短信发送
 
-                 if (smssend) {
 
-                     // 发送短信
 
-                     const Sms = new SMS();
 
-                     await Sms.sendProductMsg(userData.mobile, status, userData.real_name, compilationData.name, deadline);
 
-                 }
 
-                 response.json({error: 0, msg: 'success'});
 
-             } else {
 
-                 throw '更新失败';
 
-             }
 
-         } catch (err) {
 
-             response.json({error: 1, msg: err});
 
-         }
 
-     }
 
-     /**
 
-      * 获取编办列表
 
-      *
 
-      * @param request
 
-      * @param response
 
-      * @return {Promise.<void>}
 
-      */
 
-     async getCompilationList (request, response) {
 
-         let compilationModel = new CompilationModel();
 
-         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);
 
-     }
 
- }
 
- module.exports = CLDController;
 
 
  |