mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-30 19:22:58 +08:00
Complete operation addition, deletion, modification, and check
This commit is contained in:
@ -79,4 +79,9 @@ public class Operation {
|
||||
* operation type
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
package ai.chat2db.server.domain.api.param.operation;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
package ai.chat2db.server.domain.api.param.operation;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
package ai.chat2db.server.domain.api.param.operation;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
|
@ -0,0 +1,27 @@
|
||||
package ai.chat2db.server.domain.api.param.operation;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.NonNull;
|
||||
|
||||
/**
|
||||
* query
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class OperationQueryParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NonNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@NonNull
|
||||
private Long userId;
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
package ai.chat2db.server.domain.api.param.operation;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ai.chat2db.server.domain.api.param;
|
||||
package ai.chat2db.server.domain.api.param.operation;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.model.OperationLog;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogCreateParam;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Operation;
|
||||
import ai.chat2db.server.domain.api.param.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationUpdateParam;
|
||||
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.PageResult;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 用户保存ddl
|
||||
@ -25,7 +25,7 @@ public interface OperationService {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Long> create(OperationSavedParam param);
|
||||
DataResult<Long> createWithPermission(OperationSavedParam param);
|
||||
|
||||
/**
|
||||
* 更新用户的ddl
|
||||
@ -33,7 +33,7 @@ public interface OperationService {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult update(OperationUpdateParam param);
|
||||
ActionResult updateWithPermission(OperationUpdateParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
@ -43,13 +43,27 @@ public interface OperationService {
|
||||
*/
|
||||
DataResult<Operation> find(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
DataResult<Operation> queryExistent(@NotNull Long id);
|
||||
/**
|
||||
* 查询一条数据
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
DataResult<Operation> queryExistent(@NotNull OperationQueryParam param);
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull Long id);
|
||||
ActionResult deleteWithPermission(@NotNull Long id);
|
||||
|
||||
/**
|
||||
* 查询用户执行的ddl记录
|
||||
|
@ -3,8 +3,8 @@ package ai.chat2db.server.domain.core.converter;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Operation;
|
||||
import ai.chat2db.server.domain.api.param.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.repository.entity.OperationSavedDO;
|
||||
|
||||
import org.mapstruct.Mapper;
|
||||
|
@ -3,7 +3,7 @@ package ai.chat2db.server.domain.core.converter;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.OperationLog;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.repository.entity.OperationLogDO;
|
||||
|
||||
import org.mapstruct.Mapper;
|
||||
|
@ -8,8 +8,8 @@ import java.util.stream.Collectors;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.DataSource;
|
||||
import ai.chat2db.server.domain.api.model.OperationLog;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.api.service.OperationLogService;
|
||||
import ai.chat2db.server.domain.core.converter.OperationLogConverter;
|
||||
|
@ -9,19 +9,23 @@ import java.util.stream.Collectors;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.DataSource;
|
||||
import ai.chat2db.server.domain.api.model.Operation;
|
||||
import ai.chat2db.server.domain.api.param.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.api.service.OperationService;
|
||||
import ai.chat2db.server.domain.core.converter.OperationConverter;
|
||||
import ai.chat2db.server.domain.core.util.PermissionUtils;
|
||||
import ai.chat2db.server.domain.repository.entity.OperationSavedDO;
|
||||
import ai.chat2db.server.domain.repository.mapper.OperationSavedMapper;
|
||||
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.DataNotFoundException;
|
||||
import ai.chat2db.server.tools.common.model.EasyLambdaQueryWrapper;
|
||||
import ai.chat2db.server.tools.common.util.ContextUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -50,16 +54,20 @@ public class OperationServiceImpl implements OperationService {
|
||||
private DataSourceService dataSourceService;
|
||||
|
||||
@Override
|
||||
public DataResult<Long> create(OperationSavedParam param) {
|
||||
public DataResult<Long> createWithPermission(OperationSavedParam param) {
|
||||
OperationSavedDO userSavedDdlDO = operationConverter.param2do(param);
|
||||
userSavedDdlDO.setGmtCreate(LocalDateTime.now());
|
||||
userSavedDdlDO.setGmtModified(LocalDateTime.now());
|
||||
userSavedDdlDO.setUserId(ContextUtils.getUserId());
|
||||
operationSavedMapper.insert(userSavedDdlDO);
|
||||
return DataResult.of(userSavedDdlDO.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult update(OperationUpdateParam param) {
|
||||
public ActionResult updateWithPermission(OperationUpdateParam param) {
|
||||
Operation data = queryExistent(param.getId()).getData();
|
||||
PermissionUtils.checkOperationPermission(data.getUserId());
|
||||
|
||||
OperationSavedDO userSavedDdlDO = operationConverter.param2do(param);
|
||||
userSavedDdlDO.setGmtModified(LocalDateTime.now());
|
||||
operationSavedMapper.updateById(userSavedDdlDO);
|
||||
@ -78,7 +86,31 @@ public class OperationServiceImpl implements OperationService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult delete(Long id) {
|
||||
public DataResult<Operation> queryExistent(Long id) {
|
||||
DataResult<Operation> dataResult = find(id);
|
||||
if (dataResult.getData() == null) {
|
||||
throw new DataNotFoundException();
|
||||
}
|
||||
return dataResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataResult<Operation> queryExistent(OperationQueryParam param) {
|
||||
EasyLambdaQueryWrapper<OperationSavedDO> queryWrapper = new EasyLambdaQueryWrapper<>();
|
||||
queryWrapper.eqWhenPresent(OperationSavedDO::getId, param.getId())
|
||||
.eqWhenPresent(OperationSavedDO::getUserId, param.getUserId());
|
||||
IPage<OperationSavedDO> page = operationSavedMapper.selectPage(new Page<>(1, 1), queryWrapper);
|
||||
if (CollectionUtils.isEmpty(page.getRecords())) {
|
||||
throw new DataNotFoundException();
|
||||
}
|
||||
return DataResult.of(operationConverter.do2dto(page.getRecords().get(0)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult deleteWithPermission(Long id) {
|
||||
Operation data = queryExistent(id).getData();
|
||||
PermissionUtils.checkOperationPermission(data.getUserId());
|
||||
|
||||
operationSavedMapper.deleteById(id);
|
||||
return ActionResult.isSuccess();
|
||||
}
|
||||
|
@ -0,0 +1,5 @@
|
||||
ALTER TABLE `operation_saved`
|
||||
modify COLUMN `user_id` bigint(20) unsigned NOT NULL DEFAULT 1 COMMENT '用户id';
|
||||
|
||||
update operation_saved
|
||||
set user_id= 1;
|
@ -1,12 +1,24 @@
|
||||
package ai.chat2db.server.tools.common.model;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.OrderBy;
|
||||
import ai.chat2db.server.tools.common.util.EasySqlUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.SharedString;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
||||
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
|
||||
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import static com.baomidou.mybatisplus.core.enums.SqlKeyword.EQ;
|
||||
import static com.baomidou.mybatisplus.core.enums.SqlKeyword.ORDER_BY;
|
||||
|
||||
/**
|
||||
@ -14,7 +26,9 @@ import static com.baomidou.mybatisplus.core.enums.SqlKeyword.ORDER_BY;
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
public class EasyLambdaQueryWrapper<T> extends LambdaQueryWrapper<T> {
|
||||
public class EasyLambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, EasyLambdaQueryWrapper<T>>
|
||||
implements Query<EasyLambdaQueryWrapper<T>, T, SFunction<T, ?>> {
|
||||
|
||||
public void orderBy(List<OrderBy> orderByList) {
|
||||
if (CollectionUtils.isEmpty(orderByList)) {
|
||||
return;
|
||||
@ -24,4 +38,110 @@ public class EasyLambdaQueryWrapper<T> extends LambdaQueryWrapper<T> {
|
||||
EasySqlUtils.parseOrderBy(orderBy.getDirection()));
|
||||
}
|
||||
}
|
||||
|
||||
public EasyLambdaQueryWrapper<T> eqWhenPresent(SFunction<T, ?> column, Object val) {
|
||||
if (val != null) {
|
||||
addCondition(true, column, EQ, val);
|
||||
}
|
||||
return typedThis;
|
||||
}
|
||||
|
||||
// The following are the methods that come with the system
|
||||
/**
|
||||
* 查询字段
|
||||
*/
|
||||
private SharedString sqlSelect = new SharedString();
|
||||
|
||||
public EasyLambdaQueryWrapper() {
|
||||
this((T)null);
|
||||
}
|
||||
|
||||
public EasyLambdaQueryWrapper(T entity) {
|
||||
super.setEntity(entity);
|
||||
super.initNeed();
|
||||
}
|
||||
|
||||
public EasyLambdaQueryWrapper(Class<T> entityClass) {
|
||||
super.setEntityClass(entityClass);
|
||||
super.initNeed();
|
||||
}
|
||||
|
||||
EasyLambdaQueryWrapper(T entity, Class<T> entityClass, SharedString sqlSelect, AtomicInteger paramNameSeq,
|
||||
Map<String, Object> paramNameValuePairs, MergeSegments mergeSegments, SharedString paramAlias,
|
||||
SharedString lastSql, SharedString sqlComment, SharedString sqlFirst) {
|
||||
super.setEntity(entity);
|
||||
super.setEntityClass(entityClass);
|
||||
this.paramNameSeq = paramNameSeq;
|
||||
this.paramNameValuePairs = paramNameValuePairs;
|
||||
this.expression = mergeSegments;
|
||||
this.sqlSelect = sqlSelect;
|
||||
this.paramAlias = paramAlias;
|
||||
this.lastSql = lastSql;
|
||||
this.sqlComment = sqlComment;
|
||||
this.sqlFirst = sqlFirst;
|
||||
}
|
||||
|
||||
/**
|
||||
* SELECT 部分 SQL 设置
|
||||
*
|
||||
* @param columns 查询字段
|
||||
*/
|
||||
@SafeVarargs
|
||||
@Override
|
||||
public final EasyLambdaQueryWrapper<T> select(SFunction<T, ?>... columns) {
|
||||
return select(Arrays.asList(columns));
|
||||
}
|
||||
|
||||
public EasyLambdaQueryWrapper<T> select(List<SFunction<T, ?>> columns) {
|
||||
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(columns)) {
|
||||
this.sqlSelect.setStringValue(columnsToString(false, columns));
|
||||
}
|
||||
return typedThis;
|
||||
}
|
||||
|
||||
/**
|
||||
* 过滤查询的字段信息(主键除外!)
|
||||
* <p>例1: 只要 java 字段名以 "test" 开头的 -> select(i -> i.getProperty().startsWith("test"))</p>
|
||||
* <p>例2: 只要 java 字段属性是 CharSequence 类型的 -> select(TableFieldInfo::isCharSequence)</p>
|
||||
* <p>例3: 只要 java 字段没有填充策略的 -> select(i -> i.getFieldFill() == FieldFill.DEFAULT)</p>
|
||||
* <p>例4: 要全部字段 -> select(i -> true)</p>
|
||||
* <p>例5: 只要主键字段 -> select(i -> false)</p>
|
||||
*
|
||||
* @param predicate 过滤方式
|
||||
* @return this
|
||||
*/
|
||||
@Override
|
||||
public EasyLambdaQueryWrapper<T> select(Class<T> entityClass, Predicate<TableFieldInfo> predicate) {
|
||||
if (entityClass == null) {
|
||||
entityClass = getEntityClass();
|
||||
} else {
|
||||
setEntityClass(entityClass);
|
||||
}
|
||||
Assert.notNull(entityClass, "entityClass can not be null");
|
||||
this.sqlSelect.setStringValue(TableInfoHelper.getTableInfo(entityClass).chooseSelect(predicate));
|
||||
return typedThis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSqlSelect() {
|
||||
return sqlSelect.getStringValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于生成嵌套 sql
|
||||
* <p>故 sqlSelect 不向下传递</p>
|
||||
*/
|
||||
@Override
|
||||
protected EasyLambdaQueryWrapper<T> instance() {
|
||||
return new EasyLambdaQueryWrapper<>(getEntity(), getEntityClass(), null, paramNameSeq, paramNameValuePairs,
|
||||
new MergeSegments(), paramAlias, SharedString.emptyString(), SharedString.emptyString(),
|
||||
SharedString.emptyString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
super.clear();
|
||||
sqlSelect.toNull();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,8 +3,8 @@ package ai.chat2db.server.web.api.controller.operation.log;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.OperationLog;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.service.OperationLogService;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
|
@ -3,8 +3,8 @@ package ai.chat2db.server.web.api.controller.operation.log.converter;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.OperationLog;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationLogPageQueryParam;
|
||||
import ai.chat2db.server.web.api.controller.operation.log.request.OperationLogCreateRequest;
|
||||
import ai.chat2db.server.web.api.controller.operation.log.request.OperationLogQueryRequest;
|
||||
import ai.chat2db.server.web.api.controller.operation.log.vo.OperationLogVO;
|
||||
|
@ -3,9 +3,10 @@ package ai.chat2db.server.web.api.controller.operation.saved;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Operation;
|
||||
import ai.chat2db.server.domain.api.param.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.service.OperationService;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
@ -54,7 +55,7 @@ public class OperationSavedController {
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public WebPageResult<OperationVO> list(OperationQueryRequest request) {
|
||||
OperationPageQueryParam param = operationWebConverter.queryReq2param(request);
|
||||
OperationPageQueryParam param = operationWebConverter.queryReq2param(request,ContextUtils.getUserId());
|
||||
param.setUserId(ContextUtils.getUserId());
|
||||
PageResult<Operation> dtoPageResult = operationService.queryPage(param);
|
||||
List<OperationVO> operationVOS = operationWebConverter.dto2vo(dtoPageResult.getData());
|
||||
@ -69,8 +70,11 @@ public class OperationSavedController {
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public DataResult<OperationVO> get(@PathVariable("id") Long id) {
|
||||
DataResult<Operation> dtoPageResult = operationService.find(id);
|
||||
return DataResult.of(operationWebConverter.dto2vo(dtoPageResult.getData()));
|
||||
OperationQueryParam param = new OperationQueryParam();
|
||||
param.setId(id);
|
||||
param.setUserId(ContextUtils.getUserId());
|
||||
return operationService.queryExistent(param)
|
||||
.map(operationWebConverter::dto2vo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -83,7 +87,7 @@ public class OperationSavedController {
|
||||
public DataResult<Long> create(@RequestBody OperationCreateRequest request) {
|
||||
OperationSavedParam param = operationWebConverter.req2param(request);
|
||||
param.setTabOpened("y");
|
||||
return operationService.create(param);
|
||||
return operationService.createWithPermission(param);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,7 +99,7 @@ public class OperationSavedController {
|
||||
@RequestMapping(value = "/update", method = {RequestMethod.POST, RequestMethod.PUT})
|
||||
public ActionResult update(@RequestBody OperationUpdateRequest request) {
|
||||
OperationUpdateParam param = operationWebConverter.updateReq2param(request);
|
||||
return operationService.update(param);
|
||||
return operationService.updateWithPermission(param);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -113,7 +117,7 @@ public class OperationSavedController {
|
||||
OperationUpdateParam param = new OperationUpdateParam();
|
||||
param.setId(id);
|
||||
param.setTabOpened("n");
|
||||
operationService.update(param);
|
||||
operationService.updateWithPermission(param);
|
||||
});
|
||||
return ActionResult.isSuccess();
|
||||
}
|
||||
@ -126,6 +130,6 @@ public class OperationSavedController {
|
||||
*/
|
||||
@DeleteMapping("/{id}")
|
||||
public ActionResult delete(@PathVariable("id") Long id) {
|
||||
return operationService.delete(id);
|
||||
return operationService.deleteWithPermission(id);
|
||||
}
|
||||
}
|
||||
|
@ -3,9 +3,9 @@ package ai.chat2db.server.web.api.controller.operation.saved.converter;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.Operation;
|
||||
import ai.chat2db.server.domain.api.param.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.OperationUpdateParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationPageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationSavedParam;
|
||||
import ai.chat2db.server.domain.api.param.operation.OperationUpdateParam;
|
||||
import ai.chat2db.server.web.api.controller.operation.saved.request.OperationCreateRequest;
|
||||
import ai.chat2db.server.web.api.controller.operation.saved.request.OperationQueryRequest;
|
||||
import ai.chat2db.server.web.api.controller.operation.saved.request.OperationUpdateRequest;
|
||||
@ -45,7 +45,7 @@ public abstract class OperationWebConverter {
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public abstract OperationPageQueryParam queryReq2param(OperationQueryRequest request);
|
||||
public abstract OperationPageQueryParam queryReq2param(OperationQueryRequest request, Long userId);
|
||||
|
||||
/**
|
||||
* 模型转换
|
||||
|
@ -43,4 +43,9 @@ public class OperationUpdateRequest {
|
||||
* operation type
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
||||
|
Reference in New Issue
Block a user