From 2f1234cda8490fb0c976bce23c19d061a7289697 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 15 Jun 2022 21:51:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=20DeptApi=E3=80=81PostApi=20?= =?UTF-8?q?=E7=9A=84=20feign=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logger/dto/ApiAccessLogCreateReqDTO.java | 2 +- .../yudao/module/system/api/dept/DeptApi.java | 57 ++++++++++--------- .../yudao/module/system/api/dept/PostApi.java | 27 ++++----- .../module/system/api/dept/DeptApiImpl.java | 36 ++++++------ .../module/system/api/dept/PostApiImpl.java | 20 ++++--- .../system/convert/dept/DeptConvert.java | 2 - 6 files changed, 73 insertions(+), 71 deletions(-) diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java index ea310e477..eac503b22 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/logger/dto/ApiAccessLogCreateReqDTO.java @@ -7,7 +7,7 @@ import lombok.Data; import javax.validation.constraints.NotNull; import java.util.Date; -@ApiModel("API 访问日志创建 Request DTO") +@ApiModel("RPC 服务 - API 访问日志创建 Request DTO") @Data public class ApiAccessLogCreateReqDTO { diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java index d228fc3b7..dbee645d2 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java @@ -1,43 +1,40 @@ package cn.iocoder.yudao.module.system.api.dept; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; -/** - * 部门 API 接口 - * - * @author 芋道源码 - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Api(tags = "RPC 服务 - 部门") public interface DeptApi { - /** - * 获得部门信息 - * - * @param id 部门编号 - * @return 部门信息 - */ - DeptRespDTO getDept(Long id); + String PREFIX = ApiConstants.PREFIX + "/dept"; - /** - * 获得部门信息数组 - * - * @param ids 部门编号数组 - * @return 部门信息数组 - */ - List getDepts(Collection ids); + @GetMapping(PREFIX + "/get") + @ApiOperation("获得部门信息") + @ApiImplicitParam(name = "id", value = "部门编号", required = true, dataTypeClass = Long.class) + CommonResult getDept(@RequestParam("id") Long id); - /** - * 校验部门们是否有效。如下情况,视为无效: - * 1. 部门编号不存在 - * 2. 部门被禁用 - * - * @param ids 角色编号数组 - */ - void validDepts(Collection ids); + @GetMapping(PREFIX + "/list") + @ApiOperation("获得部门信息数组") + @ApiImplicitParam(name = "ids", value = "部门编号数组", required = true, allowMultiple = true) + CommonResult> getDepts(@RequestParam("ids") Collection ids); + + @GetMapping(PREFIX + "/valid") + @ApiImplicitParam(name = "ids", value = "部门编号数组", required = true, allowMultiple = true) + CommonResult validDepts(@RequestParam("ids") Collection ids); /** * 获得指定编号的部门 Map @@ -45,6 +42,10 @@ public interface DeptApi { * @param ids 部门编号数组 * @return 部门 Map */ - Map getDeptMap(Set ids); + default Map getDeptMap(Set ids) { + CommonResult> result = getDepts(ids); + result.checkError(); + return CollectionUtils.convertMap(result.getData(), DeptRespDTO::getId); + } } diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java index d1e3d47a1..01837906f 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java @@ -1,21 +1,22 @@ package cn.iocoder.yudao.module.system.api.dept; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + import java.util.Collection; -/** - * 岗位 API 接口 - * - * @author 芋道源码 - */ +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Api(tags = "RPC 服务 - 岗位") public interface PostApi { - /** - * 校验岗位们是否有效。如下情况,视为无效: - * 1. 岗位编号不存在 - * 2. 岗位被禁用 - * - * @param ids 岗位编号数组 - */ - void validPosts(Collection ids); + String PREFIX = ApiConstants.PREFIX + "/post"; + + @GetMapping(PREFIX + "/valid") + @ApiImplicitParam(name = "ids", value = "部门编号数组", required = true, allowMultiple = true) + CommonResult validPosts(Collection ids); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java index 27fbc2f13..c39d47bd7 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java @@ -1,49 +1,45 @@ package cn.iocoder.yudao.module.system.api.dept; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.convert.dept.DeptConvert; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.service.dept.DeptService; -import org.springframework.stereotype.Service; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Collection; import java.util.List; -import java.util.Map; -import java.util.Set; -/** - * 部门 API 实现类 - * - * @author 芋道源码 - */ -@Service +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 +@Validated public class DeptApiImpl implements DeptApi { @Resource private DeptService deptService; @Override - public DeptRespDTO getDept(Long id) { + public CommonResult getDept(Long id) { DeptDO dept = deptService.getDept(id); - return DeptConvert.INSTANCE.convert03(dept); + return success(DeptConvert.INSTANCE.convert03(dept)); } @Override - public List getDepts(Collection ids) { + public CommonResult> getDepts(Collection ids) { List depts = deptService.getDepts(ids); - return DeptConvert.INSTANCE.convertList03(depts); + return success(DeptConvert.INSTANCE.convertList03(depts)); } @Override - public void validDepts(Collection ids) { + public CommonResult validDepts(Collection ids) { deptService.validDepts(ids); - } - - @Override - public Map getDeptMap(Set ids) { - Map depts = deptService.getDeptMap(ids); - return DeptConvert.INSTANCE.convertMap(depts); + return success(true); } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.java index 9454193e7..89449f195 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.java @@ -1,24 +1,30 @@ package cn.iocoder.yudao.module.system.api.dept; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.system.service.dept.PostService; +import org.apache.dubbo.config.annotation.DubboService; import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Collection; -/** - * 岗位 API 实现类 - * - * @author 芋道源码 - */ -@Service +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.module.system.enums.ApiConstants.VERSION; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 +@Validated public class PostApiImpl implements PostApi { @Resource private PostService postService; @Override - public void validPosts(Collection ids) { + public CommonResult validPosts(Collection ids) { postService.validPosts(ids); + return success(true); } + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/dept/DeptConvert.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/dept/DeptConvert.java index 2a514743b..e8ee7cee7 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/dept/DeptConvert.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/dept/DeptConvert.java @@ -31,6 +31,4 @@ public interface DeptConvert { DeptRespDTO convert03(DeptDO bean); - Map convertMap(Map map); - }