lyhzzz 1 gadu atpakaļ
vecāks
revīzija
8a7edd5c90

+ 20 - 1
README.md

@@ -1 +1,20 @@
-v1.0.0
+#**个人中心**
+
+###**国际服paypal-auto-pay** 
+~~~~
+1. /ucenter/user/order/incrementOrder  修改
+    添加参数 autoPay 0 不开启,1开启
+
+2.GET  /ucenter/user/increment/cancelSubscription/{incrementId} 取消订阅接口
+
+3./ucenter/user/increment/findIncrementList 添加返回
+    subscriptionOrder  自动订阅订单号,有则表示开启自动订阅,无则未开
+    
+3.数据库添加字段
+    
+    ALTER TABLE `4dkankan_v4`.`t_increment_order` 
+    ADD COLUMN `auto_pay` int NULL DEFAULT 0 COMMENT '是否开启自动订阅0否,1是' AFTER `time_zone_off`;
+
+    ALTER TABLE `4dkankan_v4`.`t_user_increment` 
+    ADD COLUMN `subscription_order` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '自动订阅订单号' AFTER `agent_id`;
+~~~~

+ 8 - 0
src/main/java/com/fdkankan/ucenter/controller/IncrementController.java

@@ -1,5 +1,7 @@
 package com.fdkankan.ucenter.controller;
 
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.ucenter.common.BaseController;
@@ -79,4 +81,10 @@ public class IncrementController extends BaseController {
         responseUserIncrement.setCreateStr(DateUserUtil.getDayTime(responseUserIncrement.getCreateTime()));
         return Result.success(userIncrementEntity);
     }
+
+    @GetMapping("/cancelSubscription/{incrementId}")
+    public Result cancelSubscription(@PathVariable Integer incrementId){
+        userIncrementService.cancelSubscription(incrementId);
+        return Result.success();
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/entity/IncrementOrder.java

@@ -129,5 +129,7 @@ public class IncrementOrder implements Serializable {
     @TableField("time_zone_off")
     private Integer timeZoneOff;
 
+    @TableField("auto_pay")
+    private Integer autoPay;
 
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/entity/UserIncrement.java

@@ -107,4 +107,7 @@ public class UserIncrement implements Serializable {
     @TableField("agent_id")
     private Integer agentId;
 
+    @TableField("subscription_order")
+    private String subscriptionOrder;
+
 }

+ 6 - 0
src/main/java/com/fdkankan/ucenter/httpClient/client/PayClient.java

@@ -8,6 +8,7 @@ import com.fdkankan.ucenter.httpClient.address.PayAddressSource;
 import com.fdkankan.ucenter.httpClient.param.PayOrderParam;
 import com.fdkankan.ucenter.httpClient.param.SSDownSceneParam;
 import com.fdkankan.ucenter.httpClient.param.SsBindParam;
+import org.springframework.web.bind.annotation.GetMapping;
 
 import java.util.List;
 import java.util.Map;
@@ -31,5 +32,10 @@ public interface PayClient {
     @Get("/service/pay/order/info/{orderSn}")
     ResultData queryOrder(@Var("orderSn")String orderSn);
 
+    /**
+     * paypal取消订阅
+     */
+    @Get("/service/pay/paypal/cancel/{orderSn}")
+    ResultData cancelSubscription(@Var("orderSn")String orderSn);
 
 }

+ 6 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -66,7 +66,9 @@ public class IncrementOrderImpl implements OrderStrategy {
                     userIncrementEntity.setIsExpired(0);
                     userIncrementEntity.setIncrementTypeId(responseIncrementOrder.getIncrementType());
                     userIncrementEntity.setMemberLevels(responseIncrementOrder.getMemberLevels());
-
+                    if(responseIncrementOrder.getAutoPay() == 1){
+                        userIncrementEntity.setSubscriptionOrder(responseIncrementOrder.getOrderSn());
+                    }
                     userIncrementService.save(userIncrementEntity);
                 }
             }
@@ -77,6 +79,9 @@ public class IncrementOrderImpl implements OrderStrategy {
             userIncrementEntity.setOrderSn(userIncrementEntity.getOrderSn() + "," + orderSn);
             userIncrementEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
             userIncrementEntity.setIsExpired(0);
+            if(responseIncrementOrder.getAutoPay() == 1){
+                userIncrementEntity.setSubscriptionOrder(responseIncrementOrder.getOrderSn());
+            }
             userIncrementService.updateById(userIncrementEntity);
 
             if(userIncrementEntity.getAgentId() != null){

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/IUserIncrementService.java

@@ -52,4 +52,6 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     void delay(UserIncrement increment);
 
     void cancelSubscriptions(UserIncrement increment);
+
+    void cancelSubscription(Integer incrementId);
 }

+ 1 - 0
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -191,6 +191,7 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         incrementOrderEntity.setIncrementType(incrementType.getId());
         incrementOrderEntity.setMonthQy(param.getMonthQy());
         incrementOrderEntity.setTimeZoneOff(param.getTimeZoneOff());
+        incrementOrderEntity.setAutoPay(param.getAutoPay());
         if(incrementType.getValidTimeType() == 0){
             incrementOrderEntity.setMemberLevels("PR");
         }

+ 16 - 1
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -5,6 +5,7 @@ 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;
@@ -17,6 +18,7 @@ import com.fdkankan.ucenter.common.constants.NacosProperty;
 import com.fdkankan.ucenter.constant.CameraConstant;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
+import com.fdkankan.ucenter.httpClient.client.PayClient;
 import com.fdkankan.ucenter.mapper.IUserIncrementMapper;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -440,7 +442,20 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     public void cancelSubscriptions(UserIncrement increment) {
         LambdaUpdateWrapper<UserIncrement> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(UserIncrement::getId,increment.getId());
-
+        wrapper.set(UserIncrement::getSubscriptionOrder,null);
         this.update(wrapper);
     }
+
+    @Autowired
+    PayClient payClient;
+
+    @Override
+    public void cancelSubscription(Integer incrementId) {
+        UserIncrement userIncrement = this.getById(incrementId);
+        if(userIncrement == null){
+            throw new BusinessException(ErrorCode.VALUE_NOT_EXIST);
+        }
+        this.cancelSubscriptions(userIncrement);
+        payClient.cancelSubscription(userIncrement.getSubscriptionOrder());
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/response/UserIncrementVo.java

@@ -52,6 +52,8 @@ public class UserIncrementVo  {
     private String memberLevels;
     private Integer monthQy;
 
+    private String subscriptionOrder;
+
 
     public String getIncrementStartStr() {
         return DateUserUtil.getDayTime(incrementStartTime);