13 文件已重命名
23个文件已修改
28个文件已添加
New file |
| | |
| | | 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())); |
| | | } |
| | | } |
New file |
| | |
| | | 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 { |
| | | |
| | | } |
New file |
| | |
| | | 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 { |
| | | |
| | | } |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysConfigController.java |
| | |
| | | package com.sinata.web.controller.system; |
| | | package com.sinata.web.controller.backend.system; |
| | | |
| | | import java.util.List; |
| | | import javax.servlet.http.HttpServletResponse; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDeptController.java |
| | |
| | | package com.sinata.web.controller.system; |
| | | package com.sinata.web.controller.backend.system; |
| | | |
| | | import java.util.List; |
| | | import org.apache.commons.lang3.ArrayUtils; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictDataController.java |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | @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) |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysDictTypeController.java |
| | |
| | | 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; |
| | |
| | | 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") |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysIndexController.java |
| | |
| | | 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; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysLoginController.java |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | * @return 结果 |
| | | */ |
| | | @PostMapping("/login") |
| | | @ApiOperation("管理后台登录") |
| | | public AjaxResult login(@RequestBody LoginBody loginBody) |
| | | { |
| | | AjaxResult ajax = AjaxResult.success(); |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysMenuController.java |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 菜单信息 |
| | |
| | | /** |
| | | * 获取菜单列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('system:menu:list')") |
| | | //@PreAuthorize("@ss.hasPermi('system:menu:list')") |
| | | @GetMapping("/list") |
| | | public AjaxResult list(SysMenu menu) |
| | | { |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysNoticeController.java |
| | |
| | | package com.sinata.web.controller.system; |
| | | package com.sinata.web.controller.backend.system; |
| | | |
| | | import java.util.List; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysPostController.java |
| | |
| | | package com.sinata.web.controller.system; |
| | | package com.sinata.web.controller.backend.system; |
| | | |
| | | import java.util.List; |
| | | import javax.servlet.http.HttpServletResponse; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysProfileController.java |
| | |
| | | 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; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRegisterController.java |
| | |
| | | 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; |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysRoleController.java |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | @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) |
File was renamed from medicalWaste-admin/src/main/java/com/sinata/web/controller/system/SysUserController.java |
| | |
| | | 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; |
| | |
| | | # 是否开启swagger |
| | | enabled: true |
| | | # 请求前缀 |
| | | pathMapping: /dev-api |
| | | pathMapping: / |
| | | |
| | | # 防止XSS攻击 |
| | | xss: |
New file |
| | |
| | | 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()); |
| | | } |
| | | } |
| | |
| | | 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 { |
| | |
| | | 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) |
| | |
| | | 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); |
| | | } |
| | | ) |
| | | // 模板配置 |
| | |
| | | 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基类 |
| | |
| | | |
| | | /** 搜索值 */ |
| | | @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; |
| | | |
| | | /** 备注 */ |
| | |
| | | |
| | | /** 请求参数 */ |
| | | @JsonInclude(JsonInclude.Include.NON_EMPTY) |
| | | @TableField(exist = false) |
| | | private Map<String, Object> params; |
| | | |
| | | public String getSearchValue() |
| | |
| | | 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 |
| | |
| | | |
| | | /** 字典编码 */ |
| | | @Excel(name = "字典编码", cellType = ColumnType.NUMERIC) |
| | | @TableId(type = IdType.AUTO) |
| | | private Long dictCode; |
| | | |
| | | /** 字典排序 */ |
| | |
| | | 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 |
| | |
| | | |
| | | /** 字典主键 */ |
| | | @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停用) */ |
| | |
| | | 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 |
| | |
| | | |
| | | /** 角色ID */ |
| | | @Excel(name = "角色序号", cellType = ColumnType.NUMERIC) |
| | | @TableId(type = IdType.AUTO) |
| | | private Long roleId; |
| | | |
| | | /** 角色名称 */ |
| | |
| | | /** 角色菜单权限 */ |
| | | private Set<String> permissions; |
| | | |
| | | @TableField("MANAGE_ROLE_ID_STR") |
| | | private String manageRoleIdStr; |
| | | public SysRole() |
| | | { |
| | | |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 类型转换器 |
| | |
| | | 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; |
| | |
| | | /** 创建时间 */ |
| | | @ApiModelProperty(value = "记录创建时间,前端忽略") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | private Date createTime; |
| | | |
| | | /** 更新者 */ |
| | | @ApiModelProperty(value = "记录修改人,前端忽略") |
| | |
| | | /** 更新时间 */ |
| | | @ApiModelProperty(value = "记录修改时间,前端忽略") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | private Date updateTime; |
| | | |
| | | /** 是否删除 0未删除 1已删除 */ |
| | | @TableField("del_flag") |
| | |
| | | @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; |
| | | } |
| | | } |
New file |
| | |
| | | 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 + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | .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() |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | 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; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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<>(); |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
| | | } |
New file |
| | |
| | | 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> { |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | |
| | | 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> |
| | | { |
| | | /** |
| | | * 根据条件分页查询字典数据 |
| | |
| | | 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> |
| | | { |
| | | /** |
| | | * 根据条件分页查询字典类型 |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 菜单表 数据层 |
| | |
| | | * @return 结果 |
| | | */ |
| | | public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); |
| | | |
| | | List<SysMenu> selectListByRoleId(@Param("roleId") Long roleId); |
| | | } |
| | |
| | | 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> |
| | | { |
| | | /** |
| | | * 根据条件分页查询角色数据 |
| | |
| | | * @return 结果 |
| | | */ |
| | | public int deleteRoleByIds(Long[] roleIds); |
| | | |
| | | /** |
| | | * 角色分页列表 |
| | | * |
| | | * @param sysRoleVOPage |
| | | * @param keyword |
| | | * @return |
| | | */ |
| | | Page<SysRoleVO> pageList(Page<SysRoleVO> sysRoleVOPage, @Param("keyword") String keyword); |
| | | } |
New file |
| | |
| | | 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> { |
| | | |
| | | } |
| | |
| | | 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> |
| | | { |
| | | /** |
| | | * 根据条件分页查询字典数据 |
| | |
| | | * @return 结果 |
| | | */ |
| | | public int updateDictData(SysDictData dictData); |
| | | |
| | | PageDTO<SysDictDataVO> pageList(BasePage page); |
| | | |
| | | /** |
| | | * 新增 |
| | | * |
| | | * @param dto |
| | | */ |
| | | void save(SysDictDataDTO dto); |
| | | } |
| | |
| | | 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> |
| | | { |
| | | /** |
| | | * 根据条件分页查询字典类型 |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 菜单 业务层 |
| | |
| | | * @return 结果 |
| | | */ |
| | | public boolean checkMenuNameUnique(SysMenu menu); |
| | | /** |
| | | * 获取当前角色的菜单列表 |
| | | * @param roleId |
| | | * @return |
| | | */ |
| | | List<SysMenu> selectListByRoleId(Long roleId); |
| | | } |
| | |
| | | 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> |
| | | { |
| | | /** |
| | | * 根据条件分页查询角色数据 |
| | |
| | | * @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); |
| | | } |
New file |
| | |
| | | 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> { |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
New file |
| | |
| | | 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> { |
| | | |
| | | } |
New file |
| | |
| | | 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 { |
| | | |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 字典 业务层处理 |
| | |
| | | * @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; |
| | | |
| | | /** |
| | | * 根据条件分页查询字典数据 |
| | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 字典 业务层处理 |
| | |
| | | * @author ruoyi |
| | | */ |
| | | @Service |
| | | public class SysDictTypeServiceImpl implements ISysDictTypeService |
| | | public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements ISysDictTypeService |
| | | { |
| | | @Autowired |
| | | private SysDictTypeMapper dictTypeMapper; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 菜单 业务层处理 |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 角色 业务层处理 |
| | |
| | | * @author ruoyi |
| | | */ |
| | | @Service |
| | | public class SysRoleServiceImpl implements ISysRoleService |
| | | public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService |
| | | { |
| | | @Autowired |
| | | private SysRoleMapper roleMapper; |
| | |
| | | |
| | | @Autowired |
| | | private SysRoleDeptMapper roleDeptMapper; |
| | | @Autowired |
| | | private ISysMenuService menuService; |
| | | |
| | | /** |
| | | * 根据条件分页查询角色数据 |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |
New file |
| | |
| | | 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 { |
| | | |
| | | } |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | <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> |
| | |
| | | <include refid="selectRoleVo"/> |
| | | where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 |
| | | </select> |
| | | <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( |
New file |
| | |
| | | <?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> |