TASK: 试用用户添加测试;

This commit is contained in:
shahaibo
2023-12-11 10:02:05 +08:00
parent 5300cec43d
commit 91993feee8
9 changed files with 284 additions and 7 deletions

View File

@@ -10,10 +10,13 @@ import com.ai.da.common.security.jwt.JWTTokenHelper;
import com.ai.da.common.utils.*;
import com.ai.da.mapper.AccountMapper;
import com.ai.da.mapper.LibraryMapper;
import com.ai.da.mapper.TrialOrderMapper;
import com.ai.da.mapper.UserLikeGroupMapper;
import com.ai.da.mapper.entity.Account;
import com.ai.da.mapper.entity.AccountLoginLog;
import com.ai.da.mapper.entity.TrialOrder;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.AutoApproved;
import com.ai.da.model.enums.Language;
import com.ai.da.model.vo.AccountLoginVO;
import com.ai.da.model.vo.AccountPreLoginVO;
@@ -33,6 +36,9 @@ import org.springframework.util.Assert;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -62,6 +68,9 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
@Resource
private UserLikeGroupService userLikeGroupService;
@Resource
private TrialOrderMapper trialOrderMapper;
@Override
@Transactional
@@ -453,9 +462,43 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
}
@Override
public Boolean addTrialUser(String userName, String email) {
System.out.println("试用用户测试成功");
log.info("试用用户测试成功");
public Boolean addTrialUser(AccountTrialDTO accountTrialDTO) {
// 先检测用户名和邮箱
QueryWrapper<Account> qw = new QueryWrapper<>();
qw.lambda().eq(Account::getUserEmail, accountTrialDTO.getEmail())
.or()
.eq(Account::getUserName, accountTrialDTO.getUserName());
List<Account> accountList = accountMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(accountList)) {
throw new BusinessException("The username or email has already been registered", ResultEnum.PROMPT.getCode());
}
// 接收到数据后要形成一条使用订单信息
TrialOrder trialOrder = CopyUtil.copyObject(accountTrialDTO, TrialOrder.class);
trialOrder.setCreateTime(LocalDateTime.now());
trialOrder.setStatus(0);
trialOrderMapper.insert(trialOrder);
// 判断当前的试用订单是否自动批准
if (AutoApproved.getStatus()) {
// 改变试用订单状态,新增试用用户
trialOrder.setStatus(1);
trialOrder.setUpdateTime(LocalDateTime.now());
trialOrderMapper.updateById(trialOrder);
Account account = new Account();
account.setUserName(trialOrder.getUserName());
account.setUserPassword("Third-000000");
account.setUserEmail(trialOrder.getEmail());
account.setLanguage(Language.ENGLISH.getValue());
account.setValidStartTime(System.currentTimeMillis());
account.setValidEndTime(Instant.now().plus(3, ChronoUnit.DAYS).toEpochMilli());
account.setCreateDate(new Date());
account.setIsTrial(1);
account.setIsBeginner(1);
accountMapper.insert(account);
// 发送邮件提醒用户试用用户已创建
// if (SendEmailUtil.sendCustomEmail("1023316923@qq.com", null, trialOrder,1)) {
// return Boolean.TRUE;
// }
}
return Boolean.TRUE;
}
}