package com.tievd.cube.modules.system.controller;
|
|
import com.tievd.cube.commons.base.Result;
|
import com.tievd.cube.commons.utils.SqlInjectionUtil;
|
import com.tievd.cube.modules.system.model.api.request.DuplicateCheckRequest;
|
import com.tievd.cube.modules.system.service.ISysDictService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameters;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* 重复数据校验
|
*
|
* @author 杨欣武
|
* @version 2.5.2
|
* @since 2022-08-11
|
*/
|
@Tag(name = "重复数据校验")
|
@RestController
|
@RequestMapping("/sys/duplicate")
|
public class DuplicateCheckController {
|
|
@Autowired
|
private ISysDictService sysDictService;
|
|
/**
|
* 校验数据是否已在系统
|
*/
|
@GetMapping("/check")
|
@Operation(summary = "校验数据是否已在系统")
|
@Parameters({
|
@Parameter(name = "tableName", description = "表名", required = true),
|
@Parameter(name = "fieldName", description = "字段名", required = true),
|
@Parameter(name = "fieldVal", description = "字段值", required = true),
|
@Parameter(name = "dataId", description = "要排除的数据id")
|
})
|
public Result<?> doDuplicateCheck(@Parameter(hidden = true) @Validated DuplicateCheckRequest duplicateCheckRequest) {
|
final String[] sqlInjCheck = {duplicateCheckRequest.getTableName(), duplicateCheckRequest.getFieldName()};
|
SqlInjectionUtil.filterContent(sqlInjCheck);
|
Long num = sysDictService.duplicateCheckCountSql(duplicateCheckRequest);
|
if (num != null && num > 0) {
|
return Result.error("该值已使用!");
|
}
|
return Result.ok("该值可用!");
|
}
|
}
|