package com.gk.hotwork.Controller;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.gk.hotwork.Domain.RoleInfo;
|
import com.gk.hotwork.Domain.RolePermissionsInfo;
|
import com.gk.hotwork.Domain.Utils.*;
|
import com.gk.hotwork.Domain.Vo.Menu;
|
import com.gk.hotwork.Service.*;
|
import io.swagger.annotations.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.*;
|
|
@Api(tags = "角色管理数据接口")
|
@RestController
|
public class RoleController {
|
|
@Autowired
|
UserService userService;
|
@Autowired
|
RoleService roleService;
|
@Autowired
|
UserRolesService userRolesService;
|
@Autowired
|
RolePermissionsService rolePermissionsService;
|
@Autowired
|
ExcelExportService excelExportService;
|
|
@GetMapping("/role")
|
@ApiOperation(value = "获取角色数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "name",value = "角色名"),
|
})
|
public Msg getRoleInfo(String name){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
List<RoleInfo> roleInfos = roleService.selectList(name);
|
msg.setResult(roleInfos);
|
return msg;
|
}
|
|
@GetMapping("/rolepermissions")
|
@ApiOperation(value = "获取角色菜单数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "roleId",value = "角色id"),
|
})
|
public Msg getRolePermissions(String roleId){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
List<Menu> roleInfos = rolePermissionsService.selectMenuList(roleId);
|
msg.setResult(roleInfos);
|
return msg;
|
}
|
|
@PostMapping("/addrole")
|
@ApiOperation(value = "添加角色数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "name",value = "角色名",required = true),
|
@ApiImplicitParam(name = "operator",value = "操作人"),
|
@ApiImplicitParam(name = "btnaccess",value = "按钮权限"),
|
})
|
public Msg addRoleInfo(@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
String name = jsonObject.getString("name");
|
String operator = jsonObject.getString("operator");
|
String btnaccess = jsonObject.getString("btnaccess");
|
RoleInfo roleInfo = new RoleInfo();
|
roleInfo.setName(name);
|
RoleInfo roleInfoExist = roleService.selectRoleByName(roleInfo);
|
if (roleInfoExist != null){
|
msg.setCode("500");
|
msg.setMessage("角色名重复");
|
return msg;
|
}else {
|
roleInfo.setBtnaccess(btnaccess);
|
roleInfo.setCreatedby(operator);
|
roleInfo.setCreateddate(new Date());
|
roleInfo.setLastmodifiedby(operator);
|
roleInfo.setLastmodifieddate(new Date());
|
roleInfo.setIsdel((byte)0);
|
roleService.save(roleInfo);
|
return msg;
|
}
|
}
|
|
@PostMapping("/putrole")
|
@ApiOperation(value = "修改角色数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "角色id",required = true),
|
@ApiImplicitParam(name = "name",value = "角色名",required = true),
|
@ApiImplicitParam(name = "btnaccess",value = "按钮权限"),
|
@ApiImplicitParam(name = "operator",value = "操作人"),
|
})
|
public Msg putRoleInfo(@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
String name = jsonObject.getString("name");
|
String operator = jsonObject.getString("operator");
|
String btnaccess = jsonObject.getString("btnaccess");
|
Long id = jsonObject.getLong("id");
|
List<RoleInfo> roleInfoExist = roleService.selectExistRole(id,name);
|
if (roleInfoExist.size() > 0){
|
msg.setCode("500");
|
msg.setMessage("角色名重复");
|
return msg;
|
}else {
|
RoleInfo roleInfo = new RoleInfo();
|
roleInfo.setId(id);
|
roleInfo.setName(name);
|
roleInfo.setBtnaccess(btnaccess);
|
roleInfo.setLastmodifiedby(operator);
|
roleInfo.setLastmodifieddate(new Date());
|
roleService.updateById(roleInfo);
|
return msg;
|
}
|
}
|
|
@PostMapping("/rolepermissions")
|
@ApiOperation(value = "获取角色菜单数据",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "角色id"),
|
})
|
public Msg putRolePermissions(@ApiParam(value = "permissionIds,id")
|
@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
JSONArray permissionId = jsonObject.getJSONArray("permissionIds");
|
Long roleid = jsonObject.getLong("id");
|
rolePermissionsService.delRolePermissionByRoleId(roleid);
|
for (int i = 0; i < permissionId.size(); i++) {
|
RolePermissionsInfo rolePermissionsInfo = new RolePermissionsInfo();
|
rolePermissionsInfo.setRoleid(roleid);
|
rolePermissionsInfo.setPermissionid(Long.parseLong(permissionId.get(i).toString()));
|
rolePermissionsService.save(rolePermissionsInfo);
|
}
|
return msg;
|
}
|
|
@PostMapping("/delrole")
|
@ApiOperation(value = "删除角色数据", response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query",name = "id",value = "id",required = true),
|
@ApiImplicitParam(paramType="body",name = "operator",value = "更新人"),
|
|
})
|
public Msg delRoleInfo(@ApiParam(value = "id,operator")
|
@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
Long id = jsonObject.getLong("id");
|
if (id == 1 || id == 2 || id == 3){
|
msg.setCode("999");
|
msg.setMessage("内置角色不允许删除");
|
return msg;
|
}
|
RoleInfo roleInfo = new RoleInfo();
|
roleInfo.setId(jsonObject.getLong("id"));
|
roleInfo.setLastmodifiedby(jsonObject.getString("operator"));
|
roleInfo.setLastmodifieddate(new Date());
|
roleInfo.setIsdel((byte)1);
|
roleService.updateById(roleInfo);
|
return msg;
|
}
|
|
}
|