package com.jsh.erp.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jsh.erp.datasource.entities.Role; import com.jsh.erp.service.role.RoleService; import com.jsh.erp.service.userBusiness.UserBusinessService; import com.jsh.erp.utils.ErpInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.jsh.erp.utils.ResponseJsonUtil.returnJson; /** * @author ji sheng hua jshERP */ @RestController @RequestMapping(value = "/role") @Api(tags = {"角色管理"}) public class RoleController { private Logger logger = LoggerFactory.getLogger(RoleController.class); @Resource private RoleService roleService; @Resource private UserBusinessService userBusinessService; /** * 角色对应应用显示 * @param request * @return */ @GetMapping(value = "/findUserRole") @ApiOperation(value = "查询用户的角色") public JSONArray findUserRole(@RequestParam("UBType") String type, @RequestParam("UBKeyId") String keyId, HttpServletRequest request)throws Exception { JSONArray arr = new JSONArray(); try { //获取权限信息 String ubValue = userBusinessService.getUBValueByTypeAndKeyId(type, keyId); List dataList = roleService.findUserRole(); if (null != dataList) { for (Role role : dataList) { JSONObject item = new JSONObject(); item.put("id", role.getId()); item.put("text", role.getName()); Boolean flag = ubValue.contains("[" + role.getId().toString() + "]"); if (flag) { item.put("checked", true); } arr.add(item); } } } catch (Exception e) { logger.error(e.getMessage(), e); } return arr; } @GetMapping(value = "/allList") @ApiOperation(value = "查询全部角色列表") public List allList(HttpServletRequest request)throws Exception { return roleService.allList(); } @GetMapping(value = "/tenantRoleList") @ApiOperation(value = "查询租户角色列表") public List tenantRoleList(HttpServletRequest request)throws Exception { return roleService.tenantRoleList(); } /** * 批量设置状态-启用或者禁用 * @param jsonObject * @param request * @return */ @PostMapping(value = "/batchSetStatus") @ApiOperation(value = "批量设置状态") public String batchSetStatus(@RequestBody JSONObject jsonObject, HttpServletRequest request)throws Exception { Boolean status = jsonObject.getBoolean("status"); String ids = jsonObject.getString("ids"); Map objectMap = new HashMap<>(); int res = roleService.batchSetStatus(status, ids); if(res > 0) { return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } else { return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code); } } }