¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.system.controller; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.constant.SymbolConstant; |
| | | import org.jeecg.common.util.SqlInjectionUtil; |
| | | import org.jeecg.modules.system.mapper.SysDictMapper; |
| | | import org.jeecg.modules.system.model.DuplicateCheckVo; |
| | | import org.jeecg.modules.system.security.DictQueryBlackListHandler; |
| | | 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 { |
| | | |
| | | @Resource |
| | | private SysDictMapper sysDictMapper; |
| | | |
| | | @Autowired |
| | | DictQueryBlackListHandler dictQueryBlackListHandler; |
| | | |
| | | /** |
| | | * æ ¡éªæ°æ®æ¯å¦å¨ç³»ç»ä¸æ¯å¦åå¨ |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/check", method = RequestMethod.GET) |
| | | @ApiOperation("é夿 ¡éªæ¥å£") |
| | | public Result<String> 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); |
| | | // update-begin-author:taoyan date:20211227 for: JTC-25 ãonlineæ¥è¡¨ãoracle æä½é®é¢ å½å
¥å¼¹æ¡å¥é½ä¸å¡«ç´æ¥ä¿å â ç¼ç 䏿¯åºè¯¥æç¤ºå¿
å¡«ä¹ï¼â¡æ¥éä¹åºè¯¥æ¯å
·ä½æåæç¤ºï¼ä¸æ¯åå°é误æ¥å¿ |
| | | if(StringUtils.isEmpty(duplicateCheckVo.getFieldVal())){ |
| | | Result rs = new Result(); |
| | | rs.setCode(500); |
| | | rs.setSuccess(true); |
| | | rs.setMessage("æ°æ®ä¸ºç©º,ä¸ä½å¤çï¼"); |
| | | return rs; |
| | | } |
| | | //update-begin-author:taoyan date:20220329 for: VUEN-223ãå®å
¨æ¼æ´ãå½å被æ»å»çæ¥å£ |
| | | String checkSql = duplicateCheckVo.getTableName() + SymbolConstant.COMMA + duplicateCheckVo.getFieldName() + SymbolConstant.COMMA; |
| | | if(!dictQueryBlackListHandler.isPass(checkSql)){ |
| | | return Result.error(dictQueryBlackListHandler.getError()); |
| | | } |
| | | //update-end-author:taoyan date:20220329 for: VUEN-223ãå®å
¨æ¼æ´ãå½å被æ»å»çæ¥å£ |
| | | // update-end-author:taoyan date:20211227 for: JTC-25 ãonlineæ¥è¡¨ãoracle æä½é®é¢ å½å
¥å¼¹æ¡å¥é½ä¸å¡«ç´æ¥ä¿å â ç¼ç 䏿¯åºè¯¥æç¤ºå¿
å¡«ä¹ï¼â¡æ¥éä¹åºè¯¥æ¯å
·ä½æåæç¤ºï¼ä¸æ¯åå°é误æ¥å¿ |
| | | 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("该å¼ä¸å¯ç¨ï¼ç³»ç»ä¸å·²åå¨ï¼"); |
| | | } |
| | | } |
| | | } |