Kaynağa Gözat

自动订阅扣款方式

lyhzzz 1 yıl önce
ebeveyn
işleme
aa495fecdf

+ 2 - 0
src/main/java/com/fdkankan/ucenter/httpClient/vo/PayOrderVo.java

@@ -60,4 +60,6 @@ public class PayOrderVo {
 
     private Date payTime;
 
+    private Integer autoPay =0;
+
 }

+ 8 - 11
src/main/java/com/fdkankan/ucenter/mq/consumer/AutoOrderConsumer.java

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.mq.consumer;
 
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.ucenter.entity.IncrementOrder;
+import com.fdkankan.ucenter.entity.IncrementType;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.entity.UserIncrement;
 import com.fdkankan.ucenter.httpClient.vo.PayOrderVo;
@@ -9,10 +10,8 @@ import com.fdkankan.ucenter.pay.paypal.sdk.AutoPaypalVo;
 import com.fdkankan.ucenter.pay.strategy.impl.DownloadOrderImpl;
 import com.fdkankan.ucenter.pay.strategy.impl.EntityOrderImpl;
 import com.fdkankan.ucenter.pay.strategy.impl.IncrementOrderImpl;
-import com.fdkankan.ucenter.service.IIncrementOrderService;
-import com.fdkankan.ucenter.service.IMailTemplateService;
-import com.fdkankan.ucenter.service.IUserIncrementService;
-import com.fdkankan.ucenter.service.IUserService;
+import com.fdkankan.ucenter.service.*;
+import com.fdkankan.ucenter.util.DateUserUtil;
 import com.rabbitmq.client.Channel;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringEscapeUtils;
@@ -23,7 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.nio.charset.StandardCharsets;
+import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 @Slf4j
 @Component
@@ -36,6 +37,8 @@ public class AutoOrderConsumer {
     IMailTemplateService mailTemplateService;
     @Autowired
     IUserService userService;
+    @Autowired
+    IncrementOrderImpl incrementOrder;
 
 
     @RabbitListener(
@@ -55,19 +58,13 @@ public class AutoOrderConsumer {
             }
 
             List<UserIncrement> increments = userIncrementService.getByAutoOrderSn(order.getOrderSn());
-            if(increments == null || increments.size()<=0){
-                log.info("autoPaypal-result-mq-userIncrementIsEmpty");
-                return;
-            }
 
             switch (order.getEventType()){
                 case "PAYMENT.SALE.COMPLETED" :     //每日扣款
                     //Enum: "completed" "partially_refunded" "pending" "refunded" "denied"
                     switch (order.getState()){
                         case "completed" :      //扣款完成
-                            for (UserIncrement increment : increments) {
-                                userIncrementService.delay(increment);
-                            }
+                            incrementOrder.handleOrder(order.getOrderSn(),order.getOrderSn(),order.getOrderSn(),2,null);
                             break;
                         case "partially_refunded" :
                             break;

+ 1 - 1
src/main/java/com/fdkankan/ucenter/mq/consumer/OrderDownConsumer.java

@@ -51,7 +51,7 @@ public class OrderDownConsumer {
             channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
 
             PayOrderVo order = JSONObject.parseObject(msg, PayOrderVo.class);
-            if(order == null){
+            if(order == null || order.getAutoPay() == 1){
                 return;
             }
             //更新订单状态

+ 2 - 9
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -52,14 +52,9 @@ public class IncrementOrderImpl implements OrderStrategy {
         }
         Integer expired = 0;
         Date date =  new Date();
-        if(responseIncrementOrder.getAutoPay() == 1){
-            expired = 1;
-        }
         if(responseIncrementOrder.getIncrementId() == null){
             //新的增值权益套餐方案
-            if(responseIncrementOrder.getAutoPay() != 1){
-                date = DateUserUtil.getDateTime(new Date(),incrementType,responseIncrementOrder.getMonthQy()).toDate();
-            }
+            date = DateUserUtil.getDateTime(new Date(),incrementType,responseIncrementOrder.getMonthQy()).toDate();
 
             if(responseIncrementOrder.getCount() > 0){
                 for(int i = 0, len = responseIncrementOrder.getCount(); i < len; i++){
@@ -80,9 +75,7 @@ public class IncrementOrderImpl implements OrderStrategy {
             }
         }else {
             userIncrementEntity = userIncrementService.getById(responseIncrementOrder.getIncrementId());
-            if(responseIncrementOrder.getAutoPay() != 1){
-                date = DateUserUtil.getDateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()),incrementType,responseIncrementOrder.getMonthQy()).toDate();
-            }
+            date = DateUserUtil.getDateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()),incrementType,responseIncrementOrder.getMonthQy()).toDate();
 
             userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date));
             userIncrementEntity.setOrderSn(userIncrementEntity.getOrderSn() + "," + orderSn);

+ 0 - 8
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -2,16 +2,11 @@ package com.fdkankan.ucenter.service.impl;
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
-import com.fdkankan.common.util.PatternUtils;
-import com.fdkankan.common.util.SecurityUtil;
-import com.fdkankan.sms.SendMailAcceUtils;
 import com.fdkankan.sms.SmsService;
-import com.fdkankan.ucenter.common.MailUtil;
 import com.fdkankan.ucenter.common.PageInfo;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.ucenter.common.ResultData;
@@ -27,14 +22,11 @@ import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.vo.request.IncrementParam;
 import com.fdkankan.ucenter.vo.response.UserIncrementVo;
 import jodd.util.StringUtil;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.ObjectUtils;
 
-import java.security.GeneralSecurityException;
 import java.util.*;
 import java.util.stream.Collectors;