package com.yaochen.boss.job.unuse; import org.quartz.JobExecutionException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import com.yaochen.boss.job.component.BusiComponent; import com.yaochen.boss.job.component.JobComponent; import com.yaochen.myquartz.Job2; import com.yaochen.myquartz.Job2ExecutionContext; import com.ycsoft.beans.core.job.JProdPreopen; import com.ycsoft.commons.helper.DateHelper; /** * 预开通 * * @author Tom */ @Service @Scope("prototype") public class ClockPreBookJob implements Job2 { private final Logger logger = LoggerFactory.getLogger(getClass()); private BusiComponent busiComponent; private JobComponent jobComponent; @Override public void execute(Job2ExecutionContext context) throws JobExecutionException { try{ int hour = DateHelper.getCurrHour(); int min = DateHelper.getCurrMinute(); logger.info("预开通 - " + min + " 分."); if (hour ==21){ //发指令,并删除当天 openProd(hour,true); }else{ openProd(hour, false); } } catch (Exception e) { logger.error("系统错误",e.getMessage()); } } /** * 开通产品 * @param jobstep */ private void openProd(int jobstep,boolean isdelete)throws Exception{ for(JProdPreopen preopen: jobComponent.queryProdPreopen(jobstep)){ try{ this.busiComponent.preOpen(jobComponent.queryProdBySn(preopen.getProd_sn(), preopen.getCounty_id()), preopen); jobComponent.updateProdPreopenStep(preopen.getJob_id(), jobstep); preopen.setIs_success("T"); }catch(Exception e){ preopen.setIs_success("F"); String remark=e.getMessage(); if(remark!=null&& !remark.trim().equals("")) preopen.setRemark(remark.substring(0,remark.length()>100? 100:remark.length())); logger.error("预开通错误","job_id("+preopen.getJob_id()+"):"+e.getMessage()); } if(isdelete||"F".equals(preopen.getIs_success())) jobComponent.removeProdPreopen(preopen); } } public void setBusiComponent(BusiComponent busiComponent) { this.busiComponent = busiComponent; } public void setJobComponent(JobComponent jobComponent) { this.jobComponent = jobComponent; } }