Modify login interface

This commit is contained in:
JiaJu Zhuang
2023-08-19 16:39:43 +08:00
parent 9221564546
commit 7733406345
7 changed files with 89 additions and 7 deletions

View File

@ -0,0 +1,27 @@
package ai.chat2db.server.domain.api.param.team.user;
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Team User
*
* @author Jiaju Zhuang
*/
@Data
public class TeamUserPageQueryParam extends PageQueryParam {
/**
* 团队id
*/
@NotNull
private Long teamId;
/**
* 用户id
*/
@NotNull
private Long userId;
}

View File

@ -3,6 +3,7 @@ package ai.chat2db.server.domain.api.service;
import ai.chat2db.server.domain.api.model.TeamUser; import ai.chat2db.server.domain.api.model.TeamUser;
import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam; import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam; import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserPageQueryParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector; import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult; import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.DataResult; import ai.chat2db.server.tools.base.wrapper.result.DataResult;
@ -16,6 +17,15 @@ import jakarta.validation.constraints.NotNull;
*/ */
public interface TeamUserService { public interface TeamUserService {
/**
* Comprehensive Paging Query Data
*
* @param param
* @param selector
* @return
*/
PageResult<TeamUser> pageQuery(TeamUserPageQueryParam param, TeamUserSelector selector);
/** /**
* Comprehensive Paging Query Data * Comprehensive Paging Query Data
* *

View File

@ -5,6 +5,7 @@ import java.util.List;
import ai.chat2db.server.domain.api.model.TeamUser; import ai.chat2db.server.domain.api.model.TeamUser;
import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam; import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam; import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserPageQueryParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector; import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector;
import ai.chat2db.server.domain.api.service.TeamUserService; import ai.chat2db.server.domain.api.service.TeamUserService;
import ai.chat2db.server.domain.core.converter.TeamConverter; import ai.chat2db.server.domain.core.converter.TeamConverter;
@ -18,6 +19,7 @@ import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.PageResult; import ai.chat2db.server.tools.base.wrapper.result.PageResult;
import ai.chat2db.server.tools.common.util.ContextUtils; import ai.chat2db.server.tools.common.util.ContextUtils;
import ai.chat2db.server.tools.common.util.EasyCollectionUtils; import ai.chat2db.server.tools.common.util.EasyCollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -46,6 +48,24 @@ public class TeamUserServiceImpl implements TeamUserService {
@Resource @Resource
private TeamConverter teamConverter; private TeamConverter teamConverter;
@Override
public PageResult<TeamUser> pageQuery(TeamUserPageQueryParam param, TeamUserSelector selector) {
LambdaQueryWrapper<TeamUserDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TeamUserDO::getTeamId, param.getTeamId())
.eq(TeamUserDO::getUserId, param.getUserId())
;
Page<TeamUserDO> page = new Page<>(param.getPageNo(), param.getPageSize());
page.setSearchCount(param.getEnableReturnCount());
IPage<TeamUserDO> iPage = teamUserMapper.selectPage(page, queryWrapper);
List<TeamUser> list = teamUserConverter.do2dto(iPage.getRecords());
fillData(list, selector);
return PageResult.of(list, iPage.getTotal(), param);
}
@Override @Override
public PageResult<TeamUser> comprehensivePageQuery(TeamUserComprehensivePageQueryParam param, public PageResult<TeamUser> comprehensivePageQuery(TeamUserComprehensivePageQueryParam param,
TeamUserSelector selector) { TeamUserSelector selector) {

View File

@ -30,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
* @author Jiaju Zhuang * @author Jiaju Zhuang
*/ */
@RestController @RestController
@RequestMapping("/oauth") @RequestMapping("/api/oauth")
@Slf4j @Slf4j
public class OauthController { public class OauthController {

View File

@ -5,7 +5,6 @@ import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import ai.chat2db.server.tools.base.constant.EasyToolsConstant; import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
import ai.chat2db.server.tools.base.enums.OrderByDirectionEnum; import ai.chat2db.server.tools.base.enums.OrderByDirectionEnum;
@ -68,6 +67,14 @@ public class PageQueryParam implements Serializable {
this.pageSize = Integer.MAX_VALUE; this.pageSize = Integer.MAX_VALUE;
} }
/**
* 查询1条加速
*/
public void queryOne() {
this.pageNo = 1;
this.pageSize = 1;
}
/** /**
* 新增一个排序 并替换原有排序 * 新增一个排序 并替换原有排序
* *

View File

@ -160,7 +160,6 @@ public class PageResult<T> implements Serializable, Result<List<T>> {
return new PageResult<>(data, 0L, param.getPageNo(), param.getPageSize()); return new PageResult<>(data, 0L, param.getPageNo(), param.getPageSize());
} }
/** /**
* 构建空的返回对象 * 构建空的返回对象
* *
@ -223,6 +222,15 @@ public class PageResult<T> implements Serializable, Result<List<T>> {
return hasNextPage; return hasNextPage;
} }
/**
* 判断是否存在数据
*
* @return 是否存在数据
*/
public boolean hasData() {
return hasData(this);
}
/** /**
* 返回查询异常信息 * 返回查询异常信息
* *

View File

@ -6,6 +6,7 @@ import ai.chat2db.server.admin.api.controller.user.request.UserTeamPageCommonQue
import ai.chat2db.server.admin.api.controller.user.request.UserTeamBatchCreateRequest; import ai.chat2db.server.admin.api.controller.user.request.UserTeamBatchCreateRequest;
import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO; import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO;
import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam; import ai.chat2db.server.domain.api.param.team.user.TeamUserCreatParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserPageQueryParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector; import ai.chat2db.server.domain.api.param.team.user.TeamUserSelector;
import ai.chat2db.server.domain.api.service.TeamUserService; import ai.chat2db.server.domain.api.service.TeamUserService;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult; import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
@ -59,10 +60,19 @@ public class UserTeamAdminController {
@PostMapping("/batch_create") @PostMapping("/batch_create")
public ActionResult bacthCreate(@Valid @RequestBody UserTeamBatchCreateRequest request) { public ActionResult bacthCreate(@Valid @RequestBody UserTeamBatchCreateRequest request) {
request.getTeamIdList() request.getTeamIdList()
.forEach(teamId -> teamUserService.create(TeamUserCreatParam.builder() .forEach(teamId -> {
.teamId(teamId) TeamUserPageQueryParam teamUserPageQueryParam = new TeamUserPageQueryParam();
.userId(request.getUserId()) teamUserPageQueryParam.setTeamId(teamId);
.build())); teamUserPageQueryParam.setUserId(request.getUserId());
teamUserPageQueryParam.queryOne();
if (teamUserService.pageQuery(teamUserPageQueryParam, null).hasData()) {
return;
}
teamUserService.create(TeamUserCreatParam.builder()
.teamId(teamId)
.userId(request.getUserId())
.build());
});
return ActionResult.isSuccess(); return ActionResult.isSuccess();
} }