From 0832f454bc53eafee9c6b7eedb32481a021257c3 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 03 十二月 2024 18:38:00 +0800 Subject: [PATCH] 系统管理:数据字典、角色管理接口 --- medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java | 23 medicalWaste-admin/src/main/resources/application.yml | 2 medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java | 45 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentInfoController.java | 18 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java | 98 ++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java | 79 ++ medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysConfigController.java | 2 medicalWaste-common/src/main/java/com/sinata/common/entity/BaseModel.java | 49 - medicalWaste-system/src/main/resources/mapper/system/SysRoleMapper.xml | 36 + medicalWaste-framework/src/main/java/com/sinata/framework/config/handler/MyMetaObjectHandler.java | 46 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysUserController.java | 2 medicalWaste-system/src/main/java/com/sinata/system/mapper/SysRoleMapper.java | 18 medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java | 86 ++ medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictDataController.java | 78 ++ medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentInfoService.java | 16 medicalWaste-system/src/main/java/com/sinata/system/service/ISysMenuService.java | 11 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentController.java | 40 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDeptController.java | 2 medicalWaste-system/src/main/java/com/sinata/system/mapper/SysUserDepartmentMapper.java | 18 medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictDataService.java | 19 medicalWaste-admin/src/test/java/DepartmentTest.java | 30 + medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartmentInfo.java | 88 +++ medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentInfoServiceImpl.java | 20 medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictData.java | 12 medicalWaste-common/src/main/java/com/sinata/common/core/text/Convert.java | 5 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysPostController.java | 2 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java | 23 medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictDataMapper.java | 8 medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysMenuServiceImpl.java | 26 medicalWaste-system/src/main/resources/mapper/system/SysMenuMapper.xml | 26 medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentMapper.java | 27 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysProfileController.java | 2 medicalWaste-system/src/main/java/com/sinata/system/service/ISysRoleService.java | 36 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysUserDepartmentController.java | 18 medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml | 44 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysIndexController.java | 2 medicalWaste-system/src/main/java/com/sinata/system/enums/DepartmentEnum.java | 23 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDictDataVO.java | 28 medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java | 2 medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysRoleVO.java | 38 + medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java | 46 + medicalWaste-system/src/main/resources/mapper/system/SysDepartmentInfoMapper.xml | 28 medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictType.java | 18 medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java | 16 medicalWaste-system/src/main/resources/mapper/system/SysUserDepartmentMapper.xml | 17 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java | 26 medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictTypeServiceImpl.java | 20 medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java | 20 medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentInfoMapper.java | 18 medicalWaste-common/src/main/java/com/sinata/common/core/domain/BaseEntity.java | 15 medicalWaste-system/src/main/java/com/sinata/system/domain/SysUserDepartment.java | 43 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysNoticeController.java | 2 medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysRole.java | 19 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysRoleDTO.java | 31 + medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictTypeMapper.java | 6 medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java | 26 medicalWaste-common/src/main/java/com/sinata/common/entity/BasePage.java | 55 + medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictTypeController.java | 48 + medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDepartmentVO.java | 39 + medicalWaste-system/src/main/java/com/sinata/system/mapper/SysMenuMapper.java | 7 medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictTypeService.java | 6 medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java | 23 medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRegisterController.java | 2 medicalWaste-system/src/main/java/com/sinata/system/domain/query/KeyWordQuery.java | 21 64 files changed, 1,482 insertions(+), 218 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentController.java new file mode 100644 index 0000000..6f17659 --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentController.java @@ -0,0 +1,40 @@ +package com.sinata.web.controller.backend; + +import com.sinata.common.core.domain.R; +import com.sinata.system.domain.vo.SysDepartmentVO; +import com.sinata.system.enums.DepartmentEnum; +import com.sinata.system.service.SysDepartmentService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * <p> + * 区域表 前端控制器 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Api(tags = {"区域管理相关接口"}) +@RestController +@RequestMapping("/backend/sysDepartment") +@RequiredArgsConstructor +public class SysDepartmentController { + private final SysDepartmentService sysDepartmentService; + + /** + * 获取区域树 + * @return + */ + @ApiOperation("获取区域树") + @PostMapping("/tree") + public R<List<SysDepartmentVO>> list() { + return R.ok(sysDepartmentService.listByType(DepartmentEnum.REGION.getCode())); + } +} diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentInfoController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentInfoController.java new file mode 100644 index 0000000..3f7d9a9 --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysDepartmentInfoController.java @@ -0,0 +1,18 @@ +package com.sinata.web.controller.backend; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 单位信息 前端控制器 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@RestController +@RequestMapping("/backend/sysDepartmentInfo") +public class SysDepartmentInfoController { + +} diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysUserDepartmentController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysUserDepartmentController.java new file mode 100644 index 0000000..cba7c2c --- /dev/null +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/SysUserDepartmentController.java @@ -0,0 +1,18 @@ +package com.sinata.web.controller.backend; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * <p> + * 用户区域关系 前端控制器 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@RestController +@RequestMapping("/backend/sysUserDepartment") +public class SysUserDepartmentController { + +} diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysConfigController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysConfigController.java similarity index 98% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysConfigController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysConfigController.java index 65fa2f6..ed77dc7 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysConfigController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysConfigController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import java.util.List; import javax.servlet.http.HttpServletResponse; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDeptController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDeptController.java similarity index 98% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDeptController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDeptController.java index a3b0379..caa41b2 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDeptController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDeptController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import java.util.List; import org.apache.commons.lang3.ArrayUtils; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictDataController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictDataController.java similarity index 73% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictDataController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictDataController.java index ddaf494..feba2ef 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictDataController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictDataController.java @@ -1,8 +1,23 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; -import java.util.ArrayList; -import java.util.List; -import javax.servlet.http.HttpServletResponse; +import com.sinata.common.annotation.Log; +import com.sinata.common.core.controller.BaseController; +import com.sinata.common.core.domain.AjaxResult; +import com.sinata.common.core.domain.R; +import com.sinata.common.core.domain.entity.SysDictData; +import com.sinata.common.core.page.TableDataInfo; +import com.sinata.common.entity.BasePage; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.enums.BusinessType; +import com.sinata.common.utils.StringUtils; +import com.sinata.common.utils.poi.ExcelUtil; +import com.sinata.system.domain.dto.SysDictDataDTO; +import com.sinata.system.domain.vo.SysDictDataVO; +import com.sinata.system.service.ISysDictDataService; +import com.sinata.system.service.ISysDictTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -14,24 +29,21 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.sinata.common.annotation.Log; -import com.sinata.common.core.controller.BaseController; -import com.sinata.common.core.domain.AjaxResult; -import com.sinata.common.core.domain.entity.SysDictData; -import com.sinata.common.core.page.TableDataInfo; -import com.sinata.common.enums.BusinessType; -import com.sinata.common.utils.StringUtils; -import com.sinata.common.utils.poi.ExcelUtil; -import com.sinata.system.service.ISysDictDataService; -import com.sinata.system.service.ISysDictTypeService; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** * 数据字典信息 * * @author ruoyi */ +@Api(tags = {"数据字典相关接口"}) @RestController -@RequestMapping("/system/dict/data") +@Validated +@RequestMapping("/backend/system/dict/data") public class SysDictDataController extends BaseController { @Autowired @@ -40,6 +52,42 @@ @Autowired private ISysDictTypeService dictTypeService; + /** + * 数据字典分页列表 + * + * @param page + * @return + */ + @ApiOperation("数据字典分页列表") + @PostMapping("/page") + public R<PageDTO<SysDictDataVO>> page(@Valid @RequestBody BasePage page) { + return R.ok(dictDataService.pageList(page)); + } + + /** + * 新增数据字典 + * + * @return + */ + @ApiOperation("保存数据字典信息") + @PostMapping("/save") + public R<?> add(@Valid @RequestBody SysDictDataDTO dto) { + dictDataService.save(dto); + return R.ok(); + } + + /** + * 删除 + * + * @param dictCode + * @return + */ + @ApiOperation("删除") + @DeleteMapping("/{dictCode}") + public R<?> remove(@ApiParam(name = "dictCode", value = "数据字典主键", required = true) @PathVariable("dictCode") Long dictCode) { + dictDataService.removeById(dictCode); + return R.ok(); + } @PreAuthorize("@ss.hasPermi('system:dict:list')") @GetMapping("/list") public TableDataInfo list(SysDictData dictData) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictTypeController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictTypeController.java similarity index 83% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictTypeController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictTypeController.java index 7056416..89a382b 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictTypeController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysDictTypeController.java @@ -1,7 +1,15 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; -import java.util.List; -import javax.servlet.http.HttpServletResponse; +import com.sinata.common.annotation.Log; +import com.sinata.common.core.controller.BaseController; +import com.sinata.common.core.domain.AjaxResult; +import com.sinata.common.core.domain.R; +import com.sinata.common.core.domain.entity.SysDictType; +import com.sinata.common.enums.BusinessType; +import com.sinata.common.utils.poi.ExcelUtil; +import com.sinata.system.service.ISysDictTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -13,36 +21,40 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.sinata.common.annotation.Log; -import com.sinata.common.core.controller.BaseController; -import com.sinata.common.core.domain.AjaxResult; -import com.sinata.common.core.domain.entity.SysDictType; -import com.sinata.common.core.page.TableDataInfo; -import com.sinata.common.enums.BusinessType; -import com.sinata.common.utils.poi.ExcelUtil; -import com.sinata.system.service.ISysDictTypeService; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 数据字典信息 * * @author ruoyi */ +@Api(tags = {"字典类型相关接口"}) @RestController -@RequestMapping("/system/dict/type") +@RequestMapping("/backend/system/dict/type") public class SysDictTypeController extends BaseController { @Autowired private ISysDictTypeService dictTypeService; - @PreAuthorize("@ss.hasPermi('system:dict:list')") + @ApiOperation("字典类型列表") @GetMapping("/list") - public TableDataInfo list(SysDictType dictType) - { - startPage(); - List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); - return getDataTable(list); + public R<List<SysDictType>> list() { + List<SysDictType> list = dictTypeService.list(); + return R.ok(list); } + //@ApiOperation(value = "字典类型列表") + //@PreAuthorize("@ss.hasPermi('system:dict:list')") + //@GetMapping("/list") + //public TableDataInfo list(SysDictType dictType) + //{ + // startPage(); + // List<SysDictType> list = dictTypeService.selectDictTypeList(dictType); + // return getDataTable(list); + //} + @Log(title = "字典类型", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:dict:export')") @PostMapping("/export") diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysIndexController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysIndexController.java similarity index 93% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysIndexController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysIndexController.java index 88edf72..23a84e0 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysIndexController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysIndexController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysLoginController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java similarity index 89% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysLoginController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java index 6c3138e..21944f6 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysLoginController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysLoginController.java @@ -1,12 +1,5 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; -import java.util.List; -import java.util.Set; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; import com.sinata.common.constant.Constants; import com.sinata.common.core.domain.AjaxResult; import com.sinata.common.core.domain.entity.SysMenu; @@ -16,13 +9,26 @@ import com.sinata.framework.web.service.SysLoginService; import com.sinata.framework.web.service.SysPermissionService; import com.sinata.system.service.ISysMenuService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Set; /** * 登录验证 * * @author ruoyi */ +@Api(tags = {"登录相关接口"}) @RestController +@RequestMapping("/backend") public class SysLoginController { @Autowired @@ -41,6 +47,7 @@ * @return 结果 */ @PostMapping("/login") + @ApiOperation("管理后台登录") public AjaxResult login(@RequestBody LoginBody loginBody) { AjaxResult ajax = AjaxResult.success(); diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysMenuController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java similarity index 97% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysMenuController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java index 4f03785..71d449b 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysMenuController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java @@ -1,6 +1,13 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; -import java.util.List; +import com.sinata.common.annotation.Log; +import com.sinata.common.constant.UserConstants; +import com.sinata.common.core.controller.BaseController; +import com.sinata.common.core.domain.AjaxResult; +import com.sinata.common.core.domain.entity.SysMenu; +import com.sinata.common.enums.BusinessType; +import com.sinata.common.utils.StringUtils; +import com.sinata.system.service.ISysMenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -12,14 +19,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.sinata.common.annotation.Log; -import com.sinata.common.constant.UserConstants; -import com.sinata.common.core.controller.BaseController; -import com.sinata.common.core.domain.AjaxResult; -import com.sinata.common.core.domain.entity.SysMenu; -import com.sinata.common.enums.BusinessType; -import com.sinata.common.utils.StringUtils; -import com.sinata.system.service.ISysMenuService; + +import java.util.List; /** * 菜单信息 @@ -36,7 +37,7 @@ /** * 获取菜单列表 */ - @PreAuthorize("@ss.hasPermi('system:menu:list')") + //@PreAuthorize("@ss.hasPermi('system:menu:list')") @GetMapping("/list") public AjaxResult list(SysMenu menu) { diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysNoticeController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysNoticeController.java similarity index 98% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysNoticeController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysNoticeController.java index 1108194..bdabfb1 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysNoticeController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysNoticeController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysPostController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysPostController.java similarity index 98% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysPostController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysPostController.java index 4d1dbaf..66c9172 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysPostController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysPostController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import java.util.List; import javax.servlet.http.HttpServletResponse; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysProfileController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysProfileController.java similarity index 98% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysProfileController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysProfileController.java index b7bb2c1..f2d819f 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysProfileController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysProfileController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRegisterController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRegisterController.java similarity index 95% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRegisterController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRegisterController.java index e84f505..282089b 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRegisterController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRegisterController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRoleController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java similarity index 82% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRoleController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java index 2f23298..cfbb21e 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRoleController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysRoleController.java @@ -1,7 +1,30 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; -import java.util.List; -import javax.servlet.http.HttpServletResponse; +import com.sinata.common.annotation.Log; +import com.sinata.common.core.controller.BaseController; +import com.sinata.common.core.domain.AjaxResult; +import com.sinata.common.core.domain.R; +import com.sinata.common.core.domain.entity.SysDept; +import com.sinata.common.core.domain.entity.SysRole; +import com.sinata.common.core.domain.entity.SysUser; +import com.sinata.common.core.domain.model.LoginUser; +import com.sinata.common.core.page.TableDataInfo; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.enums.BusinessType; +import com.sinata.common.utils.StringUtils; +import com.sinata.common.utils.poi.ExcelUtil; +import com.sinata.framework.web.service.SysPermissionService; +import com.sinata.framework.web.service.TokenService; +import com.sinata.system.domain.SysUserRole; +import com.sinata.system.domain.dto.SysRoleDTO; +import com.sinata.system.domain.query.KeyWordQuery; +import com.sinata.system.domain.vo.SysRoleVO; +import com.sinata.system.service.ISysDeptService; +import com.sinata.system.service.ISysRoleService; +import com.sinata.system.service.ISysUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -13,31 +36,21 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.sinata.common.annotation.Log; -import com.sinata.common.core.controller.BaseController; -import com.sinata.common.core.domain.AjaxResult; -import com.sinata.common.core.domain.entity.SysDept; -import com.sinata.common.core.domain.entity.SysRole; -import com.sinata.common.core.domain.entity.SysUser; -import com.sinata.common.core.domain.model.LoginUser; -import com.sinata.common.core.page.TableDataInfo; -import com.sinata.common.enums.BusinessType; -import com.sinata.common.utils.StringUtils; -import com.sinata.common.utils.poi.ExcelUtil; -import com.sinata.framework.web.service.SysPermissionService; -import com.sinata.framework.web.service.TokenService; -import com.sinata.system.domain.SysUserRole; -import com.sinata.system.service.ISysDeptService; -import com.sinata.system.service.ISysRoleService; -import com.sinata.system.service.ISysUserService; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import java.util.List; /** * 角色信息 * * @author ruoyi */ +@Api(tags = {"角色相关接口"}) +@Validated @RestController -@RequestMapping("/system/role") +@RequestMapping("/backend/system/role") public class SysRoleController extends BaseController { @Autowired @@ -55,6 +68,49 @@ @Autowired private ISysDeptService deptService; + /** + * 角色分页列表 + * + * @param query + * @return + */ + @ApiOperation("角色分页列表") + @PostMapping("/page") + public R<PageDTO<SysRoleVO>> pageList(@Valid @RequestBody KeyWordQuery query) { + return R.ok(roleService.pageList(query)); + } + + /** + * 保存角色信息 + * + * @param dto + * @return + */ + @ApiOperation("保存角色信息") + @PostMapping("/save") + public R<?> save(@Valid @RequestBody SysRoleDTO dto) { + roleService.saveRole(dto); + return R.ok(); + } + + /** + * 获取角色详情 + * + * @param roleId + * @return + */ + @ApiOperation("获取角色详情") + @GetMapping("/{roleId}") + public R<SysRoleVO> getDetailInfo(@ApiParam(name = "roleId", value = "角色id", required = true) @PathVariable("roleId") Long roleId) { + return R.ok(roleService.getDetailInfo(roleId)); + } + + @ApiOperation("删除详情") + @PostMapping("/deleteBatch") + public R<?> deleteBatch(@ApiParam(name = "roleIds", value = "角色id列表", required = true) @NotEmpty(message = "角色id列表不能为空") @RequestBody List<Long> roleIds) { + roleService.removeBatchByIds(roleIds); + return R.ok(); + } @PreAuthorize("@ss.hasPermi('system:role:list')") @GetMapping("/list") public TableDataInfo list(SysRole role) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysUserController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysUserController.java similarity index 99% rename from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysUserController.java rename to medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysUserController.java index 3c8e4c8..0696fdb 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysUserController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysUserController.java @@ -1,4 +1,4 @@ -package com.sinata.web.controller.system; +package com.sinata.web.controller.backend.system; import com.sinata.common.annotation.Log; import com.sinata.common.core.controller.BaseController; diff --git a/medicalWaste-admin/src/main/resources/application.yml b/medicalWaste-admin/src/main/resources/application.yml index de36bda..683ff0a 100644 --- a/medicalWaste-admin/src/main/resources/application.yml +++ b/medicalWaste-admin/src/main/resources/application.yml @@ -195,7 +195,7 @@ # 是否开启swagger enabled: true # 请求前缀 - pathMapping: /dev-api + pathMapping: / # 防止XSS攻击 xss: diff --git a/medicalWaste-admin/src/test/java/DepartmentTest.java b/medicalWaste-admin/src/test/java/DepartmentTest.java new file mode 100644 index 0000000..e093009 --- /dev/null +++ b/medicalWaste-admin/src/test/java/DepartmentTest.java @@ -0,0 +1,30 @@ +import com.sinata.RuoYiApplication; +import com.sinata.system.enums.DepartmentEnum; +import com.sinata.system.mapper.SysDepartmentMapper; +import com.sinata.system.service.ISysDictTypeService; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import javax.annotation.Resource; + +/** + * @author mitao + * @date 2024/12/3 + */ +@SpringBootTest(classes = RuoYiApplication.class) +public class DepartmentTest { + @Resource + private SysDepartmentMapper departmentMapper; + @Resource + private ISysDictTypeService sysDictTypeService; + + @Test + public void test(){ + System.out.println(departmentMapper.getDepartmentListByType(1L, DepartmentEnum.REGION.getCode())); + } + @Test + public void test2(){ + + System.out.println(sysDictTypeService.list()); + } +} diff --git a/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java b/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java index 4437511..8749b6c 100644 --- a/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java +++ b/medicalWaste-admin/src/test/java/MybatisPlusGeneraotr.java @@ -1,9 +1,5 @@ -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.FastAutoGenerator; -import com.baomidou.mybatisplus.generator.config.po.LikeTable; -import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine; -import com.sinata.common.entity.BaseModel; import org.junit.jupiter.api.Test; public class MybatisPlusGeneraotr { @@ -23,7 +19,7 @@ builder .author("mitao") // 作者 //.outputDir(System.getProperty("user.dir") + "/src/main/java") // 指定输出目录 - .outputDir("F:\\喜望软件\\code\\YiFeiNN\\medicalWaste-system\\src\\main\\java") // 指定输出目录 + .outputDir("F:\\喜望软件\\code\\YiFeiNN\\medicalWaste-admin\\src\\main\\java\\com\\sinata\\web\\controller\\backend") // 指定输出目录 .commentDate("yyyy-MM-dd")// 注释的日期 // 修改Date类型为LocalDateTime //.dateType(DateType.ONLY_DATE) @@ -49,23 +45,23 @@ builder // 在这里添加数据库表名 //.addInclude("MW_BOX") - .likeTable(new LikeTable("MW_"))// 设置需要生成的表名,多个表之间可以用逗号隔开 + .addInclude("SYS_DEPARTMENT", "SYS_DEPARTMENT_INFO", "SYS_USER_DEPARTMENT")// 设置需要生成的表名,多个表之间可以用逗号隔开 // .addExclude("BBZQ_USER","BBZQ_USER_LOG") - .controllerBuilder().enableRestStyle() // controller配置策略 - .serviceBuilder().formatServiceFileName("%sService") // service配置策略 - .mapperBuilder().enableBaseColumnList().enableBaseResultMap().enableMapperAnnotation() // mapper配置策略 - .entityBuilder().enableLombok().enableRemoveIsPrefix().enableTableFieldAnnotation() // 实体配置策略 - .logicDeleteColumnName("del_flag") // 逻辑删除字段名 - .naming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰 - .columnNaming(NamingStrategy.underline_to_camel) // 数据库表字段映射的命名策略,下划线转驼峰 - .superClass(BaseModel.class) + .controllerBuilder().enableRestStyle(); // controller配置策略 + //.serviceBuilder().formatServiceFileName("%sService") // service配置策略 + //.mapperBuilder().enableBaseColumnList().enableBaseResultMap().enableMapperAnnotation() // mapper配置策略 + //.entityBuilder().enableLombok().enableRemoveIsPrefix().enableTableFieldAnnotation() // 实体配置策略 + //.logicDeleteColumnName("del_flag") // 逻辑删除字段名 + //.naming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰 + //.columnNaming(NamingStrategy.underline_to_camel) // 数据库表字段映射的命名策略,下划线转驼峰 + //.superClass(BaseModel.class) //.addTableFills( // 添加表字段填充,"create_time"自动填充为插入时间,"update_time"自动填充为修改时间 // new Column("create_time", FieldFill.INSERT), // new Column("create_by", FieldFill.INSERT), // new Column("update_time", FieldFill.INSERT_UPDATE), // new Column("update_by", FieldFill.INSERT_UPDATE) //) - .idType(IdType.AUTO); + //.idType(IdType.AUTO); } ) // 模板配置 diff --git a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/BaseEntity.java b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/BaseEntity.java index c5fb505..1b59520 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/BaseEntity.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/BaseEntity.java @@ -1,12 +1,15 @@ package com.sinata.common.core.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; + import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.Map; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; /** * Entity基类 @@ -19,20 +22,25 @@ /** 搜索值 */ @JsonIgnore + @TableField(exist = false) private String searchValue; /** 创建者 */ + @TableField(value = "create_by", fill = FieldFill.INSERT) private String createBy; /** 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime; /** 更新者 */ + @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; /** 更新时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private Date updateTime; /** 备注 */ @@ -40,6 +48,7 @@ /** 请求参数 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) + @TableField(exist = false) private Map<String, Object> params; public String getSearchValue() diff --git a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictData.java b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictData.java index 54c60f9..5c76626 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictData.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictData.java @@ -1,13 +1,16 @@ package com.sinata.common.core.domain.entity; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.sinata.common.annotation.Excel; import com.sinata.common.annotation.Excel.ColumnType; import com.sinata.common.constant.UserConstants; import com.sinata.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; /** * 字典数据表 sys_dict_data @@ -20,6 +23,7 @@ /** 字典编码 */ @Excel(name = "字典编码", cellType = ColumnType.NUMERIC) + @TableId(type = IdType.AUTO) private Long dictCode; /** 字典排序 */ diff --git a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictType.java b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictType.java index 19e7c6d..9327606 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictType.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysDictType.java @@ -1,13 +1,17 @@ package com.sinata.common.core.domain.entity; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.sinata.common.annotation.Excel; import com.sinata.common.annotation.Excel.ColumnType; import com.sinata.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; /** * 字典类型表 sys_dict_type @@ -20,14 +24,18 @@ /** 字典主键 */ @Excel(name = "字典主键", cellType = ColumnType.NUMERIC) + @TableId(type = IdType.AUTO) + @ApiModelProperty("字典主键") private Long dictId; /** 字典名称 */ @Excel(name = "字典名称") + @ApiModelProperty("字典名称") private String dictName; /** 字典类型 */ @Excel(name = "字典类型") + @ApiModelProperty("字典类型") private String dictType; /** 状态(0正常 1停用) */ diff --git a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysRole.java b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysRole.java index 426ea0d..f6ecccc 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysRole.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/core/domain/entity/SysRole.java @@ -1,14 +1,18 @@ package com.sinata.common.core.domain.entity; -import java.util.Set; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.sinata.common.annotation.Excel; import com.sinata.common.annotation.Excel.ColumnType; import com.sinata.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.util.Set; /** * 角色表 sys_role @@ -21,6 +25,7 @@ /** 角色ID */ @Excel(name = "角色序号", cellType = ColumnType.NUMERIC) + @TableId(type = IdType.AUTO) private Long roleId; /** 角色名称 */ @@ -64,6 +69,8 @@ /** 角色菜单权限 */ private Set<String> permissions; + @TableField("MANAGE_ROLE_ID_STR") + private String manageRoleIdStr; public SysRole() { diff --git a/medicalWaste-common/src/main/java/com/sinata/common/core/text/Convert.java b/medicalWaste-common/src/main/java/com/sinata/common/core/text/Convert.java index 40af32d..4a449c0 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/core/text/Convert.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/core/text/Convert.java @@ -1,5 +1,8 @@ package com.sinata.common.core.text; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.apache.commons.lang3.ArrayUtils; + import java.math.BigDecimal; import java.math.BigInteger; import java.math.RoundingMode; @@ -7,8 +10,6 @@ import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.Set; -import com.sinata.common.utils.StringUtils; -import org.apache.commons.lang3.ArrayUtils; /** * 类型转换器 diff --git a/medicalWaste-common/src/main/java/com/sinata/common/entity/BaseModel.java b/medicalWaste-common/src/main/java/com/sinata/common/entity/BaseModel.java index 37e49ea..6eb05bc 100644 --- a/medicalWaste-common/src/main/java/com/sinata/common/entity/BaseModel.java +++ b/medicalWaste-common/src/main/java/com/sinata/common/entity/BaseModel.java @@ -4,14 +4,17 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; /** * Entity基类 * * @author ruoyi */ +@Data public class BaseModel implements Serializable { private static final long serialVersionUID = 1L; @@ -24,7 +27,7 @@ /** 创建时间 */ @ApiModelProperty(value = "记录创建时间,前端忽略") @TableField(value = "create_time", fill = FieldFill.INSERT) - private LocalDateTime createTime; + private Date createTime; /** 更新者 */ @ApiModelProperty(value = "记录修改人,前端忽略") @@ -34,7 +37,7 @@ /** 更新时间 */ @ApiModelProperty(value = "记录修改时间,前端忽略") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) - private LocalDateTime updateTime; + private Date updateTime; /** 是否删除 0未删除 1已删除 */ @TableField("del_flag") @@ -42,44 +45,4 @@ @TableLogic private Integer delFlag; - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public LocalDateTime getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - this.updateTime = updateTime; - } - - public Integer getDelFlag() { - return delFlag; - } - - public void setDelFlag(Integer delFlag) { - this.delFlag = delFlag; - } } diff --git a/medicalWaste-common/src/main/java/com/sinata/common/entity/BasePage.java b/medicalWaste-common/src/main/java/com/sinata/common/entity/BasePage.java new file mode 100644 index 0000000..a02c952 --- /dev/null +++ b/medicalWaste-common/src/main/java/com/sinata/common/entity/BasePage.java @@ -0,0 +1,55 @@ +package com.sinata.common.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.DecimalMin; +import java.io.Serializable; + +/** + * <p></p> + * + * @author mouseyCat + * @date 2020/8/24 16:39 + */ +@ApiModel(value = "基础查询列表dto") +public class BasePage implements Serializable { + + private static final long serialVersionUID = -6677391205868835849L; + /** + * 分页参数,当前页码 + */ + @ApiModelProperty(value = "分页参数,当前页码") + @DecimalMin(value = "1", message = "当前页码最小为1") + private Integer pageCurr = 1; + /** + * 分页参数,每页数量 + */ + @ApiModelProperty(value = "分页参数,每页数量,默认为10") + @DecimalMin(value = "1", message = "每页数量最低为1") + private Integer pageSize = 10; + + public Integer getPageCurr() { + return pageCurr; + } + + public void setPageCurr(Integer pageCurr) { + this.pageCurr = pageCurr; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + @Override + public String toString() { + return "BasePage{" + + "pageCurr=" + pageCurr + + ", pageSize=" + pageSize + + '}'; + } +} diff --git a/medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java b/medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java index 54c92e4..0ff6ad5 100644 --- a/medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java +++ b/medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java @@ -111,7 +111,7 @@ .authorizeHttpRequests((requests) -> { permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll()); // 对于登录login 注册register 验证码captchaImage 允许匿名访问 - requests.antMatchers("/login", "/register", "/captchaImage").permitAll() + requests.antMatchers("/backend/login", "/register", "/captchaImage").permitAll() // 静态资源,可匿名访问 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() diff --git a/medicalWaste-framework/src/main/java/com/sinata/framework/config/handler/MyMetaObjectHandler.java b/medicalWaste-framework/src/main/java/com/sinata/framework/config/handler/MyMetaObjectHandler.java new file mode 100644 index 0000000..f823086 --- /dev/null +++ b/medicalWaste-framework/src/main/java/com/sinata/framework/config/handler/MyMetaObjectHandler.java @@ -0,0 +1,46 @@ +package com.sinata.framework.config.handler; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.sinata.common.utils.DateUtils; +import com.sinata.common.utils.SecurityUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.reflection.MetaObject; +import org.springframework.stereotype.Component; + +/** + * 自动填充处理类 + * + * @author jishanfeng + * @date 2024-01-12 + */ +@Slf4j +@Component +public class MyMetaObjectHandler implements MetaObjectHandler { + + @Override + public void insertFill(MetaObject metaObject) { + // 获取当前登录用户 + Long userId = SecurityUtils.getUserId(); + fillValue("createBy", userId, metaObject); + fillValue("createTime", DateUtils.getNowDate(), metaObject); + } + + @Override + public void updateFill(MetaObject metaObject) { + // 获取当前登录用户 + Long userId = SecurityUtils.getUserId(); + fillValue("updateBy", userId, metaObject); + fillValue("updateTime", DateUtils.getNowDate(), metaObject); + } + + private void fillValue(String fieldName, Object data, MetaObject metaObject) { + if (metaObject.hasSetter(fieldName)) { + // 值为空时设置默认值 + Object sidObj = getFieldValByName(fieldName, metaObject); + if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { + setFieldValByName(fieldName, data, metaObject); + } + } + } +} + diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java new file mode 100644 index 0000000..c41be07 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java @@ -0,0 +1,86 @@ +package com.sinata.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sinata.common.entity.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 区域表 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Getter +@Setter +@TableName("SYS_DEPARTMENT") +@ApiModel(value = "SysDepartment对象", description = "区域表") +public class SysDepartment extends BaseModel { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("区域id") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("区域名称") + @TableField("DEPARTMENT_NAME") + private String departmentName; + + @ApiModelProperty("上级区域id") + @TableField("PARENT_ID") + private Integer parentId; + + @ApiModelProperty("树编码") + @TableField("TREE_CODE") + private String treeCode; + + @ApiModelProperty("机构类型 1:区域 2:医疗机构 3:处置单位 4:监管单位") + @TableField("ORG_TYPE") + private Integer orgType; + + @ApiModelProperty("机构编码") + @TableField("ORG_CODE") + private String orgCode; + + @ApiModelProperty("单位地址") + @TableField("ADDRESS") + private String address; + + @ApiModelProperty("经度") + @TableField("LONGITUDE") + private Double longitude; + + @ApiModelProperty("纬度") + @TableField("LATITUDE") + private Double latitude; + + @ApiModelProperty("联系人") + @TableField("CONTACT_PERSON") + private String contactPerson; + + @ApiModelProperty("联系电话") + @TableField("CONTACT_PHONE") + private String contactPhone; + + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("法人代表") + @TableField("LEGAL_PERSON") + private String legalPerson; + + @ApiModelProperty("统一社会信用代码") + @TableField("UNIFIED_SOCIAL_CREDIT_CODE") + private String unifiedSocialCreditCode; + + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartmentInfo.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartmentInfo.java new file mode 100644 index 0000000..417f33f --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartmentInfo.java @@ -0,0 +1,88 @@ +package com.sinata.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sinata.common.entity.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; + +/** + * <p> + * 单位信息 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Getter +@Setter +@TableName("SYS_DEPARTMENT_INFO") +@ApiModel(value = "SysDepartmentInfo对象", description = "单位信息") +public class SysDepartmentInfo extends BaseModel { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("区域id(医疗机构id,处置单位id)") + @TableField("DEPARTMENT_ID") + private Long departmentId; + + @ApiModelProperty("机构级别(数据字典id)") + @TableField("INSTITUTION_LEVEL") + private Integer institutionLevel; + + @ApiModelProperty("机构性质(数据字典id)") + @TableField("INSTITUTION_TYPE") + private Integer institutionType; + + @ApiModelProperty("每日产废范围起") + @TableField("DAILY_MIN_WASTE_QUANTITY") + private BigDecimal dailyMinWasteQuantity; + + @ApiModelProperty("每日产废范围止") + @TableField("DAILY_MAX_WASTE_QUANTITY") + private BigDecimal dailyMaxWasteQuantity; + + @ApiModelProperty("每月产废范围起") + @TableField("MONTHLY_MIN_WASTE_QUANTITY") + private BigDecimal monthlyMinWasteQuantity; + + @ApiModelProperty("每月产废范围止") + @TableField("MONTHLY_MAX_WASTE_QUANTITY") + private BigDecimal monthlyMaxWasteQuantity; + + @ApiModelProperty("医疗废物处置许可证号") + @TableField("DISPOSAL_LICENSE_NUMBER") + private String disposalLicenseNumber; + + @ApiModelProperty("许可证图片") + @TableField("DISPOSAL_LICENSE_IMAGE") + private String disposalLicenseImage; + + @ApiModelProperty("日处理能力(kg)") + @TableField("DAILY_DISPOSAL_QUANTITY") + private BigDecimal dailyDisposalQuantity; + + @ApiModelProperty("年处理能力(kg)") + @TableField("YEARLY_DISPOSAL_QUANTITY") + private BigDecimal yearlyDisposalQuantity; + + @ApiModelProperty("主要技术") + @TableField("MAIN_TECHNOLOGY") + private String mainTechnology; + + @ApiModelProperty("医废最大存储量") + @TableField("MAXIMUM_STORAGE_CAPACITY") + private BigDecimal maximumStorageCapacity; + + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/SysUserDepartment.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysUserDepartment.java new file mode 100644 index 0000000..9d033af --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysUserDepartment.java @@ -0,0 +1,43 @@ +package com.sinata.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sinata.common.entity.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * 用户区域关系 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("SYS_USER_DEPARTMENT") +@ApiModel(value = "SysUserDepartment对象", description = "用户区域关系") +public class SysUserDepartment extends BaseModel { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("用户区域关系表id") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("用户id") + @TableField("USER_ID") + private Long userId; + + @ApiModelProperty("区域id") + @TableField("DEPARTMENT_ID") + private Long departmentId; + + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java new file mode 100644 index 0000000..bc9fca8 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysDictDataDTO.java @@ -0,0 +1,26 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/12/3 + */ +@Data +@ApiModel("数据字典数据传输对象") +public class SysDictDataDTO { + + @ApiModelProperty(value = "字典主键", notes = "新增不传,编辑必传") + private Long dictCode; + + @ApiModelProperty("字典类型") + private String dictType; + + @ApiModelProperty("数值") + private String dictLabel; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysRoleDTO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysRoleDTO.java new file mode 100644 index 0000000..1a07fd1 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SysRoleDTO.java @@ -0,0 +1,31 @@ +package com.sinata.system.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author mitao + * @date 2024/12/3 + */ +@Data +@ApiModel("角色数据传输对象") +public class SysRoleDTO { + + @ApiModelProperty(value = "角色主键", notes = "更新必传") + private Long roleId; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty(value = "可管理角色", notes = "使用英文逗号拼接") + private String manageRoleStr; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("菜单id列表") + private List<Long> menuIds; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/query/KeyWordQuery.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/KeyWordQuery.java new file mode 100644 index 0000000..5efc337 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/query/KeyWordQuery.java @@ -0,0 +1,21 @@ +package com.sinata.system.domain.query; + +import com.sinata.common.entity.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author mitao + * @date 2024/12/3 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("关键字数据查询对象") +public class KeyWordQuery extends BasePage { + private static final long serialVersionUID = 389575019431291989L; + + @ApiModelProperty("关键字") + private String keyword; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDepartmentVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDepartmentVO.java new file mode 100644 index 0000000..ca726d6 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDepartmentVO.java @@ -0,0 +1,39 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author mitao + * @date 2024/12/2 + */ +@Data +@ApiModel("区域视图对象") +public class SysDepartmentVO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("区域名称") + private String departmentName; + + @ApiModelProperty("父级id") + private Long parentId; + + @ApiModelProperty("树编码") + private String treeCode; + + @ApiModelProperty("机构类型 1:区域 2:医疗机构 3:处置单位 4:监管单位") + private Integer orgType; + + @ApiModelProperty("机构编码") + private String orgCode; + + @ApiModelProperty("子节点") + private List<SysDepartmentVO> children = new ArrayList<>(); + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDictDataVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDictDataVO.java new file mode 100644 index 0000000..d50205d --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysDictDataVO.java @@ -0,0 +1,28 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/12/3 + */ +@Data +@ApiModel("数据字典视图对象") +public class SysDictDataVO { + @ApiModelProperty("主键") + private Long dictCode; + + @ApiModelProperty("字典键值") + private String dictValue; + + @ApiModelProperty("字典标签") + private String dictLabel; + + @ApiModelProperty("字典类型") + private String dictType; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysRoleVO.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysRoleVO.java new file mode 100644 index 0000000..d21c1ad --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/vo/SysRoleVO.java @@ -0,0 +1,38 @@ +package com.sinata.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author mitao + * @date 2024/12/3 + */ +@Data +@ApiModel("角色视图对象") +public class SysRoleVO { + + @ApiModelProperty("角色主键") + private Long roleId; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("可管理角色") + private String manageRoleStr; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("创建人") + private String nickName; + + @ApiModelProperty("添加时间") + private Date createTime; + + @ApiModelProperty("菜单id列表") + private List<Long> menuIds; +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/enums/DepartmentEnum.java b/medicalWaste-system/src/main/java/com/sinata/system/enums/DepartmentEnum.java new file mode 100644 index 0000000..5bd9719 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/enums/DepartmentEnum.java @@ -0,0 +1,23 @@ +package com.sinata.system.enums; +import lombok.AllArgsConstructor; +import lombok.Getter; +@Getter +@AllArgsConstructor +public enum DepartmentEnum { + REGION(1, "区域"), + MEDICAL_INSTITUTION(2, "医疗机构"), + DISPOSAL_UNIT(3, "处置单位"), + REGULATORY_UNIT(4, "监管单位"); + + private final Integer code; + private final String desc; + + public static DepartmentEnum getEnumByCode(Integer code) { + for (DepartmentEnum e : DepartmentEnum.values()) { + if (e.code.equals(code)) { + return e; + } + } + return null; + } +} \ No newline at end of file diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentInfoMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentInfoMapper.java new file mode 100644 index 0000000..a2b17a7 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentInfoMapper.java @@ -0,0 +1,18 @@ +package com.sinata.system.mapper; + +import com.sinata.system.domain.SysDepartmentInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 单位信息 Mapper 接口 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Mapper +public interface SysDepartmentInfoMapper extends BaseMapper<SysDepartmentInfo> { + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentMapper.java new file mode 100644 index 0000000..40b01f1 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDepartmentMapper.java @@ -0,0 +1,27 @@ +package com.sinata.system.mapper; + +import com.sinata.system.domain.SysDepartment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 区域表 Mapper 接口 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Mapper +public interface SysDepartmentMapper extends BaseMapper<SysDepartment> { + /** + * 根据类型查询用户区域列表 + * @param userId + * @param type + * @return + */ + List<SysDepartment> getDepartmentListByType(@Param("userId") Long userId, @Param("type") Integer type); +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictDataMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictDataMapper.java index ef731fa..ceba70f 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictDataMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictDataMapper.java @@ -1,15 +1,17 @@ package com.sinata.system.mapper; -import java.util.List; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sinata.common.core.domain.entity.SysDictData; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 字典表 数据层 * * @author ruoyi */ -public interface SysDictDataMapper +public interface SysDictDataMapper extends BaseMapper<SysDictData> { /** * 根据条件分页查询字典数据 diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictTypeMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictTypeMapper.java index 5fc49e8..f6335a9 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictTypeMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysDictTypeMapper.java @@ -1,14 +1,16 @@ package com.sinata.system.mapper; -import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sinata.common.core.domain.entity.SysDictType; + +import java.util.List; /** * 字典表 数据层 * * @author ruoyi */ -public interface SysDictTypeMapper +public interface SysDictTypeMapper extends BaseMapper<SysDictType> { /** * 根据条件分页查询字典类型 diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysMenuMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysMenuMapper.java index b5eb44e..9d48ac2 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysMenuMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysMenuMapper.java @@ -1,8 +1,9 @@ package com.sinata.system.mapper; -import java.util.List; -import org.apache.ibatis.annotations.Param; import com.sinata.common.core.domain.entity.SysMenu; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 菜单表 数据层 @@ -122,4 +123,6 @@ * @return 结果 */ public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); + + List<SysMenu> selectListByRoleId(@Param("roleId") Long roleId); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysRoleMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysRoleMapper.java index 4fc90fe..ef38bde 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysRoleMapper.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysRoleMapper.java @@ -1,14 +1,19 @@ package com.sinata.system.mapper; -import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sinata.common.core.domain.entity.SysRole; +import com.sinata.system.domain.vo.SysRoleVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 角色表 数据层 * * @author ruoyi */ -public interface SysRoleMapper +public interface SysRoleMapper extends BaseMapper<SysRole> { /** * 根据条件分页查询角色数据 @@ -104,4 +109,13 @@ * @return 结果 */ public int deleteRoleByIds(Long[] roleIds); + + /** + * 角色分页列表 + * + * @param sysRoleVOPage + * @param keyword + * @return + */ + Page<SysRoleVO> pageList(Page<SysRoleVO> sysRoleVOPage, @Param("keyword") String keyword); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysUserDepartmentMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysUserDepartmentMapper.java new file mode 100644 index 0000000..52166ca --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/SysUserDepartmentMapper.java @@ -0,0 +1,18 @@ +package com.sinata.system.mapper; + +import com.sinata.system.domain.SysUserDepartment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 用户区域关系 Mapper 接口 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Mapper +public interface SysUserDepartmentMapper extends BaseMapper<SysUserDepartment> { + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictDataService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictDataService.java index 3a62e8e..f6fcad0 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictDataService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictDataService.java @@ -1,14 +1,20 @@ package com.sinata.system.service; -import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; import com.sinata.common.core.domain.entity.SysDictData; +import com.sinata.common.entity.BasePage; +import com.sinata.common.entity.PageDTO; +import com.sinata.system.domain.dto.SysDictDataDTO; +import com.sinata.system.domain.vo.SysDictDataVO; + +import java.util.List; /** * 字典 业务层 * * @author ruoyi */ -public interface ISysDictDataService +public interface ISysDictDataService extends IService<SysDictData> { /** * 根据条件分页查询字典数据 @@ -57,4 +63,13 @@ * @return 结果 */ public int updateDictData(SysDictData dictData); + + PageDTO<SysDictDataVO> pageList(BasePage page); + + /** + * 新增 + * + * @param dto + */ + void save(SysDictDataDTO dto); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictTypeService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictTypeService.java index 6e76341..825856e 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictTypeService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysDictTypeService.java @@ -1,15 +1,17 @@ package com.sinata.system.service; -import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; import com.sinata.common.core.domain.entity.SysDictData; import com.sinata.common.core.domain.entity.SysDictType; + +import java.util.List; /** * 字典 业务层 * * @author ruoyi */ -public interface ISysDictTypeService +public interface ISysDictTypeService extends IService<SysDictType> { /** * 根据条件分页查询字典类型 diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysMenuService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysMenuService.java index 91d1d31..a6a504a 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysMenuService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysMenuService.java @@ -1,10 +1,11 @@ package com.sinata.system.service; -import java.util.List; -import java.util.Set; import com.sinata.common.core.domain.TreeSelect; import com.sinata.common.core.domain.entity.SysMenu; import com.sinata.system.domain.vo.RouterVo; + +import java.util.List; +import java.util.Set; /** * 菜单 业务层 @@ -141,4 +142,10 @@ * @return 结果 */ public boolean checkMenuNameUnique(SysMenu menu); + /** + * 获取当前角色的菜单列表 + * @param roleId + * @return + */ + List<SysMenu> selectListByRoleId(Long roleId); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysRoleService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysRoleService.java index 3d47db1..ca32cb7 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/ISysRoleService.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/ISysRoleService.java @@ -1,16 +1,22 @@ package com.sinata.system.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.common.core.domain.entity.SysRole; +import com.sinata.common.entity.PageDTO; +import com.sinata.system.domain.SysUserRole; +import com.sinata.system.domain.dto.SysRoleDTO; +import com.sinata.system.domain.query.KeyWordQuery; +import com.sinata.system.domain.vo.SysRoleVO; + import java.util.List; import java.util.Set; -import com.sinata.common.core.domain.entity.SysRole; -import com.sinata.system.domain.SysUserRole; /** * 角色业务层 * * @author ruoyi */ -public interface ISysRoleService +public interface ISysRoleService extends IService<SysRole> { /** * 根据条件分页查询角色数据 @@ -170,4 +176,28 @@ * @return 结果 */ public int insertAuthUsers(Long roleId, Long[] userIds); + + /** + * 角色分页列表 + * + * @param query + * @return + */ + PageDTO<SysRoleVO> pageList(KeyWordQuery query); + + /** + * 保存角色信息 + * + * @param dto + * @return + */ + void saveRole(SysRoleDTO dto); + + /** + * 获取角色详情 + * + * @param roleId + * @return + */ + SysRoleVO getDetailInfo(Long roleId); } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentInfoService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentInfoService.java new file mode 100644 index 0000000..af763d5 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentInfoService.java @@ -0,0 +1,16 @@ +package com.sinata.system.service; + +import com.sinata.system.domain.SysDepartmentInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 单位信息 服务类 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +public interface SysDepartmentInfoService extends IService<SysDepartmentInfo> { + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java new file mode 100644 index 0000000..d000280 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java @@ -0,0 +1,23 @@ +package com.sinata.system.service; + +import com.sinata.system.domain.SysDepartment; +import com.baomidou.mybatisplus.extension.service.IService; +import com.sinata.system.domain.vo.SysDepartmentVO; + +import java.util.List; + +/** + * <p> + * 区域表 服务类 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +public interface SysDepartmentService extends IService<SysDepartment> { + /** + * 获取区域树 + * @return + */ + List<SysDepartmentVO> listByType(Integer type); +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java new file mode 100644 index 0000000..e396707 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/SysUserDepartmentService.java @@ -0,0 +1,16 @@ +package com.sinata.system.service; + +import com.sinata.system.domain.SysUserDepartment; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 用户区域关系 服务类 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +public interface SysUserDepartmentService extends IService<SysUserDepartment> { + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentInfoServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentInfoServiceImpl.java new file mode 100644 index 0000000..795e2fc --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.sinata.system.service.impl; + +import com.sinata.system.domain.SysDepartmentInfo; +import com.sinata.system.mapper.SysDepartmentInfoMapper; +import com.sinata.system.service.SysDepartmentInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 单位信息 服务实现类 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Service +public class SysDepartmentInfoServiceImpl extends ServiceImpl<SysDepartmentInfoMapper, SysDepartmentInfo> implements SysDepartmentInfoService { + +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java new file mode 100644 index 0000000..f5d51f8 --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java @@ -0,0 +1,45 @@ +package com.sinata.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sinata.common.utils.CollUtils; +import com.sinata.common.utils.SecurityUtils; +import com.sinata.system.domain.SysDepartment; +import com.sinata.system.domain.vo.SysDepartmentVO; +import com.sinata.system.mapper.SysDepartmentMapper; +import com.sinata.system.service.SysDepartmentService; +import com.sinata.system.service.SysUserDepartmentService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * <p> + * 区域表 服务实现类 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Service +@RequiredArgsConstructor +public class SysDepartmentServiceImpl extends ServiceImpl<SysDepartmentMapper, SysDepartment> implements SysDepartmentService { + private final SysUserDepartmentService sysUserDepartmentService; + /** + * 获取区域树 + * @return + */ + @Override + public List<SysDepartmentVO> listByType(Integer type) { + Long userId = SecurityUtils.getUserId(); + List<SysDepartment> departmentList = baseMapper.getDepartmentListByType(userId, type); + if (CollUtils.isNotEmpty(departmentList)) { + Map<Long, SysDepartment> departmentMap = departmentList.stream().collect(Collectors.toMap(SysDepartment::getId, Function.identity())); + + } + return null; + } +} diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java index 6696aa3..aee4bec 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java @@ -1,12 +1,24 @@ package com.sinata.system.service.impl; -import java.util.List; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sinata.common.core.domain.entity.SysDictData; +import com.sinata.common.core.domain.entity.SysDictType; +import com.sinata.common.entity.BasePage; +import com.sinata.common.entity.PageDTO; +import com.sinata.common.exception.ServiceException; +import com.sinata.common.utils.BeanUtils; +import com.sinata.common.utils.DictUtils; +import com.sinata.system.domain.dto.SysDictDataDTO; +import com.sinata.system.domain.vo.SysDictDataVO; +import com.sinata.system.mapper.SysDictDataMapper; +import com.sinata.system.mapper.SysDictTypeMapper; +import com.sinata.system.service.ISysDictDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.sinata.common.core.domain.entity.SysDictData; -import com.sinata.common.utils.DictUtils; -import com.sinata.system.mapper.SysDictDataMapper; -import com.sinata.system.service.ISysDictDataService; + +import java.util.List; +import java.util.Objects; /** * 字典 业务层处理 @@ -14,10 +26,12 @@ * @author ruoyi */ @Service -public class SysDictDataServiceImpl implements ISysDictDataService +public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements ISysDictDataService { @Autowired private SysDictDataMapper dictDataMapper; + @Autowired + private SysDictTypeMapper dictTypeMapper; /** * 根据条件分页查询字典数据 @@ -108,4 +122,24 @@ } return row; } + + @Override + public PageDTO<SysDictDataVO> pageList(BasePage page) { + Page<SysDictData> result = this.lambdaQuery().page(new Page<>(page.getPageCurr(), page.getPageSize())); + return PageDTO.of(result, SysDictDataVO.class); + } + + @Override + public void save(SysDictDataDTO dto) { + SysDictData sysDictData = BeanUtils.copyBean(dto, SysDictData.class); + SysDictType sysDictType = dictTypeMapper.selectDictTypeByType(dto.getDictType()); + if (Objects.isNull(sysDictType)) { + throw new ServiceException("字典类型不存在"); + } + if (Objects.nonNull(sysDictData.getDictCode())) { + baseMapper.updateById(sysDictData); + } else { + baseMapper.insert(sysDictData); + } + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictTypeServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictTypeServiceImpl.java index 0ac49d0..ab66766 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictTypeServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictTypeServiceImpl.java @@ -1,13 +1,6 @@ package com.sinata.system.service.impl; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.annotation.PostConstruct; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sinata.common.constant.UserConstants; import com.sinata.common.core.domain.entity.SysDictData; import com.sinata.common.core.domain.entity.SysDictType; @@ -17,6 +10,15 @@ import com.sinata.system.mapper.SysDictDataMapper; import com.sinata.system.mapper.SysDictTypeMapper; import com.sinata.system.service.ISysDictTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 字典 业务层处理 @@ -24,7 +26,7 @@ * @author ruoyi */ @Service -public class SysDictTypeServiceImpl implements ISysDictTypeService +public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements ISysDictTypeService { @Autowired private SysDictTypeMapper dictTypeMapper; diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysMenuServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysMenuServiceImpl.java index cc54694..1d70c5c 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysMenuServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysMenuServiceImpl.java @@ -1,15 +1,5 @@ package com.sinata.system.service.impl; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; import com.sinata.common.constant.Constants; import com.sinata.common.constant.UserConstants; import com.sinata.common.core.domain.TreeSelect; @@ -24,6 +14,17 @@ import com.sinata.system.mapper.SysRoleMapper; import com.sinata.system.mapper.SysRoleMenuMapper; import com.sinata.system.service.ISysMenuService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * 菜单 业务层处理 @@ -540,4 +541,9 @@ return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":" }, new String[] { "", "", "", "/", "/" }); } + + @Override + public List<SysMenu> selectListByRoleId(Long roleId) { + return menuMapper.selectListByRoleId(roleId); + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java index df77217..998d382 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java @@ -1,29 +1,42 @@ package com.sinata.system.service.impl; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sinata.common.annotation.DataScope; import com.sinata.common.constant.UserConstants; +import com.sinata.common.core.domain.entity.SysMenu; import com.sinata.common.core.domain.entity.SysRole; import com.sinata.common.core.domain.entity.SysUser; +import com.sinata.common.entity.PageDTO; import com.sinata.common.exception.ServiceException; +import com.sinata.common.utils.BeanUtils; +import com.sinata.common.utils.CollUtils; import com.sinata.common.utils.SecurityUtils; import com.sinata.common.utils.StringUtils; import com.sinata.common.utils.spring.SpringUtils; import com.sinata.system.domain.SysRoleDept; import com.sinata.system.domain.SysRoleMenu; import com.sinata.system.domain.SysUserRole; +import com.sinata.system.domain.dto.SysRoleDTO; +import com.sinata.system.domain.query.KeyWordQuery; +import com.sinata.system.domain.vo.SysRoleVO; import com.sinata.system.mapper.SysRoleDeptMapper; import com.sinata.system.mapper.SysRoleMapper; import com.sinata.system.mapper.SysRoleMenuMapper; import com.sinata.system.mapper.SysUserRoleMapper; +import com.sinata.system.service.ISysMenuService; import com.sinata.system.service.ISysRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; /** * 角色 业务层处理 @@ -31,7 +44,7 @@ * @author ruoyi */ @Service -public class SysRoleServiceImpl implements ISysRoleService +public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService { @Autowired private SysRoleMapper roleMapper; @@ -44,6 +57,8 @@ @Autowired private SysRoleDeptMapper roleDeptMapper; + @Autowired + private ISysMenuService menuService; /** * 根据条件分页查询角色数据 @@ -424,4 +439,50 @@ } return userRoleMapper.batchUserRole(list); } + + /** + * 角色分页列表 + * + * @param query + * @return + */ + @Override + public PageDTO<SysRoleVO> pageList(KeyWordQuery query) { + Page<SysRoleVO> page = baseMapper.pageList(new Page<SysRoleVO>(query.getPageCurr(), query.getPageSize()), query.getKeyword()); + return PageDTO.of(page); + } + + /** + * 保存角色信息 + * + * @param dto + * @return + */ + @Override + public void saveRole(SysRoleDTO dto) { + SysRole sysRole = BeanUtils.copyBean(dto, SysRole.class); + if (Objects.nonNull(sysRole.getRoleId())) { + baseMapper.insert(sysRole); + } else { + baseMapper.updateById(sysRole); + } + } + + /** + * 获取角色详情 + * + * @param roleId + * @return + */ + @Override + public SysRoleVO getDetailInfo(Long roleId) { + SysRole sysRole = baseMapper.selectRoleById(roleId); + SysRoleVO sysRoleVO = BeanUtils.copyBean(sysRole, SysRoleVO.class); + //查询用户菜单id列表 + List<SysMenu> sysMenus = menuService.selectListByRoleId(roleId); + if (CollUtils.isNotEmpty(sysMenus)) { + sysRoleVO.setMenuIds(sysMenus.stream().map(SysMenu::getMenuId).collect(Collectors.toList())); + } + return sysRoleVO; + } } diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java new file mode 100644 index 0000000..43b04fb --- /dev/null +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysUserDepartmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.sinata.system.service.impl; + +import com.sinata.system.domain.SysUserDepartment; +import com.sinata.system.mapper.SysUserDepartmentMapper; +import com.sinata.system.service.SysUserDepartmentService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 用户区域关系 服务实现类 + * </p> + * + * @author mitao + * @since 2024-12-02 + */ +@Service +public class SysUserDepartmentServiceImpl extends ServiceImpl<SysUserDepartmentMapper, SysUserDepartment> implements SysUserDepartmentService { + +} diff --git a/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentInfoMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentInfoMapper.xml new file mode 100644 index 0000000..2423296 --- /dev/null +++ b/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentInfoMapper.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.sinata.system.mapper.SysDepartmentInfoMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.sinata.system.domain.SysDepartmentInfo"> + <id column="ID" property="id" /> + <result column="DEPARTMENT_ID" property="departmentId" /> + <result column="INSTITUTION_LEVEL" property="institutionLevel" /> + <result column="INSTITUTION_TYPE" property="institutionType" /> + <result column="DAILY_MIN_WASTE_QUANTITY" property="dailyMinWasteQuantity" /> + <result column="DAILY_MAX_WASTE_QUANTITY" property="dailyMaxWasteQuantity" /> + <result column="MONTHLY_MIN_WASTE_QUANTITY" property="monthlyMinWasteQuantity" /> + <result column="MONTHLY_MAX_WASTE_QUANTITY" property="monthlyMaxWasteQuantity" /> + <result column="DISPOSAL_LICENSE_NUMBER" property="disposalLicenseNumber" /> + <result column="DISPOSAL_LICENSE_IMAGE" property="disposalLicenseImage" /> + <result column="DAILY_DISPOSAL_QUANTITY" property="dailyDisposalQuantity" /> + <result column="YEARLY_DISPOSAL_QUANTITY" property="yearlyDisposalQuantity" /> + <result column="MAIN_TECHNOLOGY" property="mainTechnology" /> + <result column="MAXIMUM_STORAGE_CAPACITY" property="maximumStorageCapacity" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + ID, DEPARTMENT_ID, INSTITUTION_LEVEL, INSTITUTION_TYPE, DAILY_MIN_WASTE_QUANTITY, DAILY_MAX_WASTE_QUANTITY, MONTHLY_MIN_WASTE_QUANTITY, MONTHLY_MAX_WASTE_QUANTITY, DISPOSAL_LICENSE_NUMBER, DISPOSAL_LICENSE_IMAGE, DAILY_DISPOSAL_QUANTITY, YEARLY_DISPOSAL_QUANTITY, MAIN_TECHNOLOGY, MAXIMUM_STORAGE_CAPACITY + </sql> + +</mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml new file mode 100644 index 0000000..769663e --- /dev/null +++ b/medicalWaste-system/src/main/resources/mapper/system/SysDepartmentMapper.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.sinata.system.mapper.SysDepartmentMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.sinata.system.domain.SysDepartment"> + <id column="ID" property="id" /> + <result column="DEL_FLAG" property="delFlag" /> + <result column="CREATE_BY" property="createBy" /> + <result column="CREATE_TIME" property="createTime" /> + <result column="UPDATE_BY" property="updateBy" /> + <result column="UPDATE_TIME" property="updateTime" /> + <result column="DEPARTMENT_NAME" property="departmentName" /> + <result column="PARENT_ID" property="parentId" /> + <result column="TREE_CODE" property="treeCode" /> + <result column="ORG_TYPE" property="orgType" /> + <result column="ORG_CODE" property="orgCode" /> + <result column="ADDRESS" property="address" /> + <result column="LONGITUDE" property="longitude" /> + <result column="LATITUDE" property="latitude" /> + <result column="CONTACT_PERSON" property="contactPerson" /> + <result column="CONTACT_PHONE" property="contactPhone" /> + <result column="REMARK" property="remark" /> + <result column="LEGAL_PERSON" property="legalPerson" /> + <result column="UNIFIED_SOCIAL_CREDIT_CODE" property="unifiedSocialCreditCode" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + DEL_FLAG, + CREATE_BY, + CREATE_TIME, + UPDATE_BY, + UPDATE_TIME, + ID, DEPARTMENT_NAME, PARENT_ID, TREE_CODE, ORG_TYPE, ORG_CODE, ADDRESS, LONGITUDE, LATITUDE, CONTACT_PERSON, CONTACT_PHONE, REMARK, LEGAL_PERSON, UNIFIED_SOCIAL_CREDIT_CODE + </sql> + <select id="getDepartmentListByType" resultType="com.sinata.system.domain.SysDepartment"> + SELECT t2.* FROM SYS_USER_DEPARTMENT t1 LEFT JOIN SYS_DEPARTMENT t2 ON t1.DEPARTMENT_ID = t2.ID + <where> + t1.USER_ID = #{userId} AND t2.ORG_TYPE = #{type} + </where> + </select> + +</mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/SysMenuMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/SysMenuMapper.xml index 119906b..22c54dd 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -132,7 +132,7 @@ <include refid="selectMenuVo"/> where menu_name=#{menuName} and parent_id = #{parentId} limit 1 </select> - + <update id="updateMenu" parameterType="SysMenu"> update sys_menu <set> @@ -198,9 +198,29 @@ sysdate() ) </insert> - + <delete id="deleteMenuById" parameterType="Long"> delete from sys_menu where menu_id = #{menuId} </delete> + <select id="selectListByRoleId" resultType="com.sinata.common.core.domain.entity.SysMenu"> + select sm.menu_id AS menuId, + sm.menu_name AS menuName, + sm.parent_id AS parentId, + sm.order_num AS orderNum, + sm."path" AS path, + sm.component AS component, + sm."query" AS query, + sm.is_frame AS isFrame, + sm.is_cache AS isCache, + sm.menu_type AS menuType, + sm.visible AS visible, + sm.status AS status, + ifnull(sm.perms, '') as perms, + sm.icon AS icon, + sm.create_time AS createTime + from sys_role_menu srm + left join sys_menu sm on srm.menu_id = sm.menu_id + WHERE srm.role_id = #{roleId} + </select> -</mapper> \ No newline at end of file +</mapper> diff --git a/medicalWaste-system/src/main/resources/mapper/system/SysRoleMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/SysRoleMapper.xml index cc9b958..86ba368 100644 --- a/medicalWaste-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/medicalWaste-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -92,8 +92,40 @@ <include refid="selectRoleVo"/> where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 </select> - - <insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId"> + <select id="pageList" resultType="com.sinata.system.domain.vo.SysRoleVO"> + SELECT + r.ROLE_ID, + r.ROLE_NAME, + r.ROLE_KEY, + r.ROLE_SORT, + r.STATUS, + r.DEL_FLAG, + r.CREATE_BY, + r.CREATE_TIME, + r.UPDATE_BY, + r.UPDATE_TIME, + r.REMARK, + r.MANAGE_ROLE_ID_STR, + -- 使用 LISTAGG 拼接可管理角色的角色ID,使用 ';' 分隔 + LISTAGG(r2.ROLE_NAME, ';') WITHIN GROUP (ORDER BY r2.ROLE_ID) AS manageRoleStr, + u.NICK_NAME + FROM + SYS_ROLE r + LEFT JOIN + SYS_ROLE r2 ON INSTR(r.MANAGE_ROLE_ID_STR, TO_CHAR(r2.ROLE_ID)) > 0 + LEFT JOIN SYS_USER u ON r.CREATE_BY = u.USER_ID + <where> + <if test="keyword != null and keyword != ''"> + AND r.ROLE_NAME LIKE CONCAT('%', #{keyword}, '%') + </if> + </where> + GROUP BY + r.ROLE_ID, r.ROLE_NAME, r.ROLE_KEY, r.ROLE_SORT, r.STATUS, r.DEL_FLAG, r.CREATE_BY, r.CREATE_TIME, r.UPDATE_BY, + r.UPDATE_TIME, r.REMARK, r.MANAGE_ROLE_ID_STR; + + </select> + + <insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId"> insert into sys_role( <if test="roleId != null and roleId != 0">role_id,</if> <if test="roleName != null and roleName != ''">role_name,</if> diff --git a/medicalWaste-system/src/main/resources/mapper/system/SysUserDepartmentMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/SysUserDepartmentMapper.xml new file mode 100644 index 0000000..f9a89e4 --- /dev/null +++ b/medicalWaste-system/src/main/resources/mapper/system/SysUserDepartmentMapper.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.sinata.system.mapper.SysUserDepartmentMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.sinata.system.domain.SysUserDepartment"> + <id column="ID" property="id" /> + <result column="USER_ID" property="userId" /> + <result column="DEPARTMENT_ID" property="departmentId" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + ID, USER_ID, DEPARTMENT_ID + </sql> + +</mapper> -- Gitblit v1.7.1