233 lines
9.6 KiB
Java
233 lines
9.6 KiB
Java
|
package com.zcloud.util;
|
|||
|
|
|||
|
import java.util.Date;
|
|||
|
import java.util.HashMap;
|
|||
|
import java.util.List;
|
|||
|
import java.util.Map;
|
|||
|
|
|||
|
import org.quartz.Job;
|
|||
|
import org.quartz.JobDataMap;
|
|||
|
import org.quartz.JobExecutionContext;
|
|||
|
import org.quartz.JobExecutionException;
|
|||
|
import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
import org.springframework.context.annotation.Configuration;
|
|||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|||
|
import org.springframework.scheduling.annotation.Scheduled;
|
|||
|
import org.springframework.stereotype.Component;
|
|||
|
|
|||
|
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
|
|||
|
import com.zcloud.controller.base.BaseController;
|
|||
|
import com.zcloud.entity.PageData;
|
|||
|
import com.zcloud.service.bus.CorpInfoService;
|
|||
|
import com.zcloud.service.bus.MSMLoginService;
|
|||
|
import com.zcloud.service.bus.QualificationsService;
|
|||
|
import com.zcloud.service.bus.SMSManagementService;
|
|||
|
import com.zcloud.service.fhdb.BRdbService;
|
|||
|
import com.zcloud.service.system.UsersService;
|
|||
|
import com.zcloud.util.AliSmsUtil;
|
|||
|
import com.zcloud.util.DateUtil;
|
|||
|
import com.zcloud.util.DbFH;
|
|||
|
import com.zcloud.util.FileUtil;
|
|||
|
import com.zcloud.util.SpringUtil;
|
|||
|
import com.zcloud.util.Tools;
|
|||
|
|
|||
|
|
|||
|
@Configuration //1.主要用于标记配置类,兼备Component的效果。
|
|||
|
public class QtBackupQuartzJob extends BaseController{
|
|||
|
@Autowired
|
|||
|
private QualificationsService qualificationsService;
|
|||
|
|
|||
|
@Autowired
|
|||
|
private SMSManagementService smsmanagementService;
|
|||
|
|
|||
|
@Autowired
|
|||
|
private UsersService usersService;
|
|||
|
@Autowired
|
|||
|
private CorpInfoService corpInfoService;
|
|||
|
@Autowired
|
|||
|
private MSMLoginService msmloginService;
|
|||
|
|
|||
|
@Scheduled(cron ="0 0 12 * * ?")
|
|||
|
// @Scheduled(cron ="0 */5 * * * ?")
|
|||
|
public void scheduled(){
|
|||
|
System.out.println("进来了");
|
|||
|
try {
|
|||
|
System.out.println( "============定时查询企业证件到期==========");
|
|||
|
PageData pd = new PageData();
|
|||
|
try {
|
|||
|
List<PageData> qList =qualificationsService.listAll(pd);
|
|||
|
for(PageData q:qList) {
|
|||
|
long a=DateUtil.getDaySub(q.getString("VALIDITYTIME"),DateUtil.getDay());
|
|||
|
PageData corpinfo=corpInfoService.findById(q);
|
|||
|
PageData lpd = new PageData();
|
|||
|
lpd.put("STATE", "OK");
|
|||
|
lpd.put("CORPINFO_ID", pd.getString("CORPINFO_ID"));
|
|||
|
int usedCount = msmloginService.msUsedCount(lpd);
|
|||
|
if(a==90) {
|
|||
|
q.put("ISNEAREXPIRATION", "1");
|
|||
|
qualificationsService.edit(q);
|
|||
|
if(corpinfo.getString("ISRECEIVE").equals("1")&&Integer.parseInt(corpinfo.getString("SMS_COUNT"))-usedCount>0) {
|
|||
|
Map<String,Object> mes = new HashMap<String,Object>();
|
|||
|
// String code=getCode();
|
|||
|
mes.put("phone", corpinfo.getString("LR_MOBILE"));
|
|||
|
mes.put("templateCode", "SMS_215790824");
|
|||
|
mes.put("corpname", corpinfo.getString("CORP_NAME"));
|
|||
|
mes.put("qname", q.getString("NAME"));
|
|||
|
mes.put("month", "三");
|
|||
|
mes.put("time", q.getString("VALIDITYTIME"));
|
|||
|
mes.put("type", "3");
|
|||
|
// mes.put("code", code);
|
|||
|
SendSmsResponse ssms= AliSmsUtil.sendSms(mes);
|
|||
|
msmloginService.addForAliSmsUtil(mes, corpinfo.getString("CORPINFO_ID"), ssms);
|
|||
|
|
|||
|
//System.out.println(ssms.getCode());
|
|||
|
PageData sms = new PageData();
|
|||
|
sms.put("CORPINFO_ID", corpinfo.getString("CORPINFO_ID"));
|
|||
|
sms.put("ISENABLE", "1");
|
|||
|
sms.put("SMSTYPE", "SMS_215790824");
|
|||
|
List<PageData> sList =smsmanagementService.listAll(sms);
|
|||
|
if(sList.size()>0) {
|
|||
|
String[] uid=sList.get(0).getString("ADDRESSEE").split(",");
|
|||
|
for(int i=0;i<uid.length;i++) {
|
|||
|
PageData suser = new PageData();
|
|||
|
suser.put("USER_ID", uid[i].toString());
|
|||
|
suser = usersService.findById(suser);
|
|||
|
if(suser.get("USERNAME") != null && Tools.notEmpty(suser.get("USERNAME").toString())) {
|
|||
|
String uphone=suser.get("USERNAME").toString();
|
|||
|
Map<String,Object> umes = new HashMap<String,Object>();
|
|||
|
umes.put("phone", uphone);
|
|||
|
umes.put("templateCode", "SMS_215790824");
|
|||
|
umes.put("corpname", corpinfo.getString("CORP_NAME"));
|
|||
|
umes.put("qname", q.getString("NAME"));
|
|||
|
umes.put("month", "三");
|
|||
|
umes.put("time", q.getString("VALIDITYTIME"));
|
|||
|
umes.put("type", "3");
|
|||
|
PageData ewpd = new PageData();
|
|||
|
ewpd.put("STATE", "OK");
|
|||
|
ewpd.put("CORPINFO_ID", pd.getString("CORPINFO_ID"));
|
|||
|
int ewusedCount = msmloginService.msUsedCount(lpd);
|
|||
|
if(Integer.parseInt(corpinfo.getString("SMS_COUNT"))-ewusedCount>0) {
|
|||
|
SendSmsResponse ussms= AliSmsUtil.sendSms(umes);
|
|||
|
msmloginService.addForAliSmsUtil(umes, corpinfo.getString("CORPINFO_ID"), ussms);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}else if(a==30){
|
|||
|
if(corpinfo.getString("ISRECEIVE").equals("1")&&Integer.parseInt(corpinfo.getString("SMS_COUNT"))-usedCount>0) {
|
|||
|
Map<String,Object> mes = new HashMap<String,Object>();
|
|||
|
// String code=getCode();
|
|||
|
mes.put("phone", corpinfo.getString("LR_MOBILE"));
|
|||
|
mes.put("templateCode", "SMS_215790824");
|
|||
|
mes.put("corpname", corpinfo.getString("CORP_NAME"));
|
|||
|
mes.put("qname", q.getString("NAME"));
|
|||
|
mes.put("month", "一");
|
|||
|
mes.put("time", q.getString("VALIDITYTIME"));
|
|||
|
mes.put("type", "3");
|
|||
|
SendSmsResponse ssms= AliSmsUtil.sendSms(mes);
|
|||
|
msmloginService.addForAliSmsUtil(mes, corpinfo.getString("CORPINFO_ID"), ssms);
|
|||
|
//System.out.println(ssms.getCode());
|
|||
|
PageData sms = new PageData();
|
|||
|
sms.put("CORPINFO_ID", corpinfo.getString("CORPINFO_ID"));
|
|||
|
sms.put("ISENABLE", "1");
|
|||
|
sms.put("SMSTYPE", "SMS_215790824");
|
|||
|
List<PageData> sList =smsmanagementService.listAll(sms);
|
|||
|
if(sList.size()>0) {
|
|||
|
String[] uid=sList.get(0).getString("ADDRESSEE").split(",");
|
|||
|
for(int i=0;i<uid.length;i++) {
|
|||
|
PageData suser = new PageData();
|
|||
|
suser.put("USER_ID", uid[i].toString());
|
|||
|
suser = usersService.findById(suser);
|
|||
|
if(suser.get("USERNAME") != null && Tools.notEmpty(suser.get("USERNAME").toString())) {
|
|||
|
String uphone=suser.get("USERNAME").toString();
|
|||
|
Map<String,Object> umes = new HashMap<String,Object>();
|
|||
|
umes.put("phone", uphone);
|
|||
|
umes.put("templateCode", "SMS_215790824");
|
|||
|
umes.put("corpname", corpinfo.getString("CORP_NAME"));
|
|||
|
umes.put("qname", q.getString("NAME"));
|
|||
|
umes.put("month", "半");
|
|||
|
umes.put("time", q.getString("VALIDITYTIME"));
|
|||
|
umes.put("type", "3");
|
|||
|
PageData ewpd = new PageData();
|
|||
|
ewpd.put("STATE", "OK");
|
|||
|
ewpd.put("CORPINFO_ID", pd.getString("CORPINFO_ID"));
|
|||
|
int ewusedCount = msmloginService.msUsedCount(lpd);
|
|||
|
if(Integer.parseInt(corpinfo.getString("SMS_COUNT"))-ewusedCount>0) {
|
|||
|
SendSmsResponse ussms= AliSmsUtil.sendSms(umes);
|
|||
|
msmloginService.addForAliSmsUtil(umes, corpinfo.getString("CORPINFO_ID"), ussms);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}else if(a==15){
|
|||
|
if(corpinfo.getString("ISRECEIVE").equals("1")&&Integer.parseInt(corpinfo.getString("SMS_COUNT"))-usedCount>0) {
|
|||
|
Map<String,Object> mes = new HashMap<String,Object>();
|
|||
|
// String code=getCode();
|
|||
|
mes.put("phone", corpinfo.getString("LR_MOBILE"));
|
|||
|
mes.put("templateCode", "SMS_215790824");
|
|||
|
mes.put("corpname", corpinfo.getString("CORP_NAME"));
|
|||
|
mes.put("qname", q.getString("NAME"));
|
|||
|
mes.put("month", "半");
|
|||
|
mes.put("time", q.getString("VALIDITYTIME"));
|
|||
|
mes.put("type", "3");
|
|||
|
// mes.put("code", code);
|
|||
|
SendSmsResponse ssms= AliSmsUtil.sendSms(mes);
|
|||
|
msmloginService.addForAliSmsUtil(mes, corpinfo.getString("CORPINFO_ID"), ssms);
|
|||
|
//System.out.println(ssms.getCode());
|
|||
|
PageData sms = new PageData();
|
|||
|
sms.put("CORPINFO_ID", corpinfo.getString("CORPINFO_ID"));
|
|||
|
sms.put("ISENABLE", "1");
|
|||
|
sms.put("SMSTYPE", "SMS_215790824");
|
|||
|
List<PageData> sList =smsmanagementService.listAll(sms);
|
|||
|
if(sList.size()>0) {
|
|||
|
String[] uid=sList.get(0).getString("ADDRESSEE").split(",");
|
|||
|
for(int i=0;i<uid.length;i++) {
|
|||
|
PageData suser = new PageData();
|
|||
|
suser.put("USER_ID", uid[i].toString());
|
|||
|
suser = usersService.findById(suser);
|
|||
|
if(suser.get("USERNAME") != null && Tools.notEmpty(suser.get("USERNAME").toString())) {
|
|||
|
String uphone=suser.get("USERNAME").toString();
|
|||
|
Map<String,Object> umes = new HashMap<String,Object>();
|
|||
|
umes.put("phone", uphone);
|
|||
|
umes.put("templateCode", "SMS_215790824");
|
|||
|
umes.put("corpname", corpinfo.getString("CORP_NAME"));
|
|||
|
umes.put("qname", q.getString("NAME"));
|
|||
|
umes.put("month", "半");
|
|||
|
umes.put("time", q.getString("VALIDITYTIME"));
|
|||
|
umes.put("type", "3");
|
|||
|
PageData ewpd = new PageData();
|
|||
|
ewpd.put("STATE", "OK");
|
|||
|
ewpd.put("CORPINFO_ID", pd.getString("CORPINFO_ID"));
|
|||
|
int ewusedCount = msmloginService.msUsedCount(lpd);
|
|||
|
if(Integer.parseInt(corpinfo.getString("SMS_COUNT"))-ewusedCount>0) {
|
|||
|
SendSmsResponse ussms= AliSmsUtil.sendSms(umes);
|
|||
|
msmloginService.addForAliSmsUtil(umes, corpinfo.getString("CORPINFO_ID"), ussms);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
} catch (Exception e) {
|
|||
|
try {
|
|||
|
//shutdownJob(context,pd,parameter);
|
|||
|
} catch (Exception e1) {
|
|||
|
e1.printStackTrace();
|
|||
|
}
|
|||
|
}
|
|||
|
} catch (Exception e) {
|
|||
|
e.printStackTrace();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|