优化:listAdminsByPhoneAll接口,查询仅一条记录则返回登录信息

This commit is contained in:
2025-04-12 17:18:07 +08:00
parent 17cb50b815
commit d2a92d7cde

View File

@@ -18,10 +18,7 @@ import com.gxwebsoft.common.system.param.LoginParam;
import com.gxwebsoft.common.system.param.UserImportParam;
import com.gxwebsoft.common.system.param.UserParam;
import com.gxwebsoft.common.system.result.LoginResult;
import com.gxwebsoft.common.system.service.DictionaryDataService;
import com.gxwebsoft.common.system.service.OrganizationService;
import com.gxwebsoft.common.system.service.RoleService;
import com.gxwebsoft.common.system.service.UserService;
import com.gxwebsoft.common.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -33,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -58,6 +56,8 @@ public class UserController extends BaseController {
private DictionaryDataService dictionaryDataService;
@Resource
private ConfigProperties configProperties;
@Resource
private LoginRecordService loginRecordService;
@PreAuthorize("hasAuthority('sys:auth:user')")
@ApiOperation("分页查询用户")
@@ -539,8 +539,19 @@ public class UserController extends BaseController {
@PreAuthorize("hasAuthority('sys:auth:user')")
@ApiOperation("查询全部用户")
@GetMapping("/listAdminsByPhoneAll")
public ApiResult<List<User>> listAdminsByPhoneAll(LoginParam param){
return success(userService.getAdminsByPhone(param));
public ApiResult<?> listAdminsByPhoneAll(LoginParam param, HttpServletRequest request){
final List<User> adminsByPhone = userService.getAdminsByPhone(param);
if (adminsByPhone.size() == 1) {
// 设置过期时间
Long tokenExpireTime = configProperties.getTokenExpireTime();
final User user = adminsByPhone.get(0);
// 签发token
String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()),
tokenExpireTime, configProperties.getTokenKey());
loginRecordService.saveAsync(user.getUsername(), LoginRecord.TYPE_LOGIN, null, user.getTenantId(), request);
return success("登录成功", new LoginResult(access_token, user));
}
return success(adminsByPhone);
}
@PreAuthorize("hasAuthority('sys:user:pageAll')")