package com.zy.asrs.task; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.zy.asrs.entity.WmsWrk; import com.zy.asrs.service.WmsWrkLogService; import com.zy.asrs.service.WmsWrkService; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * 定时将WMS任务(完成、取消)转成日志 */ @Slf4j @Component public class WmsWrkLogScheduler { @Autowired private WmsWrkService wmsWrkService; @Autowired private WmsWrkLogService wmsWrkLogService; @Value("${wms.url}") private String wmsUrl; @Scheduled(cron = "0/3 * * * * ? ") public void execute() { for (WmsWrk wmsWrk : wmsWrkService.selectToBeHistoryData()) { boolean save = wmsWrkLogService.save(wmsWrk.getWmsWrkNo()); boolean delete = wmsWrkService.deleteById(wmsWrk.getWmsWrkNo()); if (!save || !delete) { log.error("任务[wmsWrkNo={}]历史处理失败", wmsWrk.getWmsWrkNo()); } try { //任务上报 String response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath("/wmsWrk/test") .setJson(JSON.toJSONString(wmsWrk)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { //todo // StartupDto dto = jsonObject.getObject("data", StartupDto.class); } else { log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/wmsWrk/test", JSON.toJSONString(wmsWrk), response); } } catch (Exception e) { e.printStackTrace(); } } } }