Browse Source

增加部门名称查询API

hanzhengyi 1 year ago
parent
commit
2468372aa0

+ 24 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/RemoteDeptService.java

@@ -0,0 +1,24 @@
+package com.usky.system;
+
+import com.usky.system.factory.RemoteTenantFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author han
+ * @date 2023/12/08 10:51
+ */
+@FeignClient(contextId = "remoteDeptService", value = "usky-system", fallbackFactory = RemoteTenantFallbackFactory.class)
+public interface RemoteDeptService {
+    /**
+     * 获得所有部门
+     *
+     * @return 部门数组
+     */
+    @GetMapping("/getDeptList")
+    List<Map<String, Object>> getDeptList(@RequestParam("tenantId") Integer tenantId);
+}

+ 33 - 0
base-modules/service-system/service-system-api/src/main/java/com/usky/system/factory/RemoteDeptFallbackFactory.java

@@ -0,0 +1,33 @@
+package com.usky.system.factory;
+
+import com.usky.common.core.exception.FeignBadRequestException;
+import com.usky.system.RemoteDeptService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author han
+ * @date 2023/12/08 11:07
+ */
+@Component
+public class RemoteDeptFallbackFactory implements FallbackFactory<RemoteDeptService> {
+    private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
+
+    @Override
+    public RemoteDeptService create(Throwable throwable)
+    {
+        log.error("部门服务调用失败:{}", throwable.getMessage());
+        return new RemoteDeptService()
+        {
+            @Override
+            public List<Map<String, Object>> getDeptList(Integer tenantId) {
+                throw new FeignBadRequestException(500,"获取部门异常"+throwable.getMessage());
+            }
+        };
+    }
+}

+ 30 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/api/SysDeptControllerApi.java

@@ -0,0 +1,30 @@
+package com.usky.system.controller.api;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.system.RemoteDeptService;
+import com.usky.system.domain.SysDept;
+import com.usky.system.service.ISysDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author han
+ * @date 2023/12/08 11:21
+ */
+@RestController
+public class SysDeptControllerApi implements RemoteDeptService {
+    @Autowired
+    private ISysDeptService iSysDeptService;
+    @Override
+    public List<Map<String, Object>> getDeptList(Integer tenantId) {
+       QueryWrapper<SysDept> queryWrapper = Wrappers.query();;
+        queryWrapper.select("dept_id","dept_name")
+                .eq("tenant_id",tenantId)
+                .eq("del_flag",0);
+        return iSysDeptService.listMaps(queryWrapper);
+    }
+}