|
@@ -284,12 +284,20 @@ public class AppStoreServiceImpl implements AppStoreService {
|
|
|
String newUserId = equityVerificationDTO.getUserId();
|
|
|
if (newUserId.equals(oldUserId)) {
|
|
|
// 当前用户绑定,不用处理,直接返回用户信息
|
|
|
+ log.info("当前用户绑定,不用处理");
|
|
|
UserInfoVO result = userApi.getInfoById(equityVerificationDTO.getUserId()).getResult();
|
|
|
result.setDigestPassword(null);
|
|
|
return result;
|
|
|
}
|
|
|
- // 判断当前票据restore次数
|
|
|
+ SubscriptionsVO subscription = subscriptionsService.getSubscriptionBySubscriptionId(orderByThirdOrderNo.getSubscriptionId());
|
|
|
+ if (null != subscription.getIsLock() && 1 == subscription.getIsLock()) {
|
|
|
+ log.info("当前票据已封锁");
|
|
|
+ // 已封锁的抛出
|
|
|
+ throw new BackendRuntimeException(ExceptionEnum.EXCEPTION_TICKET_HAS_BEEN_BLOCKED);
|
|
|
+ }
|
|
|
+ // 判断当前票据restore次数(不统计解封前的)
|
|
|
List<RestorePurchaseLogs> byOrderReceipt = restorePurchaseLogsService.getByOrderReceipt(equityVerificationDTO.getReceipt());
|
|
|
+ Integer isLock = 0;
|
|
|
Integer restoreTypeNew = 0;
|
|
|
if (CollectionUtils.isNotEmpty(byOrderReceipt)) {
|
|
|
RestorePurchaseLogs restorePurchaseLogs = byOrderReceipt.stream().max(Comparator.comparing(RestorePurchaseLogs::getCreatedAt)).orElse(null);
|
|
@@ -300,6 +308,7 @@ public class AppStoreServiceImpl implements AppStoreService {
|
|
|
log.info("当前票据已发送警告邮件");
|
|
|
// 警告的再次restore即封锁
|
|
|
restoreTypeNew = 2;
|
|
|
+ isLock = 1;
|
|
|
}
|
|
|
if (2 == restoreType) {
|
|
|
log.info("当前票据已封锁");
|
|
@@ -332,7 +341,6 @@ public class AppStoreServiceImpl implements AppStoreService {
|
|
|
userSubscriptionInfoApi.update(info);
|
|
|
|
|
|
// 新增新用户的订阅
|
|
|
- SubscriptionsVO subscription = subscriptionsService.getSubscriptionBySubscriptionId(orderByThirdOrderNo.getSubscriptionId());
|
|
|
CreateSubscriptionDTO createSubscription = new CreateSubscriptionDTO();
|
|
|
createSubscription.setUserId(newUserId);
|
|
|
String subscriptionId = CommonUtils.generateId();
|
|
@@ -348,6 +356,7 @@ public class AppStoreServiceImpl implements AppStoreService {
|
|
|
createSubscription.setSubscriptionType(SubscriptionTypeEnum.MEMBER.value());//如果是0则是试用
|
|
|
createSubscription.setEndDate(MyDateUtils.dateToLocalDateTime(subscription.getEndDate()));
|
|
|
createSubscription.setStartDate(MyDateUtils.dateToLocalDateTime(subscription.getStartDate()));
|
|
|
+ createSubscription.setIsLock(isLock);
|
|
|
subscriptionsService.createSubscription(createSubscription);
|
|
|
// 更新订单
|
|
|
OrderSucceededBO orderSucceeded = OrderSucceededBO.builder()
|