zoujiajian 1 год назад
Родитель
Сommit
7cc5806b07

+ 19 - 0
netflix-service/src/main/java/com/cyksj/server/recharge/impl/GptProxyRechargeServiceImpl.java

@@ -1,5 +1,7 @@
 package com.cyksj.server.recharge.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.json.JSONObject;
@@ -24,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -320,9 +323,25 @@ public class GptProxyRechargeServiceImpl implements GptProxyRechargeService {
 						return;
 					}
 				}
+				Date startTime = relation.getStartTime();
+				DateTime expiryTime = null;
+				if (rechargeStatus == GroupsRelation.RechargeStatus.complete && startTime == null) {
+					GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
+					if (groupsTrips != null) {
+						startTime = DateTime.now();
+						GoodsDonSku sku = skuMapper.selectById(groupsTrips.getSkuId());
+						if (sku.getDays() != null && sku.getDays() > 0) {
+							expiryTime = DateUtil.offsetDay(startTime, sku.getDays());
+						} else {
+							expiryTime = DateUtil.offsetMonth(startTime, sku.getMonths());
+						}
+					}
+				}
 				relationMapper.update(null, Wrappers.lambdaUpdate(GroupsRelation.class)
 						.set(rechargeStatus == GroupsRelation.RechargeStatus.recharge_error, GroupsRelation::getRechargeRemainNum, rechargeRemainNum + 1)
 						.set(GroupsRelation::getRechargeStatus, rechargeStatus)
+						.set(expiryTime != null, GroupsRelation::getStartTime, startTime)
+						.set(expiryTime != null, GroupsRelation::getExpiryTime, expiryTime)
 						.eq(GroupsRelation::getId, relation.getId())
 						.le(GroupsRelation::getRechargeRemainNum, relation.getRechargeNum())
 						.eq(GroupsRelation::getRechargeStatus, GroupsRelation.RechargeStatus.recharging));