|  | @@ -12,6 +12,8 @@ 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')
 | 
	
		
			
				|  |  | +const SMS = require('../models/sms');
 | 
	
		
			
				|  |  | +const moment = require('moment');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class CLDController {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -106,6 +108,9 @@ class CLDController {
 | 
	
		
			
				|  |  |      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);
 | 
	
		
			
				|  |  | +        let smssend = parseInt(request.body.smssend);
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              let userModel = new UserModel();
 | 
	
	
		
			
				|  | @@ -114,7 +119,7 @@ class CLDController {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              let compilationModel = new CompilationModel();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            let compilationData = compilationModel.getCompilationById(compilationID);
 | 
	
		
			
				|  |  | +            let compilationData = await compilationModel.getCompilationById(compilationID);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (compilationData === null || compilationData === undefined) {
 | 
	
		
			
				|  |  |                  throw '不存在该编办或者编办未发布';
 | 
	
	
		
			
				|  | @@ -125,12 +130,12 @@ class CLDController {
 | 
	
		
			
				|  |  |              let upgradeIndex = upgrade_list.findIndex(function (item) {
 | 
	
		
			
				|  |  |                  return item.compilationID === compilationID
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              let upgradeInfo = {
 | 
	
		
			
				|  |  |                  compilationID:compilationID,//编办ID
 | 
	
		
			
				|  |  |                  upgrade_time:new Date().getTime(),
 | 
	
		
			
				|  |  | -                isUpgrade:true,
 | 
	
		
			
				|  |  | -                remark: ''
 | 
	
		
			
				|  |  | +                isUpgrade: status !== 2,
 | 
	
		
			
				|  |  | +                remark: '',
 | 
	
		
			
				|  |  | +                deadline: deadline,
 | 
	
		
			
				|  |  |              };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (upgradeIndex === -1) {
 | 
	
	
		
			
				|  | @@ -143,6 +148,12 @@ class CLDController {
 | 
	
		
			
				|  |  |              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 '更新失败';
 | 
	
	
		
			
				|  | @@ -301,6 +312,57 @@ class CLDController {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          response.json(responseData);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    async checkUserCompilationStatus(request, response) {
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            let today = moment(new Date()-86400*1000).format('YYYY-MM-DD');
 | 
	
		
			
				|  |  | +            let userModel = new UserModel();
 | 
	
		
			
				|  |  | +            let userList = await userModel.getDeadlineList({upgrade_list: {$elemMatch:{ deadline: today }}});
 | 
	
		
			
				|  |  | +            if (userList.length > 0) {
 | 
	
		
			
				|  |  | +                for (let user of userList) {
 | 
	
		
			
				|  |  | +                    for (let cul of user.upgrade_list) {
 | 
	
		
			
				|  |  | +                        if (cul.deadline === today) {
 | 
	
		
			
				|  |  | +                            // cul.deadline = '';
 | 
	
		
			
				|  |  | +                            cul.isUpgrade = false;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    let condition = {ssoId: user.ssoId};
 | 
	
		
			
				|  |  | +                    await userModel.updateUser(condition, {upgrade_list: user.upgrade_list});
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            response.json({error: 0, msg: 'success', data: userList});
 | 
	
		
			
				|  |  | +        } catch (error) {
 | 
	
		
			
				|  |  | +            response.json({error: 1, msg: error});
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    async sendCompilationStatusSms(request, response) {
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            let today = moment(new Date()-86400*1000).format('YYYY-MM-DD');
 | 
	
		
			
				|  |  | +            let userModel = new UserModel();
 | 
	
		
			
				|  |  | +            let userList = await userModel.getDeadlineList({upgrade_list: {$elemMatch:{ deadline: today }}});
 | 
	
		
			
				|  |  | +            if (userList.length > 0) {
 | 
	
		
			
				|  |  | +                let compilationModel = new CompilationModel();
 | 
	
		
			
				|  |  | +                const Sms = new SMS();
 | 
	
		
			
				|  |  | +                for (let user of userList) {
 | 
	
		
			
				|  |  | +                    for (let cul of user.upgrade_list) {
 | 
	
		
			
				|  |  | +                        if (cul.deadline === today) {
 | 
	
		
			
				|  |  | +                            cul.deadline = '';
 | 
	
		
			
				|  |  | +                            // cul.isUpgrade = false;
 | 
	
		
			
				|  |  | +                            // 发送短信
 | 
	
		
			
				|  |  | +                            let compilationData = await compilationModel.getCompilationById(cul.compilationID);
 | 
	
		
			
				|  |  | +                            await Sms.sendProductMsg(user.mobile, 2, user.real_name, compilationData.name, '');
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    let condition = {ssoId: user.ssoId};
 | 
	
		
			
				|  |  | +                    await userModel.updateUser(condition, {upgrade_list: user.upgrade_list});
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            response.json({error: 0, msg: 'success', data: userList});
 | 
	
		
			
				|  |  | +        } catch (error) {
 | 
	
		
			
				|  |  | +            response.json({error: 1, msg: error});
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default CLDController;
 |