EntityOrderImpl.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.fdkankan.ucenter.pay.strategy.impl;
  2. import com.fdkankan.ucenter.entity.Order;
  3. import com.fdkankan.ucenter.entity.OrderItem;
  4. import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
  5. import com.fdkankan.ucenter.pay.strategy.OrderStrategyFactory;
  6. import com.fdkankan.ucenter.service.IOrderItemService;
  7. import com.fdkankan.ucenter.service.IOrderService;
  8. import com.fdkankan.ucenter.vo.response.OrderItemVo;
  9. import lombok.extern.log4j.Log4j2;
  10. import org.springframework.beans.BeanUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Component;
  13. import java.util.List;
  14. @Log4j2
  15. @Component
  16. public class EntityOrderImpl implements OrderStrategy {
  17. @Autowired
  18. private IOrderService orderService;
  19. @Autowired
  20. private OrderStrategyFactory orderStrategyFactory;
  21. @Autowired
  22. private IOrderItemService orderItemService;
  23. @Override
  24. public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
  25. log.warn("购物支付处理....");
  26. Order orderEntity = orderService.getByOrderSnNoPay(orderSn);
  27. if (orderEntity == null) {
  28. log.error("找不到订单:" + orderSn);
  29. throw new Exception("找不到订单,out_trade_no错误");
  30. }
  31. boolean result = orderService.paySuccessEntityOrder(orderSn, tradeNo, paymentTypeName);
  32. if (!result){
  33. log.error("更新订单失败");
  34. throw new Exception("更新订单失败");
  35. }
  36. List<OrderItem> byOrderId = orderItemService.getByOrderId(orderEntity.getId());
  37. for (OrderItem orderItem : byOrderId){
  38. OrderItemVo orderItemVo = new OrderItemVo();
  39. BeanUtils.copyProperties(orderItem,orderItemVo);
  40. orderItemVo.setOpenid(openId);
  41. log.warn("orderStrategyFactory:"+orderStrategyFactory);
  42. orderStrategyFactory.doHandler(orderEntity.getUserId(), orderItemVo);
  43. }
  44. }
  45. @Override
  46. public String getType() {
  47. return "entity";
  48. }
  49. }