mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-08-02 21:50:43 +08:00
Complete team user code
This commit is contained in:
@ -45,7 +45,11 @@ public abstract class TeamConverter {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public abstract TeamDO param2do(TeamCreateParam param);
|
||||
@Mappings({
|
||||
@Mapping(target = "createUserId", source = "userId"),
|
||||
@Mapping(target = "modifiedUserId", source = "userId"),
|
||||
})
|
||||
public abstract TeamDO param2do(TeamCreateParam param, Long userId);
|
||||
|
||||
/**
|
||||
* convert
|
||||
@ -53,7 +57,10 @@ public abstract class TeamConverter {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public abstract TeamDO param2do(TeamUpdateParam param);
|
||||
@Mappings({
|
||||
@Mapping(target = "modifiedUserId", source = "userId"),
|
||||
})
|
||||
public abstract TeamDO param2do(TeamUpdateParam param, Long userId);
|
||||
|
||||
/**
|
||||
* Fill in detailed information
|
||||
|
@ -2,6 +2,7 @@ package ai.chat2db.server.domain.core.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
|
||||
import ai.chat2db.server.domain.api.model.Team;
|
||||
import ai.chat2db.server.domain.api.param.team.TeamCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.team.TeamPageQueryParam;
|
||||
@ -15,6 +16,9 @@ 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.ListResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
import ai.chat2db.server.tools.common.exception.DataAlreadyExistsBusinessException;
|
||||
import ai.chat2db.server.tools.common.exception.ParamBusinessException;
|
||||
import ai.chat2db.server.tools.common.util.ContextUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -70,14 +74,26 @@ public class TeamServiceImpl implements TeamService {
|
||||
|
||||
@Override
|
||||
public DataResult<Long> create(TeamCreateParam param) {
|
||||
TeamDO data = teamConverter.param2do(param);
|
||||
LambdaQueryWrapper<TeamDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(TeamDO::getCode, param.getCode());
|
||||
Page<TeamDO> page = new Page<>(1, 1);
|
||||
page.setSearchCount(false);
|
||||
IPage<TeamDO> iPage = teamMapper.selectPage(page, queryWrapper);
|
||||
if (CollectionUtils.isNotEmpty(iPage.getRecords())) {
|
||||
throw new DataAlreadyExistsBusinessException("code", param.getCode());
|
||||
}
|
||||
if (RoleCodeEnum.DESKTOP.getCode().equals(param.getRoleCode())) {
|
||||
throw new ParamBusinessException("roleCode");
|
||||
}
|
||||
|
||||
TeamDO data = teamConverter.param2do(param, ContextUtils.getUserId());
|
||||
teamMapper.insert(data);
|
||||
return DataResult.of(data.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataResult<Long> update(TeamUpdateParam param) {
|
||||
TeamDO data = teamConverter.param2do(param);
|
||||
TeamDO data = teamConverter.param2do(param, ContextUtils.getUserId());
|
||||
teamMapper.updateById(data);
|
||||
return DataResult.of(data.getId());
|
||||
}
|
||||
|
@ -18,6 +18,8 @@ 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.ListResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
import ai.chat2db.server.tools.common.exception.DataAlreadyExistsBusinessException;
|
||||
import ai.chat2db.server.tools.common.exception.ParamBusinessException;
|
||||
import cn.hutool.crypto.digest.DigestUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -86,17 +88,21 @@ public class UserServiceImpl implements UserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataResult<Long> update(UserUpdateParam user) {
|
||||
if (RoleCodeEnum.DESKTOP.getDefaultUserId().equals(user.getId())) {
|
||||
public DataResult<Long> update(UserUpdateParam param) {
|
||||
if (RoleCodeEnum.DESKTOP.getDefaultUserId().equals(param.getId())) {
|
||||
throw new BusinessException("user.canNotOperateSystemAccount");
|
||||
}
|
||||
DbhubUserDO data = userConverter.param2do(user);
|
||||
if (RoleCodeEnum.DESKTOP.getCode().equals(param.getRoleCode())) {
|
||||
throw new ParamBusinessException("roleCode");
|
||||
}
|
||||
|
||||
DbhubUserDO data = userConverter.param2do(param);
|
||||
if (Objects.nonNull(data.getPassword())) {
|
||||
String bcryptPassword = DigestUtil.bcrypt(data.getPassword());
|
||||
data.setPassword(bcryptPassword);
|
||||
}
|
||||
|
||||
if (RoleCodeEnum.ADMIN.getDefaultUserId().equals(user.getId())) {
|
||||
if (RoleCodeEnum.ADMIN.getDefaultUserId().equals(param.getId())) {
|
||||
data.setStatus(null);
|
||||
data.setEmail(null);
|
||||
data.setUserName(null);
|
||||
@ -116,8 +122,23 @@ public class UserServiceImpl implements UserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataResult<Long> create(UserCreateParam user) {
|
||||
DbhubUserDO data = userConverter.param2do(user);
|
||||
public DataResult<Long> create(UserCreateParam param) {
|
||||
LambdaQueryWrapper<DbhubUserDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.and(wrapper -> wrapper.eq(DbhubUserDO::getUserName, param.getUserName())
|
||||
.or()
|
||||
.eq(DbhubUserDO::getEmail, param.getEmail()));
|
||||
Page<DbhubUserDO> page = new Page<>(1, 1);
|
||||
page.setSearchCount(false);
|
||||
IPage<DbhubUserDO> iPage = dbhubUserMapper.selectPage(page, queryWrapper);
|
||||
if (CollectionUtils.isNotEmpty(iPage.getRecords())) {
|
||||
throw new DataAlreadyExistsBusinessException("userName or email",
|
||||
param.getUserName() + " or " + param.getEmail());
|
||||
}
|
||||
if (RoleCodeEnum.DESKTOP.getCode().equals(param.getRoleCode())) {
|
||||
throw new ParamBusinessException("roleCode");
|
||||
}
|
||||
|
||||
DbhubUserDO data = userConverter.param2do(param);
|
||||
String bcryptPassword = DigestUtil.bcrypt(data.getPassword());
|
||||
data.setPassword(bcryptPassword);
|
||||
dbhubUserMapper.insert(data);
|
||||
|
Reference in New Issue
Block a user