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 @CrossOrigin
@ApiOperation(value = "Add user information") @ApiOperation(value = "Add user information")
@PostMapping("/addTrialUser") @PostMapping("/addTrialUser")
public Response<Boolean> addTrialUser(@RequestBody AccountTrialDTO accountTrialDTO) { public Response<Boolean> addTrialUser(@RequestBody AccountTrialDTO accountTrialDTO, HttpServletRequest request) {
return Response.success(accountService.addTrialUser(accountTrialDTO)); return Response.success(accountService.addTrialUser(accountTrialDTO, request));
} }
@CrossOrigin @CrossOrigin

View File

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

View File

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

View File

@@ -466,7 +466,20 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
} }
@Override @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<>(); QueryWrapper<Account> qw = new QueryWrapper<>();
qw.lambda().eq(Account::getUserEmail, accountTrialDTO.getEmail()) 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 trialOrder = CopyUtil.copyObject(accountTrialDTO, TrialOrder.class);
trialOrder.setCreateTime(LocalDateTime.now()); trialOrder.setCreateTime(LocalDateTime.now());
trialOrder.setStatus(0); trialOrder.setStatus(0);
trialOrder.setIp(ipAddress);
trialOrderMapper.insert(trialOrder); trialOrderMapper.insert(trialOrder);
SendEmailUtil.sendCustomEmail("1023316923@qq.com", null, trialOrder,1); SendEmailUtil.sendCustomEmail("1023316923@qq.com", null, trialOrder,1);
SendEmailUtil.sendCustomEmail("calvinwong@aidlab.hk", null, trialOrder,1); SendEmailUtil.sendCustomEmail("calvinwong@aidlab.hk", null, trialOrder,1);