BUGFIX:试用订单;

This commit is contained in:
shahaibo
2024-04-09 11:55:15 +08:00
parent a016f16052
commit 95aee1daae
4 changed files with 19 additions and 4 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

@@ -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

@@ -102,7 +102,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

@@ -468,7 +468,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())
@@ -489,6 +502,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);