package com.moral.api.controller; import com.alibaba.fastjson.JSON; import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.service.ManageRoleMenuService; import com.moral.api.service.ManageRoleService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.TokenUtils; import com.moral.util.WebUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import static org.springframework.web.util.WebUtils.getParametersStartingWith; @Slf4j @Api(tags = {"角色"}) @RestController @RequestMapping("/manageRole") public class ManageRoleController { @Autowired private ManageRoleService manageRoleService; @Autowired private ManageRoleMenuService manageRoleMenuService; @Autowired private RedisTemplate redisTemplate; @ApiOperation(value = "获取所有角色", notes = "获取所有角色") @ApiImplicitParams({ @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "getAllManageRole", method = RequestMethod.GET) public ResultMessage getAllManageRole(HttpServletRequest request) { Map parameters = WebUtils.getParametersStartingWith(request, null); Map re = manageRoleService.getAllWithPagingQuery(parameters); return ResultMessage.ok(re); } @ApiOperation(value = "新增角色", notes = "新增角色") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "desc", value = "备注", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "menuIds", value = "菜单集合", required = true, paramType = "query", dataType = "String") }) @RequestMapping(value = "insertOneManageRole", method = RequestMethod.POST) @ResponseBody public ResultMessage insertOneManageRole(@RequestBody Map parameters,HttpServletRequest request) { List list = new ArrayList(); if (parameters.get("menuIds") != null){ String menuIdsStr = parameters.get("menuIds").toString(); menuIdsStr = menuIdsStr.replace(" ",""); if (menuIdsStr.length() > 2){ menuIdsStr = menuIdsStr.substring(1,menuIdsStr.length()-1); String[] menuIdsArray = menuIdsStr.split(","); list = Arrays.asList(menuIdsArray); } parameters.remove("menuIds"); } ManageRole manageRole = JSON.parseObject(JSON.toJSONString(parameters), ManageRole.class); Map resultMap = manageRoleService.insertOne(manageRole,list); String msg = resultMap.get("msg").toString(); int code = Integer.parseInt(resultMap.get("code").toString()); if (code == 0){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); //return null; } @ApiOperation(value = "更新角色", notes = "更新角色") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "desc", value = "备注", required = true, paramType = "query", dataType = "String") }) @RequestMapping(value = "updateManageRole", method = RequestMethod.POST) public ResultMessage updateManageRole(@RequestBody Map parameters) { Map resultMap = manageRoleService.updateManageRole(parameters); String msg = resultMap.get("msg").toString(); int code = Integer.parseInt(resultMap.get("code").toString()); if (code == 0){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @ApiOperation(value = "删除角色", notes = "删除角色") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "deleteManageRole", method = RequestMethod.POST) public ResultMessage deleteManageRole(@RequestBody Map parameters) { Map resultMap = manageRoleService.deleteManageRole(parameters); String msg = resultMap.get("msg").toString(); int code = Integer.parseInt(resultMap.get("code").toString()); if (code == 0){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @ApiOperation(value = "角色模糊查询", notes = "角色模糊查询") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "getManageRoleByNameFuzzy", method = RequestMethod.GET) public ResultMessage getManageRoleByNameFuzzy(HttpServletRequest request) { Map parameters = getParametersStartingWith(request, null); Map re = manageRoleService.getManageRoleByNameFuzzy(parameters); return ResultMessage.ok(re); } @ApiOperation(value = "更新角色菜单", notes = "更新角色菜单") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "updateRoleMenu", method = RequestMethod.POST) public ResultMessage updateRoleMenu(@RequestBody Map parameters) { List list = new ArrayList(); if (parameters.get("menuIds") != null){ String menuIdsStr = parameters.get("menuIds").toString(); menuIdsStr = menuIdsStr.replace(" ",""); if (menuIdsStr.length() > 2){ menuIdsStr = menuIdsStr.substring(1,menuIdsStr.length()-1); String[] menuIdsArray = menuIdsStr.split(","); list = Arrays.asList(menuIdsArray); } parameters.remove("menuIds"); } int id = Integer.parseInt(parameters.get("id").toString()); Map re = manageRoleMenuService.updateRoleMenu(list,id); return ResultMessage.ok(re); } }