EqpHeartBeatJob.java 2.03 KB
package com.zteits.park.job;

import org.apache.commons.lang3.StringUtils;
import com.clouds.common.utils.DateUtil;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.zteits.park.mapper.smapper.TpPEqpSMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 根据地磁心跳间隔修改地磁状态-正常OR故障
 *
 * Copyright: Copyright (c) 2017  zteits
 *
 * @ClassName: EqpHeartBeatJob.java
 * @Description:
 * @version: v1.0.0
 * @author: zhaowg
 * @date: 2017年12月11日   上午10:12:45
 * Modification History:
 * Date             Author          Version            Description
 *---------------------------------------------------------*
 * 2017年12月11日      zhaowg              v1.0.0               创建
 */
@Component
public class EqpHeartBeatJob{
	private static final Logger logger = LoggerFactory.getLogger(EqpHeartBeatJob.class);
	@Autowired
	private TpPEqpSMapper tpPEqpSMapper;
	@XxlJob("eqpHeartBeatJob")
	public ReturnT<String> execute(String... params) throws Exception {
		String param = XxlJobHelper.getJobParam();
		if (StringUtils.isNotEmpty(param) && params == null) {
			params = param.split(",");
		}

		log("开始更新设备状态");

		try{
			log("记录故障日志");
			String yyyyMM = DateUtil.getDateString(DateUtil.YYYYMM);
			String tableName = "tp_p_eqp_log"+yyyyMM;
			tpPEqpSMapper.insertHeartBeatData(tableName);
			tpPEqpSMapper.insertHeartBeatDataForFault(tableName);
		}catch(Exception e){
			log("记录故障日志异常:"+e.getMessage());
		}
		int upnum = tpPEqpSMapper.updateEqpOnlineStateByHeartBeat();
		log("设备离线更新条数为:"+upnum);
		int faultNum = tpPEqpSMapper.updateEqpOnlineStateForFaultByHeartBeat();
		log("设备故障更新条数为:"+faultNum);
		return ReturnT.SUCCESS;
	}
	private void log(String msg){
		XxlJobHelper.log(msg);
		logger.info(msg);
	}

}