Authored by LUOXC

添加自动取消按钮

package com.yohoufo.order.config;
import com.yoho.core.config.ConfigReader;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class UfoBuyerOrderConfigReader {
@Autowired
private ConfigReader configReader;
public boolean autoConfirm() {
return configReader.getBoolean("ufo.buyerOrder.autoConfirmSwitch", true);
}
}
... ...
... ... @@ -3,6 +3,7 @@ package com.yohoufo.order.mq.consumer;
import com.alibaba.fastjson.JSONObject;
import com.yoho.core.rabbitmq.YhConsumer;
import com.yoho.error.exception.ServiceException;
import com.yohoufo.order.config.UfoBuyerOrderConfigReader;
import com.yohoufo.order.event.BuyerConfirmEvent;
import com.yohoufo.order.model.request.OrderRequest;
import com.yohoufo.order.mq.TopicConstants;
... ... @@ -16,13 +17,16 @@ import org.springframework.stereotype.Component;
* Created by chenchao on 2018/9/30.
*/
@Component
public class BuyerOrderConfirmDelayMsgConsumer implements YhConsumer {
public class BuyerOrderConfirmDelayMsgConsumer extends JsonObjectMessageConsumer<BuyerConfirmEvent> {
final Logger logger = LoggerUtils.getMqConsumerLogger();
@Autowired
IBuyerOrderService buyerOrderService;
@Autowired
UfoBuyerOrderConfigReader ufoBuyerOrderConfigReader;
public String getMessageTopic() {
return TopicConstants.BUYER_ORDER_AUTO_CONFIRM;
... ... @@ -30,23 +34,19 @@ public class BuyerOrderConfirmDelayMsgConsumer implements YhConsumer {
@Override
public void handleMessage(Object o) throws Exception {
logger.info("topic {}, msg {} ", getMessageTopic(), o);
BuyerConfirmEvent buyerConfirmEvent = JSONObject.parseObject(o.toString(), BuyerConfirmEvent.class);
Integer buyerUid = buyerConfirmEvent.getUid();
Long orderCode = buyerConfirmEvent.getOrderCode();
public String getTopic() {
return TopicConstants.BUYER_ORDER_AUTO_CONFIRM;
}
@Override
public void handle(BuyerConfirmEvent message) {
Integer buyerUid = message.getUid();
Long orderCode = message.getOrderCode();
OrderRequest req = OrderRequest.builder().uid(buyerUid).orderCode(orderCode).build();
try {
if (ufoBuyerOrderConfigReader.autoConfirm()) {
buyerOrderService.confirm(req);
logger.info("topic {}, msg {} finish", getMessageTopic(), o);
} catch (ServiceException e) {
logger.info("topic {}, msg {} service exception {}", getMessageTopic(), o, e.getMessage());
} catch (Exception e) {
logger.info("topic {}, msg {} exception", getMessageTopic(), o, e);
throw e;
} else {
logger.info("{}, auto confirm is non open", orderCode);
}
}
}
... ...
... ... @@ -51,6 +51,7 @@ public abstract class JsonObjectMessageConsumer<M> implements YhConsumer {
}
try {
handle(message);
getLogger().info("handler message finish, topic {}, msg {}", topic, jsonText);
} catch (ServiceException e) {
getLogger().warn("handler message fail, topic {}, msg {}", topic, jsonText, e);
} catch (Exception e) {
... ...
... ... @@ -43,6 +43,7 @@ ufo.user.idCertSwitch=false
#实名认证提示版本升级开关
ufo.user.idCertUpdateVersionSwitch = true
ufo.buyerOrder.autoConfirmSwitch=true
#time out
... ...