This commit is contained in:
shahaibo
2024-04-02 10:15:35 +08:00
parent 737ec594fd
commit 782a4f9976
4 changed files with 20 additions and 5 deletions

View File

@@ -42,8 +42,8 @@ public class ThirdPartyController {
@CrossOrigin
@ApiOperation(value = "Add user information")
@PostMapping("/addTrialUser")
public Response<Boolean> addTrialUser(@RequestBody AccountTrialDTO accountTrialDTO) {
return Response.success(accountService.addTrialUser(accountTrialDTO));
public Response<Boolean> addTrialUser(@RequestBody AccountTrialDTO accountTrialDTO, HttpServletRequest request) {
return Response.success(accountService.addTrialUser(accountTrialDTO, request));
}
@CrossOrigin

View File

@@ -25,7 +25,7 @@ public class TrialOrder implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ApiModelProperty("surname")
@ApiModelProperty("title")
private String title;
@ApiModelProperty("surname")
@@ -64,4 +64,5 @@ public class TrialOrder implements Serializable {
*/
private Integer status;
private Integer isDeleted;
private String ip;
}

View File

@@ -99,7 +99,7 @@ public interface AccountService extends IService<Account> {
Boolean completeGuidance();
Boolean addTrialUser(AccountTrialDTO accountTrialDTO);
Boolean addTrialUser(AccountTrialDTO accountTrialDTO, HttpServletRequest request);
IPage<TrialOrder> trialOrderList(TrialOrderDTO trialOrderDTO);

View File

@@ -466,7 +466,20 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
}
@Override
public Boolean addTrialUser(AccountTrialDTO accountTrialDTO) {
public Boolean addTrialUser(AccountTrialDTO accountTrialDTO, HttpServletRequest request) {
// 获取用户申请试用IP
String ipAddress = RequestInfoUtil.getIpAddress(request);
// 先检测试用订单
QueryWrapper<TrialOrder> trialOrderQueryWrapper = new QueryWrapper<>();
trialOrderQueryWrapper.lambda().eq(TrialOrder::getIp, ipAddress);
trialOrderQueryWrapper.lambda().and(wrapper ->
wrapper.eq(TrialOrder::getEmail, accountTrialDTO.getEmail())
.or() // OR
.like(TrialOrder::getUserName, accountTrialDTO.getUserName()));
List<TrialOrder> trialOrders = trialOrderMapper.selectList(trialOrderQueryWrapper);
if (CollectionUtil.isNotEmpty(trialOrders)) {
throw new BusinessException("You have submitted a trial application, please wait for approval.");
}
// 先检测用户名和邮箱
QueryWrapper<Account> qw = new QueryWrapper<>();
qw.lambda().eq(Account::getUserEmail, accountTrialDTO.getEmail())
@@ -487,6 +500,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
TrialOrder trialOrder = CopyUtil.copyObject(accountTrialDTO, TrialOrder.class);
trialOrder.setCreateTime(LocalDateTime.now());
trialOrder.setStatus(0);
trialOrder.setIp(ipAddress);
trialOrderMapper.insert(trialOrder);
SendEmailUtil.sendCustomEmail("1023316923@qq.com", null, trialOrder,1);
SendEmailUtil.sendCustomEmail("calvinwong@aidlab.hk", null, trialOrder,1);