package com.guohuai.mmp.job;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import com.guohuai.mmp.job.lock.JobLockEntity;
import com.guohuai.mmp.job.lock.JobLockService;
import lombok.extern.slf4j.Slf4j;
@Configuration
@ConfigurationProperties(prefix = "cron")
@PropertySource("classpath:crontab.properties")
@Component
@Slf4j
public class CrontabOptionConfig {
@Autowired
private JobLockService jobLockService;
public static Map<String, String> option = new HashMap<String, String>();
public Map<String, String> getOption() {
return CrontabOptionConfig.option;
}
public void setOption(Map<String, String> option) {
CrontabOptionConfig.option = option;
}
@PostConstruct
public void initJobLock() {
log.info("***********************************************定时任务启动");
List<JobLockEntity> lockList = new ArrayList<JobLockEntity>();
this.jobLockService.deleteAll();
log.info("***********************************************定时任务删除完成");
for (Map.Entry<String, String> entry : option.entrySet()) {
String jobId = entry.getKey();
String jobTime = entry.getValue();
// JobLockEntity entity = this.jobLockService.findByJobId(jobId);
// if (null == entity) {
// entity = new JobLockEntity();
// }
JobLockEntity entity = new JobLockEntity();
entity.setJobId(jobId);
entity.setJobTime(jobTime);
entity.setJobStatus(JobLockEntity.JOB_jobStatus_toRun);
lockList.add(entity);
}
jobLockService.batchUpdate(lockList);
log.info("定时任务创建完成:{}"+lockList.size());
}
}
//-------------------------------------------------------------------------------------------------------------crontab.properties--------------------------------------
#计息快照
cron.option[cron.mmp.snapshot]=00 00 15 * * ?
#奖励收益试算
cron.option[cron.mmp.practice]=00 1 15 * * ?
#创建平台-发行人的普通轧差批次
cron.option[cron.mmp.publiser_offset]=00 00 15 * * ?
#解锁赎回锁定份额
cron.option[cron.mmp.unlock_redeem]=00 00 15 * * ?
#解锁可计息份额
cron.option[cron.mmp.unlock_accrual]=10 00 15 * * ?
#重置每天的限制条件数据
cron.option[cron.mmp.reset_today]=20 00 15 * * ?
#统计昨天的数据
cron.option[cron.mmp.yesterday_statistics]=05 0 15 * * ?
#重置每月的限制条件数据
cron.option[cron.mmp.reset_month]=10 0 0 1 * ?
#定期募集期收益发放
cron.option[cron.mmp.interest_tn]=00 03 15 * * ?
#统计逾期次数
cron.option[cron.mmp.overdue_times]=0 0 1 * * ?
#PDF文件上传
cron.option[cron.mmp.upload_pdf]=0 0 20 * * ?
#HTML创建
cron.option[cron.mmp.create_html]=1 0 0 * * ?
#串行任务执行
cron.option[serital.task]=0/3 * * * * ?
#串行任务取消
cron.option[cancel.task]=0/10 * * * * ?
#活期: 当<<成立开始日期>>到,募集未开始变为募集中
cron.option[cron.mmp.product_state]=0 0 15 * * ?
#募集满额自动成立
cron.option[cron.mmp.raise_full_auto_setup]=0 0/10 * * * ?
#可售份额排期发放
cron.option[cron.mmp.product_maxSaleVolume]=10 1 15 * * ?
#-生成清盘赎回单
cron.option[cron.mmp.clear_order]=0 */10 * * * ?
#定时扫描运营查询
cron.option[opeschedule.task]=0 0/2 * * * ?
#非现金类标的, 状态更新
cron.option[illiquid.state.update.task]=00 00 15 * * ?
#非现金类标的还款计划, 状态更新
cron.option[illiquid.repayment.state.update.task]=00 00 15 * * ?
#投资组合每日估值
cron.option[portfolio.estimate.task]=30 02 15 * * ?
#平台余额对账
cron.option[cron.check.task]=0 30 1 * * ?
#同步交易日历
cron.option[tradeCalendar.task]=0 0 21 * * ?
#收益分配排期执行
cron.option[incomeDistributionSchedule.task]=0 30 09 * * ?
#活期产品收益未分配提醒
cron.option[incomeDistributionNotice.task]=0 15 00 * * ?
#体验金投资
cron.option[taskUseCoupon.task]=0 0/20 * * * ?
#卡券自动到期
cron.option[tulip.autoModifyCouponStatus]=*/5 * * * * ?
#活动自动上架
cron.option[tulip.autoOnEvent]=0 15 0 * * ?
#体验金平仓
cron.option[flat.exp.gold.task]=10 0 15 * * ?
#创建-业务to结算订单对账批次
cron.option[cron.mmp.platform_CheckOrderBatch]=15 2 15 * * ?
#活期现金分红-调结算转入用户余额
cron.option[cron.mmp.dividen.auto.close]=0 0/5 * * * ?
#批量赎回代付
cron.option[cron.mmp.batchpay]=0 0/1 * * * ?
#平台基本账户统计任务-全表
cron.option[cron.mmp.platForm.statistics.all.shedule]=0 0 0/1 * * ?
#平台基本账户统计任务-增量
cron.option[cron.mmp.platForm.statistics.increment.shedule]=0 0/1 * * * ?
#短信发送
cron.option[cron.mmp.sms.send.shedule]=0/2 * * * * ?
#返佣跑批
cron.option[cron.mmp.rebate.batch.shedule]=0 0 9 * * ?