可手动控制定时任务

需求介绍

增加对数据的订单监控,达到数据配置的要求时候发送短信

模型设计

create table MKT_WARING
(
  mkt_waring_id       NUMBER(16),  --主键
  waring_sql          VARCHAR2(3000),  --sql
  waring_sql_param    VARCHAR2(500), --sql参数
  waring_cron         VARCHAR2(200), --cron表达式
  waring_status       VARCHAR2(50),  --状态
  waring_sms_tempalte VARCHAR2(100), --短信模板
  waring_sms_context  VARCHAR2(3000), --短信内容
  waring_phone        VARCHAR2(50),--电话号码
  waring_remark       VARCHAR2(200),--备注
  waring_type         VARCHAR2(10),--类型
  waring_expression   VARCHAR2(3000) --表达式(正则最好)
)

代码部分

package com.sitech.waring.config;

import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.sitech.crmtpd.market.domain.comp.WaringConfigEntity;
import com.sitech.waring.scheduled.BaseJob;
import com.sitech.waring.scheduled.OrderOverStock;
import com.sitech.waring.scheduled.OrderSuccessRateLow;
import com.sitech.waring.scheduled.OrderTimeoutWaring;
import lombok.extern.slf4j.Slf4j;
import netscape.javascript.JSObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

/**
 * @oauth: qiangSW
 * @date: 2020/3/24 15:07
 * @description: com.sitech.waring.config
 * @doc:
 */
@Configuration
@Slf4j
public class WaringProjeactInit {

    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private OrderOverStock orderOverStock;
    @Autowired
    private OrderSuccessRateLow orderSuccessRateLow;
    @Autowired
    private OrderTimeoutWaring orderTimeoutWaring;


    public static List<WaringConfigEntity> waringConfigEntities = Lists.newArrayList();

    @Bean
    public List<WaringConfigEntity> initWaringConfig() {
        String sql = "select mkt_waring_id,waring_sql,waring_sql_param,waring_cron,waring_status,waring_sms_tempalte," +
                "waring_sms_context,waring_phone,waring_expression from mkt_waring where waring_status = '0' and waring_type = '0'";
        List<WaringConfigEntity> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(WaringConfigEntity.class));
        waringConfigEntities.addAll(query);
        log.info("加载预警配置信息{}", JSONObject.toJSONString(query));
        return query;
    }
     

    //项目初始化job
    @Bean
    public void addJobInfo() {
        BaseJob.jobMap.put(orderOverStock.WARING_ID, orderOverStock);
        BaseJob.jobMap.put(orderSuccessRateLow.WARING_ID, orderSuccessRateLow);
        BaseJob.jobMap.put(orderTimeoutWaring.WARING_ID, orderTimeoutWaring);
    }
}
package com.sitech.waring.scheduled;

import com.google.common.collect.Maps;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Map;

/**
 * @oauth: qiangSW
 * @date: 2020/4/5 9:57
 * @description: com.sitech.waring.scheduled
 * @doc:
 */

public interface BaseJob {

    public Map<Long, Runnable> jobMap = Maps.newHashMap();


    public void addJob();
}
package com.sitech.waring.scheduled;


import com.sitech.waring.Service.SendSmsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;

import org.springframework.stereotype.Component;



/**
 * @oauth: qiangSW
 * @date: 2020/3/25 11:04
 * @description: com.sitech.waring.scheduled
 * @doc: 工单积压预警
 */
@Component
@Slf4j
public class OrderOverStock implements Runnable {

    public static final Long WARING_ID = 2l;

    @Autowired
    private SendSmsService sendSmsService;


    @Override
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值