feat: 角色管理初始化

This commit is contained in:
fit2cloud-chenyw
2021-02-23 22:16:43 +08:00
parent 73bf229464
commit 923d7509a2
8 changed files with 217 additions and 14 deletions

View File

@@ -0,0 +1,14 @@
package io.dataease.base.mapper.ext;
import io.dataease.controller.sys.request.RoleGridRequest;
import io.dataease.controller.sys.response.RoleNodeResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ExtSysRoleMapper {
List<RoleNodeResponse> query(@Param("request")RoleGridRequest request);
}

View File

@@ -0,0 +1,26 @@
<?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="io.dataease.base.mapper.ext.ExtSysRoleMapper">
<resultMap id="BaseResultMap" type="io.dataease.controller.sys.response.RoleNodeResponse" extends="io.dataease.base.mapper.SysRoleMapper.BaseResultMap">
<result column="menuIds" property="menu_ids"/>
<collection property="menuIds" ofType="long">
<constructor>
<arg column="menu_id"/>
</constructor>
</collection>
</resultMap>
<select id="query" resultMap="BaseResultMap">
select r.*, m.menu_id
from sys_role r left join sys_roles_menus m on r.role_id = m.role_id
<where>
<if test="request.name != null">
AND r.name like CONCAT('%', #{request.name},'%')
</if>
</where>
order by r.update_time desc
</select>
</mapper>

View File

@@ -0,0 +1,55 @@
package io.dataease.controller.sys;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import io.dataease.base.domain.SysRole;
import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager;
import io.dataease.controller.sys.request.RoleGridRequest;
import io.dataease.controller.sys.response.RoleNodeResponse;
import io.dataease.service.sys.SysRoleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Api(tags = "系统:角色管理")
@RequestMapping("/api/role")
public class SysRoleController {
@Resource
private SysRoleService sysRoleService;
@ApiOperation("新增角色")
@PostMapping("/create")
public void create(@RequestBody SysRole role){
sysRoleService.add(role);
}
@ApiOperation("删除角色")
@PostMapping("/delete")
public void delete(Long roleId){
sysRoleService.delete(roleId);
}
@ApiOperation("更新角色")
@PostMapping("/update")
public void update(@RequestBody SysRole role){
sysRoleService.update(role);
}
@ApiOperation("查询角色")
@PostMapping("/roleGrid/{goPage}/{pageSize}")
public Pager<List<RoleNodeResponse>> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody RoleGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
return PageUtils.setPageInfo(page, sysRoleService.query(request));
}
}

View File

@@ -0,0 +1,11 @@
package io.dataease.controller.sys.request;
import lombok.Data;
import java.io.Serializable;
@Data
public class RoleGridRequest implements Serializable {
private String name;
}

View File

@@ -0,0 +1,14 @@
package io.dataease.controller.sys.response;
import io.dataease.base.domain.SysRole;
import lombok.Data;
import java.util.List;
@Data
public class RoleNodeResponse extends SysRole {
private List<Long> menuIds;
private List<Long> dataIds;
}

View File

@@ -0,0 +1,48 @@
package io.dataease.service.sys;
import io.dataease.base.domain.SysRole;
import io.dataease.base.mapper.SysRoleMapper;
import io.dataease.base.mapper.ext.ExtSysRoleMapper;
import io.dataease.controller.sys.request.RoleGridRequest;
import io.dataease.controller.sys.response.RoleNodeResponse;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class SysRoleService {
@Resource
private SysRoleMapper mapper;
@Resource
private ExtSysRoleMapper extSysRoleMapper;
public int add(SysRole role){
Long now = System.currentTimeMillis();
role.setCreateTime(now);
role.setUpdateTime(now);
return mapper.insert(role);
}
public int update(SysRole role){
Long now = System.currentTimeMillis();
role.setUpdateTime(now);
return mapper.updateByPrimaryKey(role);
}
public int delete(Long roleId){
return mapper.deleteByPrimaryKey(roleId);
}
public List<RoleNodeResponse> query(RoleGridRequest request){
List<RoleNodeResponse> result = extSysRoleMapper.query(request);
return result;
}
}