package com.moral.api.controller; 
 | 
  
 | 
import com.alibaba.fastjson.JSON; 
 | 
import com.moral.api.entity.ManageRole; 
 | 
import com.moral.api.service.ManageRoleMenuService; 
 | 
import com.moral.api.service.ManageRoleService; 
 | 
import com.moral.constant.ResultMessage; 
 | 
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<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); 
 | 
        Map<String,Object> 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<String, Object> 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<String,Object> 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<String, Object> parameters) { 
 | 
        Map<String,Object> 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<String, Object> parameters) { 
 | 
        Map<String,Object> 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<String, Object> parameters = getParametersStartingWith(request, null); 
 | 
        Map<String,Object> 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<String, Object> 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<String,Object> re = manageRoleMenuService.updateRoleMenu(list,id); 
 | 
        return ResultMessage.ok(re); 
 | 
    } 
 | 
} 
 |