DownloadOrderImpl.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.fdkankan.ucenter.pay.strategy.impl;
  2. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import com.fdkankan.ucenter.common.constants.NacosProperty;
  5. import com.fdkankan.ucenter.entity.*;
  6. import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
  7. import com.fdkankan.ucenter.service.*;
  8. import lombok.extern.log4j.Log4j2;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Component;
  12. @Log4j2
  13. @Component
  14. public class DownloadOrderImpl implements OrderStrategy {
  15. @Autowired
  16. private IDownloadOrderService downloadOrderService;
  17. @Autowired
  18. private IUserService userService;
  19. @Autowired
  20. private IAgentNewLogService agentNewLogService;
  21. @Autowired
  22. ICameraTypeService cameraTypeService;
  23. @Override
  24. public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
  25. DownloadOrder downloadOrder = downloadOrderService.getByOrderSnNoPay(orderSn);
  26. if (downloadOrder == null) {
  27. log.error("找不到订单:" + orderSn);
  28. throw new Exception("找不到订单,out_trade_no错误");
  29. }
  30. // 更新场景下载订单
  31. boolean result = downloadOrderService.paySuccessDownloadOrder(orderSn, tradeNo, paymentTypeName);
  32. if (!result){
  33. log.error("更新增值权益订单失败");
  34. throw new Exception("更新增值权益订单失败");
  35. }
  36. agentNewLogService.addByOrder(downloadOrder);
  37. //更新用户下载次数
  38. LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
  39. wrapper.eq(User::getId,downloadOrder.getUserId());
  40. wrapper.setSql("download_num_total = download_num_total + " + downloadOrder.getCount());
  41. userService.update(wrapper);
  42. }
  43. @Override
  44. public String getType() {
  45. return "download";
  46. }
  47. }