BUGFIX:试用注册;

This commit is contained in:
shahaibo
2025-02-07 11:58:12 +08:00
parent e02c278e7a
commit e90979bbdc

View File

@@ -317,20 +317,38 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
QueryWrapper<AccountExtend> accountExtendQW = new QueryWrapper<>(); QueryWrapper<AccountExtend> accountExtendQW = new QueryWrapper<>();
accountExtendQW.lambda().eq(AccountExtend::getAccountId, userHolder.getId()); accountExtendQW.lambda().eq(AccountExtend::getAccountId, userHolder.getId());
accountExtendQW.lambda().eq(AccountExtend::getAuthType, "Wechat"); accountExtendQW.lambda().eq(AccountExtend::getAuthType, "Wechat");
AccountExtend accountExtend = accountExtendMapper.selectOne(accountExtendQW); List<AccountExtend> accountExtends = accountExtendMapper.selectList(accountExtendQW);
accountExtend.setAccountId(accountOld.getId()); if (CollectionUtil.isNotEmpty(accountExtends)) {
accountExtendMapper.updateById(accountExtend); AccountExtend accountExtend = accountExtends.get(0);
accountExtend.setAccountId(accountOld.getId());
accountExtendMapper.updateById(accountExtend);
accountMapper.deleteById(userHolder.getId()); accountMapper.deleteById(userHolder.getId());
String token = LocalCacheUtils.getTokenCache(String.valueOf(accountOld.getId())); String token = LocalCacheUtils.getTokenCache(String.valueOf(accountOld.getId()));
if (StringUtils.isNotBlank(token)) { if (StringUtils.isNotBlank(token)) {
//用户已登入 //用户已登入
result.setToken(token); result.setToken(token);
} else { } else {
result.setToken(createAccountToken(accountOld)); result.setToken(createAccountToken(accountOld));
}
return result;
}else {
accountOld.setSystemUser(3);
accountOld.setIsTrial(1);
accountOld.setCredits(BigDecimal.valueOf(100));
accountOld.setValidEndTime(toDayEnd(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli()));
accountOld.setUpdateDate(new Date());
accountMapper.updateById(accountOld);
TrialOrder trialOrder = CopyUtil.copyObject(accountOld, TrialOrder.class);
trialOrder.setEmail(accountOld.getUserEmail());
trialOrder.setCreateTime(LocalDateTime.now());
trialOrder.setStatus(1);
// 获取用户申请试用IP
String ipAddress = RequestInfoUtil.getIpAddress(request);
trialOrder.setIp(ipAddress);
trialOrderMapper.insert(trialOrder);
} }
return result;
} }
Account accountNew = accountMapper.selectById(userHolder.getId()); Account accountNew = accountMapper.selectById(userHolder.getId());
accountNew.setUserEmail(accountBindEmailDTO.getUserEmail()); accountNew.setUserEmail(accountBindEmailDTO.getUserEmail());