package com.zcloud.service.mq.impl; import com.alibaba.fastjson.JSONObject; import com.zcloud.dto.TenCorpDto; import com.zcloud.entity.PageData; import com.zcloud.mapper.datasource.mq.MqErrorMessageLogMapper; import com.zcloud.mapper.datasource.mq.MqMessageLogMapper; import com.zcloud.service.mq.DockSendMessageService; import com.zcloud.service.mq.LogService; import com.zcloud.util.DateUtil; import com.zcloud.util.Warden; import com.zcloud.util.mq.MqUtil; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.SendStatus; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Value; import org.springframework.messaging.support.GenericMessage; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class DockSendMessageServiceImpl implements DockSendMessageService { @Value("${mq.gwj.data.topic}") private String gwjDataTopic; @Value("${mq.gwj.file.topic}") private String gwjFileTopic; @Resource private RocketMQTemplate rocketMQTemplate; @Resource private MqErrorMessageLogMapper mqErrorMessageLogMapper; @Resource private LogService logService; @Resource private MqMessageLogMapper mqMessageLogMapper; @Override public void sendMessage(TenCorpDto tenCorpDto) throws Exception { try { PageData log = tenCorpDto.getPd(); log.put("MESSAGE_LOG_ID", Warden.get32UUID()); log.put("CREATE_TIME", DateUtil.getTime()); mqMessageLogMapper.save(log); System.out.println("生产者:" + tenCorpDto.toString()); SendResult sendResult = rocketMQTemplate.syncSend(this.gwjDataTopic, tenCorpDto.toString()); if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) { throw new RuntimeException("产品入栈失败"); } } catch (Exception e) { e.printStackTrace(); PageData log = tenCorpDto.getPd(); log.put("MESSAGE_ERROR_LOG_ID", Warden.get32UUID()); log.put("ERROR_MESSAGE", e.getMessage()); log.put("TYPE", "0"); log.put("TIME", DateUtil.getTime()); mqErrorMessageLogMapper.save(log); } } @Override public void sendMessagePicture(TenCorpDto tenCorpDto) throws Exception { try { PageData log = tenCorpDto.getPd(); log.put("MESSAGE_LOG_ID", Warden.get32UUID()); log.put("CREATE_TIME", DateUtil.getTime()); mqMessageLogMapper.save(log); System.out.println("生产者:" + tenCorpDto.toString()); SendResult sendResult = rocketMQTemplate.syncSend(this.gwjFileTopic, tenCorpDto.toString()); if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) { throw new RuntimeException("产品入栈失败"); } } catch (Exception e) { e.printStackTrace(); PageData log = tenCorpDto.getPd(); log.put("MESSAGE_ERROR_LOG_ID", Warden.get32UUID()); log.put("ERROR_MESSAGE", e.getMessage()); log.put("TYPE", "0"); log.put("TIME", DateUtil.getTime()); mqErrorMessageLogMapper.save(log); } } @Override public void sendMessagePictureDelete(TenCorpDto tenCorpDto) throws Exception { try { PageData log = tenCorpDto.getPd(); log.put("MESSAGE_LOG_ID", Warden.get32UUID()); log.put("CREATE_TIME", DateUtil.getTime()); mqMessageLogMapper.save(log); System.out.println("生产者:" + tenCorpDto.toString()); SendResult sendResult = rocketMQTemplate.syncSend(this.gwjFileTopic, tenCorpDto.toString()); if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) { throw new RuntimeException("产品入栈失败"); } } catch (Exception e) { e.printStackTrace(); PageData log = tenCorpDto.getPd(); log.put("MESSAGE_ERROR_LOG_ID", Warden.get32UUID()); log.put("ERROR_MESSAGE", e.getMessage()); log.put("TYPE", "0"); log.put("TIME", DateUtil.getTime()); mqErrorMessageLogMapper.save(log); } } }