Gqingci há 1 dia atrás
pai
commit
c76cf859e9

+ 12 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/controller/MainPostApplyController.java

@@ -63,6 +63,18 @@ public class MainPostApplyController extends BaseController {
         return toAjax(mainPostApplyService.deleteWithValidByIds(Arrays.asList(ids), true));
     }
 
+    /**
+     * 校验岗位编码是否唯一
+     *
+     * @param applyNo 岗位编码
+     * @param id      岗位ID(编辑时排除自身)
+     * @return true=唯一 false=已存在
+     */
+    @GetMapping("/checkApplyNo")
+    public R<Boolean> checkApplyNo(@RequestParam String applyNo, @RequestParam(required = false) Long id) {
+        return R.ok(mainPostApplyService.checkApplyNoUnique(applyNo, id));
+    }
+
     /**
      * 批量导入岗位数据
      *

+ 9 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/service/IMainPostApplyService.java

@@ -25,4 +25,13 @@ public interface IMainPostApplyService {
     Boolean unpublishById(Long id);
 
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 校验岗位编码是否唯一
+     *
+     * @param applyNo 岗位编码
+     * @param id      岗位ID(编辑时排除自身,新增时传null)
+     * @return true=唯一 false=已存在
+     */
+    Boolean checkApplyNoUnique(String applyNo, Long id);
 }

+ 10 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/service/impl/MainPostApplyServiceImpl.java

@@ -222,6 +222,16 @@ public class MainPostApplyServiceImpl implements IMainPostApplyService {
         postList.forEach(item -> item.setApplyCount(countMap.getOrDefault(item.getPostId(), 0L)));
     }
 
+    @Override
+    public Boolean checkApplyNoUnique(String applyNo, Long id) {
+        LambdaQueryWrapper<MainPostApply> lqw = Wrappers.lambdaQuery();
+        lqw.eq(MainPostApply::getApplyNo, applyNo);
+        if (id != null) {
+            lqw.ne(MainPostApply::getId, id);
+        }
+        return baseMapper.selectCount(lqw) == 0;
+    }
+
     private MainAudit buildPendingAudit(Long targetId, String tenantId) {
         MainAudit audit = new MainAudit();
         audit.setAuditType(2);

+ 14 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java

@@ -82,6 +82,20 @@ public class SysDictDataController extends BaseController {
         return R.ok(data);
     }
 
+    /**
+     * 根据字典类型查询字典数据信息(直接查数据库,不走缓存)
+     *
+     * @param dictType 字典类型
+     */
+    @GetMapping(value = "/type/fresh/{dictType}")
+    public R<List<SysDictDataVo>> dictTypeFresh(@PathVariable String dictType) {
+        List<SysDictDataVo> data = dictDataService.selectDictDataByTypeFromDb(dictType);
+        if (ObjectUtil.isNull(data)) {
+            data = new ArrayList<>();
+        }
+        return R.ok(data);
+    }
+
     /**
      * 新增字典类型
      */

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDictDataService.java

@@ -79,4 +79,12 @@ public interface ISysDictDataService {
      */
     boolean checkDictDataUnique(SysDictDataBo dict);
 
+    /**
+     * 根据字典类型直接查询数据库(不走缓存)
+     *
+     * @param dictType 字典类型
+     * @return 字典数据集合
+     */
+    List<SysDictDataVo> selectDictDataByTypeFromDb(String dictType);
+
 }

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java

@@ -156,4 +156,12 @@ public class SysDictDataServiceImpl implements ISysDictDataService {
         return !exist;
     }
 
+    /**
+     * 根据字典类型直接查询数据库(不走缓存)
+     */
+    @Override
+    public List<SysDictDataVo> selectDictDataByTypeFromDb(String dictType) {
+        return baseMapper.selectDictDataByType(dictType);
+    }
+
 }