From 60da2032903478333805072e69002c6ace233096 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Tue, 25 Apr 2023 08:52:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/system/api/sys_menu/SysMenuDto.java | 33 +++++++++++++++++ .../system/api/sys_menu/SysMenuFeign.java | 15 +++++++- .../system/api/sys_menu/SysMenuQuery.java | 14 ++++++++ .../demo/system/api/sys_menu/SysMenuVo.java | 36 +++++++++++++++++++ .../system/api/sys_notice/SysNoticeFeign.java | 10 ++++++ .../sys_notice/SysNoticeFeignFallback.java | 12 +++++++ .../demo/system/biz/sys_menu/SysMenuRest.java | 22 ++++++++++-- .../system/biz/sys_menu/SysMenuService.java | 30 ++++++++++++++++ 8 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuDto.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuQuery.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuVo.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeignFallback.java diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuDto.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuDto.java new file mode 100644 index 0000000..840409d --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuDto.java @@ -0,0 +1,33 @@ +package com.yxt.demo.system.api.sys_menu; + +import com.yxt.demo.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 21:27 + * @Description + */ +@Data +public class SysMenuDto implements Dto { + private static final long serialVersionUID = -3578983530779493714L; + + private String sid; + @ApiModelProperty("图标地址") + private String iconUrl; + @ApiModelProperty("是否可见:默认为1显示,0为不显示") + private String isShow; + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("前端页面路径") + private String pageUrl; + @ApiModelProperty("上级名称") + private String pname; + @ApiModelProperty("父级sid") + private String psid; + @ApiModelProperty("排序") + private int sortNo; + + +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java index 34a538a..19e7a09 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java @@ -1,8 +1,13 @@ package com.yxt.demo.system.api.sys_menu; +import com.yxt.demo.common.core.result.ResultBean; import com.yxt.demo.system.api.sys_info.SysInfoFeignFallback; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; /** * @Author dimengzhe @@ -13,7 +18,15 @@ import org.springframework.cloud.openfeign.FeignClient; @FeignClient( contextId = "demo-system-SysMenu", name = "demo-system", - path = "v1/sysmenu", + path = "v1/SysMenu", fallback = SysMenuFeignFallback.class) public interface SysMenuFeign { + + @PostMapping(value = "/save") + @ApiOperation(value = "保存修改") + ResultBean saveOrUpdates(@RequestBody SysMenuDto dto); + + @PostMapping(value = "/list") + @ApiOperation(value = "列表") + ResultBean list(@RequestBody SysMenuQuery sysMenuQuery); } diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuQuery.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuQuery.java new file mode 100644 index 0000000..63658cf --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuQuery.java @@ -0,0 +1,14 @@ +package com.yxt.demo.system.api.sys_menu; + +import com.yxt.demo.common.core.query.Query; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 22:15 + * @Description + */ +@Data +public class SysMenuQuery implements Query { + private static final long serialVersionUID = 4807896221608672228L; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuVo.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuVo.java new file mode 100644 index 0000000..a02bf24 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuVo.java @@ -0,0 +1,36 @@ +package com.yxt.demo.system.api.sys_menu; + +import com.yxt.demo.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/24 22:15 + * @Description + */ +@Data +public class SysMenuVo implements Vo { + private static final long serialVersionUID = 4190346430531800875L; + + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("排序号") + private Integer sortNo; + @ApiModelProperty("上级sid") + private String pSid; + @ApiModelProperty("上级菜单名称") + private String pName; + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("前端页面地址") + private String pageUrl; + @ApiModelProperty("图标") + private String iconUrl; + @ApiModelProperty(value = "备注") + private String remarks; + @ApiModelProperty("子菜单") + private List children; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java index 72beb7f..3854c13 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java @@ -1,9 +1,19 @@ package com.yxt.demo.system.api.sys_notice; +import com.yxt.demo.system.api.dict_type.DictTypeFeignFallback; +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + /** * @Author dimengzhe * @Date 2023/4/24 14:23 * @Description */ +@Api(tags = "公告") +@FeignClient( + contextId = "demo-system-SysNotice", + name = "demo-system", + path = "v1/SysNotice", + fallback = SysNoticeFeignFallback.class) public interface SysNoticeFeign { } diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeignFallback.java new file mode 100644 index 0000000..04a6371 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.api.sys_notice; + +import org.springframework.stereotype.Component; + +/** + * @Author dimengzhe + * @Date 2023/4/24 22:42 + * @Description + */ +@Component +public class SysNoticeFeignFallback { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java index 18f06d3..db6b114 100644 --- a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java @@ -1,6 +1,12 @@ package com.yxt.demo.system.biz.sys_menu; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.system.api.sys_menu.SysMenuDto; +import com.yxt.demo.system.api.sys_menu.SysMenuFeign; +import com.yxt.demo.system.api.sys_menu.SysMenuQuery; +import com.yxt.demo.system.api.sys_menu.SysMenuVo; import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -11,6 +17,18 @@ import org.springframework.web.bind.annotation.RestController; */ @Api(tags = "菜单") @RestController -@RequestMapping("v1/sysmenu") -public class SysMenuRest { +@RequestMapping("v1/SysMenu") +public class SysMenuRest implements SysMenuFeign { + + @Autowired + private SysMenuService sysMenuService; + @Override + public ResultBean saveOrUpdates(SysMenuDto dto) { + return sysMenuService.saveOrUpdates(dto); + } + + @Override + public ResultBean list(SysMenuQuery sysMenuQuery) { + return sysMenuService.lists(sysMenuQuery); + } } diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java index af90233..8749d76 100644 --- a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java @@ -1,9 +1,16 @@ package com.yxt.demo.system.biz.sys_menu; +import cn.hutool.core.bean.BeanUtil; +import com.yxt.demo.common.core.result.ResultBean; import com.yxt.demo.common.jdbc.service.MybatisBaseService; +import com.yxt.demo.common.utils.convert.StringUtil; import com.yxt.demo.system.api.sys_info.SysInfo; import com.yxt.demo.system.api.sys_menu.SysMenu; +import com.yxt.demo.system.api.sys_menu.SysMenuDto; +import com.yxt.demo.system.api.sys_menu.SysMenuQuery; +import com.yxt.demo.system.api.sys_menu.SysMenuVo; import com.yxt.demo.system.biz.sys_info.SysInfoMapper; +import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; /** @@ -13,4 +20,27 @@ import org.springframework.stereotype.Service; */ @Service public class SysMenuService extends MybatisBaseService { + + + public ResultBean saveOrUpdates(SysMenuDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isBlank(sid)) { + //新增 + SysMenu sysMenu = new SysMenu(); + BeanUtil.copyProperties(dto, sysMenu, "sid"); + baseMapper.insert(sysMenu); + } else { + SysMenu sysMenu = fetchBySid(sid); + if (sysMenu == null) { + return rb.setMsg("该菜单不存在"); + } + baseMapper.updateById(sysMenu); + } + return rb.success(); + } + + public ResultBean lists(SysMenuQuery sysMenuQuery) { + return null; + } }