From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'
---
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java | 88 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 0 deletions(-)
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java
new file mode 100644
index 0000000..9efae64
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java
@@ -0,0 +1,88 @@
+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());
+ //鍏宠仈琛ㄥ瓧鍏革紙涓句緥锛歴ys_user,realname,id锛�
+ //SQL娉ㄥ叆鏍¢獙锛堝彧闄愬埗闈炴硶涓叉敼鏁版嵁搴擄級
+ final String[] sqlInjCheck = {duplicateCheckVo.getTableName(),duplicateCheckVo.getFieldName()};
+ SqlInjectionUtil.filterContent(sqlInjCheck);
+ // update-begin-author:taoyan date:20211227 for: JTC-25 銆恛nline鎶ヨ〃銆憃racle 鎿嶄綔闂 褰曞叆寮规鍟ラ兘涓嶅~鐩存帴淇濆瓨 鈶犵紪鐮佷笉鏄簲璇ユ彁绀哄繀濉箞锛熲憽鎶ラ敊涔熷簲璇ユ槸鍏蜂綋鏂囧瓧鎻愮ず锛屼笉鏄悗鍙伴敊璇棩蹇�
+ 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 銆恛nline鎶ヨ〃銆憃racle 鎿嶄綔闂 褰曞叆寮规鍟ラ兘涓嶅~鐩存帴淇濆瓨 鈶犵紪鐮佷笉鏄簲璇ユ彁绀哄繀濉箞锛熲憽鎶ラ敊涔熷簲璇ユ槸鍏蜂綋鏂囧瓧鎻愮ず锛屼笉鏄悗鍙伴敊璇棩蹇�
+ 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("璇ュ�间笉鍙敤锛岀郴缁熶腑宸插瓨鍦紒");
+ }
+ }
+}
--
Gitblit v1.9.3