OrderDownConsumer.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.fdkankan.ucenter.mq.consumer;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.fdkankan.rabbitmq.util.RabbitMqProducer;
  4. import com.fdkankan.ucenter.entity.DownloadOrder;
  5. import com.fdkankan.ucenter.httpClient.vo.PayOrderVo;
  6. import com.fdkankan.ucenter.pay.strategy.impl.DownloadOrderImpl;
  7. import com.fdkankan.ucenter.pay.strategy.impl.EntityOrderImpl;
  8. import com.fdkankan.ucenter.pay.strategy.impl.IncrementOrderImpl;
  9. import com.fdkankan.ucenter.service.IIncrementAutoOrderService;
  10. import com.fdkankan.ucenter.service.IIncrementOrderService;
  11. import com.fdkankan.ucenter.service.IProductOrderService;
  12. import com.fdkankan.ucenter.service.IProductService;
  13. import com.rabbitmq.client.Channel;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.apache.commons.lang.StringEscapeUtils;
  16. import org.apache.commons.lang3.StringUtils;
  17. import org.springframework.amqp.core.ExchangeTypes;
  18. import org.springframework.amqp.core.Message;
  19. import org.springframework.amqp.rabbit.annotation.Exchange;
  20. import org.springframework.amqp.rabbit.annotation.Queue;
  21. import org.springframework.amqp.rabbit.annotation.QueueBinding;
  22. import org.springframework.amqp.rabbit.annotation.RabbitListener;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.beans.factory.annotation.Value;
  25. import org.springframework.stereotype.Component;
  26. import sun.rmi.runtime.Log;
  27. import java.nio.charset.StandardCharsets;
  28. import java.util.Arrays;
  29. @Slf4j
  30. @Component
  31. public class OrderDownConsumer {
  32. @Autowired
  33. IncrementOrderImpl incrementOrder;
  34. @Autowired
  35. DownloadOrderImpl downloadOrder;
  36. @Autowired
  37. EntityOrderImpl entityOrder;
  38. @Autowired
  39. IIncrementAutoOrderService autoOrderService;
  40. @Autowired
  41. IProductOrderService productOrderService;
  42. @RabbitListener(
  43. queuesToDeclare = @Queue("${queue.orderPay.order-payResult:order-payResult}")
  44. ,concurrency = "1"
  45. )
  46. public void consumerQueue(Channel channel, Message message) {
  47. try {
  48. String messageId = message.getMessageProperties().getMessageId();
  49. String msg = new String(message.getBody(), StandardCharsets.UTF_8);
  50. log.info("接受下单结果mq--messageId:{},msg:{}",messageId,msg);
  51. channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
  52. PayOrderVo order = JSONObject.parseObject(msg, PayOrderVo.class);
  53. if(order == null ){
  54. return;
  55. }
  56. if(order.getAutoPay() != null && order.getAutoPay() == 1){
  57. autoOrderService.subOrder(order.getOrderSn(),order.getTradeNo());
  58. return;
  59. }
  60. //更新订单状态
  61. Integer payType = 3;
  62. //付款方式,0表示微信,1表示支付宝,2表示paypal,3表示其他
  63. switch (order.getPayType()){
  64. case 0 : case 1: case 2: payType = 0;break;
  65. case 3 : case 4: payType = 1;break;
  66. case 5 : payType = 2;break;
  67. }
  68. if(order.getPayStatus() != 1){
  69. log.info("order-payResult----支付失败:{}",order);
  70. return;
  71. }
  72. if("incrementOrder".equals(order.getOrderType())){
  73. incrementOrder.handleOrder(order.getOrderSn(),order.getTradeNo(),order.getOpenId(),payType,null);
  74. }
  75. if("downOrder".equals(order.getOrderType())){
  76. downloadOrder.handleOrder(order.getOrderSn(),order.getTradeNo(),order.getOpenId(),payType,null);
  77. }
  78. if("partOrder".equals(order.getOrderType())){
  79. entityOrder.handleOrder(order.getOrderSn(),order.getTradeNo(),order.getOpenId(),payType,null);
  80. }
  81. if("cooperationOrder".equals(order.getOrderType())){
  82. productOrderService.handleOrder(order.getOrderSn(),order.getTradeNo(),order.getOpenId(),payType);
  83. }
  84. }catch (Exception e){
  85. log.info("order-payResult----消费失败",e);
  86. }finally {
  87. }
  88. }
  89. }