package com.cloud.retrieve.controller;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.cloud.common.utils.JsonUtil;
|
import com.cloud.common.utils.RestTemplateUtil;
|
import com.cloud.model.common.Result;
|
import com.cloud.model.sys.SysMenu;
|
import com.cloud.retrieve.utils.EnumStr;
|
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.http.MediaType;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/data/api-u/sysmenus")
|
@Api(value = "SysMenuController", description = "菜单控制层")
|
public class SysMenuController {
|
|
@Autowired
|
private EnumStr enumStr;
|
|
/**
|
* 当前登录用户的菜单
|
*/
|
@GetMapping("/me")
|
@ApiOperation(value = "查询用户菜单", notes = "当前登录用户的菜单", httpMethod = "GET", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
@ApiImplicitParam(name = "module", value = "module", required = true, dataType = "String", paramType = "query")
|
public Result findMyMenu(@RequestParam Map<String,Object> params) {
|
try {
|
String url = "http://"+ enumStr.getUserHOSTNAME()+":"+enumStr.getUserHTTP_PORT()+"/data/api-u/sysmenus/me";
|
JSONObject jsonObject = JsonUtil.mapToJson(params);
|
String result = RestTemplateUtil.get(url, jsonObject, true);
|
if(!StringUtils.isEmpty(result)){
|
return JSONObject.parseObject(result, Result.class);
|
}
|
} catch (Exception e) {
|
log.info(e.getMessage());
|
}
|
|
return Result.custom("查询失败", 500, false, "查询失败");
|
}
|
|
@GetMapping("/findAllMenuByUser")
|
@ApiOperation(value = "查询所有模块名称",notes = "查询所有模块名称", httpMethod = "GET", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "orgId", value = "机构id", required = true, dataType = "Long", paramType = "query"),
|
@ApiImplicitParam(name = "userId", value = "当前登录人id", required = true, dataType = "Long", paramType = "query"),
|
@ApiImplicitParam(name = "tags", value = "查询的模块device or map", required = true, dataType = "Long", paramType = "query"),
|
})
|
public List<Map<String, Object>> findAllMenuByUser(@RequestParam Map<String, Object> map) {
|
List resultList = new ArrayList<>();
|
|
try {
|
String url = "http://"+ enumStr.getUserHOSTNAME()+":"+enumStr.getUserHTTP_PORT()+"/data/api-u/sysmenus/findAllMenuByUser";
|
JSONObject jsonObject = JsonUtil.mapToJson(map);
|
String result = RestTemplateUtil.get(url, jsonObject, true);
|
|
if(!StringUtils.isEmpty(result)){
|
resultList = JSONArray.parseArray(result);
|
}
|
} catch (Exception e) {
|
log.info(e.getMessage());
|
}
|
return resultList;
|
}
|
}
|