|
|
@@ -8,6 +8,8 @@ import com.rabbitmq.client.Channel;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.common.constant.CommonConstant;
|
|
|
+import org.jeecg.modules.app.form.RefundOrderForm;
|
|
|
+import org.jeecg.modules.app.service.IOrderService;
|
|
|
import org.jeecg.modules.system.app.entity.AppOrder;
|
|
|
import org.jeecg.modules.system.app.entity.AppOrderProInfo;
|
|
|
import org.jeecg.modules.system.app.service.IAppOrderProInfoService;
|
|
|
@@ -17,6 +19,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
+import java.text.ParseException;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
@@ -27,7 +30,7 @@ import java.util.stream.Collectors;
|
|
|
@AllArgsConstructor
|
|
|
public class OrderExpireDelayedMessageListener {
|
|
|
|
|
|
- private final IAppOrderService appOrderService;
|
|
|
+ private final IOrderService appOrderService;
|
|
|
private final IAppOrderProInfoService appOrderProInfoService;
|
|
|
|
|
|
/**
|
|
|
@@ -54,7 +57,7 @@ public class OrderExpireDelayedMessageListener {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void orderExpireMessage(String proOrderInfoId) {
|
|
|
+ private void orderExpireMessage(String proOrderInfoId) throws ParseException {
|
|
|
// 业务处理
|
|
|
log.info("处理订单消息:{}", proOrderInfoId);
|
|
|
|
|
|
@@ -67,6 +70,18 @@ public class OrderExpireDelayedMessageListener {
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(appOrderProInfo)){
|
|
|
if (Objects.equals(appOrderProInfo.getOrderStatus(), CommonConstant.ORDER_STATUS_1)) {
|
|
|
+
|
|
|
+ try {
|
|
|
+ //过期退款
|
|
|
+ RefundOrderForm refundOrderForm = new RefundOrderForm();
|
|
|
+ refundOrderForm.setOrderCode(appOrderProInfo.getOrderCode());
|
|
|
+ refundOrderForm.setOrderProInfoIds(appOrderProInfo.getId());
|
|
|
+ refundOrderForm.setType(CommonConstant.NUMBER_3);
|
|
|
+ refundOrderForm.setReason("订单已过期,自动退款!");
|
|
|
+ appOrderService.refundOrder(refundOrderForm);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("修改子订单:{},支付状态为已过期,自动退款失败:{}", appOrderProInfo.getId(),e.getMessage());
|
|
|
+ }
|
|
|
log.info("修改子订单:{},支付状态为已过期", appOrderProInfo.getId());
|
|
|
appOrderProInfo.setOrderStatus(CommonConstant.ORDER_STATUS_3);
|
|
|
appOrderProInfoService.updateById(appOrderProInfo);
|