package cn.com.goldenwater.dcproj.task; import cn.com.goldenwater.dcproj.dao.TacNoticeReceiptDao; import cn.com.goldenwater.dcproj.model.TacNoticeReceipt; import cn.com.goldenwater.dcproj.utils.HttpClientUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.quartz.DisallowConcurrentExecution; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import java.util.*; @DisallowConcurrentExecution public class SynTacNoticeReceiptService implements Job { @Value("${api.url}") private String apiUrl; private Logger log = LoggerFactory.getLogger(getClass()); @Autowired private TacNoticeReceiptDao tacNoticeReceiptDao; /** * 要处理的 PROCESS_STATUS */ private final static String PROCESS_STATUS = "0"; @Override public void execute(JobExecutionContext arg0) { log.info("执行定时同步短信模块稽察通知短信的回复短信信息:SynTacNoticeReceiptService.execute()..."); Map params = new HashMap(); String content = ""; Map headerMap = new HashMap(); try { content = HttpClientUtils.simplePostInvoke(apiUrl + "/gateway/api/tac/gwTacNoticeReceipt/list", params); // content = HttpClientUtils.doHttpsPost2(apiUrl + "/api/tac/gwTacNoticeReceipt/list", params, headerMap); JSONObject jsonContent = JSON.parseObject(content); if (StringUtils.isNotBlank(jsonContent.getString("success")) && "true".equals(jsonContent.getString("success")) && null != jsonContent.get("data")) { List tacNoticeReceipt = JSON.parseArray(jsonContent.getString("data"), TacNoticeReceipt.class); for (TacNoticeReceipt noticeReceipt : tacNoticeReceipt) { if (StringUtils.isNotBlank(noticeReceipt.getId())) { TacNoticeReceipt oldTacNoticeReceipt = tacNoticeReceiptDao.get(noticeReceipt.getId()); if (oldTacNoticeReceipt == null) { noticeReceipt.setProcessStatus(PROCESS_STATUS); noticeReceipt.setIntm(new Date()); noticeReceipt.setUptm(new Date()); tacNoticeReceiptDao.insert(noticeReceipt); } } } } } catch (Exception e) { e.printStackTrace(); } } }