diff --git a/src/main/java/com/sqx/modules/app/controller/app/AppController.java b/src/main/java/com/sqx/modules/app/controller/app/AppController.java index 183fdfd5..e495cf2e 100644 --- a/src/main/java/com/sqx/modules/app/controller/app/AppController.java +++ b/src/main/java/com/sqx/modules/app/controller/app/AppController.java @@ -183,7 +183,7 @@ public class AppController { return Result.error("实名修改失败: 每月可修改次数已用完,请联系管理员"); } AuthRespDTO resp = aliService.auth(certName, certNum, accountNo, mobile); - UserInfo userInfo = userInfoService.getByUserId(userId); + UserInfo userInfo = userInfoService.getByUserIdOrSave(userId); userInfo.setCertName(certName); userInfo.setCertNo(certNum); userInfo.setAccountNo(accountNo); diff --git a/src/main/java/com/sqx/modules/app/service/UserInfoService.java b/src/main/java/com/sqx/modules/app/service/UserInfoService.java index c50458ce..3b8c73f9 100644 --- a/src/main/java/com/sqx/modules/app/service/UserInfoService.java +++ b/src/main/java/com/sqx/modules/app/service/UserInfoService.java @@ -11,6 +11,7 @@ import java.util.List; * @createDate 2025-01-02 14:15:08 */ public interface UserInfoService extends IService { + UserInfo getByUserIdOrSave(long userId); UserInfo getByUserId(long userId); diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserInfoServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserInfoServiceImpl.java index cfc560ce..645b4044 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserInfoServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserInfoServiceImpl.java @@ -22,7 +22,7 @@ public class UserInfoServiceImpl extends ServiceImpl implements UserInfoService { @Override - public UserInfo getByUserId(long userId) { + public UserInfo getByUserIdOrSave(long userId) { UserInfo userInfo = getOne(new LambdaQueryWrapper() .eq(UserInfo::getUserId, userId)); if (userInfo == null) { @@ -33,6 +33,17 @@ public class UserInfoServiceImpl extends ServiceImpl return userInfo; } + @Override + public UserInfo getByUserId(long userId) { + UserInfo userInfo = getOne(new LambdaQueryWrapper() + .eq(UserInfo::getUserId, userId)); + if (userInfo == null) { + userInfo = new UserInfo(); + userInfo.setUserId(userId); + } + return userInfo; + } + @Override public boolean isAuth(long userId) { UserInfo userInfo = getOne(new LambdaQueryWrapper() diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java index 4a1ed2ea..c4267791 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java @@ -1670,7 +1670,7 @@ public class UserServiceImpl extends ServiceImpl implements throw new SqxException("用户信息不存在"); } - UserInfo userInfo = userInfoService.getByUserId(userId); + UserInfo userInfo = userInfoService.getByUserIdOrSave(userId); if (userInfo.getCertName() != null) { throw new SqxException("此账号已认证"); } @@ -1700,7 +1700,7 @@ public class UserServiceImpl extends ServiceImpl implements throw new SqxException("用户信息不存在"); } - UserInfo userInfo = userInfoService.getByUserId(userId); + UserInfo userInfo = userInfoService.getByUserIdOrSave(userId); if (StrUtil.isNotEmpty(userInfo.getCertName()) && StrUtil.isNotEmpty(userInfo.getAccountNo()) && StrUtil.isNotEmpty(userInfo.getMobile())) { throw new SqxException("此账号已认证"); } diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java index 6b655897..dafcac87 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -261,6 +261,8 @@ public class TempOrdersTask { .eq(InviteAchievement::getState, 1).select(InviteAchievement::getTargetUserId)).stream().map(InviteAchievement::getTargetUserId).collect(Collectors.toSet()); int count = 0; if (!byUserIdList.isEmpty()) { + List list = userInfoService.list(new LambdaQueryWrapper().in(UserInfo::getUserId, byUserIdList).isNotNull(UserInfo::getAccountNo).select(UserInfo::getCertNo)); + System.out.println(list.stream().map(UserInfo::getCertNo).collect(Collectors.toSet())); count = userInfoService.list(new LambdaQueryWrapper().in(UserInfo::getUserId, byUserIdList).isNotNull(UserInfo::getAccountNo).select(UserInfo::getCertNo)) .stream().map(UserInfo::getCertNo).collect(Collectors.toSet()).size(); }else {