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();
|
||
}
|
||
}
|
||
|
||
|
||
}
|