IncrementAutoOrderServiceImpl.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package com.fdkankan.ucenter.service.impl;
  2. import java.util.List;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  5. import com.fdkankan.ucenter.entity.IncrementAutoOrder;
  6. import com.fdkankan.ucenter.entity.User;
  7. import com.fdkankan.ucenter.entity.UserIncrement;
  8. import com.fdkankan.ucenter.mapper.IIncrementAutoOrderMapper;
  9. import com.fdkankan.ucenter.pay.paypal.sdk.AutoPaypalVo;
  10. import com.fdkankan.ucenter.pay.strategy.impl.IncrementOrderImpl;
  11. import com.fdkankan.ucenter.service.*;
  12. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. /**
  16. * <p>
  17. * 服务实现类
  18. * </p>
  19. *
  20. * @author
  21. * @since 2023-11-09
  22. */
  23. @Service
  24. public class IncrementAutoOrderServiceImpl extends ServiceImpl<IIncrementAutoOrderMapper, IncrementAutoOrder> implements IIncrementAutoOrderService {
  25. @Autowired
  26. IUserIncrementService userIncrementService;
  27. @Autowired
  28. IIncrementOrderService incrementOrderService;
  29. @Autowired
  30. IncrementOrderImpl incrementOrder;
  31. @Autowired
  32. IMailTemplateService mailTemplateService;
  33. @Autowired
  34. IUserService userService;
  35. @Override
  36. public void addOrder(Long userId, Integer incrementTypeId, Long incrementId, String orderSn,String agentKey) {
  37. IncrementAutoOrder autoOrder = new IncrementAutoOrder();
  38. autoOrder.setUserId(userId);
  39. autoOrder.setIncrementTypeId(incrementTypeId);
  40. autoOrder.setUserIncrementId(incrementId);
  41. autoOrder.setOrderSn(orderSn);
  42. autoOrder.setAgentKey(agentKey);
  43. this.save(autoOrder);
  44. }
  45. @Override
  46. public IncrementAutoOrder getByIncrementId(Long incrementId) {
  47. LambdaQueryWrapper<IncrementAutoOrder> wrapper = new LambdaQueryWrapper<>();
  48. wrapper.eq(IncrementAutoOrder::getUserIncrementId,incrementId);
  49. return this.getOne(wrapper);
  50. }
  51. @Override
  52. public void subOrder(String orderSn,String subscriptionId) {
  53. LambdaUpdateWrapper<IncrementAutoOrder> wrapper = new LambdaUpdateWrapper<>();
  54. wrapper.eq(IncrementAutoOrder::getOrderSn,orderSn);
  55. wrapper.set(IncrementAutoOrder::getSubscriptionId,subscriptionId);
  56. this.update(wrapper);
  57. }
  58. @Override
  59. public IncrementAutoOrder getBySubId(String subscriptionId) {
  60. LambdaUpdateWrapper<IncrementAutoOrder> wrapper = new LambdaUpdateWrapper<>();
  61. wrapper.eq(IncrementAutoOrder::getSubscriptionId,subscriptionId);
  62. return this.getOne(wrapper);
  63. }
  64. @Override
  65. public void paySuccess(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order) throws Exception {
  66. incrementOrderService.addNewOrderByOrder(incrementAutoOrder,order);
  67. incrementOrder.handleOrder(order.getOrderSn(),order.getTradeNo(),order.getOrderSn(),2,null);
  68. }
  69. @Override
  70. public void payError(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order) {
  71. User user = userService.getById(incrementAutoOrder.getUserId());
  72. if(user != null){
  73. List<UserIncrement> userIncrements = userIncrementService.getByAutoOrderSn(order.getSubscriptionId());
  74. if(userIncrements.size() >0){
  75. mailTemplateService.sendPayErrorMail(user.getUserName(),userIncrements.get(0).getMemberLevels());
  76. }
  77. }
  78. }
  79. @Override
  80. public void subscriptionCancelled(IncrementAutoOrder incrementAutoOrder, AutoPaypalVo order) {
  81. List<UserIncrement> userIncrements = userIncrementService.getByAutoOrderSn(order.getSubscriptionId());
  82. for (UserIncrement increment : userIncrements) {
  83. userIncrementService.cancelSubscriptions(increment);
  84. User user = userService.getById(increment.getUserId());
  85. if(user != null){
  86. mailTemplateService.sendSubcriptionCancelledMail(user.getUserName(),increment.getMemberLevels());
  87. }
  88. }
  89. this.removeById(incrementAutoOrder.getId());
  90. }
  91. @Override
  92. public void setIncrementId(IncrementAutoOrder incrementAutoOrder, Long incrmentId) {
  93. if(incrementAutoOrder != null){
  94. LambdaUpdateWrapper<IncrementAutoOrder> wrapper = new LambdaUpdateWrapper<>();
  95. wrapper.eq(IncrementAutoOrder::getId,incrementAutoOrder.getId());
  96. wrapper.set(IncrementAutoOrder::getUserIncrementId,incrmentId);
  97. this.update(wrapper);
  98. }
  99. }
  100. @Override
  101. public void delByIncrementId(Long incrementId) {
  102. LambdaUpdateWrapper<IncrementAutoOrder> wrapper = new LambdaUpdateWrapper<>();
  103. wrapper.eq(IncrementAutoOrder::getUserIncrementId,incrementId);
  104. this.remove(wrapper);
  105. }
  106. @Override
  107. public IncrementAutoOrder getByOrderSn(String orderSn) {
  108. LambdaUpdateWrapper<IncrementAutoOrder> wrapper = new LambdaUpdateWrapper<>();
  109. wrapper.eq(IncrementAutoOrder::getOrderSn,orderSn);
  110. List<IncrementAutoOrder> list = this.list(wrapper);
  111. if(list == null || list.size()<=0){
  112. return null;
  113. }
  114. return list.get(0);
  115. }
  116. @Override
  117. public IncrementAutoOrder getDelOrder(String subscriptionOrderSn) {
  118. return getBaseMapper().getDelOrder(subscriptionOrderSn);
  119. }
  120. @Override
  121. public void updateDelStatus(Integer id) {
  122. getBaseMapper().updateDelStatus(id);
  123. }
  124. }