diff --git a/sherly-admin/src/main/java/com/guzi/sherly/controller/ErrorCodeController.java b/sherly-admin/src/main/java/com/guzi/sherly/controller/ErrorCodeController.java new file mode 100644 index 0000000000000000000000000000000000000000..be432cb1b78f349bd404668d6abc823aae85eeb2 --- /dev/null +++ b/sherly-admin/src/main/java/com/guzi/sherly/controller/ErrorCodeController.java @@ -0,0 +1,51 @@ +package com.guzi.sherly.controller; + +import com.guzi.sherly.model.PageResult; +import com.guzi.sherly.model.Result; +import com.guzi.sherly.model.dto.*; +import com.guzi.sherly.model.vo.ErrorCodePageVO; +import com.guzi.sherly.service.ErrorCodeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@RestController +@Api(tags = "错误相关") +@RequestMapping("/api/error_code") +@Validated +public class ErrorCodeController { + + @Autowired + private ErrorCodeService errorCodeService; + + @PostMapping("/save_one") + @ApiOperation("错误新增") + public Result saveOne(@RequestBody @Valid ErrorCodeInsertDTO dto) { + errorCodeService.saveOne(dto); + return Result.success(); + } + + @PutMapping("/update_one") + @ApiOperation("错误更新") + public Result updateOne(@RequestBody @Valid ErrorCodeUpdateDTO dto) { + errorCodeService.updateOne(dto); + return Result.success(); + } + + @DeleteMapping("/remove_one") + @ApiOperation("错误删除") + public Result removeOne(@RequestParam Integer errorId) { + errorCodeService.removeOne(errorId); + return Result.success(); + } + + @GetMapping("/list_page") + @ApiOperation("错误分页") + public Result> listPage(ErrorCodePageDTO dto) { + return Result.success(errorCodeService.listPage(dto)); + } +} diff --git a/sherly-admin/src/main/java/com/guzi/sherly/controller/ModuleController.java b/sherly-admin/src/main/java/com/guzi/sherly/controller/ModuleController.java new file mode 100644 index 0000000000000000000000000000000000000000..05143636b5e473f9ff703143d6d3774fa5c73e29 --- /dev/null +++ b/sherly-admin/src/main/java/com/guzi/sherly/controller/ModuleController.java @@ -0,0 +1,52 @@ +package com.guzi.sherly.controller; + +import com.guzi.sherly.model.Result; +import com.guzi.sherly.model.dto.ModuleInsertDTO; +import com.guzi.sherly.model.dto.ModuleUpdateDTO; +import com.guzi.sherly.model.vo.ModuleVO; +import com.guzi.sherly.service.ModuleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +@RestController +@Api(tags = "模块相关") +@RequestMapping("/api/module") +@Validated +public class ModuleController { + + @Autowired + private ModuleService moduleService; + + @GetMapping("/list_tree") + @ApiOperation("查询模块树") + public Result> listTree() { + return Result.success(moduleService.listTree()); + } + + @PostMapping("/save_one") + @ApiOperation("模块新增") + public Result saveOne(@RequestBody @Valid ModuleInsertDTO dto) { + moduleService.saveOne(dto); + return Result.success(); + } + + @PutMapping("/update_one") + @ApiOperation("模块更新") + public Result updateOne(@RequestBody @Valid ModuleUpdateDTO dto) { + moduleService.updateOne(dto); + return Result.success(); + } + + @DeleteMapping("/remove_one") + @ApiOperation("模块删除") + public Result removeOne(@RequestParam Integer moduleId) { + moduleService.removeOne(moduleId); + return Result.success(); + } +} diff --git a/sherly-admin/src/main/java/com/guzi/sherly/service/ErrorCodeService.java b/sherly-admin/src/main/java/com/guzi/sherly/service/ErrorCodeService.java new file mode 100644 index 0000000000000000000000000000000000000000..5f192a94b7b83b11ec9ad7cf7f1644ad24c277ab --- /dev/null +++ b/sherly-admin/src/main/java/com/guzi/sherly/service/ErrorCodeService.java @@ -0,0 +1,96 @@ +package com.guzi.sherly.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.guzi.sherly.manager.ErrorCodeManager; +import com.guzi.sherly.model.PageResult; +import com.guzi.sherly.model.admin.ErrorCode; +import com.guzi.sherly.model.dto.ErrorCodeInsertDTO; +import com.guzi.sherly.model.dto.ErrorCodePageDTO; +import com.guzi.sherly.model.dto.ErrorCodeUpdateDTO; +import com.guzi.sherly.model.exception.BizException; +import com.guzi.sherly.model.vo.ErrorCodePageVO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +import static com.guzi.sherly.model.exception.enums.AdminErrorEnum.ERROR_REPEAT; + + +@Service +public class ErrorCodeService { + + @Autowired + private ErrorCodeManager errorCodeManager; + + /** + * 错误新增 + * @param dto + */ + public void saveOne(ErrorCodeInsertDTO dto) { + ErrorCode errorCode = new ErrorCode(); + // 查重 + ErrorCode one = errorCodeManager.getErrorCode(dto.getErrorCode()); + if (one != null) { + throw new BizException(ERROR_REPEAT); + } + BeanUtils.copyProperties(dto, errorCode); + errorCodeManager.save(errorCode); + } + + /** + * 错误更新 + * @param dto + */ + public void updateOne(ErrorCodeUpdateDTO dto) { + ErrorCode errorCode = new ErrorCode(); + // 查重 + ErrorCode one = errorCodeManager.getErrorCode(dto.getErrorCode()); + if (one != null) { + throw new BizException(ERROR_REPEAT); + } + BeanUtils.copyProperties(dto, errorCode); + errorCodeManager.updateById(errorCode); + } + + /** + * 错误删除 + * @param errorId + */ + public void removeOne(Integer errorId) { + errorCodeManager.removeById(errorId); + } + + /** + * 错误查询 + * @param dto + * @return + */ + public PageResult listPage(ErrorCodePageDTO dto) { + IPage page = errorCodeManager.listPage(dto); + + List result = page.getRecords().stream().map(e -> { + ErrorCodePageVO vo = new ErrorCodePageVO(); + BeanUtils.copyProperties(e, vo); + return vo; + }).collect(Collectors.toList()); + return PageResult.build(result, page.getCurrent(), page.getSize(), page.getTotal()); + } + + /** + * 实时更新模块代码 + * @param moduleId + * @param moduleCode + */ + @Transactional(rollbackFor = Exception.class) + public void updateModuleCode(Integer moduleId, String moduleCode) { + List list = errorCodeManager.getAll(moduleId); + for (ErrorCode e : list) { + e.setModuleCode(moduleCode); + } + errorCodeManager.updateBatchById(list); + } +} diff --git a/sherly-admin/src/main/java/com/guzi/sherly/service/ModuleService.java b/sherly-admin/src/main/java/com/guzi/sherly/service/ModuleService.java new file mode 100644 index 0000000000000000000000000000000000000000..7f871a9d7fc7e06afa97880965c8a5a68d389180 --- /dev/null +++ b/sherly-admin/src/main/java/com/guzi/sherly/service/ModuleService.java @@ -0,0 +1,122 @@ +package com.guzi.sherly.service; + +import com.guzi.sherly.manager.ErrorCodeManager; +import com.guzi.sherly.manager.ModuleManager; +import com.guzi.sherly.model.admin.Module; +import com.guzi.sherly.model.dto.ModuleInsertDTO; +import com.guzi.sherly.model.dto.ModuleUpdateDTO; +import com.guzi.sherly.model.exception.BizException; +import com.guzi.sherly.model.vo.ModuleVO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Comparator; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +import static com.guzi.sherly.model.contants.CommonConstants.ROOT_PARENT_ID; +import static com.guzi.sherly.model.exception.enums.AdminErrorEnum.*; + +@Service +public class ModuleService { + + @Autowired + private ModuleManager moduleManager; + + @Autowired + private ErrorCodeManager errorCodeManager; + + /** + * 查询模块树 + * @return + */ + public List listTree() { + List list = moduleManager.list(); + + //对象转换为vo类型 + List all = list.stream() + .sorted(Comparator.comparing(Module::getSort)) + .map(e -> { + ModuleVO vo = new ModuleVO(); + BeanUtils.copyProperties(e, vo); + return vo; + }).collect(Collectors.toList()); + + //拼装子节点并返回 + return all.stream() + .filter(e -> Objects.equals(e.getParentId(), ROOT_PARENT_ID.intValue())) + .peek(e -> e.setChildren(getChildren(e, all))) + .collect(Collectors.toList()); + } + + /** + * 递归拼装子结点 + * @param parent + * @param all + * @return + */ + private List getChildren(ModuleVO parent, List all) { + return all.stream() + .filter(e -> Objects.equals(e.getParentId(), parent.getModuleId())) + .peek(e -> e.setChildren(getChildren(e, all))) + .collect(Collectors.toList()); + } + + /** + * 模块新增 + * @param dto + */ + public void saveOne(ModuleInsertDTO dto) { + + Module one = moduleManager.getByModuleName(dto.getModuleName(), dto.getModuleCode(),dto.getParentId()); + // 查重 同级禁止新增相同模块 + if (one != null && Objects.equals(dto.getParentId(), one.getParentId())) { + throw new BizException(MODULE_REPEAT); + } + Module module = new Module(); + BeanUtils.copyProperties(dto, module); + moduleManager.save(module); + } + + /** + * 模块更新 + * @param dto + */ + @Transactional(rollbackFor = Exception.class) + public void updateOne(ModuleUpdateDTO dto) { + + Module one = moduleManager.getByModuleName(dto.getModuleName(), dto.getModuleCode(),dto.getParentId()); + + if (one != null) { + List list = moduleManager.getAll(dto.getModuleId()); + //存在子模块的父模块和不为自身的模块禁止修改 + if ((Objects.equals(dto.getParentId(), ROOT_PARENT_ID.intValue()) && list != null) || !Objects.equals(dto.getModuleId(), one.getModuleId())) { + throw new BizException(UPDATE_MODULE_ERROR); + } + //修改子模块同时更新错误列表 + if (!Objects.equals(dto.getParentId(), ROOT_PARENT_ID.intValue()) && Objects.equals(dto.getParentId(), one.getParentId())) { + ErrorCodeService errorCodeService = new ErrorCodeService(); + errorCodeService.updateModuleCode(dto.getModuleId(), dto.getModuleCode()); + } + } + Module module = new Module(); + BeanUtils.copyProperties(dto, module); + moduleManager.updateById(module); + } + + /** + * 模块删除 + * @param moduleId + */ + public void removeOne(Integer moduleId) { + //是否存在子模块 + List list = moduleManager.getAll(moduleId); + if (list.size() > 0) { + throw new BizException(DELETE_MODULE_ERROR); + } + moduleManager.removeById(moduleId); + } +} diff --git a/sherly-admin/src/main/resources/application-develop.yml b/sherly-admin/src/main/resources/application-develop.yml index 0ecd690c36810645c66128889a58d96ef2518257..ef44ce141f5586b3ec6bdaa81d66519ca3fc79ca 100644 --- a/sherly-admin/src/main/resources/application-develop.yml +++ b/sherly-admin/src/main/resources/application-develop.yml @@ -12,9 +12,9 @@ spring: # redis配置 redis: - host: 101.34.169.185 + host: 10.3.74.238 port: 6379 - password: mpw:tNvIJM/7zuhDi3RoOr2KAA== + password: lrj317 database: 0 lettuce: pool: @@ -27,9 +27,9 @@ spring: # mysql配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://101.34.169.185:3306/sherly?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true - username: mpw:tNvIJM/7zuhDi3RoOr2KAA== - password: mpw:tNvIJM/7zuhDi3RoOr2KAA== + url: jdbc:mysql://10.3.74.238:3306/sherly?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true + username: lirjj + password: lrj317 hikari: connection-timeout: 60000 validation-timeout: 3000 diff --git a/sherly-common/src/main/java/com/guzi/sherly/manager/ErrorCodeManager.java b/sherly-common/src/main/java/com/guzi/sherly/manager/ErrorCodeManager.java new file mode 100644 index 0000000000000000000000000000000000000000..6292ec5fa3c180c23dcf595bd0c8e3d8811a548d --- /dev/null +++ b/sherly-common/src/main/java/com/guzi/sherly/manager/ErrorCodeManager.java @@ -0,0 +1,54 @@ +package com.guzi.sherly.manager; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.guzi.sherly.mapper.ErrorCodeMapper; +import com.guzi.sherly.model.admin.ErrorCode; +import com.guzi.sherly.model.dto.ErrorCodePageDTO; +import com.guzi.sherly.util.SherlyLambdaQueryWrapper; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service +public class ErrorCodeManager extends ServiceImpl { + + /** + * 根据错误代码查询错误数据 + * @param errorCode + * @return + */ + public ErrorCode getErrorCode(String errorCode) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ErrorCode::getErrorCode, errorCode); + return this.getOne(wrapper, false); + } + + /** + * 根据模块id查询错误数据 + * @param moduleId + * @return + */ + public List getAll(Integer moduleId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ErrorCode::getModuleId, moduleId); + return this.list(wrapper); + } + + /** + * 错误条件查询 + * @param dto + * @return + */ + public IPage listPage(ErrorCodePageDTO dto) { + SherlyLambdaQueryWrapper wrapper = new SherlyLambdaQueryWrapper<>(); + wrapper + .likeIfExist(ErrorCode::getErrorCode, dto.getErrorCode()) + .likeIfExist(ErrorCode::getMessage, dto.getMessage()) + .eqIfExist(ErrorCode::getErrorCode, dto.getErrorCode()); + return this.page(new Page<>(dto.getCurrent(), dto.getSize()), wrapper); + } +} diff --git a/sherly-common/src/main/java/com/guzi/sherly/manager/ModuleManager.java b/sherly-common/src/main/java/com/guzi/sherly/manager/ModuleManager.java new file mode 100644 index 0000000000000000000000000000000000000000..a40a5031e2734016a1bf72672fda07a2a8741eb7 --- /dev/null +++ b/sherly-common/src/main/java/com/guzi/sherly/manager/ModuleManager.java @@ -0,0 +1,39 @@ +package com.guzi.sherly.manager; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.guzi.sherly.mapper.ModuleMapper; +import com.guzi.sherly.model.admin.Module; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ModuleManager extends ServiceImpl { + + /** + * 根据模块名称查询模块数据 + * @param moduleName + * @return + */ + public Module getByModuleName(String moduleName,String moduleCode,Integer parentId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper + .eq(Module::getModuleName, moduleName) + .eq(Module::getParentId,parentId) + .or() + .eq(Module::getModuleCode,moduleCode); + return this.getOne(wrapper, false); + } + + /** + * 根据父模块id查询子模块数据 + * @param moduleId + * @return + */ + public List getAll(Integer moduleId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Module::getParentId, moduleId); + return this.list(wrapper); + } +} diff --git a/sherly-common/src/main/java/com/guzi/sherly/mapper/ErrorCodeMapper.java b/sherly-common/src/main/java/com/guzi/sherly/mapper/ErrorCodeMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..5693c4330957a89853be888ebc21dfbe784f9f7c --- /dev/null +++ b/sherly-common/src/main/java/com/guzi/sherly/mapper/ErrorCodeMapper.java @@ -0,0 +1,9 @@ +package com.guzi.sherly.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.guzi.sherly.model.admin.ErrorCode; +import org.springframework.stereotype.Repository; + +@Repository +public interface ErrorCodeMapper extends BaseMapper { +} diff --git a/sherly-common/src/main/java/com/guzi/sherly/mapper/ModuleMapper.java b/sherly-common/src/main/java/com/guzi/sherly/mapper/ModuleMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..2ec676fe41ea0a97ebed25b5d7fbb0f9b2c720cb --- /dev/null +++ b/sherly-common/src/main/java/com/guzi/sherly/mapper/ModuleMapper.java @@ -0,0 +1,9 @@ +package com.guzi.sherly.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.guzi.sherly.model.admin.Module; +import org.springframework.stereotype.Repository; + +@Repository +public interface ModuleMapper extends BaseMapper { +} diff --git a/sherly-common/src/main/java/com/guzi/sherly/model/admin/ErrorCode.java b/sherly-common/src/main/java/com/guzi/sherly/model/admin/ErrorCode.java index 36ff283c5e6bbdf39a1fe4d5df9e58ef62a0445d..f9dc2c42dafb91e37f67c723a5e0187098269ef7 100644 --- a/sherly-common/src/main/java/com/guzi/sherly/model/admin/ErrorCode.java +++ b/sherly-common/src/main/java/com/guzi/sherly/model/admin/ErrorCode.java @@ -6,10 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.guzi.sherly.model.BaseModel; import lombok.Data; -/** - * @author 谷子毅 - * @date 2022/8/22 - */ @Data @TableName("ge_error_code") public class ErrorCode extends BaseModel { @@ -27,7 +23,7 @@ public class ErrorCode extends BaseModel { private String description; /** 模块id */ - private String moduleId; + private Integer moduleId; /** 模块代码 */ private String moduleCode; diff --git a/sherly-common/src/main/java/com/guzi/sherly/model/admin/Module.java b/sherly-common/src/main/java/com/guzi/sherly/model/admin/Module.java index 1a2dcdfc3d0cc2999d996a2a605cbf0acc148516..d875d757f9164231b92b2a7cf007529b92536c99 100644 --- a/sherly-common/src/main/java/com/guzi/sherly/model/admin/Module.java +++ b/sherly-common/src/main/java/com/guzi/sherly/model/admin/Module.java @@ -6,10 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.guzi.sherly.model.BaseModel; import lombok.Data; -/** - * @author 谷子毅 - * @date 2022/8/29 - */ @Data @TableName("ge_module") public class Module extends BaseModel { @@ -19,10 +15,10 @@ public class Module extends BaseModel { private Integer moduleId; /** 模块代码 */ - private Integer moduleCode; + private String moduleCode; /** 模块名称 */ - private Integer moduleName; + private String moduleName; /** 排序 */ private Integer sort; diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodeInsertDTO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodeInsertDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..650fea47b16395f8950dd80641a340464a47fccb --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodeInsertDTO.java @@ -0,0 +1,29 @@ +package com.guzi.sherly.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class ErrorCodeInsertDTO { + + /** 错误代码 */ + @ApiModelProperty(value = "错误代码", required = true) + @NotBlank + private String errorCode; + + /** 错误信息 */ + @ApiModelProperty(value = "错误信息", required = true) + @NotBlank + private String message; + + /** 错误描述 */ + @ApiModelProperty(value = "错误描述") + private String description; + + /** 模块代码 */ + @ApiModelProperty(value = "模块代码", required = true) + @NotBlank + private String moduleCode; +} diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodePageDTO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodePageDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..c039f88c85cf3333daaba367ba6b6c9e0cc68e21 --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodePageDTO.java @@ -0,0 +1,21 @@ +package com.guzi.sherly.model.dto; + +import com.guzi.sherly.model.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ErrorCodePageDTO extends PageQuery { + + /** 错误代码 */ + @ApiModelProperty(value = "错误代码") + private String errorCode; + + /** 错误信息 */ + @ApiModelProperty(value = "错误信息") + private String message; + + /** 模块代码 */ + @ApiModelProperty(value = "模块代码") + private String moduleCode; +} diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodeUpdateDTO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodeUpdateDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..1fb655e0b4ea85532a2863c634e71e3aea37db67 --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ErrorCodeUpdateDTO.java @@ -0,0 +1,33 @@ +package com.guzi.sherly.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class ErrorCodeUpdateDTO { + + /** 错误id */ + @ApiModelProperty(value = "错误id") + private Integer errorId; + + /** 错误代码 */ + @ApiModelProperty(value = "错误代码", required = true) + @NotBlank + private String errorCode; + + /** 错误信息 */ + @ApiModelProperty(value = "错误信息", required = true) + @NotBlank + private String message; + + /** 错误描述 */ + @ApiModelProperty(value = "错误描述") + private String description; + + /** 模块代码 */ + @ApiModelProperty(value = "模块代码", required = true) + @NotBlank + private String moduleCode; +} diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ModuleInsertDTO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ModuleInsertDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..c44161425a3cecb0af44a837845b8e419ba30cc1 --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ModuleInsertDTO.java @@ -0,0 +1,27 @@ +package com.guzi.sherly.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class ModuleInsertDTO { + + @ApiModelProperty(value = "模块名称", required = true) + @NotBlank + private String moduleName; + + @ApiModelProperty(value = "模块代码", required = true) + @NotBlank + private String moduleCode; + + @ApiModelProperty(value = "父模块id", required = true) + @NotNull + private Integer parentId; + + @ApiModelProperty(value = "排序", required = true) + @NotNull + private Integer sort; +} diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ModuleUpdateDTO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ModuleUpdateDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..f8a86a1e74e6c5bb7ceb05f98a2311aaff9e2796 --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/dto/ModuleUpdateDTO.java @@ -0,0 +1,30 @@ +package com.guzi.sherly.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class ModuleUpdateDTO { + + @ApiModelProperty(value = "模块id") + private Integer moduleId; + + @ApiModelProperty(value = "模块名称", required = true) + @NotBlank + private String moduleName; + + @ApiModelProperty(value = "模块代码", required = true) + @NotBlank + private String moduleCode; + + @ApiModelProperty(value = "父模块id", required = true) + @NotNull + private Integer parentId; + + @ApiModelProperty(value = "排序", required = true) + @NotNull + private Integer sort; +} diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/exception/enums/AdminErrorEnum.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/exception/enums/AdminErrorEnum.java index 2117ad3d61a2d9df1e92654ab7a58b59a576415d..6da6f8bf28e26b96a7ade778a96db064f04d38e4 100644 --- a/sherly-sdk/src/main/java/com/guzi/sherly/model/exception/enums/AdminErrorEnum.java +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/exception/enums/AdminErrorEnum.java @@ -48,6 +48,12 @@ public enum AdminErrorEnum implements IBaseError { NO_EMAIL_CONFIG("000-050-001", "失败,请检查邮箱配置!"), /*============================对象存储=======================*/ NO_OSS_CONFIG("000-051-001", "失败,请检查存储配置!"), + /*============================模块管理=======================*/ + MODULE_REPEAT("000-007-001", "该模块已存在!"), + DELETE_MODULE_ERROR("000-007-002", "该级模块禁止删除!"), + UPDATE_MODULE_ERROR("000-007-003", "该模块禁止修改!"), + /*============================错误管理=======================*/ + ERROR_REPEAT("000-008-001", "该错误已存在!"), ; private final String code; diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/vo/ErrorCodePageVO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/vo/ErrorCodePageVO.java new file mode 100644 index 0000000000000000000000000000000000000000..28b86e51fa134aeeca0fd92d66765d3dee276156 --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/vo/ErrorCodePageVO.java @@ -0,0 +1,34 @@ +package com.guzi.sherly.model.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class ErrorCodePageVO { + + /** 错误id */ + @ApiModelProperty(value = "错误id") + private Integer errorId; + + /** 错误码 */ + @ApiModelProperty(value = "错误代码") + private String errorCode; + + /** 错误信息 */ + @ApiModelProperty(value = "错误信息") + private String message; + + /** 错误描述 */ + @ApiModelProperty(value = "错误描述") + private String description; + + /** 模块代码 */ + @ApiModelProperty(value = "模块代码") + private String moduleCode; + + /** 创建时间 */ + @ApiModelProperty(value = "创建时间") + private Date createTime; +} diff --git a/sherly-sdk/src/main/java/com/guzi/sherly/model/vo/ModuleVO.java b/sherly-sdk/src/main/java/com/guzi/sherly/model/vo/ModuleVO.java new file mode 100644 index 0000000000000000000000000000000000000000..849e2ac1a646b349550ca5c933cc41187764502b --- /dev/null +++ b/sherly-sdk/src/main/java/com/guzi/sherly/model/vo/ModuleVO.java @@ -0,0 +1,37 @@ +package com.guzi.sherly.model.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class ModuleVO { + + /** 模块id */ + @ApiModelProperty(value = "模块id") + private Integer moduleId; + + /** 模块名称 */ + @ApiModelProperty(value = "模块名称") + private String moduleName; + + /** 模块代码 */ + @ApiModelProperty(value = "模块代码") + private String moduleCode; + + /** 父模块id */ + @ApiModelProperty(value = "父模块id") + private Integer parentId; + + /** 排序 */ + @ApiModelProperty(value = "排序") + private Integer sort; + + /** 创建时间 */ + @ApiModelProperty(value = "创建时间") + private Date createTime; + + private List children; +}