✨ 新增字典管理功能
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.controller;
|
||||
package com.your.packages.admin.modules;
|
||||
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.constant.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author lengleng
|
||||
* @date 2019-05-16
|
||||
* <p>
|
||||
* 字典类型
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DictTypeEnum {
|
||||
/**
|
||||
* 字典类型-系统内置(不可修改)
|
||||
*/
|
||||
SYSTEM("1", "系统内置"),
|
||||
|
||||
/**
|
||||
* 字典类型-业务类型
|
||||
*/
|
||||
BIZ("0", "业务类");
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hccake.ballcat.admin.modules.sys.manager.SysDictManager;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
|
||||
import com.hccake.ballcat.commom.log.operation.annotation.OperationLogging;
|
||||
import com.hccake.ballcat.common.core.result.BaseResultMsg;
|
||||
import com.hccake.ballcat.common.core.result.R;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* 字典表
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/sys/dict")
|
||||
@Api(value = "/sys/dict", tags = "字典表管理")
|
||||
public class SysDictController {
|
||||
private final SysDictManager sysDictManager;
|
||||
|
||||
/**
|
||||
* 通过字典标识查找对应字典项
|
||||
*
|
||||
* @param dictCode 字典标识
|
||||
* @return 同类型字典
|
||||
*/
|
||||
@GetMapping("/select/{dictCode}")
|
||||
public R getDictByType(@PathVariable String dictCode) {
|
||||
return R.ok(sysDictManager.querySelectDataByDictCode(dictCode));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param sysDictQO 字典表
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "分页查询", notes = "分页查询")
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:read')")
|
||||
public R<IPage<SysDict>> getSysDictPage(
|
||||
Page<SysDict> page, SysDictQO sysDictQO) {
|
||||
return R.ok(sysDictManager.dictPage(page, sysDictQO));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增字典表
|
||||
*
|
||||
* @param sysDict 字典表
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "新增字典表", notes = "新增字典表")
|
||||
@OperationLogging("新增字典表")
|
||||
@PostMapping
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:add')")
|
||||
public R save(@RequestBody SysDict sysDict) {
|
||||
return sysDictManager.dictSave(sysDict) ?
|
||||
R.ok() : R.failed(BaseResultMsg.UPDATE_DATABASE_ERROR, "新增字典表失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改字典表
|
||||
*
|
||||
* @param sysDict 字典表
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "修改字典表", notes = "修改字典表")
|
||||
@OperationLogging("修改字典表")
|
||||
@PutMapping
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:edit')")
|
||||
public R updateById(@RequestBody SysDict sysDict) {
|
||||
return sysDictManager.updateDictById(sysDict) ?
|
||||
R.ok() : R.failed(BaseResultMsg.UPDATE_DATABASE_ERROR, "修改字典表失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除字典表
|
||||
*
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "通过id删除字典表", notes = "通过id删除字典表")
|
||||
@OperationLogging("通过id删除字典表")
|
||||
@DeleteMapping("/{id}")
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:del')")
|
||||
public R removeById(@PathVariable Integer id) {
|
||||
return sysDictManager.removeDictById(id) ?
|
||||
R.ok() : R.failed(BaseResultMsg.UPDATE_DATABASE_ERROR, "通过id删除字典表失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param dictCode 字典标识
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "分页查询", notes = "分页查询")
|
||||
@GetMapping("/item/page")
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:read')")
|
||||
public R<IPage<SysDictItem>> getSysDictItemPage(
|
||||
Page<SysDictItem> page, @RequestParam("dictCode")String dictCode) {
|
||||
return R.ok(sysDictManager.dictItemPage(page, dictCode));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增字典项
|
||||
*
|
||||
* @param sysDictItem 字典项
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "新增字典项", notes = "新增字典项")
|
||||
@OperationLogging("新增字典项")
|
||||
@PostMapping("item")
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:add')")
|
||||
public R saveItem(@RequestBody SysDictItem sysDictItem) {
|
||||
return sysDictManager.saveDictItem(sysDictItem) ?
|
||||
R.ok() : R.failed(BaseResultMsg.UPDATE_DATABASE_ERROR, "新增字典项失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改字典项
|
||||
*
|
||||
* @param sysDictItem 字典项
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "修改字典项", notes = "修改字典项")
|
||||
@OperationLogging("修改字典项")
|
||||
@PutMapping("item")
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:edit')")
|
||||
public R updateItemById(@RequestBody SysDictItem sysDictItem) {
|
||||
return sysDictManager.updateDictItemById(sysDictItem) ?
|
||||
R.ok() : R.failed(BaseResultMsg.UPDATE_DATABASE_ERROR, "修改字典项失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除字典项
|
||||
*
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@ApiOperation(value = "通过id删除字典项", notes = "通过id删除字典项")
|
||||
@OperationLogging("通过id删除字典项")
|
||||
@DeleteMapping("/item/{id}")
|
||||
@PreAuthorize("@per.hasPermission('sys:dict:del')")
|
||||
public R removeItemById(@PathVariable Integer id) {
|
||||
return sysDictManager.removeDictItemById(id) ?
|
||||
R.ok() : R.failed(BaseResultMsg.UPDATE_DATABASE_ERROR, "通过id删除字典项失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.manager;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
|
||||
import com.hccake.ballcat.admin.modules.sys.service.SysDictItemService;
|
||||
import com.hccake.ballcat.admin.modules.sys.service.SysDictService;
|
||||
import com.hccake.ballcat.common.core.vo.SelectData;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Hccake
|
||||
* @version 1.0
|
||||
* @date 2020/3/27 19:50
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SysDictManager {
|
||||
private final SysDictService sysDictService;
|
||||
private final SysDictItemService sysDictItemService;
|
||||
|
||||
/**
|
||||
* 字典Select数据
|
||||
* @param dictCode 字典标识
|
||||
* @return 字典项集合组成的SelectData
|
||||
*/
|
||||
public List<SelectData> querySelectDataByDictCode(String dictCode) {
|
||||
return sysDictItemService.querySelectDataByDictCode(dictCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 字典表分页
|
||||
* @param page 分页参数
|
||||
* @param sysDictQO 查询参数
|
||||
* @return 字典表分页数据
|
||||
*/
|
||||
public IPage<SysDict> dictPage(Page<SysDict> page, SysDictQO sysDictQO) {
|
||||
return sysDictService.page(page, sysDictQO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存字典
|
||||
* @param sysDict 字典对象
|
||||
* @return 执行是否成功
|
||||
*/
|
||||
public boolean dictSave(SysDict sysDict) {
|
||||
return sysDictService.save(sysDict);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新字典
|
||||
* @param sysDict 字典对象
|
||||
* @return 执行是否成功
|
||||
*/
|
||||
public boolean updateDictById(SysDict sysDict) {
|
||||
return sysDictService.updateById(sysDict);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除字典
|
||||
* @param id 字典id
|
||||
* @return 执行是否成功
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean removeDictById(Integer id) {
|
||||
SysDict oldData = sysDictService.getById(id);
|
||||
if(sysDictService.removeById(id)){
|
||||
// 级联删除对应的字典项
|
||||
sysDictItemService.remove(Wrappers.<SysDictItem>lambdaUpdate()
|
||||
.eq(SysDictItem::getDictCode, oldData.getCode())
|
||||
);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 字典项分页
|
||||
* @param page 分页属性
|
||||
* @param dictCode 字典标识
|
||||
* @return 字典项分页数据
|
||||
*/
|
||||
public IPage<SysDictItem> dictItemPage(Page<SysDictItem> page, String dictCode) {
|
||||
return sysDictItemService.page(page, dictCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增字典项
|
||||
* @param sysDictItem 字典项
|
||||
* @return 执行是否成功
|
||||
*/
|
||||
public boolean saveDictItem(SysDictItem sysDictItem) {
|
||||
return sysDictItemService.save(sysDictItem);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新字典项
|
||||
* @param sysDictItem 字典项
|
||||
* @return 执行是否成功
|
||||
*/
|
||||
public boolean updateDictItemById(SysDictItem sysDictItem) {
|
||||
return sysDictItemService.updateById(sysDictItem);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除字典项
|
||||
* @param id 字典项
|
||||
* @return 执行是否成功
|
||||
*/
|
||||
public boolean removeDictItemById(Integer id) {
|
||||
return sysDictItemService.removeById(id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
|
||||
import com.hccake.ballcat.common.core.vo.SelectData;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字典项
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
|
||||
|
||||
/**
|
||||
* 根据字典标识查询对应字典选择项
|
||||
*
|
||||
* @param dictCode 字典标识
|
||||
* @return 对应字典项的SelectData
|
||||
*/
|
||||
List<SelectData> querySelectDataByDictCode(@Param("dictCode") String dictCode);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
|
||||
|
||||
/**
|
||||
* 字典表
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
public interface SysDictMapper extends BaseMapper<SysDict> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 字典表
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_dict")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel(value = "字典表")
|
||||
public class SysDict extends Model<SysDict> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId
|
||||
@ApiModelProperty(value = "编号")
|
||||
private Integer id;
|
||||
/**
|
||||
* 标识
|
||||
*/
|
||||
@ApiModelProperty(value = "标识")
|
||||
private String code;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
/**
|
||||
* 字典类型
|
||||
*/
|
||||
@ApiModelProperty(value = "1:系统 2:业务")
|
||||
private Integer type;
|
||||
/**
|
||||
* 逻辑删除标识
|
||||
*/
|
||||
@ApiModelProperty(value = "逻辑删除标识")
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 字典项
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
@Data
|
||||
@TableName("sys_dict_item")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel(value = "字典项")
|
||||
public class SysDictItem extends Model<SysDictItem> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId
|
||||
@ApiModelProperty(value = "ID")
|
||||
private Integer id;
|
||||
/**
|
||||
* 字典标识
|
||||
*/
|
||||
@ApiModelProperty(value = "字典标识")
|
||||
private String dictCode;
|
||||
/**
|
||||
* 数据值
|
||||
*/
|
||||
@ApiModelProperty(value = "数据值")
|
||||
private String value;
|
||||
/**
|
||||
* 标签
|
||||
*/
|
||||
@ApiModelProperty(value = "标签")
|
||||
private String label;
|
||||
/**
|
||||
* 排序(升序)
|
||||
*/
|
||||
@ApiModelProperty(value = "排序(升序)")
|
||||
private Integer sort;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
/**
|
||||
* 逻辑删除标志
|
||||
*/
|
||||
@ApiModelProperty(value = "逻辑删除标志")
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.qo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 字典项 查询对象
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:32:06
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "字典项查询对象")
|
||||
public class DictItemQO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@ApiModelProperty(value="ID")
|
||||
private Integer id;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.qo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 字典表 查询对象
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:32:06
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "字典表查询对象")
|
||||
public class DictQO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@ApiModelProperty(value = "编号")
|
||||
private Integer id;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.qo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 字典表 查询对象
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "字典表查询对象")
|
||||
public class SysDictQO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@ApiModelProperty(value="编号")
|
||||
private Integer id;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
|
||||
import com.hccake.ballcat.common.core.vo.SelectData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字典项
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
public interface SysDictItemService extends IService<SysDictItem> {
|
||||
|
||||
/**
|
||||
* 根据QueryObeject查询分页数据
|
||||
* @param page 分页参数
|
||||
* @param dictCode 查询参数对象
|
||||
* @return 分页数据
|
||||
*/
|
||||
IPage<SysDictItem> page(IPage<SysDictItem> page, String dictCode);
|
||||
|
||||
/**
|
||||
* 根据字典标识查询对应字典选择项
|
||||
* @param dictCode 字典标识
|
||||
* @return 对应字典项的SelectData
|
||||
*/
|
||||
List<SelectData> querySelectDataByDictCode(String dictCode);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
|
||||
|
||||
/**
|
||||
* 字典表
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
public interface SysDictService extends IService<SysDict> {
|
||||
|
||||
/**
|
||||
* 根据QueryObeject查询分页数据
|
||||
* @param page 分页参数
|
||||
* @param qo 查询参数对象
|
||||
* @return 分页数据
|
||||
*/
|
||||
IPage<SysDict> page(IPage<SysDict> page, SysDictQO qo);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hccake.ballcat.admin.modules.sys.mapper.SysDictItemMapper;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDictItem;
|
||||
import com.hccake.ballcat.admin.modules.sys.service.SysDictItemService;
|
||||
import com.hccake.ballcat.common.core.vo.SelectData;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字典项
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
@Service
|
||||
public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDictItem> implements SysDictItemService {
|
||||
|
||||
/**
|
||||
* 根据QueryObeject查询分页数据
|
||||
* @param page 分页参数
|
||||
* @param dictCode 查询参数对象
|
||||
* @return 分页数据
|
||||
*/
|
||||
@Override
|
||||
public IPage<SysDictItem> page(IPage<SysDictItem> page, String dictCode) {
|
||||
LambdaQueryWrapper<SysDictItem> wrapper = Wrappers.<SysDictItem>lambdaQuery()
|
||||
.eq(SysDictItem::getDictCode, dictCode);
|
||||
return baseMapper.selectPage(page, wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典标识查询对应字典选择项
|
||||
*
|
||||
* @param dictCode 字典标识
|
||||
* @return 对应字典项的SelectData
|
||||
*/
|
||||
@Override
|
||||
public List<SelectData> querySelectDataByDictCode(String dictCode) {
|
||||
return baseMapper.querySelectDataByDictCode(dictCode);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.entity.SysDict;
|
||||
import com.hccake.ballcat.admin.modules.sys.model.qo.SysDictQO;
|
||||
import com.hccake.ballcat.admin.modules.sys.mapper.SysDictMapper;
|
||||
import com.hccake.ballcat.admin.modules.sys.service.SysDictService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 字典表
|
||||
*
|
||||
* @author hccake
|
||||
* @date 2020-03-26 18:40:20
|
||||
*/
|
||||
@Service
|
||||
public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> implements SysDictService {
|
||||
|
||||
/**
|
||||
* 根据QueryObeject查询分页数据
|
||||
* @param page 分页参数
|
||||
* @param qo 查询参数对象
|
||||
* @return 分页数据
|
||||
*/
|
||||
@Override
|
||||
public IPage<SysDict> page(IPage<SysDict> page, SysDictQO qo) {
|
||||
LambdaQueryWrapper<SysDict> wrapper = Wrappers.<SysDict>lambdaQuery()
|
||||
.eq(ObjectUtil.isNotNull(qo.getId()), SysDict::getId, qo.getId());
|
||||
return baseMapper.selectPage(page, wrapper);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,7 +6,6 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
||||
@@ -113,7 +112,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
roleIds.forEach(roleId -> {
|
||||
List<String> permissionList = sysPermissionService.findPermissionVOByRoleId(roleId)
|
||||
.stream()
|
||||
.filter(sysPermission -> StringUtils.isNotEmpty(sysPermission.getCode()))
|
||||
.filter(sysPermission -> StrUtil.isNotEmpty(sysPermission.getCode()))
|
||||
.map(PermissionVO::getCode)
|
||||
.collect(Collectors.toList());
|
||||
permissions.addAll(permissionList);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?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.hccake.ballcat.admin.modules.sys.mapper.SysDictItemMapper">
|
||||
|
||||
<select id="querySelectDataByDictCode" resultType="com.hccake.ballcat.common.core.vo.SelectData">
|
||||
select
|
||||
label as name, value
|
||||
from
|
||||
sys_dict_item
|
||||
where
|
||||
del_flag = 0
|
||||
and dict_code = #{dictCode}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user