| 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("该值不可用,系统中已存在!");		}	}}
 |