12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package org.jeecg.modules.system.controller;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.commons.lang.StringUtils;
- import org.jeecg.common.api.vo.Result;
- import org.jeecg.common.util.SqlInjectionUtil;
- import org.jeecg.modules.system.mapper.SysDictMapper;
- import org.jeecg.modules.system.model.DuplicateCheckVo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- /**
- * @Title: DuplicateCheckAction
- * @Description: 重复校验工具
- * @Author 张代浩
- * @Date 2019-03-25
- * @Version V1.0
- */
- @Slf4j
- @RestController
- @RequestMapping("/sys/duplicate")
- @Api(tags="重复校验")
- public class DuplicateCheckController {
- @Autowired
- SysDictMapper sysDictMapper;
- /**
- * 校验数据是否在系统中是否存在
- *
- * @return
- */
- @RequestMapping(value = "/check", method = RequestMethod.GET)
- @ApiOperation("重复校验接口")
- public Result<Object> doDuplicateCheck(DuplicateCheckVo duplicateCheckVo, HttpServletRequest request) {
- Long num = null;
- log.info("----duplicate check------:"+ duplicateCheckVo.toString());
- //关联表字典(举例:sys_user,realname,id)
- //SQL注入校验(只限制非法串改数据库)
- final String[] sqlInjCheck = {duplicateCheckVo.getTableName(),duplicateCheckVo.getFieldName()};
- SqlInjectionUtil.filterContent(sqlInjCheck);
- if (StringUtils.isNotBlank(duplicateCheckVo.getDataId())) {
- // [2].编辑页面校验
- num = sysDictMapper.duplicateCheckCountSql(duplicateCheckVo);
- } else {
- // [1].添加页面校验
- num = sysDictMapper.duplicateCheckCountSqlNoDataId(duplicateCheckVo);
- }
- if (num == null || num == 0) {
- // 该值可用
- return Result.ok("该值可用!");
- } else {
- // 该值不可用
- log.info("该值不可用,系统中已存在!");
- return Result.error("该值不可用,系统中已存在!");
- }
- }
- }
|