package com.kmall.admin.biz.clearance; import com.kmall.admin.biz.CustomsClearanceTimeliness; import com.kmall.admin.dto.CustomsClearanceHandleDto; import com.kmall.admin.utils.oms.result.Result; import com.kmall.common.utils.DateUtils; import com.kmall.common.utils.JacksonUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.ThreadPoolExecutor; import java.util.stream.Collectors; /** * @author lhm * @version 1.0 * 2021-09-09 18:01 */ //@Component @Deprecated public class CustomsClearanceTimelinessBiz implements CustomsClearanceTimeliness { private static final Logger LOGGER = LoggerFactory.getLogger(CustomsClearanceTimelinessBiz.class); // @Autowired private ThreadPoolExecutor threadPoolExecutor; // @Autowired private RabbitTemplate clearRabbitTemplate; /** * 发送到清关时效性mq * * @param list 需要发送的订单编号数据 * @param timeType 清关时间点 */ @Override public void send(List list, String timeType) { threadPoolExecutor.execute(() -> { try { List clearanceHandleDtos = list.stream().map(orderSn -> { CustomsClearanceHandleDto customsClearanceHandleDto = new CustomsClearanceHandleDto(); customsClearanceHandleDto.setTime(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN)); customsClearanceHandleDto.setTimeType(timeType); customsClearanceHandleDto.setMerchOrderSn(orderSn); return customsClearanceHandleDto; }).collect(Collectors.toList()); Result result = Result.success(clearanceHandleDtos); clearRabbitTemplate.convertAndSend(JacksonUtils.toJson(result)); } catch (Exception e) { LOGGER.error("----- 清关时效性: 类型【{}】发送失败! -----", timeType); } }); } }