From f4126a3456dc0bee29a118d065cb4d012146937e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Sat, 18 Feb 2023 18:24:02 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cwf/framework/config/CorsConfig.java | 4 +++ .../cwf/security/config/SecurityConfig.java | 28 ++++++++++++++++++- .../filter/JwtAuthenticationTokenFilter.java | 3 +- .../controller/PermissionController.java | 14 ++++++++++ .../com/cwf/system/entity/Permission.java | 24 ++++++++++------ .../permission/PermissionGroup.java | 4 +++ 6 files changed, 66 insertions(+), 11 deletions(-) create mode 100644 cvmagic-framework/src/main/java/com/cwf/framework/config/CorsConfig.java diff --git a/cvmagic-framework/src/main/java/com/cwf/framework/config/CorsConfig.java b/cvmagic-framework/src/main/java/com/cwf/framework/config/CorsConfig.java new file mode 100644 index 0000000..414e615 --- /dev/null +++ b/cvmagic-framework/src/main/java/com/cwf/framework/config/CorsConfig.java @@ -0,0 +1,4 @@ +package com.cwf.framework.config; + +public class CorsConfig { +} diff --git a/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java b/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java index 223f56c..05e970a 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java +++ b/cvmagic-security/src/main/java/com/cwf/security/config/SecurityConfig.java @@ -16,6 +16,11 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.CorsConfigurationSource; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; + +import java.util.Arrays; @Configuration @EnableGlobalMethodSecurity(prePostEnabled = true) @@ -49,6 +54,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() + .cors().configurationSource(corsConfigurationSource()) + .and() //不通过session获取SecurityContext .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() @@ -57,7 +64,6 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .antMatchers("/user/login").permitAll() .antMatchers("/admin/login").permitAll() .antMatchers("/api/**").permitAll() - .antMatchers("/websocket/**").permitAll() //除此之外的所有接口需要鉴权认证 .anyRequest().authenticated(); @@ -68,4 +74,24 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { http.addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); } + + + + + /** + * @description 跨越配置 + * @author 18068 + * @date 2023/2/18 17:12 + */ + CorsConfigurationSource corsConfigurationSource(){ + CorsConfiguration corsConfiguration = new CorsConfiguration(); + corsConfiguration.setAllowedHeaders(Arrays.asList("*")); + corsConfiguration.setAllowedMethods(Arrays.asList("*")); + corsConfiguration.setAllowedOrigins(Arrays.asList("*")); + corsConfiguration.setMaxAge(3600L); + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**",corsConfiguration); + return source; + } + } diff --git a/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java b/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java index 397e25c..c9d9be2 100644 --- a/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java +++ b/cvmagic-security/src/main/java/com/cwf/security/filter/JwtAuthenticationTokenFilter.java @@ -43,8 +43,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { String token = request.getHeader("Authorization"); - - + System.out.println(token); diff --git a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java index bcc8b20..9419e0f 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java +++ b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java @@ -8,10 +8,12 @@ import com.cwf.common.entity.http.R; import com.cwf.common.entity.page.PageResult; import com.cwf.common.enums.TokenInfoKeyEnum; import com.cwf.common.utils.auth.JwtUtil; +import com.cwf.common.utils.validator.ValidatorUtil; import com.cwf.framework.aspectj.annotation.MyPage; import com.cwf.framework.page.entity.PageParams; import com.cwf.system.entity.Permission; import com.cwf.system.service.PermissionService; +import com.cwf.system.validation.permission.PermissionGroup; import com.cwf.system.vo.PermissionTreeVO; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; @@ -22,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; @RestController +@CrossOrigin @RequestMapping("/system/menu") public class PermissionController extends BaseController { @@ -70,6 +73,17 @@ public class PermissionController extends BaseController { @RequestBody Permission permission ){ + if (rank==1){ + ValidatorUtil.check(permission, PermissionGroup.addOne.class); + }else if (rank==2){ + ValidatorUtil.check(permission, PermissionGroup.addTwo.class); + }else if (rank==3){ + ValidatorUtil.check(permission, PermissionGroup.addThree.class); + }else if (rank==4){ + ValidatorUtil.check(permission, PermissionGroup.button.class); + } + + System.out.println(rank); return R.success(permission); diff --git a/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java b/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java index 882be6a..a856e25 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java +++ b/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java @@ -33,38 +33,46 @@ public class Permission implements Serializable { @Null(groups=PermissionGroup.addOne.class) @Null(groups=PermissionGroup.addTwo.class) @Null(groups=PermissionGroup.addThree.class) + @Null(groups=PermissionGroup.button.class) private Long id; /** * 功能名称 */ - @Null(groups=PermissionGroup.addOne.class) - @Null(groups=PermissionGroup.addTwo.class) - @Null(groups=PermissionGroup.addThree.class) + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addTwo.class) + @NotBlank(groups=PermissionGroup.addThree.class) + @NotBlank(groups=PermissionGroup.button.class) private String title; /** * 级别 */ - @NotNull(groups=PermissionGroup.add.class) private Integer rank; /** * 功能父级id */ - @NotNull(groups=PermissionGroup.add.class) + @NotNull(groups=PermissionGroup.addOne.class) + @NotNull(groups=PermissionGroup.addTwo.class) + @NotNull(groups=PermissionGroup.addThree.class) + @NotNull(groups=PermissionGroup.button.class) private Long parentId; /** * 路径 */ - @NotBlank(groups=PermissionGroup.add.class) + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addThree.class) private String path; /** * 名称 */ + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addThree.class) private String name; /** * 组件地址 */ - @NotBlank(groups=PermissionGroup.add.class) + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addThree.class) private String component; /** * 重定向 @@ -81,11 +89,11 @@ public class Permission implements Serializable { /** * 标记 */ + @NotBlank(groups=PermissionGroup.button.class) private String mark; /** * 分类(1是菜单2是按钮) */ - private Integer category; /** * 图标地址 diff --git a/cvmagic-system/src/main/java/com/cwf/system/validation/permission/PermissionGroup.java b/cvmagic-system/src/main/java/com/cwf/system/validation/permission/PermissionGroup.java index cbe4170..9502912 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/validation/permission/PermissionGroup.java +++ b/cvmagic-system/src/main/java/com/cwf/system/validation/permission/PermissionGroup.java @@ -20,6 +20,10 @@ public class PermissionGroup { } + public interface button{ + + } + public interface update{ } -- Gitee From 256706322849e98bd8fa194bc5411d5470d9ad41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Sat, 18 Feb 2023 18:41:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index adea408..edd83de 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,7 +7,7 @@ node { } stage('maven构建项目') { - //sh "mvn clean install -pl ${"${SERVICE}"} -am -amd -Pdev -Dmaven.test.skip=true" + sh "mvn clean install" sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" } -- Gitee From 07afe0bac5ac1226dd8229c008c22cf3d8e4bd3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Sat, 18 Feb 2023 18:44:06 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index edd83de..c7d1bda 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,7 +7,7 @@ node { } stage('maven构建项目') { - sh "mvn clean install" + //sh "mvn clean install" sh "mvn clean install -pl cvmagic-admin -am -amd -Pdev -Dmaven.test.skip=true" } -- Gitee From 968d698022db94d18b35ddb7f2c1c225fc18c680 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Sat, 18 Feb 2023 21:20:14 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/controller/BaseController.java | 48 ++++++++ .../cwf/common/core/service/BaseService.java | 26 ++++ .../java/com/cwf/common/entity/http/R.java | 5 + .../com/cwf/common/enums/ResCodeEnum.java | 20 ++-- .../base/SQLByIdSelectException.java | 23 ++++ .../cwf/common/handle/ExceptionHandler.java | 6 + .../controller/PermissionController.java | 61 +++++++--- .../com/cwf/system/entity/Permission.java | 24 +--- .../cwf/system/service/PermissionService.java | 10 ++ .../service/impl/PermissionServiceImpl.java | 23 ++++ .../validation/permission/AddPermission.java | 113 ++++++++++++++++++ 11 files changed, 317 insertions(+), 42 deletions(-) create mode 100644 cvmagic-common/src/main/java/com/cwf/common/core/service/BaseService.java create mode 100644 cvmagic-common/src/main/java/com/cwf/common/exception/base/SQLByIdSelectException.java create mode 100644 cvmagic-system/src/main/java/com/cwf/system/validation/permission/AddPermission.java diff --git a/cvmagic-common/src/main/java/com/cwf/common/core/controller/BaseController.java b/cvmagic-common/src/main/java/com/cwf/common/core/controller/BaseController.java index 7c62d10..62e3d59 100644 --- a/cvmagic-common/src/main/java/com/cwf/common/core/controller/BaseController.java +++ b/cvmagic-common/src/main/java/com/cwf/common/core/controller/BaseController.java @@ -3,6 +3,7 @@ package com.cwf.common.core.controller; import com.cwf.common.entity.auth.TokenInfo; import com.cwf.common.enums.TokenInfoKeyEnum; +import com.cwf.common.exception.base.MyException; import com.cwf.common.utils.auth.JwtUtil; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; @@ -10,6 +11,8 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.util.Map; @Slf4j @@ -103,4 +106,49 @@ public class BaseController { } + + + public void isEmpty(Object obj){ + Class aClass = obj.getClass(); + + Field[] declaredFields = aClass.getDeclaredFields(); + + + boolean isAllNull = true; + + String isEmptyStr = ""; + + for (Field field : declaredFields){ + field.setAccessible(true); + try { + Object value = field.get(obj); + String s = Modifier.toString(field.getModifiers()); + + if (!s.equals("private static final")){ + if (value!=null){ + isAllNull = false; + + if (value.equals("")){ + String name = field.getName()+"为无效空字符;"; + isEmptyStr+=name; + } + } + } + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + if (isEmptyStr.length()!=0){ + throw new MyException(isEmptyStr,400); + } + + if (isAllNull){ + throw new MyException("无效参数",400); + } + + + } + + } diff --git a/cvmagic-common/src/main/java/com/cwf/common/core/service/BaseService.java b/cvmagic-common/src/main/java/com/cwf/common/core/service/BaseService.java new file mode 100644 index 0000000..049cfdb --- /dev/null +++ b/cvmagic-common/src/main/java/com/cwf/common/core/service/BaseService.java @@ -0,0 +1,26 @@ +package com.cwf.common.core.service; + +import com.cwf.common.enums.ResCodeEnum; +import com.cwf.common.exception.base.MyException; +import com.cwf.common.exception.base.SQLByIdSelectException; + +import java.util.List; + +public class BaseService { + + + public static void checkByIdGetInfoResult(Object data, String errMsg) { + if (data == null) { + throw new MyException(errMsg, ResCodeEnum.SELECTONE_ERR.getCode()); + } + } + + + public static void checkListResult(List data, String errMsg) { + if (data.size() == 0) { + throw new MyException(errMsg, ResCodeEnum.SELECTONE_ERR.getCode()); + } + } + + +} diff --git a/cvmagic-common/src/main/java/com/cwf/common/entity/http/R.java b/cvmagic-common/src/main/java/com/cwf/common/entity/http/R.java index 40cb03b..8bb35ee 100644 --- a/cvmagic-common/src/main/java/com/cwf/common/entity/http/R.java +++ b/cvmagic-common/src/main/java/com/cwf/common/entity/http/R.java @@ -49,6 +49,9 @@ public class R { return response; } + + + public static R error() { response.setCode(ResCodeEnum.ERROR.getCode()); response.setMsg(ResCodeEnum.ERROR.getMsg()); @@ -64,6 +67,8 @@ public class R { } + + /** * @param msg 提示信息 * @return diff --git a/cvmagic-common/src/main/java/com/cwf/common/enums/ResCodeEnum.java b/cvmagic-common/src/main/java/com/cwf/common/enums/ResCodeEnum.java index 8aaae9f..49da900 100644 --- a/cvmagic-common/src/main/java/com/cwf/common/enums/ResCodeEnum.java +++ b/cvmagic-common/src/main/java/com/cwf/common/enums/ResCodeEnum.java @@ -10,6 +10,7 @@ public enum ResCodeEnum{ ERROR(400,"操作失败"), + LOGIN(1,"登入成功"), LOGIN_ERR(-1,"登入失败"), @@ -23,20 +24,25 @@ public enum ResCodeEnum{ AUTH_RANK(403,"权限不足"), + INSERT(2000,"添加成功"), + DELETE(2001,"删除成功"), + UPDATE(2002,"更新成功"), + QUERY(2003,"查询成功"), + FILE_UPLOAD(2004,"上传成功"), + DELETE_UPLOAD_FILE(2005,"删除文件成功"), + SELECTONE(2006,"获取详情"), + + + + INSERT_ERR(4000,"添加失败"), DELETE_ERR(4001,"删除失败"), UPDATE_ERR(4002,"更新失败"), QUERY_ERR(4003,"查询失败"), - FILE_UPLOAD_ERR(4004,"上传失败"), DELETE_UPLOAD_FILE_ERR(4005,"删除文件失败"), + SELECTONE_ERR(4006,"获取详情失败"); - INSERT(2000,"添加成功"), - DELETE(2001,"删除成功"), - UPDATE(2002,"更新成功"), - QUERY(2003,"查询成功"), - FILE_UPLOAD(2004,"上传成功"), - DELETE_UPLOAD_FILE(2005,"删除文件成功"); diff --git a/cvmagic-common/src/main/java/com/cwf/common/exception/base/SQLByIdSelectException.java b/cvmagic-common/src/main/java/com/cwf/common/exception/base/SQLByIdSelectException.java new file mode 100644 index 0000000..1b7d35f --- /dev/null +++ b/cvmagic-common/src/main/java/com/cwf/common/exception/base/SQLByIdSelectException.java @@ -0,0 +1,23 @@ +package com.cwf.common.exception.base; + +import com.cwf.common.enums.ResCodeEnum; + +public class SQLByIdSelectException extends RuntimeException{ + + private Integer code = ResCodeEnum.SELECTONE_ERR.getCode(); + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public SQLByIdSelectException() { + } + + public SQLByIdSelectException(String message) { + super(message); + } +} diff --git a/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java b/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java index 2f18fea..7f5c827 100644 --- a/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java +++ b/cvmagic-common/src/main/java/com/cwf/common/handle/ExceptionHandler.java @@ -108,4 +108,10 @@ public class ExceptionHandler { System.out.println(e.getCode()); return R.error().writeMsg(e.getMessage()).writeCode(e.getCode()).writeData(null); } + + + + + + } diff --git a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java index 9419e0f..2e3479c 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java +++ b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java @@ -13,9 +13,11 @@ import com.cwf.framework.aspectj.annotation.MyPage; import com.cwf.framework.page.entity.PageParams; import com.cwf.system.entity.Permission; import com.cwf.system.service.PermissionService; +import com.cwf.system.validation.permission.AddPermission; import com.cwf.system.validation.permission.PermissionGroup; import com.cwf.system.vo.PermissionTreeVO; import com.github.pagehelper.PageInfo; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.security.access.prepost.PreAuthorize; @@ -33,20 +35,17 @@ public class PermissionController extends BaseController { @Autowired - RedisTemplate redisTemplate; - - - + RedisTemplate redisTemplate; /** + * @return * @description 获取所有菜单/权限 * @author 18068 * @date 2023/2/16 10:12 - * @return */ @GetMapping("/tree/list") - public R> selectRolePageList(){ + public R> selectRolePageList() { List permissionTreeVOList = permissionService.getPermissionTreeVO(); return R.success(permissionTreeVOList); } @@ -60,33 +59,65 @@ public class PermissionController extends BaseController { @PostMapping("/page/list") public R getPermissionPageList1( @RequestBody PageParams params - ){ + ) { Permission data = params.getData(); PageInfo pageList = permissionService.getPermissionPageList(data); return R.success(pageList); } + @GetMapping("/info/{id}") + public R byIdGetPermissionInfo(@PathVariable Integer id) { + + Permission permission = permissionService.byIdGetPermissionInfo(id); + return R.success(permission); + } + + @PostMapping("/add/{rank}") public R addOne( @PathVariable Integer rank, - @RequestBody Permission permission - ){ + @RequestBody AddPermission permission + ) { - if (rank==1){ + if (rank == 1) { ValidatorUtil.check(permission, PermissionGroup.addOne.class); - }else if (rank==2){ + } else if (rank == 2) { ValidatorUtil.check(permission, PermissionGroup.addTwo.class); - }else if (rank==3){ + } else if (rank == 3) { ValidatorUtil.check(permission, PermissionGroup.addThree.class); - }else if (rank==4){ + } else if (rank == 4) { ValidatorUtil.check(permission, PermissionGroup.button.class); } - System.out.println(rank); - return R.success(permission); } + + @PutMapping("/update/{id}") + public R update( + @PathVariable @NotNull Integer id, + @RequestBody Permission permission + ) { + + + isEmpty(permission); + + Permission build = Permission.builder() + .id(Long.valueOf(id)) + .title(permission.getTitle()) + .path(permission.getPath()) + .name(permission.getName()) + .icon(permission.getIcon()) + .redirect(permission.getRedirect()) + .state(permission.getState()) + .isShow(permission.getIsShow()) + .sort(permission.getSort()).build(); + + + //boolean res = permissionService.update(build); + return R.update(1); + } + } diff --git a/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java b/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java index a856e25..e87e1be 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java +++ b/cvmagic-system/src/main/java/com/cwf/system/entity/Permission.java @@ -1,6 +1,8 @@ package com.cwf.system.entity; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.cwf.system.validation.permission.PermissionGroup; import com.cwf.system.vo.PermissionTreeVO; import lombok.*; @@ -30,19 +32,11 @@ public class Permission implements Serializable { /** * 功能id */ - @Null(groups=PermissionGroup.addOne.class) - @Null(groups=PermissionGroup.addTwo.class) - @Null(groups=PermissionGroup.addThree.class) - @Null(groups=PermissionGroup.button.class) + @TableId(type = IdType.AUTO) private Long id; /** * 功能名称 */ - - @NotBlank(groups=PermissionGroup.addOne.class) - @NotBlank(groups=PermissionGroup.addTwo.class) - @NotBlank(groups=PermissionGroup.addThree.class) - @NotBlank(groups=PermissionGroup.button.class) private String title; /** * 级别 @@ -51,28 +45,19 @@ public class Permission implements Serializable { /** * 功能父级id */ - @NotNull(groups=PermissionGroup.addOne.class) - @NotNull(groups=PermissionGroup.addTwo.class) - @NotNull(groups=PermissionGroup.addThree.class) - @NotNull(groups=PermissionGroup.button.class) private Long parentId; /** * 路径 */ - @NotBlank(groups=PermissionGroup.addOne.class) - @NotBlank(groups=PermissionGroup.addThree.class) + @NotBlank private String path; /** * 名称 */ - @NotBlank(groups=PermissionGroup.addOne.class) - @NotBlank(groups=PermissionGroup.addThree.class) private String name; /** * 组件地址 */ - @NotBlank(groups=PermissionGroup.addOne.class) - @NotBlank(groups=PermissionGroup.addThree.class) private String component; /** * 重定向 @@ -89,7 +74,6 @@ public class Permission implements Serializable { /** * 标记 */ - @NotBlank(groups=PermissionGroup.button.class) private String mark; /** * 分类(1是菜单2是按钮) diff --git a/cvmagic-system/src/main/java/com/cwf/system/service/PermissionService.java b/cvmagic-system/src/main/java/com/cwf/system/service/PermissionService.java index 7803f42..ddf216d 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/service/PermissionService.java +++ b/cvmagic-system/src/main/java/com/cwf/system/service/PermissionService.java @@ -1,6 +1,7 @@ package com.cwf.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.cwf.common.core.service.BaseService; import com.cwf.system.entity.Permission; import com.cwf.system.vo.PermissionTreeVO; import com.github.pagehelper.PageInfo; @@ -30,6 +31,15 @@ public interface PermissionService extends IService { PageInfo getPermissionPageList(Permission permission); + + Permission byIdGetPermissionInfo(Integer id); + boolean add(Permission permission); + + + boolean update(Permission permission); + + + } diff --git a/cvmagic-system/src/main/java/com/cwf/system/service/impl/PermissionServiceImpl.java b/cvmagic-system/src/main/java/com/cwf/system/service/impl/PermissionServiceImpl.java index 7b7aadd..00cbc63 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/service/impl/PermissionServiceImpl.java +++ b/cvmagic-system/src/main/java/com/cwf/system/service/impl/PermissionServiceImpl.java @@ -2,6 +2,7 @@ package com.cwf.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cwf.common.core.service.BaseService; import com.cwf.common.enums.IsDeleteEnum; import com.cwf.system.dao.PermissionDao; import com.cwf.system.entity.Permission; @@ -24,6 +25,7 @@ import java.util.stream.Collectors; @Service public class PermissionServiceImpl extends ServiceImpl implements PermissionService { + @Autowired private PermissionDao permissionDao; @@ -80,11 +82,32 @@ public class PermissionServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Permission::getId,id); + + Permission permission = permissionDao.selectOne(lambdaQueryWrapper); + + BaseService.checkByIdGetInfoResult(permission,"获取当前菜单/按钮失败"); + + return permission; + } + @Override public boolean add(Permission permission) { return false; } + + + @Override + public boolean update(Permission permission) { + + return this.updateById(permission); + } } diff --git a/cvmagic-system/src/main/java/com/cwf/system/validation/permission/AddPermission.java b/cvmagic-system/src/main/java/com/cwf/system/validation/permission/AddPermission.java new file mode 100644 index 0000000..725b407 --- /dev/null +++ b/cvmagic-system/src/main/java/com/cwf/system/validation/permission/AddPermission.java @@ -0,0 +1,113 @@ +package com.cwf.system.validation.permission; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.*; +import lombok.experimental.SuperBuilder; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Null; +import java.io.Serializable; + +/** + * 添加(Permission)实体类 + * + * @author makejava + * @since 2023-02-15 12:42:44 + */ +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +@ToString +public class AddPermission implements Serializable { + private static final long serialVersionUID = 210823805838544488L; + /** + * 功能id + */ + @Null(groups=PermissionGroup.addOne.class) + @Null(groups=PermissionGroup.addTwo.class) + @Null(groups=PermissionGroup.addThree.class) + @Null(groups=PermissionGroup.button.class) + private Long id; + /** + * 功能名称 + */ + + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addTwo.class) + @NotBlank(groups=PermissionGroup.addThree.class) + @NotBlank(groups=PermissionGroup.button.class) + private String title; + /** + * 级别 + */ + private Integer rank; + /** + * 功能父级id + */ + @NotNull(groups=PermissionGroup.addOne.class) + @NotNull(groups=PermissionGroup.addTwo.class) + @NotNull(groups=PermissionGroup.addThree.class) + @NotNull(groups=PermissionGroup.button.class) + private Long parentId; + /** + * 路径 + */ + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addThree.class) + private String path; + /** + * 名称 + */ + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addThree.class) + private String name; + /** + * 组件地址 + */ + @NotBlank(groups=PermissionGroup.addOne.class) + @NotBlank(groups=PermissionGroup.addThree.class) + private String component; + /** + * 重定向 + */ + private String redirect; + /** + * 元标签 + */ + private String meta; + /** + * 功能状态 + */ + private Integer state; + /** + * 标记 + */ + @NotBlank(groups=PermissionGroup.button.class) + private String mark; + /** + * 分类(1是菜单2是按钮) + */ + private Integer category; + /** + * 图标地址 + */ + private String icon; + /** + * 排序 + */ + private Integer sort; + /** + * 是否显示 + */ + private Integer isShow; + /** + * 逻辑删除 + */ + private String isDelete; + +} + -- Gitee From f0be05f1a909fe6c6af9eb52e516515159a89e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cv=E9=AD=94=E6=B3=95=E5=B8=88?= <1806839210@qq.com> Date: Sat, 18 Feb 2023 21:28:45 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cwf/system/controller/PermissionController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java index 2e3479c..4203065 100644 --- a/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java +++ b/cvmagic-system/src/main/java/com/cwf/system/controller/PermissionController.java @@ -104,6 +104,8 @@ public class PermissionController extends BaseController { isEmpty(permission); + + Permission build = Permission.builder() .id(Long.valueOf(id)) .title(permission.getTitle()) @@ -116,7 +118,7 @@ public class PermissionController extends BaseController { .sort(permission.getSort()).build(); - //boolean res = permissionService.update(build); + boolean res = permissionService.update(build); return R.update(1); } -- Gitee