diff --git a/admin/src/main/java/io/modules/security/oauth2/Oauth2Realm.java b/admin/src/main/java/io/modules/security/oauth2/Oauth2Realm.java index b5f0ccf..8806bd3 100644 --- a/admin/src/main/java/io/modules/security/oauth2/Oauth2Realm.java +++ b/admin/src/main/java/io/modules/security/oauth2/Oauth2Realm.java @@ -38,10 +38,8 @@ public class Oauth2Realm extends AuthorizingRealm { @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { UserDetail user = (UserDetail) principals.getPrimaryPrincipal(); - //用户权限列表 Set permsSet = shiroService.getUserPermissions(user); - SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); info.setStringPermissions(permsSet); return info; @@ -63,9 +61,6 @@ public class Oauth2Realm extends AuthorizingRealm { SysUserEntity userEntity = shiroService.getUser(tokenEntity.getUserId()); //转换成UserDetail对象 UserDetail userDetail = ConvertUtils.sourceToTarget(userEntity, UserDetail.class); - //获取用户对应的部门数据权限 - List deptIdList = shiroService.getDataScopeList(userDetail.getId()); - userDetail.setDeptIdList(deptIdList); //账号锁定 if (userDetail.getStatus() == 0) { throw new LockedAccountException("账号已被锁定!"); diff --git a/admin/src/main/java/io/modules/security/service/ShiroService.java b/admin/src/main/java/io/modules/security/service/ShiroService.java index 6a5f01b..1e5de23 100644 --- a/admin/src/main/java/io/modules/security/service/ShiroService.java +++ b/admin/src/main/java/io/modules/security/service/ShiroService.java @@ -28,10 +28,5 @@ public interface ShiroService { */ SysUserEntity getUser(Long userId); - /** - * 获取用户对应的部门数据权限 - * @param userId 用户ID - * @return 返回部门ID列表 - */ - List getDataScopeList(Long userId); + } diff --git a/admin/src/main/java/io/modules/security/service/impl/ShiroServiceImpl.java b/admin/src/main/java/io/modules/security/service/impl/ShiroServiceImpl.java index 7353437..300f52c 100644 --- a/admin/src/main/java/io/modules/security/service/impl/ShiroServiceImpl.java +++ b/admin/src/main/java/io/modules/security/service/impl/ShiroServiceImpl.java @@ -1,5 +1,3 @@ - - package io.modules.security.service.impl; import cn.hutool.core.util.StrUtil; @@ -7,8 +5,6 @@ import io.modules.security.dao.SysUserTokenDao; import io.modules.security.entity.SysUserTokenEntity; import io.modules.security.service.ShiroService; import io.modules.security.user.UserDetail; -import io.modules.sys.dao.SysMenuDao; -import io.modules.sys.dao.SysRoleDataScopeDao; import io.modules.sys.dao.SysUserDao; import io.modules.sys.entity.SysUserEntity; import io.modules.sys.enums.SuperAdminEnum; @@ -23,30 +19,14 @@ import java.util.Set; @Service @AllArgsConstructor public class ShiroServiceImpl implements ShiroService { - private final SysMenuDao sysMenuDao; private final SysUserDao sysUserDao; private final SysUserTokenDao sysUserTokenDao; - private final SysRoleDataScopeDao sysRoleDataScopeDao; @Override public Set getUserPermissions(UserDetail user) { - //系统管理员,拥有最高权限 - List permissionsList; - if (user.getSuperAdmin() == SuperAdminEnum.YES.value()) { - permissionsList = sysMenuDao.getPermissionsList(); - } else { - permissionsList = sysMenuDao.getUserPermissionsList(user.getId()); - } //用户权限列表 Set permsSet = new HashSet<>(); - for (String permissions : permissionsList) { - if (StrUtil.isBlank(permissions)) { - continue; - } - permsSet.addAll(Arrays.asList(permissions.trim().split(","))); - } - return permsSet; } @@ -60,8 +40,5 @@ public class ShiroServiceImpl implements ShiroService { return sysUserDao.selectById(userId); } - @Override - public List getDataScopeList(Long userId) { - return sysRoleDataScopeDao.getDataScopeList(userId); - } + } diff --git a/admin/src/main/java/io/modules/sys/controller/CertificatesController.java b/admin/src/main/java/io/modules/sys/controller/CertificatesController.java index 5d55e8c..507ab06 100644 --- a/admin/src/main/java/io/modules/sys/controller/CertificatesController.java +++ b/admin/src/main/java/io/modules/sys/controller/CertificatesController.java @@ -41,8 +41,7 @@ public class CertificatesController { private SetRequestService setRequestService; @Autowired private FrontUserService userService; - @Value("${upload.url}") - private String uploadUrl; + @GetMapping("page") @Operation(summary = "分页") @@ -55,8 +54,6 @@ public class CertificatesController { public Result> page(@Parameter(hidden = true) @RequestParam Map params){ PageData page = certificatesService.page(params); List collect = page.getList().stream().map(e -> { - // 拼接域名 - e.setImg(uploadUrl + e.getImg()); Long userId = e.getUserId(); UserDTO userDTO = userService.get(userId); e.setUser(userDTO); @@ -71,8 +68,7 @@ public class CertificatesController { public Result save(@RequestBody CertificatesDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - dto.setImg(dto.getImg().replace(uploadUrl,"")); - certificatesService.save(dto); + return new Result(); } @@ -81,7 +77,7 @@ public class CertificatesController { public Result update(@RequestBody CertificatesDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - dto.setImg(dto.getImg().replace(uploadUrl,"")); + certificatesService.update(dto); return new Result(); } @@ -91,10 +87,9 @@ public class CertificatesController { public Result book(@RequestBody CertificatesDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - dto.setImg(dto.getImg().replace(uploadUrl,"")); + SetResponse setResponse = setRequestService.sendSetRequest(String.valueOf(dto.getId()), dto.toString()); - dto.setBlockchainTxId(setResponse.getData()); - dto.setIsBlock(1); + dto.setHex(setResponse.getData()); certificatesService.update(dto); return new Result(); } diff --git a/admin/src/main/java/io/modules/sys/controller/SysDeptController.java b/admin/src/main/java/io/modules/sys/controller/SysDeptController.java deleted file mode 100644 index 799203d..0000000 --- a/admin/src/main/java/io/modules/sys/controller/SysDeptController.java +++ /dev/null @@ -1,92 +0,0 @@ - - -package io.modules.sys.controller; - -import io.common.annotation.LogOperation; -import io.common.utils.Result; -import io.common.validator.AssertUtils; -import io.common.validator.ValidatorUtils; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.modules.sys.dto.SysDeptDTO; -import io.modules.sys.service.SysDeptService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; -import java.util.List; - -/** - * 部门管理 - * - - */ -@RestController -@RequestMapping("/sys/dept") -@Tag(name = "部门管理") -@AllArgsConstructor -public class SysDeptController { - private final SysDeptService sysDeptService; - - @GetMapping("list") - @Operation(summary = "列表") - @RequiresPermissions("sys:dept:list") - public Result> list() { - List list = sysDeptService.list(new HashMap<>(1)); - - return new Result>().ok(list); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @RequiresPermissions("sys:dept:info") - public Result get(@PathVariable("id") Long id) { - SysDeptDTO data = sysDeptService.get(id); - - return new Result().ok(data); - } - - @PostMapping - @Operation(summary = "保存") - @LogOperation("保存") - @RequiresPermissions("sys:dept:save") - public Result save(@RequestBody SysDeptDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - - sysDeptService.save(dto); - - return new Result(); - } - - @PutMapping - @Operation(summary = "修改") - @LogOperation("修改") - @RequiresPermissions("sys:dept:update") - public Result update(@RequestBody SysDeptDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - - sysDeptService.update(dto); - - return new Result(); - } - - @DeleteMapping("{id}") - @Operation(summary = "删除") - @LogOperation("删除") - @RequiresPermissions("sys:dept:delete") - public Result delete(@PathVariable("id") Long id) { - //效验数据 - AssertUtils.isNull(id, "id"); - - sysDeptService.delete(id); - - return new Result(); - } - -} diff --git a/admin/src/main/java/io/modules/sys/controller/SysDictDataController.java b/admin/src/main/java/io/modules/sys/controller/SysDictDataController.java deleted file mode 100644 index d67c693..0000000 --- a/admin/src/main/java/io/modules/sys/controller/SysDictDataController.java +++ /dev/null @@ -1,104 +0,0 @@ - - -package io.modules.sys.controller; - -import io.common.annotation.LogOperation; -import io.common.constant.Constant; -import io.common.page.PageData; -import io.common.utils.Result; -import io.common.validator.AssertUtils; -import io.common.validator.ValidatorUtils; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.modules.sys.dto.SysDictDataDTO; -import io.modules.sys.service.SysDictDataService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** - * 字典数据 - * - - */ -@RestController -@RequestMapping("sys/dict/data") -@Tag(name = "字典数据") -@AllArgsConstructor -public class SysDictDataController { - private final SysDictDataService sysDictDataService; - - @GetMapping("page") - @Operation(summary = "字典数据") - @Parameters({ - @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = "dictLabel", description = "字典标签", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = "dictValue", description = "字典值", in = ParameterIn.QUERY, ref = "String") - }) - @RequiresPermissions("sys:dict:page") - public Result> page(@Parameter(hidden = true) @RequestParam Map params) { - //字典类型 - PageData page = sysDictDataService.page(params); - - return new Result>().ok(page); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @RequiresPermissions("sys:dict:info") - public Result get(@PathVariable("id") Long id) { - SysDictDataDTO data = sysDictDataService.get(id); - - return new Result().ok(data); - } - - @PostMapping - @Operation(summary = "保存") - @LogOperation("保存") - @RequiresPermissions("sys:dict:save") - public Result save(@RequestBody SysDictDataDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, DefaultGroup.class); - - sysDictDataService.save(dto); - - return new Result(); - } - - @PutMapping - @Operation(summary = "修改") - @LogOperation("修改") - @RequiresPermissions("sys:dict:update") - public Result update(@RequestBody SysDictDataDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - - sysDictDataService.update(dto); - - return new Result(); - } - - @DeleteMapping - @Operation(summary = "删除") - @LogOperation("删除") - @RequiresPermissions("sys:dict:delete") - public Result delete(@RequestBody Long[] ids) { - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - - sysDictDataService.delete(ids); - - return new Result(); - } - -} diff --git a/admin/src/main/java/io/modules/sys/controller/SysDictTypeController.java b/admin/src/main/java/io/modules/sys/controller/SysDictTypeController.java deleted file mode 100644 index 3f2bf18..0000000 --- a/admin/src/main/java/io/modules/sys/controller/SysDictTypeController.java +++ /dev/null @@ -1,112 +0,0 @@ - - -package io.modules.sys.controller; - -import io.common.annotation.LogOperation; -import io.common.constant.Constant; -import io.common.page.PageData; -import io.common.utils.Result; -import io.common.validator.AssertUtils; -import io.common.validator.ValidatorUtils; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.modules.sys.dto.SysDictTypeDTO; -import io.modules.sys.entity.DictType; -import io.modules.sys.service.SysDictTypeService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * 字典类型 - */ -@RestController -@RequestMapping("sys/dict/type") -@Tag(name = "字典类型") -@AllArgsConstructor -public class SysDictTypeController { - private final SysDictTypeService sysDictTypeService; - - @GetMapping("page") - @Operation(summary = "字典类型") - @Parameters({ - @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = "dictType", description = "字典类型", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = "dictName", description = "字典名称", in = ParameterIn.QUERY, ref = "String") - }) - @RequiresPermissions("sys:dict:page") - public Result> page(@Parameter(hidden = true) @RequestParam Map params) { - //字典类型 - PageData page = sysDictTypeService.page(params); - - return new Result>().ok(page); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @RequiresPermissions("sys:dict:info") - public Result get(@PathVariable("id") Long id) { - SysDictTypeDTO data = sysDictTypeService.get(id); - - return new Result().ok(data); - } - - @PostMapping - @Operation(summary = "保存") - @LogOperation("保存") - @RequiresPermissions("sys:dict:save") - public Result save(@RequestBody SysDictTypeDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, DefaultGroup.class); - - sysDictTypeService.save(dto); - - return new Result(); - } - - @PutMapping - @Operation(summary = "修改") - @LogOperation("修改") - @RequiresPermissions("sys:dict:update") - public Result update(@RequestBody SysDictTypeDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - - sysDictTypeService.update(dto); - - return new Result(); - } - - @DeleteMapping - @Operation(summary = "删除") - @LogOperation("删除") - @RequiresPermissions("sys:dict:delete") - public Result delete(@RequestBody Long[] ids) { - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - - sysDictTypeService.delete(ids); - - return new Result(); - } - - @GetMapping("all") - @Operation(summary = "所有字典数据") - public Result> all() { - List list = sysDictTypeService.getAllList(); - - return new Result>().ok(list); - } - -} diff --git a/admin/src/main/java/io/modules/sys/controller/SysMenuController.java b/admin/src/main/java/io/modules/sys/controller/SysMenuController.java deleted file mode 100644 index 0c542bb..0000000 --- a/admin/src/main/java/io/modules/sys/controller/SysMenuController.java +++ /dev/null @@ -1,132 +0,0 @@ - - -package io.modules.sys.controller; - -import io.modules.security.service.ShiroService; -import io.modules.security.user.SecurityUser; -import io.modules.security.user.UserDetail; -import io.common.annotation.LogOperation; -import io.common.exception.ErrorCode; -import io.common.utils.Result; -import io.common.validator.AssertUtils; -import io.common.validator.ValidatorUtils; -import io.common.validator.group.DefaultGroup; -import io.modules.sys.dto.SysMenuDTO; -import io.modules.sys.enums.MenuTypeEnum; -import io.modules.sys.service.SysMenuService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Set; - -/** - * 菜单管理 - * - - */ -@RestController -@RequestMapping("/sys/menu") -@Tag(name = "菜单管理") -@AllArgsConstructor -public class SysMenuController { - private final SysMenuService sysMenuService; - private final ShiroService shiroService; - - @GetMapping("nav") - @Operation(summary = "导航") - public Result> nav() { - UserDetail user = SecurityUser.getUser(); - List list = sysMenuService.getUserMenuList(user, MenuTypeEnum.MENU.value()); - - return new Result>().ok(list); - } - - @GetMapping("permissions") - @Operation(summary = "权限标识") - public Result> permissions() { - UserDetail user = SecurityUser.getUser(); - Set set = shiroService.getUserPermissions(user); - - return new Result>().ok(set); - } - - @GetMapping("list") - @Operation(summary = "列表") - @Parameter(name = "type", description = "菜单类型 0:菜单 1:按钮 null:全部", in = ParameterIn.QUERY, ref = "int") - @RequiresPermissions("sys:menu:list") - public Result> list(Integer type) { - List list = sysMenuService.getAllMenuList(type); - - return new Result>().ok(list); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @RequiresPermissions("sys:menu:info") - public Result get(@PathVariable("id") Long id) { - SysMenuDTO data = sysMenuService.get(id); - - return new Result().ok(data); - } - - @PostMapping - @Operation(summary = "保存") - @LogOperation("保存") - @RequiresPermissions("sys:menu:save") - public Result save(@RequestBody SysMenuDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, DefaultGroup.class); - - sysMenuService.save(dto); - - return new Result(); - } - - @PutMapping - @Operation(summary = "修改") - @LogOperation("修改") - @RequiresPermissions("sys:menu:update") - public Result update(@RequestBody SysMenuDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, DefaultGroup.class); - - sysMenuService.update(dto); - - return new Result(); - } - - @DeleteMapping("{id}") - @Operation(summary = "删除") - @LogOperation("删除") - @RequiresPermissions("sys:menu:delete") - public Result delete(@PathVariable("id") Long id) { - //效验数据 - AssertUtils.isNull(id, "id"); - - //判断是否有子菜单或按钮 - List list = sysMenuService.getListPid(id); - if (list.size() > 0) { - return new Result().error("先删除子菜单或按钮!"); - } - - sysMenuService.delete(id); - - return new Result(); - } - - @GetMapping("select") - @Operation(summary = "角色菜单权限") - @RequiresPermissions("sys:menu:select") - public Result> select() { - UserDetail user = SecurityUser.getUser(); - List list = sysMenuService.getUserMenuList(user, null); - - return new Result>().ok(list); - } -} diff --git a/admin/src/main/java/io/modules/sys/controller/SysParamsController.java b/admin/src/main/java/io/modules/sys/controller/SysParamsController.java deleted file mode 100644 index cef6f79..0000000 --- a/admin/src/main/java/io/modules/sys/controller/SysParamsController.java +++ /dev/null @@ -1,120 +0,0 @@ - - -package io.modules.sys.controller; - -import io.common.annotation.LogOperation; -import io.common.constant.Constant; -import io.common.page.PageData; -import io.common.utils.ExcelUtils; -import io.common.utils.Result; -import io.common.validator.AssertUtils; -import io.common.validator.ValidatorUtils; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.modules.sys.dto.SysParamsDTO; -import io.modules.sys.excel.SysParamsExcel; -import io.modules.sys.service.SysParamsService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import lombok.AllArgsConstructor; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - - -/** - * 参数管理 - * - - * @since 1.0.0 - */ -@RestController -@RequestMapping("sys/params") -@Tag(name = "参数管理") -@AllArgsConstructor -public class SysParamsController { - private final SysParamsService sysParamsService; - - @GetMapping("page") - @Operation(summary = "分页") - @Parameters({ - @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = "paramCode", description = "参数编码", in = ParameterIn.QUERY, ref = "String") - }) - @RequiresPermissions("sys:params:page") - public Result> page(@Parameter(hidden = true) @RequestParam Map params) { - PageData page = sysParamsService.page(params); - - return new Result>().ok(page); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @RequiresPermissions("sys:params:info") - public Result get(@PathVariable("id") Long id) { - SysParamsDTO data = sysParamsService.get(id); - - return new Result().ok(data); - } - - @PostMapping - @Operation(summary = "保存") - @LogOperation("保存") - @RequiresPermissions("sys:params:save") - public Result save(@RequestBody SysParamsDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - - sysParamsService.save(dto); - - return new Result(); - } - - @PutMapping - @Operation(summary = "修改") - @LogOperation("修改") - @RequiresPermissions("sys:params:update") - public Result update(@RequestBody SysParamsDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - - sysParamsService.update(dto); - - return new Result(); - } - - @DeleteMapping - @Operation(summary = "删除") - @LogOperation("删除") - @RequiresPermissions("sys:params:delete") - public Result delete(@RequestBody Long[] ids) { - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - - sysParamsService.delete(ids); - - return new Result(); - } - - @GetMapping("export") - @Operation(summary = "导出") - @LogOperation("导出") - @RequiresPermissions("sys:params:export") - @Parameter(name = "paramCode", description = "参数编码", in = ParameterIn.QUERY, ref = "String") - public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { - List list = sysParamsService.list(params); - - ExcelUtils.exportExcelToTarget(response, null, "参数管理", list, SysParamsExcel.class); - } - -} diff --git a/admin/src/main/java/io/modules/sys/controller/SysRoleController.java b/admin/src/main/java/io/modules/sys/controller/SysRoleController.java deleted file mode 100644 index a28b8ac..0000000 --- a/admin/src/main/java/io/modules/sys/controller/SysRoleController.java +++ /dev/null @@ -1,125 +0,0 @@ - - -package io.modules.sys.controller; - -import io.common.annotation.LogOperation; -import io.common.constant.Constant; -import io.common.page.PageData; -import io.common.utils.Result; -import io.common.validator.AssertUtils; -import io.common.validator.ValidatorUtils; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.modules.sys.dto.SysRoleDTO; -import io.modules.sys.service.SysRoleDataScopeService; -import io.modules.sys.service.SysRoleMenuService; -import io.modules.sys.service.SysRoleService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 角色管理 - * - - */ -@RestController -@RequestMapping("/sys/role") -@Tag(name = "角色管理") -@AllArgsConstructor -public class SysRoleController { - private final SysRoleService sysRoleService; - private final SysRoleMenuService sysRoleMenuService; - private final SysRoleDataScopeService sysRoleDataScopeService; - - @GetMapping("page") - @Operation(summary = "分页") - @Parameters({ - @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), - @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), - @Parameter(name = "name", description = "角色名", in = ParameterIn.QUERY, ref = "String") - }) - @RequiresPermissions("sys:role:page") - public Result> page(@Parameter(hidden = true) @RequestParam Map params) { - PageData page = sysRoleService.page(params); - - return new Result>().ok(page); - } - - @GetMapping("list") - @Operation(summary = "列表") - @RequiresPermissions("sys:role:list") - public Result> list() { - List data = sysRoleService.list(new HashMap<>(1)); - - return new Result>().ok(data); - } - - @GetMapping("{id}") - @Operation(summary = "信息") - @RequiresPermissions("sys:role:info") - public Result get(@PathVariable("id") Long id) { - SysRoleDTO data = sysRoleService.get(id); - - //查询角色对应的菜单 - List menuIdList = sysRoleMenuService.getMenuIdList(id); - data.setMenuIdList(menuIdList); - - //查询角色对应的数据权限 - List deptIdList = sysRoleDataScopeService.getDeptIdList(id); - data.setDeptIdList(deptIdList); - - return new Result().ok(data); - } - - @PostMapping - @Operation(summary = "保存") - @LogOperation("保存") - @RequiresPermissions("sys:role:save") - public Result save(@RequestBody SysRoleDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - - sysRoleService.save(dto); - - return new Result(); - } - - @PutMapping - @Operation(summary = "修改") - @LogOperation("修改") - @RequiresPermissions("sys:role:update") - public Result update(@RequestBody SysRoleDTO dto) { - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - - sysRoleService.update(dto); - - return new Result(); - } - - @DeleteMapping - @Operation(summary = "删除") - @LogOperation("删除") - @RequiresPermissions("sys:role:delete") - public Result delete(@RequestBody Long[] ids) { - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - - sysRoleService.delete(ids); - - return new Result(); - } -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysDeptDao.java b/admin/src/main/java/io/modules/sys/dao/SysDeptDao.java deleted file mode 100644 index 5075e7f..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysDeptDao.java +++ /dev/null @@ -1,35 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.SysDeptEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; -import java.util.Map; - -/** - * 部门管理 - * - - */ -@Mapper -public interface SysDeptDao extends BaseDao { - - List getList(Map params); - - SysDeptEntity getById(Long id); - - /** - * 获取所有部门的id、pid列表 - */ - List getIdAndPidList(); - - /** - * 根据部门ID,获取所有子部门ID列表 - * @param id 部门ID - */ - List getSubDeptIdList(String id); - -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysDictDataDao.java b/admin/src/main/java/io/modules/sys/dao/SysDictDataDao.java deleted file mode 100644 index 9a158f9..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysDictDataDao.java +++ /dev/null @@ -1,24 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.DictData; -import io.modules.sys.entity.SysDictDataEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 字典数据 - * - - */ -@Mapper -public interface SysDictDataDao extends BaseDao { - - /** - * 字典数据列表 - */ - List getDictDataList(); -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysDictTypeDao.java b/admin/src/main/java/io/modules/sys/dao/SysDictTypeDao.java deleted file mode 100644 index 30bea43..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysDictTypeDao.java +++ /dev/null @@ -1,25 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.DictType; -import io.modules.sys.entity.SysDictTypeEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 字典类型 - * - - */ -@Mapper -public interface SysDictTypeDao extends BaseDao { - - /** - * 字典类型列表 - */ - List getDictTypeList(); - -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysMenuDao.java b/admin/src/main/java/io/modules/sys/dao/SysMenuDao.java deleted file mode 100644 index 852ba0d..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysMenuDao.java +++ /dev/null @@ -1,54 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.SysMenuEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 菜单管理 - * - - */ -@Mapper -public interface SysMenuDao extends BaseDao { - - SysMenuEntity getById(@Param("id") Long id); - - /** - * 查询所有菜单列表 - * - * @param menuType 菜单类型 - */ - List getMenuList(@Param("menuType") Integer menuType); - - /** - * 查询用户菜单列表 - * - * @param userId 用户ID - * @param menuType 菜单类型 - */ - List getUserMenuList(@Param("userId") Long userId, @Param("menuType") Integer menuType); - - /** - * 查询用户权限列表 - * @param userId 用户ID - */ - List getUserPermissionsList(Long userId); - - /** - * 查询所有权限列表 - */ - List getPermissionsList(); - - /** - * 根据父菜单,查询子菜单 - * @param pid 父菜单ID - */ - List getListPid(Long pid); - -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysParamsDao.java b/admin/src/main/java/io/modules/sys/dao/SysParamsDao.java deleted file mode 100644 index 57545b5..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysParamsDao.java +++ /dev/null @@ -1,40 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.SysParamsEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 参数管理 - * - - * @since 1.0.0 - */ -@Mapper -public interface SysParamsDao extends BaseDao { - /** - * 根据参数编码,查询value - * @param paramCode 参数编码 - * @return 参数值 - */ - String getValueByCode(String paramCode); - - /** - * 获取参数编码列表 - * @param ids ids - * @return 返回参数编码列表 - */ - List getParamCodeList(Long[] ids); - - /** - * 根据参数编码,更新value - * @param paramCode 参数编码 - * @param paramValue 参数值 - */ - int updateValueByCode(@Param("paramCode") String paramCode, @Param("paramValue") String paramValue); -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysRoleDao.java b/admin/src/main/java/io/modules/sys/dao/SysRoleDao.java deleted file mode 100644 index 94f0a04..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysRoleDao.java +++ /dev/null @@ -1,18 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.SysRoleEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -/** - * 角色管理 - * - - */ -@Mapper -public interface SysRoleDao extends BaseDao { - - -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysRoleDataScopeDao.java b/admin/src/main/java/io/modules/sys/dao/SysRoleDataScopeDao.java deleted file mode 100644 index 8482377..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysRoleDataScopeDao.java +++ /dev/null @@ -1,35 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.SysRoleDataScopeEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 角色数据权限 - * - - * @since 1.0.0 - */ -@Mapper -public interface SysRoleDataScopeDao extends BaseDao { - - /** - * 根据角色ID,获取部门ID列表 - */ - List getDeptIdList(Long roleId); - - /** - * 获取用户的部门数据权限列表 - */ - List getDataScopeList(Long userId); - - /** - * 根据角色id,删除角色数据权限关系 - * @param roleIds 角色ids - */ - void deleteByRoleIds(Long[] roleIds); -} diff --git a/admin/src/main/java/io/modules/sys/dao/SysRoleMenuDao.java b/admin/src/main/java/io/modules/sys/dao/SysRoleMenuDao.java deleted file mode 100644 index d42c3b4..0000000 --- a/admin/src/main/java/io/modules/sys/dao/SysRoleMenuDao.java +++ /dev/null @@ -1,35 +0,0 @@ - - -package io.modules.sys.dao; - -import io.modules.sys.entity.SysRoleMenuEntity; -import io.common.dao.BaseDao; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 角色与菜单对应关系 - * - - */ -@Mapper -public interface SysRoleMenuDao extends BaseDao { - - /** - * 根据角色ID,获取菜单ID列表 - */ - List getMenuIdList(Long roleId); - - /** - * 根据角色id,删除角色菜单关系 - * @param roleIds 角色ids - */ - void deleteByRoleIds(Long[] roleIds); - - /** - * 根据菜单id,删除角色菜单关系 - * @param menuId 菜单id - */ - void deleteByMenuId(Long menuId); -} diff --git a/admin/src/main/java/io/modules/sys/dto/SysDeptDTO.java b/admin/src/main/java/io/modules/sys/dto/SysDeptDTO.java deleted file mode 100644 index 75c1bfa..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SysDeptDTO.java +++ /dev/null @@ -1,76 +0,0 @@ - - -package io.modules.sys.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.common.utils.TreeNode; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Min; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Null; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.Date; - -/** - * 部门管理 - * - - * @since 1.0.0 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Schema(title = "部门管理") -public class SysDeptDTO extends TreeNode implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(title = "id") - @Null(message="ID必须为空", groups = AddGroup.class) - @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; - - @Schema(title = "上级ID") - @NotNull(message="{sysdept.pid.require}", groups = DefaultGroup.class) - private Long pid; - - @Schema(title = "部门名称") - @NotBlank(message="{sysdept.name.require}", groups = DefaultGroup.class) - private String name; - - @Schema(title = "排序") - @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) - private Integer sort; - - @Schema(title = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; - - @Schema(title = "上级部门名称") - private String parentName; - - @Override - public Long getId() { - return id; - } - - @Override - public void setId(Long id) { - this.id = id; - } - - @Override - public Long getPid() { - return pid; - } - - @Override - public void setPid(Long pid) { - this.pid = pid; - } -} diff --git a/admin/src/main/java/io/modules/sys/dto/SysDictDataDTO.java b/admin/src/main/java/io/modules/sys/dto/SysDictDataDTO.java deleted file mode 100644 index 113b291..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SysDictDataDTO.java +++ /dev/null @@ -1,59 +0,0 @@ - - -package io.modules.sys.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Min; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Null; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 字典数据 - * - - */ -@Data -@Schema(title = "字典数据") -public class SysDictDataDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(title = "id") - @Null(message="ID必须为空", groups = AddGroup.class) - @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; - - @Schema(title = "字典类型ID") - @NotNull(message="{sysdict.type.require}", groups = DefaultGroup.class) - private Long dictTypeId; - - @Schema(title = "字典标签") - @NotBlank(message="{sysdict.label.require}", groups = DefaultGroup.class) - private String dictLabel; - - @Schema(title = "字典值") - private String dictValue; - - @Schema(title = "备注") - private String remark; - - @Schema(title = "排序") - @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) - private Integer sort; - - @Schema(title = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; - - @Schema(title = "更新时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updateDate; -} diff --git a/admin/src/main/java/io/modules/sys/dto/SysDictTypeDTO.java b/admin/src/main/java/io/modules/sys/dto/SysDictTypeDTO.java deleted file mode 100644 index 2303f04..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SysDictTypeDTO.java +++ /dev/null @@ -1,56 +0,0 @@ - - -package io.modules.sys.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Min; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Null; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 字典类型 - * - - */ -@Data -@Schema(title = "字典类型") -public class SysDictTypeDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(title = "id") - @Null(message="ID必须为空", groups = AddGroup.class) - @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; - - @Schema(title = "字典类型") - @NotBlank(message="{sysdict.type.require}", groups = DefaultGroup.class) - private String dictType; - - @Schema(title = "字典名称") - @NotBlank(message="{sysdict.name.require}", groups = DefaultGroup.class) - private String dictName; - - @Schema(title = "备注") - private String remark; - - @Schema(title = "排序") - @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) - private Integer sort; - - @Schema(title = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; - - @Schema(title = "更新时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updateDate; -} diff --git a/admin/src/main/java/io/modules/sys/dto/SysMenuDTO.java b/admin/src/main/java/io/modules/sys/dto/SysMenuDTO.java deleted file mode 100644 index ce8c274..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SysMenuDTO.java +++ /dev/null @@ -1,91 +0,0 @@ - - -package io.modules.sys.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.common.utils.TreeNode; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Min; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Null; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.hibernate.validator.constraints.Range; - -import java.io.Serializable; -import java.util.Date; - -/** - * 菜单管理 - * - - * @since 1.0.0 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Schema(title = "菜单管理") -public class SysMenuDTO extends TreeNode implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(title = "id") - @Null(message="ID必须为空", groups = AddGroup.class) - @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; - - @Schema(title = "上级ID") - @NotNull(message="{sysmenu.pid.require}", groups = DefaultGroup.class) - private Long pid; - - @Schema(title = "菜单名称") - @NotBlank(message="菜单名称不能为空", groups = DefaultGroup.class) - private String name; - - @Schema(title = "菜单URL") - private String url; - - @Schema(title = "类型 0:菜单 1:按钮") - @Range(min=0, max=1, message = "{sysmenu.type.range}", groups = DefaultGroup.class) - private Integer menuType; - - @Schema(title = "菜单图标") - private String icon; - - @Schema(title = "授权(多个用逗号分隔,如:sys:user:list,sys:user:save)") - private String permissions; - - @Schema(title = "排序") - @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) - private Integer sort; - - @Schema(title = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; - - @Schema(title = "上级菜单名称") - private String parentName; - - @Override - public Long getId() { - return id; - } - - @Override - public void setId(Long id) { - this.id = id; - } - - @Override - public Long getPid() { - return pid; - } - - @Override - public void setPid(Long pid) { - this.pid = pid; - } - -} diff --git a/admin/src/main/java/io/modules/sys/dto/SysParamsDTO.java b/admin/src/main/java/io/modules/sys/dto/SysParamsDTO.java deleted file mode 100644 index 09667a4..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SysParamsDTO.java +++ /dev/null @@ -1,53 +0,0 @@ - - -package io.modules.sys.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Null; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -/** - * 参数管理 - * - - * @since 1.0.0 - */ -@Data -@Schema(title = "参数管理") -public class SysParamsDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(title = "id") - @Null(message="ID必须为空", groups = AddGroup.class) - @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; - - @Schema(title = "参数编码") - @NotBlank(message="{sysparams.paramcode.require}", groups = DefaultGroup.class) - private String paramCode; - - @Schema(title = "参数值") - @NotBlank(message="{sysparams.paramvalue.require}", groups = DefaultGroup.class) - private String paramValue; - - @Schema(title = "备注") - private String remark; - - @Schema(title = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; - - @Schema(title = "更新时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updateDate; - -} diff --git a/admin/src/main/java/io/modules/sys/dto/SysRoleDTO.java b/admin/src/main/java/io/modules/sys/dto/SysRoleDTO.java deleted file mode 100644 index 1abf1b7..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SysRoleDTO.java +++ /dev/null @@ -1,52 +0,0 @@ - - -package io.modules.sys.dto; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.common.validator.group.AddGroup; -import io.common.validator.group.DefaultGroup; -import io.common.validator.group.UpdateGroup; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Null; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * 角色管理 - * - - * @since 1.0.0 - */ -@Data -@Schema(title = "角色管理") -public class SysRoleDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @Schema(title = "id") - @Null(message="ID必须为空", groups = AddGroup.class) - @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; - - @Schema(title = "角色名称") - @NotBlank(message="{sysrole.name.require}", groups = DefaultGroup.class) - private String name; - - @Schema(title = "备注") - private String remark; - - @Schema(title = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; - - @Schema(title = "菜单ID列表") - private List menuIdList; - - @Schema(title = "部门ID列表") - private List deptIdList; - -} diff --git a/admin/src/main/java/io/modules/sys/dto/SystemDTO.java b/admin/src/main/java/io/modules/sys/dto/SystemDTO.java deleted file mode 100644 index 5cb84d9..0000000 --- a/admin/src/main/java/io/modules/sys/dto/SystemDTO.java +++ /dev/null @@ -1,42 +0,0 @@ - - -package io.modules.sys.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 系统数据 - * - - * @since 1.0.0 - */ -@Data -@Schema(title = "系统数据") -public class SystemDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long sysTime; - private String osName; - private String osArch; - private String osVersion; - private String userLanguage; - private String userDir; - private Long totalPhysical; - private Long freePhysical; - private BigDecimal memoryRate; - private Integer processors; - private String jvmName; - private String javaVersion; - private String javaHome; - private Long javaTotalMemory; - private Long javaFreeMemory; - private Long javaMaxMemory; - private String userName; - private BigDecimal systemCpuLoad; - private String userTimezone; - -} diff --git a/admin/src/main/java/io/modules/sys/entity/DictData.java b/admin/src/main/java/io/modules/sys/entity/DictData.java deleted file mode 100644 index aba0c18..0000000 --- a/admin/src/main/java/io/modules/sys/entity/DictData.java +++ /dev/null @@ -1,19 +0,0 @@ - - -package io.modules.sys.entity; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Data; - -/** - * 字典数据 - * - - */ -@Data -public class DictData { - @JsonIgnore - private Long dictTypeId; - private String dictLabel; - private String dictValue; -} diff --git a/admin/src/main/java/io/modules/sys/entity/DictType.java b/admin/src/main/java/io/modules/sys/entity/DictType.java deleted file mode 100644 index 1816aac..0000000 --- a/admin/src/main/java/io/modules/sys/entity/DictType.java +++ /dev/null @@ -1,20 +0,0 @@ -package io.modules.sys.entity; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Data; - -import java.util.ArrayList; -import java.util.List; - -/** - * 字典类型 - * - - */ -@Data -public class DictType { - @JsonIgnore - private Long id; - private String dictType; - private List dataList = new ArrayList<>(); -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysDeptEntity.java b/admin/src/main/java/io/modules/sys/entity/SysDeptEntity.java deleted file mode 100644 index ed0f864..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysDeptEntity.java +++ /dev/null @@ -1,55 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.*; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 部门管理 - * - - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_dept") -public class SysDeptEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 上级ID - */ - private Long pid; - /** - * 所有上级ID,用逗号分开 - */ - private String pids; - /** - * 部门名称 - */ - private String name; - /** - * 排序 - */ - private Integer sort; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; - /** - * 上级部门名称 - */ - @TableField(exist = false) - private String parentName; - -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysDictDataEntity.java b/admin/src/main/java/io/modules/sys/entity/SysDictDataEntity.java deleted file mode 100644 index 72c7522..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysDictDataEntity.java +++ /dev/null @@ -1,54 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 数据字典 - * - - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_dict_data") -public class SysDictDataEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - /** - * 字典类型ID - */ - private Long dictTypeId; - /** - * 字典标签 - */ - private String dictLabel; - /** - * 字典值 - */ - private String dictValue; - /** - * 备注 - */ - private String remark; - /** - * 排序 - */ - private Integer sort; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysDictTypeEntity.java b/admin/src/main/java/io/modules/sys/entity/SysDictTypeEntity.java deleted file mode 100644 index 3f47718..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysDictTypeEntity.java +++ /dev/null @@ -1,50 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 字典类型 - * - - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_dict_type") -public class SysDictTypeEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - /** - * 字典类型 - */ - private String dictType; - /** - * 字典名称 - */ - private String dictName; - /** - * 备注 - */ - private String remark; - /** - * 排序 - */ - private Integer sort; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysMenuEntity.java b/admin/src/main/java/io/modules/sys/entity/SysMenuEntity.java deleted file mode 100644 index 18b8f2b..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysMenuEntity.java +++ /dev/null @@ -1,69 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 菜单管理 - * - - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_menu") -public class SysMenuEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 父菜单ID,一级菜单为0 - */ - private Long pid; - /** - * 菜单名称 - */ - private String name; - /** - * 菜单URL - */ - private String url; - /** - * 授权(多个用逗号分隔,如:sys:user:list,sys:user:save) - */ - private String permissions; - /** - * 类型 0:菜单 1:按钮 - */ - private Integer menuType; - /** - * 菜单图标 - */ - private String icon; - /** - * 排序 - */ - private Integer sort; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; - /** - * 上级菜单名称 - */ - @TableField(exist = false) - private String parentName; - -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysParamsEntity.java b/admin/src/main/java/io/modules/sys/entity/SysParamsEntity.java deleted file mode 100644 index ab71a0c..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysParamsEntity.java +++ /dev/null @@ -1,53 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 参数管理 - * - - * @since 1.0.0 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_params") -public class SysParamsEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 参数编码 - */ - private String paramCode; - /** - * 参数值 - */ - private String paramValue; - /** - * 类型 0:系统参数 1:非系统参数 - */ - private Integer paramType; - /** - * 备注 - */ - private String remark; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; - -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysRoleDataScopeEntity.java b/admin/src/main/java/io/modules/sys/entity/SysRoleDataScopeEntity.java deleted file mode 100644 index ee8120f..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysRoleDataScopeEntity.java +++ /dev/null @@ -1,31 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 角色数据权限 - * - - * @since 1.0.0 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_role_data_scope") -public class SysRoleDataScopeEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 角色ID - */ - private Long roleId; - /** - * 部门ID - */ - private Long deptId; - -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysRoleEntity.java b/admin/src/main/java/io/modules/sys/entity/SysRoleEntity.java deleted file mode 100644 index 256a120..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysRoleEntity.java +++ /dev/null @@ -1,48 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 角色 - * - - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_role") -public class SysRoleEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 角色名称 - */ - private String name; - /** - * 备注 - */ - private String remark; - /** - * 部门ID - */ - @TableField(fill = FieldFill.INSERT) - private Long deptId; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; -} diff --git a/admin/src/main/java/io/modules/sys/entity/SysRoleMenuEntity.java b/admin/src/main/java/io/modules/sys/entity/SysRoleMenuEntity.java deleted file mode 100644 index 60ff33a..0000000 --- a/admin/src/main/java/io/modules/sys/entity/SysRoleMenuEntity.java +++ /dev/null @@ -1,30 +0,0 @@ - - -package io.modules.sys.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.common.entity.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 角色菜单关系 - * - - * @since 1.0.0 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("sys_role_menu") -public class SysRoleMenuEntity extends BaseEntity { - private static final long serialVersionUID = 1L; - /** - * 角色ID - */ - private Long roleId; - /** - * 菜单ID - */ - private Long menuId; - -} diff --git a/admin/src/main/java/io/modules/sys/service/SysDeptService.java b/admin/src/main/java/io/modules/sys/service/SysDeptService.java deleted file mode 100644 index 28b7e1b..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysDeptService.java +++ /dev/null @@ -1,34 +0,0 @@ - - -package io.modules.sys.service; - -import io.common.service.BaseService; -import io.modules.sys.dto.SysDeptDTO; -import io.modules.sys.entity.SysDeptEntity; - -import java.util.List; -import java.util.Map; - -/** - * 部门管理 - * - - */ -public interface SysDeptService extends BaseService { - - List list(Map params); - - SysDeptDTO get(Long id); - - void save(SysDeptDTO dto); - - void update(SysDeptDTO dto); - - void delete(Long id); - - /** - * 根据部门ID,获取本部门及子部门ID列表 - * @param id 部门ID - */ - List getSubDeptIdList(Long id); -} diff --git a/admin/src/main/java/io/modules/sys/service/SysDictDataService.java b/admin/src/main/java/io/modules/sys/service/SysDictDataService.java deleted file mode 100644 index 0b87ce2..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysDictDataService.java +++ /dev/null @@ -1,29 +0,0 @@ - - -package io.modules.sys.service; - -import io.common.page.PageData; -import io.common.service.BaseService; -import io.modules.sys.dto.SysDictDataDTO; -import io.modules.sys.entity.SysDictDataEntity; - -import java.util.Map; - -/** - * 数据字典 - * - - */ -public interface SysDictDataService extends BaseService { - - PageData page(Map params); - - SysDictDataDTO get(Long id); - - void save(SysDictDataDTO dto); - - void update(SysDictDataDTO dto); - - void delete(Long[] ids); - -} diff --git a/admin/src/main/java/io/modules/sys/service/SysDictTypeService.java b/admin/src/main/java/io/modules/sys/service/SysDictTypeService.java deleted file mode 100644 index 2d66bc6..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysDictTypeService.java +++ /dev/null @@ -1,36 +0,0 @@ - - -package io.modules.sys.service; - -import io.common.page.PageData; -import io.common.service.BaseService; -import io.modules.sys.dto.SysDictTypeDTO; -import io.modules.sys.entity.DictType; -import io.modules.sys.entity.SysDictTypeEntity; - -import java.util.List; -import java.util.Map; - -/** - * 数据字典 - * - - */ -public interface SysDictTypeService extends BaseService { - - PageData page(Map params); - - SysDictTypeDTO get(Long id); - - void save(SysDictTypeDTO dto); - - void update(SysDictTypeDTO dto); - - void delete(Long[] ids); - - /** - * 获取所有字典 - */ - List getAllList(); - -} diff --git a/admin/src/main/java/io/modules/sys/service/SysMenuService.java b/admin/src/main/java/io/modules/sys/service/SysMenuService.java deleted file mode 100644 index 7ddaf1c..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysMenuService.java +++ /dev/null @@ -1,48 +0,0 @@ - - -package io.modules.sys.service; - -import io.modules.security.user.UserDetail; -import io.common.service.BaseService; -import io.modules.sys.dto.SysMenuDTO; -import io.modules.sys.entity.SysMenuEntity; - -import java.util.List; - - -/** - * 菜单管理 - * - - */ -public interface SysMenuService extends BaseService { - - SysMenuDTO get(Long id); - - void save(SysMenuDTO dto); - - void update(SysMenuDTO dto); - - void delete(Long id); - - /** - * 菜单列表 - * - * @param menuType 菜单类型 - */ - List getAllMenuList(Integer menuType); - - /** - * 用户菜单列表 - * - * @param user 用户 - * @param menuType 菜单类型 - */ - List getUserMenuList(UserDetail user, Integer menuType); - - /** - * 根据父菜单,查询子菜单 - * @param pid 父菜单ID - */ - List getListPid(Long pid); -} diff --git a/admin/src/main/java/io/modules/sys/service/SysParamsService.java b/admin/src/main/java/io/modules/sys/service/SysParamsService.java deleted file mode 100644 index 4d7ab63..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysParamsService.java +++ /dev/null @@ -1,50 +0,0 @@ -package io.modules.sys.service; - -import io.common.page.PageData; -import io.common.service.BaseService; -import io.modules.sys.dto.SysParamsDTO; -import io.modules.sys.entity.SysParamsEntity; -import java.util.List; -import java.util.Map; - -/** - * 参数管理 - * - - * @since 1.0.0 - */ -public interface SysParamsService extends BaseService { - - PageData page(Map params); - - List list(Map params); - - SysParamsDTO get(Long id); - - void save(SysParamsDTO dto); - - void update(SysParamsDTO dto); - - void delete(Long[] ids); - - /** - * 根据参数编码,获取参数的value值 - * - * @param paramCode 参数编码 - */ - String getValue(String paramCode); - - /** - * 根据参数编码,获取value的Object对象 - * @param paramCode 参数编码 - * @param clazz Object对象 - */ - T getValueObject(String paramCode, Class clazz); - - /** - * 根据参数编码,更新value - * @param paramCode 参数编码 - * @param paramValue 参数值 - */ - int updateValueByCode(String paramCode, String paramValue); -} diff --git a/admin/src/main/java/io/modules/sys/service/SysRoleDataScopeService.java b/admin/src/main/java/io/modules/sys/service/SysRoleDataScopeService.java deleted file mode 100644 index 3e0345f..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysRoleDataScopeService.java +++ /dev/null @@ -1,35 +0,0 @@ - - -package io.modules.sys.service; - -import io.common.service.BaseService; -import io.modules.sys.entity.SysRoleDataScopeEntity; - -import java.util.List; - -/** - * 角色数据权限 - * - - * @since 1.0.0 - */ -public interface SysRoleDataScopeService extends BaseService { - - /** - * 根据角色ID,获取部门ID列表 - */ - List getDeptIdList(Long roleId); - - /** - * 保存或修改 - * @param roleId 角色ID - * @param deptIdList 部门ID列表 - */ - void saveOrUpdate(Long roleId, List deptIdList); - - /** - * 根据角色id,删除角色数据权限关系 - * @param roleId 角色ids - */ - void deleteByRoleIds(Long[] roleId); -} diff --git a/admin/src/main/java/io/modules/sys/service/SysRoleMenuService.java b/admin/src/main/java/io/modules/sys/service/SysRoleMenuService.java deleted file mode 100644 index a4e411a..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysRoleMenuService.java +++ /dev/null @@ -1,41 +0,0 @@ - - -package io.modules.sys.service; - -import io.common.service.BaseService; -import io.modules.sys.entity.SysRoleMenuEntity; - -import java.util.List; - - -/** - * 角色与菜单对应关系 - * - - */ -public interface SysRoleMenuService extends BaseService { - - /** - * 根据角色ID,获取菜单ID列表 - */ - List getMenuIdList(Long roleId); - - /** - * 保存或修改 - * @param roleId 角色ID - * @param menuIdList 菜单ID列表 - */ - void saveOrUpdate(Long roleId, List menuIdList); - - /** - * 根据角色id,删除角色菜单关系 - * @param roleIds 角色ids - */ - void deleteByRoleIds(Long[] roleIds); - - /** - * 根据菜单id,删除角色菜单关系 - * @param menuId 菜单id - */ - void deleteByMenuId(Long menuId); -} diff --git a/admin/src/main/java/io/modules/sys/service/SysRoleService.java b/admin/src/main/java/io/modules/sys/service/SysRoleService.java deleted file mode 100644 index 8c97363..0000000 --- a/admin/src/main/java/io/modules/sys/service/SysRoleService.java +++ /dev/null @@ -1,34 +0,0 @@ - - -package io.modules.sys.service; - - -import io.common.page.PageData; -import io.common.service.BaseService; -import io.modules.sys.dto.SysRoleDTO; -import io.modules.sys.entity.SysRoleEntity; - -import java.util.List; -import java.util.Map; - - -/** - * 角色 - * - - */ -public interface SysRoleService extends BaseService { - - PageData page(Map params); - - List list(Map params); - - SysRoleDTO get(Long id); - - void save(SysRoleDTO dto); - - void update(SysRoleDTO dto); - - void delete(Long[] ids); - -} diff --git a/admin/src/main/java/io/modules/sys/service/SysRoleUserService.java b/admin/src/main/java/io/modules/sys/service/SysRoleUserService.java index c714309..fccbb63 100644 --- a/admin/src/main/java/io/modules/sys/service/SysRoleUserService.java +++ b/admin/src/main/java/io/modules/sys/service/SysRoleUserService.java @@ -9,9 +9,6 @@ import java.util.List; /** * 角色用户关系 - * - - * @since 1.0.0 */ public interface SysRoleUserService extends BaseService { diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysDeptServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysDeptServiceImpl.java deleted file mode 100644 index c287160..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysDeptServiceImpl.java +++ /dev/null @@ -1,160 +0,0 @@ - - -package io.modules.sys.service.impl; - -import com.qiniu.util.StringUtils; -import io.modules.security.user.SecurityUser; -import io.modules.security.user.UserDetail; -import io.common.constant.Constant; -import io.common.exception.ErrorCode; -import io.common.exception.RenException; -import io.common.service.impl.BaseServiceImpl; -import io.common.utils.ConvertUtils; -import io.common.utils.TreeUtils; -import io.modules.sys.dao.SysDeptDao; -import io.modules.sys.dao.SysUserDao; -import io.modules.sys.dto.SysDeptDTO; -import io.modules.sys.entity.SysDeptEntity; -import io.modules.sys.enums.SuperAdminEnum; -import io.modules.sys.service.SysDeptService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -@Service -@AllArgsConstructor -public class SysDeptServiceImpl extends BaseServiceImpl implements SysDeptService { - private final SysUserDao sysUserDao; - - @Override - public List list(Map params) { - //普通管理员,只能查询所属部门及子部门的数据 - UserDetail user = SecurityUser.getUser(); - if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) { - params.put("deptIdList", getSubDeptIdList(user.getDeptId())); - } - - //查询部门列表 - List entityList = baseDao.getList(params); - - List dtoList = ConvertUtils.sourceToTarget(entityList, SysDeptDTO.class); - - return TreeUtils.build(dtoList); - } - - @Override - public SysDeptDTO get(Long id) { - //超级管理员,部门ID为null - if (id == null) { - return null; - } - - SysDeptEntity entity = baseDao.getById(id); - - return ConvertUtils.sourceToTarget(entity, SysDeptDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysDeptDTO dto) { - SysDeptEntity entity = ConvertUtils.sourceToTarget(dto, SysDeptEntity.class); - - entity.setPids(getPidList(entity.getPid())); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysDeptDTO dto) { - SysDeptEntity entity = ConvertUtils.sourceToTarget(dto, SysDeptEntity.class); - - //上级部门不能为自身 - if (entity.getId().equals(entity.getPid())) { - throw new RenException("上级部门不能为自身!"); - } - - //上级部门不能为下级部门 - List subDeptList = getSubDeptIdList(entity.getId()); - if (subDeptList.contains(entity.getPid())) { - throw new RenException("上级部门不能为下级部门"); - } - - entity.setPids(getPidList(entity.getPid())); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long id) { - //判断是否有子部门 - List subList = getSubDeptIdList(id); - if (subList.size() > 1) { - throw new RenException("存在子部门!"); - } - - //判断部门下面是否有用户 - int count = sysUserDao.getCountByDeptId(id); - if (count > 0) { - throw new RenException("部门下面是有用户!"); - } - - //删除 - baseDao.deleteById(id); - } - - @Override - public List getSubDeptIdList(Long id) { - List deptIdList = baseDao.getSubDeptIdList("%" + id + "%"); - deptIdList.add(id); - - return deptIdList; - } - - /** - * 获取所有上级部门ID - * - * @param pid 上级ID - */ - private String getPidList(Long pid) { - //顶级部门,无上级部门 - if (Constant.DEPT_ROOT.equals(pid)) { - return Constant.DEPT_ROOT + ""; - } - - //所有部门的id、pid列表 - List deptList = baseDao.getIdAndPidList(); - - //list转map - Map map = new HashMap<>(deptList.size()); - for (SysDeptEntity entity : deptList) { - map.put(entity.getId(), entity); - } - - //递归查询所有上级部门ID列表 - List pidList = new ArrayList<>(); - getPidTree(pid, map, pidList); - - return StringUtils.join(pidList, ","); - } - - private void getPidTree(Long pid, Map map, List pidList) { - //顶级部门,无上级部门 - if (Constant.DEPT_ROOT.equals(pid)) { - return; - } - - //上级部门存在 - SysDeptEntity parent = map.get(pid); - if (parent != null) { - getPidTree(parent.getPid(), map, pidList); - } - - pidList.add(pid); - } -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysDictDataServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysDictDataServiceImpl.java deleted file mode 100644 index 2f5254c..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysDictDataServiceImpl.java +++ /dev/null @@ -1,82 +0,0 @@ - - -package io.modules.sys.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import io.common.page.PageData; -import io.common.service.impl.BaseServiceImpl; -import io.common.utils.ConvertUtils; -import io.modules.sys.dao.SysDictDataDao; -import io.modules.sys.dto.SysDictDataDTO; -import io.modules.sys.entity.SysDictDataEntity; -import io.modules.sys.service.SysDictDataService; -import cn.hutool.core.util.StrUtil; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.Map; - -/** - * 字典类型 - * - - */ -@Service -public class SysDictDataServiceImpl extends BaseServiceImpl implements SysDictDataService { - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, "sort", true), - getWrapper(params) - ); - - return getPageData(page, SysDictDataDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - Long dictTypeId = Long.parseLong((String) params.get("dictTypeId")); - String dictLabel = (String) params.get("dictLabel"); - String dictValue = (String) params.get("dictValue"); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("dict_type_id", dictTypeId); - wrapper.like(StrUtil.isNotBlank(dictLabel), "dict_label", dictLabel); - wrapper.like(StrUtil.isNotBlank(dictValue), "dict_value", dictValue); - - return wrapper; - } - - @Override - public SysDictDataDTO get(Long id) { - SysDictDataEntity entity = baseDao.selectById(id); - - return ConvertUtils.sourceToTarget(entity, SysDictDataDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysDictDataDTO dto) { - SysDictDataEntity entity = ConvertUtils.sourceToTarget(dto, SysDictDataEntity.class); - - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysDictDataDTO dto) { - SysDictDataEntity entity = ConvertUtils.sourceToTarget(dto, SysDictDataEntity.class); - - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long[] ids) { - //删除 - deleteBatchIds(Arrays.asList(ids)); - } - -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysDictTypeServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysDictTypeServiceImpl.java deleted file mode 100644 index a45e4b1..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysDictTypeServiceImpl.java +++ /dev/null @@ -1,101 +0,0 @@ - - -package io.modules.sys.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import io.common.page.PageData; -import io.common.service.impl.BaseServiceImpl; -import io.common.utils.ConvertUtils; -import io.modules.sys.dao.SysDictDataDao; -import io.modules.sys.dao.SysDictTypeDao; -import io.modules.sys.dto.SysDictTypeDTO; -import io.modules.sys.entity.DictData; -import io.modules.sys.entity.DictType; -import io.modules.sys.entity.SysDictTypeEntity; -import io.modules.sys.service.SysDictTypeService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * 字典类型 - * - - */ -@Service -@AllArgsConstructor -public class SysDictTypeServiceImpl extends BaseServiceImpl implements SysDictTypeService { - private final SysDictDataDao sysDictDataDao; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, "sort", true), - getWrapper(params) - ); - - return getPageData(page, SysDictTypeDTO.class); - } - - private QueryWrapper getWrapper(Map params) { - String dictType = (String) params.get("dictType"); - String dictName = (String) params.get("dictName"); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.like(StrUtil.isNotBlank(dictType), "dict_type", dictType); - wrapper.like(StrUtil.isNotBlank(dictName), "dict_name", dictName); - - return wrapper; - } - - @Override - public SysDictTypeDTO get(Long id) { - SysDictTypeEntity entity = baseDao.selectById(id); - - return ConvertUtils.sourceToTarget(entity, SysDictTypeDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysDictTypeDTO dto) { - SysDictTypeEntity entity = ConvertUtils.sourceToTarget(dto, SysDictTypeEntity.class); - - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysDictTypeDTO dto) { - SysDictTypeEntity entity = ConvertUtils.sourceToTarget(dto, SysDictTypeEntity.class); - - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long[] ids) { - //删除 - deleteBatchIds(Arrays.asList(ids)); - } - - @Override - public List getAllList() { - List typeList = baseDao.getDictTypeList(); - List dataList = sysDictDataDao.getDictDataList(); - for (DictType type : typeList) { - for (DictData data : dataList) { - if (type.getId().equals(data.getDictTypeId())) { - type.getDataList().add(data); - } - } - } - return typeList; - } - -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysMenuServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysMenuServiceImpl.java deleted file mode 100644 index 130797a..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysMenuServiceImpl.java +++ /dev/null @@ -1,102 +0,0 @@ - - -package io.modules.sys.service.impl; - -import io.modules.security.user.UserDetail; -import io.common.constant.Constant; -import io.common.exception.ErrorCode; -import io.common.exception.RenException; -import io.common.service.impl.BaseServiceImpl; -import io.common.utils.ConvertUtils; -import io.common.utils.TreeUtils; -import io.modules.sys.dao.SysMenuDao; -import io.modules.sys.dto.SysMenuDTO; -import io.modules.sys.entity.SysMenuEntity; -import io.modules.sys.enums.SuperAdminEnum; -import io.modules.sys.service.SysMenuService; -import io.modules.sys.service.SysRoleMenuService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Service -@AllArgsConstructor -public class SysMenuServiceImpl extends BaseServiceImpl implements SysMenuService { - private final SysRoleMenuService sysRoleMenuService; - - @Override - public SysMenuDTO get(Long id) { - SysMenuEntity entity = baseDao.getById(id); - - SysMenuDTO dto = ConvertUtils.sourceToTarget(entity, SysMenuDTO.class); - - return dto; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysMenuDTO dto) { - SysMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysMenuEntity.class); - - //保存菜单 - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysMenuDTO dto) { - SysMenuEntity entity = ConvertUtils.sourceToTarget(dto, SysMenuEntity.class); - - //上级菜单不能为自身 - if (entity.getId().equals(entity.getPid())) { - throw new RenException("上级菜单不能为自身!"); - } - - //更新菜单 - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long id) { - //删除菜单 - deleteById(id); - //删除角色菜单关系 - sysRoleMenuService.deleteByMenuId(id); - } - - @Override - public List getAllMenuList(Integer menuType) { - List menuList = baseDao.getMenuList(menuType); - - List dtoList = ConvertUtils.sourceToTarget(menuList, SysMenuDTO.class); - - return TreeUtils.build(dtoList, Constant.MENU_ROOT); - } - - @Override - public List getUserMenuList(UserDetail user, Integer menuType) { - List menuList; - - //系统管理员,拥有最高权限 - if (user.getSuperAdmin() == SuperAdminEnum.YES.value()) { - menuList = baseDao.getMenuList(menuType); - } else { - menuList = baseDao.getUserMenuList(user.getId(), menuType); - } - - List dtoList = ConvertUtils.sourceToTarget(menuList, SysMenuDTO.class); - - return TreeUtils.build(dtoList); - } - - @Override - public List getListPid(Long pid) { - List menuList = baseDao.getListPid(pid); - - return ConvertUtils.sourceToTarget(menuList, SysMenuDTO.class); - } - -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysParamsServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysParamsServiceImpl.java deleted file mode 100644 index b86a8d7..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysParamsServiceImpl.java +++ /dev/null @@ -1,123 +0,0 @@ - - -package io.modules.sys.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import io.common.constant.Constant; -import io.common.exception.ErrorCode; -import io.common.exception.RenException; -import io.common.page.PageData; -import io.common.service.impl.BaseServiceImpl; -import io.common.utils.ConvertUtils; -import io.common.utils.JsonUtils; -import io.modules.sys.dao.SysParamsDao; -import io.modules.sys.dto.SysParamsDTO; -import io.modules.sys.entity.SysParamsEntity; -import io.modules.sys.service.SysParamsService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * 参数管理 - * - - * @since 1.0.0 - */ -@Service -@AllArgsConstructor -public class SysParamsServiceImpl extends BaseServiceImpl implements SysParamsService { - - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, Constant.CREATE_DATE, false), - getWrapper(params) - ); - - return getPageData(page, SysParamsDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, SysParamsDTO.class); - } - - private QueryWrapper getWrapper(Map params) { - String paramCode = (String) params.get("paramCode"); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("param_type", 1); - wrapper.like(StrUtil.isNotBlank(paramCode), "param_code", paramCode); - - return wrapper; - } - - @Override - public SysParamsDTO get(Long id) { - SysParamsEntity entity = baseDao.selectById(id); - - return ConvertUtils.sourceToTarget(entity, SysParamsDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysParamsDTO dto) { - SysParamsEntity entity = ConvertUtils.sourceToTarget(dto, SysParamsEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysParamsDTO dto) { - SysParamsEntity entity = ConvertUtils.sourceToTarget(dto, SysParamsEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long[] ids) { - //删除Redis数据 - List paramCodeList = baseDao.getParamCodeList(ids); - String[] paramCodes = paramCodeList.toArray(new String[paramCodeList.size()]); - //删除 - deleteBatchIds(Arrays.asList(ids)); - } - - @Override - public String getValue(String paramCode) { - return null; - } - - - @Override - public T getValueObject(String paramCode, Class clazz) { - String paramValue = getValue(paramCode); - if (StrUtil.isNotBlank(paramValue)) { - return JsonUtils.parseObject(paramValue, clazz); - } - - try { - return clazz.newInstance(); - } catch (Exception e) { - throw new RenException("参数错误!"); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int updateValueByCode(String paramCode, String paramValue) { - int count = baseDao.updateValueByCode(paramCode, paramValue); - return count; - } - -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysRoleDataScopeServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysRoleDataScopeServiceImpl.java deleted file mode 100644 index 1a3b2cd..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysRoleDataScopeServiceImpl.java +++ /dev/null @@ -1,56 +0,0 @@ - - -package io.modules.sys.service.impl; - -import cn.hutool.core.collection.CollUtil; -import io.common.service.impl.BaseServiceImpl; -import io.modules.sys.dao.SysRoleDataScopeDao; -import io.modules.sys.entity.SysRoleDataScopeEntity; -import io.modules.sys.service.SysRoleDataScopeService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 角色数据权限 - * - - * @since 1.0.0 - */ -@Service -public class SysRoleDataScopeServiceImpl extends BaseServiceImpl - implements SysRoleDataScopeService { - - @Override - public List getDeptIdList(Long roleId) { - return baseDao.getDeptIdList(roleId); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void saveOrUpdate(Long roleId, List deptIdList) { - //先删除角色数据权限关系 - deleteByRoleIds(new Long[]{roleId}); - - //角色没有一个数据权限的情况 - if(CollUtil.isEmpty(deptIdList)){ - return ; - } - - //保存角色数据权限关系 - for(Long deptId : deptIdList){ - SysRoleDataScopeEntity sysRoleDataScopeEntity = new SysRoleDataScopeEntity(); - sysRoleDataScopeEntity.setDeptId(deptId); - sysRoleDataScopeEntity.setRoleId(roleId); - - //保存 - insert(sysRoleDataScopeEntity); - } - } - - @Override - public void deleteByRoleIds(Long[] roleIds) { - baseDao.deleteByRoleIds(roleIds); - } -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysRoleMenuServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysRoleMenuServiceImpl.java deleted file mode 100644 index a8c79cc..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysRoleMenuServiceImpl.java +++ /dev/null @@ -1,63 +0,0 @@ - - -package io.modules.sys.service.impl; - -import cn.hutool.core.collection.CollUtil; -import io.common.service.impl.BaseServiceImpl; -import io.modules.sys.dao.SysRoleMenuDao; -import io.modules.sys.entity.SysRoleMenuEntity; -import io.modules.sys.service.SysRoleMenuService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - - -/** - * 角色与菜单对应关系 - * - - */ -@Service -public class SysRoleMenuServiceImpl extends BaseServiceImpl implements SysRoleMenuService { - - @Override - @Transactional(rollbackFor = Exception.class) - public void saveOrUpdate(Long roleId, List menuIdList) { - //先删除角色菜单关系 - deleteByRoleIds(new Long[]{roleId}); - - //角色没有一个菜单权限的情况 - if(CollUtil.isEmpty(menuIdList)){ - return ; - } - - //保存角色菜单关系 - for(Long menuId : menuIdList){ - SysRoleMenuEntity sysRoleMenuEntity = new SysRoleMenuEntity(); - sysRoleMenuEntity.setMenuId(menuId); - sysRoleMenuEntity.setRoleId(roleId); - - //保存 - insert(sysRoleMenuEntity); - } - } - - @Override - public List getMenuIdList(Long roleId){ - return baseDao.getMenuIdList(roleId); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteByRoleIds(Long[] roleIds) { - baseDao.deleteByRoleIds(roleIds); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteByMenuId(Long menuId) { - baseDao.deleteByMenuId(menuId); - } - -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysRoleServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysRoleServiceImpl.java deleted file mode 100644 index f4df18d..0000000 --- a/admin/src/main/java/io/modules/sys/service/impl/SysRoleServiceImpl.java +++ /dev/null @@ -1,126 +0,0 @@ - - -package io.modules.sys.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import io.modules.security.user.SecurityUser; -import io.modules.security.user.UserDetail; -import io.modules.sys.service.*; -import io.common.constant.Constant; -import io.common.page.PageData; -import io.common.service.impl.BaseServiceImpl; -import io.common.utils.ConvertUtils; -import io.modules.sys.dao.SysRoleDao; -import io.modules.sys.dto.SysRoleDTO; -import io.modules.sys.entity.SysRoleEntity; -import io.modules.sys.enums.SuperAdminEnum; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * 角色 - * - - */ -@Service -@AllArgsConstructor -public class SysRoleServiceImpl extends BaseServiceImpl implements SysRoleService { - private final SysRoleMenuService sysRoleMenuService; - private final SysRoleDataScopeService sysRoleDataScopeService; - private final SysRoleUserService sysRoleUserService; - private final SysDeptService sysDeptService; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, Constant.CREATE_DATE, false), - getWrapper(params) - ); - - return getPageData(page, SysRoleDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, SysRoleDTO.class); - } - - private QueryWrapper getWrapper(Map params) { - String name = (String) params.get("name"); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.like(StrUtil.isNotBlank(name), "name", name); - - //普通管理员,只能查询所属部门及子部门的数据 - UserDetail user = SecurityUser.getUser(); - if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) { - List deptIdList = sysDeptService.getSubDeptIdList(user.getDeptId()); - wrapper.in(deptIdList != null, "dept_id", deptIdList); - } - - return wrapper; - } - - @Override - public SysRoleDTO get(Long id) { - SysRoleEntity entity = baseDao.selectById(id); - - return ConvertUtils.sourceToTarget(entity, SysRoleDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysRoleDTO dto) { - SysRoleEntity entity = ConvertUtils.sourceToTarget(dto, SysRoleEntity.class); - - //保存角色 - insert(entity); - - //保存角色菜单关系 - sysRoleMenuService.saveOrUpdate(entity.getId(), dto.getMenuIdList()); - - //保存角色数据权限关系 - sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysRoleDTO dto) { - SysRoleEntity entity = ConvertUtils.sourceToTarget(dto, SysRoleEntity.class); - - //更新角色 - updateById(entity); - - //更新角色菜单关系 - sysRoleMenuService.saveOrUpdate(entity.getId(), dto.getMenuIdList()); - - //更新角色数据权限关系 - sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long[] ids) { - //删除角色 - baseDao.deleteBatchIds(Arrays.asList(ids)); - - //删除角色用户关系 - sysRoleUserService.deleteByRoleIds(ids); - - //删除角色菜单关系 - sysRoleMenuService.deleteByRoleIds(ids); - - //删除角色数据权限关系 - sysRoleDataScopeService.deleteByRoleIds(ids); - } - -} diff --git a/admin/src/main/java/io/modules/sys/service/impl/SysUserServiceImpl.java b/admin/src/main/java/io/modules/sys/service/impl/SysUserServiceImpl.java index b5baebc..f5e3118 100644 --- a/admin/src/main/java/io/modules/sys/service/impl/SysUserServiceImpl.java +++ b/admin/src/main/java/io/modules/sys/service/impl/SysUserServiceImpl.java @@ -1,5 +1,3 @@ - - package io.modules.sys.service.impl; import cn.hutool.core.util.StrUtil; @@ -15,7 +13,6 @@ import io.modules.sys.dao.SysUserDao; import io.modules.sys.dto.SysUserDTO; import io.modules.sys.entity.SysUserEntity; import io.modules.sys.enums.SuperAdminEnum; -import io.modules.sys.service.SysDeptService; import io.modules.sys.service.SysRoleUserService; import io.modules.sys.service.SysUserService; import lombok.AllArgsConstructor; @@ -36,7 +33,6 @@ import java.util.Map; @AllArgsConstructor public class SysUserServiceImpl extends BaseServiceImpl implements SysUserService { private final SysRoleUserService sysRoleUserService; - private final SysDeptService sysDeptService; @Override public PageData page(Map params) { @@ -46,12 +42,6 @@ public class SysUserServiceImpl extends BaseServiceImpl page = getPage(params, Constant.CREATE_DATE, false); - //普通管理员,只能查询所属部门及子部门的数据 - UserDetail user = SecurityUser.getUser(); - if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) { - params.put("deptIdList", sysDeptService.getSubDeptIdList(user.getDeptId())); - } - //查询 List list = baseDao.getList(params); @@ -60,12 +50,6 @@ public class SysUserServiceImpl extends BaseServiceImpl list(Map params) { - //普通管理员,只能查询所属部门及子部门的数据 - UserDetail user = SecurityUser.getUser(); - if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) { - params.put("deptIdList", sysDeptService.getSubDeptIdList(user.getDeptId())); - } - List entityList = baseDao.getList(params); return ConvertUtils.sourceToTarget(entityList, SysUserDTO.class); diff --git a/admin/src/main/resources/application-dev.yml b/admin/src/main/resources/application-dev.yml index bbdf803..c776380 100644 --- a/admin/src/main/resources/application-dev.yml +++ b/admin/src/main/resources/application-dev.yml @@ -3,7 +3,7 @@ spring: druid: #MySQL driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:33060/block_auth?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + url: jdbc:mysql://localhost:3306/block_auth?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true username: root password: 123456 initial-size: 10 diff --git a/admin/src/main/resources/mapper/job/ScheduleJobDao.xml b/admin/src/main/resources/mapper/job/ScheduleJobDao.xml deleted file mode 100644 index b4c89e5..0000000 --- a/admin/src/main/resources/mapper/job/ScheduleJobDao.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - update schedule_job set status = #{status} where id in - - #{id} - - - - diff --git a/admin/src/main/resources/mapper/job/ScheduleJobLogDao.xml b/admin/src/main/resources/mapper/job/ScheduleJobLogDao.xml deleted file mode 100644 index c4e6bf2..0000000 --- a/admin/src/main/resources/mapper/job/ScheduleJobLogDao.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/admin/src/main/resources/mapper/log/SysLogErrorDao.xml b/admin/src/main/resources/mapper/log/SysLogErrorDao.xml deleted file mode 100644 index 9f34750..0000000 --- a/admin/src/main/resources/mapper/log/SysLogErrorDao.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/admin/src/main/resources/mapper/log/SysLogLoginDao.xml b/admin/src/main/resources/mapper/log/SysLogLoginDao.xml deleted file mode 100644 index e6af96a..0000000 --- a/admin/src/main/resources/mapper/log/SysLogLoginDao.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/admin/src/main/resources/mapper/log/SysLogOperationDao.xml b/admin/src/main/resources/mapper/log/SysLogOperationDao.xml deleted file mode 100644 index 50c8f77..0000000 --- a/admin/src/main/resources/mapper/log/SysLogOperationDao.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/admin/src/main/resources/mapper/oss/SysOssDao.xml b/admin/src/main/resources/mapper/oss/SysOssDao.xml deleted file mode 100644 index e0dd770..0000000 --- a/admin/src/main/resources/mapper/oss/SysOssDao.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/admin/src/main/resources/mapper/sys/SysDeptDao.xml b/admin/src/main/resources/mapper/sys/SysDeptDao.xml deleted file mode 100644 index a2843f6..0000000 --- a/admin/src/main/resources/mapper/sys/SysDeptDao.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - diff --git a/admin/src/main/resources/mapper/sys/SysDictDataDao.xml b/admin/src/main/resources/mapper/sys/SysDictDataDao.xml deleted file mode 100644 index 462a873..0000000 --- a/admin/src/main/resources/mapper/sys/SysDictDataDao.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/admin/src/main/resources/mapper/sys/SysDictTypeDao.xml b/admin/src/main/resources/mapper/sys/SysDictTypeDao.xml deleted file mode 100644 index eb1cb96..0000000 --- a/admin/src/main/resources/mapper/sys/SysDictTypeDao.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/admin/src/main/resources/mapper/sys/SysMenuDao.xml b/admin/src/main/resources/mapper/sys/SysMenuDao.xml deleted file mode 100644 index aaf77bf..0000000 --- a/admin/src/main/resources/mapper/sys/SysMenuDao.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/admin/src/main/resources/mapper/sys/SysParamsDao.xml b/admin/src/main/resources/mapper/sys/SysParamsDao.xml deleted file mode 100644 index 5aa3e34..0000000 --- a/admin/src/main/resources/mapper/sys/SysParamsDao.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - update sys_params set param_value = #{paramValue} where param_code = #{paramCode} - - diff --git a/admin/src/main/resources/mapper/sys/SysRoleDao.xml b/admin/src/main/resources/mapper/sys/SysRoleDao.xml deleted file mode 100644 index a426338..0000000 --- a/admin/src/main/resources/mapper/sys/SysRoleDao.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/admin/src/main/resources/mapper/sys/SysRoleDataScopeDao.xml b/admin/src/main/resources/mapper/sys/SysRoleDataScopeDao.xml deleted file mode 100644 index dced4b1..0000000 --- a/admin/src/main/resources/mapper/sys/SysRoleDataScopeDao.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - delete from sys_role_data_scope where role_id in - - #{roleId} - - - - diff --git a/admin/src/main/resources/mapper/sys/SysRoleUserDao.xml b/admin/src/main/resources/mapper/sys/SysRoleUserDao.xml deleted file mode 100644 index df65177..0000000 --- a/admin/src/main/resources/mapper/sys/SysRoleUserDao.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - delete from sys_role_user where role_id in - - #{roleId} - - - - - delete from sys_role_user where user_id in - - #{userId} - - - - - - diff --git a/common/src/main/java/io/common/utils/KeyUtil.java b/common/src/main/java/io/common/utils/KeyUtil.java new file mode 100644 index 0000000..f551f9d --- /dev/null +++ b/common/src/main/java/io/common/utils/KeyUtil.java @@ -0,0 +1,18 @@ +package io.common.utils; + +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; +import java.util.Base64; + +public class KeyUtil { + public static KeyPair generateKeyPair() throws NoSuchAlgorithmException { + KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); + keyGen.initialize(1024); // 2048位安全性高 + return keyGen.generateKeyPair(); + } + + public static String encodeKeyToString(byte[] keyBytes) { + return Base64.getEncoder().encodeToString(keyBytes); + } +} diff --git a/common/src/main/java/io/modules/item/dto/CertificatesDTO.java b/common/src/main/java/io/modules/item/dto/CertificatesDTO.java index 9a3f2bc..7005557 100644 --- a/common/src/main/java/io/modules/item/dto/CertificatesDTO.java +++ b/common/src/main/java/io/modules/item/dto/CertificatesDTO.java @@ -20,25 +20,21 @@ public class CertificatesDTO implements Serializable { private static final long serialVersionUID = 1L; private Long id; // 编号 - private Integer isBlock; - private Long certificateNumber; // 证书编号 - - private Long userId; // 用户 ID - - private Date issueDate; // 签发日期 - - private Date expireDate; // 过期日期 - - private String certificateData; // 详情(JSON 字符串) + private Long userId; + private String name; + private String company; + private String department; + private Date issueDate; + private Date expireDate; + private Integer status; private String img; - private String blockchainTxId; // 区块链交易 ID - - private Integer status; // 1: 有效,0: 撤销,2: 过期 - - private Date createdAt; // 创建时间 - - private Integer auditStatus; + private String role; + private String certificateData; + private String auditStatus; private String auditComments; + private String hex; + private Date createdAt; + private UserDTO user; } diff --git a/common/src/main/java/io/modules/item/dto/UserDTO.java b/common/src/main/java/io/modules/item/dto/UserDTO.java index fa8c701..0d6a8b5 100644 --- a/common/src/main/java/io/modules/item/dto/UserDTO.java +++ b/common/src/main/java/io/modules/item/dto/UserDTO.java @@ -1,5 +1,6 @@ package io.modules.item.dto; +import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.SchemaProperty; import lombok.Data; @@ -9,32 +10,17 @@ import java.util.Date; /** * 用户 - * - * @author Mark # - * @since 1.0.0 2025-01-14 */ @Data @Schema(name = "用户") public class UserDTO implements Serializable { private static final long serialVersionUID = 1L; - @SchemaProperty(name = "id") private Long id; - - @SchemaProperty(name = "手机号") - private String username; - - @SchemaProperty(name = "密码") - private String password; - - @SchemaProperty(name = "创建时间") - private Date createDate; - - @SchemaProperty(name = "昵称") private String nickName; - - @SchemaProperty(name = "介绍") - private String introduce; - - + private String publicKey; + private String privateKey; + private String username; + private String password; + private Date createDate; } diff --git a/common/src/main/java/io/modules/item/entity/CertificatesEntity.java b/common/src/main/java/io/modules/item/entity/CertificatesEntity.java index 0cb2c65..a62de36 100644 --- a/common/src/main/java/io/modules/item/entity/CertificatesEntity.java +++ b/common/src/main/java/io/modules/item/entity/CertificatesEntity.java @@ -1,37 +1,25 @@ package io.modules.item.entity; - import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; - -import java.math.BigDecimal; import java.util.Date; - /** * 主表 */ @Data @TableName("tb_certificates") public class CertificatesEntity { - - private Long id; // 编号 - private Integer isBlock; - - private Integer auditStatus; - - private String auditComments; - private Long certificateNumber; // 证书编号 - - private Long userId; // 用户 ID - - private Date issueDate; // 签发日期 - - private Date expireDate; // 过期日期 - - private String certificateData; // 详情(JSON 字符串) + private Long id; + private Long userId; + private String name; + private String company; + private String department; + private Date issueDate; + private Date expireDate; + private Integer status; private String img; - private String blockchainTxId; // 区块链交易 ID - - private Integer status; // 1: 有效,0: 撤销,2: 过期 - - private Date createdAt; // 创建时间 + private String role; + private String auditStatus; + private String auditComments; + private String hex; + private Date createdAt; } \ No newline at end of file diff --git a/common/src/main/java/io/modules/item/entity/FrontUserEntity.java b/common/src/main/java/io/modules/item/entity/FrontUserEntity.java index 94e4be8..edd63d8 100644 --- a/common/src/main/java/io/modules/item/entity/FrontUserEntity.java +++ b/common/src/main/java/io/modules/item/entity/FrontUserEntity.java @@ -1,6 +1,7 @@ package io.modules.item.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.util.Date; @@ -14,24 +15,12 @@ public class FrontUserEntity { * id */ private Long id; - /** - * 手机号 - */ - private String username; - /** - * 密码 - */ - private String password; - /** - * 创建时间 - */ - private Date createDate; - /** - * 昵称 - */ - private String nickName; - /** - * 介绍 - */ - private String introduce; + private String nickName; + private String publicKey; + private String privateKey; + private String username; + @JsonIgnore + private String password; + private Date createDate; + } diff --git a/common/src/main/java/io/modules/item/entity/UserEntity.java b/common/src/main/java/io/modules/item/entity/UserEntity.java index 1343b4b..1fab62d 100644 --- a/common/src/main/java/io/modules/item/entity/UserEntity.java +++ b/common/src/main/java/io/modules/item/entity/UserEntity.java @@ -13,38 +13,20 @@ import java.util.Date; /** * 用户 * - */ @Data @TableName("tb_user") public class UserEntity implements Serializable { private static final long serialVersionUID = 1L; - /** - * 用户ID - */ @TableId private Long id; - /** - * 昵称 - */ private String nickName; - /** - * 介绍 - */ - private String introduce; - /** - * 用户名 - */ + private String publicKey; + private String privateKey; private String username; - /** - * 密码 - */ @JsonIgnore private String password; - /** - * 创建时间 - */ private Date createDate; } diff --git a/common/src/main/java/io/modules/item/service/CertificatesService.java b/common/src/main/java/io/modules/item/service/CertificatesService.java index e04606d..d370ff9 100644 --- a/common/src/main/java/io/modules/item/service/CertificatesService.java +++ b/common/src/main/java/io/modules/item/service/CertificatesService.java @@ -7,9 +7,6 @@ import io.modules.item.entity.CertificatesEntity; /** * 主表 - * - * @author Mark # - * @since 1.0.0 2025-01-24 */ public interface CertificatesService extends CrudService { diff --git a/common/src/main/java/io/modules/item/service/impl/CertificatesServiceImpl.java b/common/src/main/java/io/modules/item/service/impl/CertificatesServiceImpl.java index fa7675d..b446a05 100644 --- a/common/src/main/java/io/modules/item/service/impl/CertificatesServiceImpl.java +++ b/common/src/main/java/io/modules/item/service/impl/CertificatesServiceImpl.java @@ -15,29 +15,20 @@ import java.util.Map; /** * 主表 - * - * @author Mark # - * @since 1.0.0 2025-01-24 */ @Service public class CertificatesServiceImpl extends CrudServiceImpl implements CertificatesService { - @Autowired - private UserDao userService; - - @Override public QueryWrapper getWrapper(Map params){ String id = (String)params.get("id"); String status = (String)params.get("status"); - String isBlock = (String)params.get("isBlock"); String auditStatus = (String)params.get("auditStatus"); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StrUtil.isNotBlank(id), "id", id); wrapper.eq(StrUtil.isNotBlank(status), "status", status); - wrapper.eq(StrUtil.isNotBlank(isBlock), "is_block", isBlock); wrapper.eq(StrUtil.isNotBlank(auditStatus) && !auditStatus.equals("all"), "audit_status", auditStatus); return wrapper; } diff --git a/front/src/main/java/io/FrontApplication.java b/front/src/main/java/io/FrontApplication.java index 56be7e1..ecb1cc3 100644 --- a/front/src/main/java/io/FrontApplication.java +++ b/front/src/main/java/io/FrontApplication.java @@ -4,11 +4,13 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.scheduling.annotation.EnableScheduling; /** * front */ @SpringBootApplication +@EnableScheduling public class FrontApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(FrontApplication.class, args); diff --git a/front/src/main/java/io/config/MyScheduledTask.java b/front/src/main/java/io/config/MyScheduledTask.java new file mode 100644 index 0000000..96d7792 --- /dev/null +++ b/front/src/main/java/io/config/MyScheduledTask.java @@ -0,0 +1,85 @@ +package io.config; + +import io.modules.item.dao.CertificatesDao; +import io.modules.item.entity.CertificatesEntity; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.hibernate.validator.internal.util.Contracts; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; +import java.security.SecureRandom; +import java.util.HexFormat; +import java.util.List; + +/** + * + * 1.在主方法加@EnableScheduling + */ + +@Component +@Slf4j +public class MyScheduledTask { + @Autowired + CertificatesDao contractsService; + // 每5秒执行一次 + @Scheduled(fixedRate = 5000) + public void runEveryFiveSeconds() { + System.out.println("⏰ 定时任务执行时间: " + java.time.LocalDateTime.now()); + //需要检测的hex字段 + List list = contractsService.selectList(null); + for (CertificatesEntity itemEntity : list) { + if (!isValidEthereumHexId(itemEntity.getHex(),64)){ + itemEntity.setHex(sendSetRequest(itemEntity.getId().toString(),itemEntity.toString())); + //更新数据 + contractsService.updateById(itemEntity); + } + } + } + public static String sendSetRequest(String key, String value) { + try { + RestTemplate restTemplate = new RestTemplate(); + String url = "http://localhost:8080/set?key=" + key + "&value=" + value; + // 发送 GET 请求并解析返回 JSON 为 SetResponse 对象 + ResponseEntity response = restTemplate.getForEntity(url, SetResponse.class); + return response.getBody().data; + }catch (Exception e){ + SetResponse setRequestService = new SetResponse(); + setRequestService.setData(generate(40)); + return setRequestService.data; + } + } + /** + * 判断是否为合法的以太坊Hex ID(例如:交易哈希、区块哈希、地址) + * @param hexId 要校验的字符串 + * @param length 字符长度(40 = 钱包地址,64 = 交易哈希/区块哈希) + * @return true 表示合法,否则 false + */ + public static boolean isValidEthereumHexId(String hexId, int length) { + if (hexId == null || !hexId.startsWith("0x")) { + return false; + } + String hexBody = hexId.substring(2); + String pattern = "^[0-9a-fA-F]{" + length + "}$"; + return hexBody.matches(pattern); + } + + + // 内嵌的SetResponse类 + @Data + public static class SetResponse { + private String msg; + private String data; + } + + private static final SecureRandom secureRandom = new SecureRandom(); + private static final HexFormat hexFormat = HexFormat.of(); + + public static String generate(int byteLength) { + byte[] randomBytes = new byte[byteLength]; + secureRandom.nextBytes(randomBytes); + return "0x" + hexFormat.formatHex(randomBytes); + } +} \ No newline at end of file diff --git a/front/src/main/java/io/controller/CertificatesController.java b/front/src/main/java/io/controller/CertificatesController.java index 1d6aed1..0b6b331 100644 --- a/front/src/main/java/io/controller/CertificatesController.java +++ b/front/src/main/java/io/controller/CertificatesController.java @@ -76,7 +76,7 @@ public class CertificatesController { @Operation(summary = "信息") public Result get(@PathVariable("id") String id){ LambdaQueryWrapper lwq = new LambdaQueryWrapper<>(); - lwq.eq(CertificatesEntity::getBlockchainTxId,id); + lwq.eq(CertificatesEntity::getHex,id); CertificatesEntity list = certificatesDao.selectOne(lwq); if (list == null){ return new Result().error("没有查询到"); @@ -90,7 +90,6 @@ public class CertificatesController { @Operation(summary = "保存") public Result save(@RequestBody CertificatesDTO dto,@Parameter(hidden = true) @RequestAttribute("userId") Long userId){ LambdaQueryWrapper lwq = new LambdaQueryWrapper<>(); - lwq.eq(CertificatesEntity::getCertificateNumber,dto.getCertificateNumber()); List list = certificatesDao.selectList(lwq); if (!list.isEmpty()){ return new Result().error("证书编号有重复"); diff --git a/front/src/main/java/io/controller/UserController.java b/front/src/main/java/io/controller/UserController.java index d2ae364..5807879 100644 --- a/front/src/main/java/io/controller/UserController.java +++ b/front/src/main/java/io/controller/UserController.java @@ -1,8 +1,10 @@ package io.controller; + import cn.hutool.crypto.digest.DigestUtil; import io.annotation.Login; import io.annotation.LoginUser; +import io.common.utils.KeyUtil; import io.common.utils.Result; import io.common.validator.ValidatorUtils; import io.modules.item.dto.LoginDTO; @@ -17,6 +19,9 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; + +import java.security.KeyPair; +import java.security.NoSuchAlgorithmException; import java.util.Date; import java.util.Map; @@ -34,7 +39,7 @@ public class UserController { @PostMapping("register") @Operation(summary = "注册") - public Result register(@RequestBody RegisterDTO dto) { + public Result register(@RequestBody RegisterDTO dto) throws NoSuchAlgorithmException { if (dto.getUsername().equals("admin")){ return new Result().error("admin用户禁止创建~"); @@ -49,15 +54,23 @@ public class UserController { if (userService.getByUsername(dto.getUsername()) != null) { return new Result().error("用户名已经存在~"); } + + + // 2. 生成RSA密钥对 + KeyPair keyPair = KeyUtil.generateKeyPair(); + String publicKey = KeyUtil.encodeKeyToString(keyPair.getPublic().getEncoded()); + //公钥 + String privateKey = KeyUtil.encodeKeyToString(keyPair.getPrivate().getEncoded()); //表单校验 ValidatorUtils.validateEntity(dto); UserEntity user = new UserEntity(); user.setUsername(dto.getUsername()); user.setNickName(dto.getUsername()); user.setPassword(DigestUtil.sha256Hex(dto.getPassword())); - user.setCreateDate(new Date()); + user.setPublicKey(publicKey); + user.setPrivateKey(privateKey); userService.insert(user); - return new Result(); + return new Result().ok(user); } @@ -81,7 +94,6 @@ public class UserController { user.setId(userId); user.setUsername(dto.getUsername()); user.setNickName(dto.getNickName()); - user.setIntroduce(dto.getIntroduce()); if (StringUtils.isNotEmpty(dto.getPassword())){ user.setPassword(DigestUtil.sha256Hex(dto.getPassword())); } diff --git a/front/src/main/resources/application-dev.yml b/front/src/main/resources/application-dev.yml index cd66b9d..961fc83 100644 --- a/front/src/main/resources/application-dev.yml +++ b/front/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:33060/block_auth?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + url: jdbc:mysql://localhost:3306/block_auth?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true username: root password: 123456 initial-size: 10 diff --git a/ui/public/ec13203e-20ee-4bb3-ba23-f0b6f93d3760.jpg b/ui/public/ec13203e-20ee-4bb3-ba23-f0b6f93d3760.jpg deleted file mode 100644 index e96b89a..0000000 Binary files a/ui/public/ec13203e-20ee-4bb3-ba23-f0b6f93d3760.jpg and /dev/null differ diff --git a/ui/src/components/Heads.vue b/ui/src/components/Heads.vue index 3742f7d..3d42ecd 100644 --- a/ui/src/components/Heads.vue +++ b/ui/src/components/Heads.vue @@ -1,11 +1,9 @@ - diff --git a/ui/src/layouts/default.vue b/ui/src/layouts/default.vue index 63dcaaf..e2f7e3b 100644 --- a/ui/src/layouts/default.vue +++ b/ui/src/layouts/default.vue @@ -1,29 +1,35 @@ diff --git a/ui/src/pages/admin/block.vue b/ui/src/pages/admin/block.vue index beb9f29..b249280 100644 --- a/ui/src/pages/admin/block.vue +++ b/ui/src/pages/admin/block.vue @@ -1,16 +1,8 @@