Commit 77f368c9 authored by linruibiao's avatar linruibiao

接口编写

parent 8d9877fb
......@@ -20,11 +20,14 @@
package com.syc.slm.common.core.util;
import com.syc.slm.common.core.constant.CommonConstants;
import com.syc.slm.common.core.constant.SlmConstants;
import com.syc.slm.slmbi.exception.SysException;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import javax.sound.midi.SysexMessage;
import java.io.Serializable;
/**
......@@ -113,4 +116,11 @@ public class R<T> implements Serializable {
return apiResult;
}
public T detach(){
if(this.code==1){
throw new SysException(this.msg);
}
return data;
}
}
package com.syc.slm.common.core.util;
import java.util.Map;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
/**
* slm-bi
* RestTemplate 远程调用工具类
* @author : lin
* @date : 2021-04-13 10:15
**/
public class RestTemplateUtils {
private static final RestTemplate REST_TEMPLATE = new RestTemplate();
//#region ----------------------------------GET-------------------------------------------------------
/**
* GET请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, Class<T> responseType) {
return REST_TEMPLATE.getForEntity(url, responseType);
}
/**
* GET请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, Class<T> responseType, Object... uriVariables) {
return REST_TEMPLATE.getForEntity(url, responseType, uriVariables);
}
/**
* GET请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, Class<T> responseType, Map<String, ?> uriVariables) {
return REST_TEMPLATE.getForEntity(url, responseType, uriVariables);
}
/**
* 带请求头的GET请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, Map<String, String> headers, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return get(url, httpHeaders, responseType, uriVariables);
}
/**
* 带请求头的GET请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, HttpHeaders headers, Class<T> responseType, Object... uriVariables) {
HttpEntity<?> requestEntity = new HttpEntity<>(headers);
return exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的GET请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, Map<String, String> headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return get(url, httpHeaders, responseType, uriVariables);
}
/**
* 带请求头的GET请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> get(String url, HttpHeaders headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<?> requestEntity = new HttpEntity<>(headers);
return exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables);
}
//#endregion
//#region ----------------------------------POST-------------------------------------------------------
/**
* POST请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @return
*/
public static <T> ResponseEntity<T> post(String url, Class<T> responseType) {
return REST_TEMPLATE.postForEntity(url, HttpEntity.EMPTY, responseType);
}
/**
* POST请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType) {
return REST_TEMPLATE.postForEntity(url, requestBody, responseType);
}
/**
* POST请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {
return REST_TEMPLATE.postForEntity(url, requestBody, responseType, uriVariables);
}
/**
* POST请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
return REST_TEMPLATE.postForEntity(url, requestBody, responseType, uriVariables);
}
/**
* 带请求头的POST请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return post(url, httpHeaders, requestBody, responseType, uriVariables);
}
/**
* 带请求头的POST请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return post(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的POST请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return post(url, httpHeaders, requestBody, responseType, uriVariables);
}
/**
* 带请求头的POST请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return post(url, requestEntity, responseType, uriVariables);
}
/**
* 自定义请求头和请求体的POST请求调用方式
*
* @param url 请求URL
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return REST_TEMPLATE.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables);
}
/**
* 自定义请求头和请求体的POST请求调用方式
*
* @param url 请求URL
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> post(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return REST_TEMPLATE.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables);
}
//#endregion
//#region ----------------------------------PUT-------------------------------------------------------
/**
* PUT请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, Class<T> responseType, Object... uriVariables) {
return put(url, HttpEntity.EMPTY, responseType, uriVariables);
}
/**
* PUT请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return put(url, requestEntity, responseType, uriVariables);
}
/**
* PUT请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return put(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的PUT请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return put(url, httpHeaders, requestBody, responseType, uriVariables);
}
/**
* 带请求头的PUT请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return put(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的PUT请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return put(url, httpHeaders, requestBody, responseType, uriVariables);
}
/**
* 带请求头的PUT请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return put(url, requestEntity, responseType, uriVariables);
}
/**
* 自定义请求头和请求体的PUT请求调用方式
*
* @param url 请求URL
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return REST_TEMPLATE.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables);
}
/**
* 自定义请求头和请求体的PUT请求调用方式
*
* @param url 请求URL
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> put(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return REST_TEMPLATE.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables);
}
//#endregion
//#region ----------------------------------DELETE-------------------------------------------------------
/**
* DELETE请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Class<T> responseType, Object... uriVariables) {
return delete(url, HttpEntity.EMPTY, responseType, uriVariables);
}
/**
* DELETE请求调用方式
*
* @param url 请求URL
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Class<T> responseType, Map<String, ?> uriVariables) {
return delete(url, HttpEntity.EMPTY, responseType, uriVariables);
}
/**
* DELETE请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return delete(url, requestEntity, responseType, uriVariables);
}
/**
* DELETE请求调用方式
*
* @param url 请求URL
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody);
return delete(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, requestBody, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Object... uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, Map<String, String> headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAll(headers);
return delete(url, httpHeaders, requestBody, responseType, uriVariables);
}
/**
* 带请求头的DELETE请求调用方式
*
* @param url 请求URL
* @param headers 请求头参数
* @param requestBody 请求参数体
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, HttpHeaders headers, Object requestBody, Class<T> responseType, Map<String, ?> uriVariables) {
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestBody, headers);
return delete(url, requestEntity, responseType, uriVariables);
}
/**
* 自定义请求头和请求体的DELETE请求调用方式
*
* @param url 请求URL
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return REST_TEMPLATE.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables);
}
/**
* 自定义请求头和请求体的DELETE请求调用方式
*
* @param url 请求URL
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> delete(String url, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return REST_TEMPLATE.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables);
}
//#endregion
//#region ----------------------------------通用方法-------------------------------------------------------
/**
* 通用调用方式
*
* @param url 请求URL
* @param method 请求方法类型
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,按顺序依次对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) {
return REST_TEMPLATE.exchange(url, method, requestEntity, responseType, uriVariables);
}
/**
* 通用调用方式
*
* @param url 请求URL
* @param method 请求方法类型
* @param requestEntity 请求头和请求体封装对象
* @param responseType 返回对象类型
* @param uriVariables URL中的变量,与Map中的key对应
* @return ResponseEntity 响应对象封装类
*/
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Map<String, ?> uriVariables) {
return REST_TEMPLATE.exchange(url, method, requestEntity, responseType, uriVariables);
}
//#endregion
/**
* 获取RestTemplate实例对象,可自由调用其方法
*
* @return RestTemplate实例对象
*/
public static RestTemplate getRestTemplate() {
return REST_TEMPLATE;
}
}
\ No newline at end of file
package com.syc.slm.slmbi.controller;
import com.google.common.collect.Maps;
import com.syc.slm.common.core.constant.SlmConstants;
import com.syc.slm.common.core.util.NetResponseUtils;
import com.syc.slm.common.core.util.R;
import com.syc.slm.slmbi.function.Action0;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.ModelAttribute;
import javax.servlet.http.HttpServletRequest;
......@@ -20,13 +22,39 @@ import java.util.function.Supplier;
* @date : 2021-04-06 09:09
**/
@Slf4j
public class BaseRestController {
protected String token;
protected String uid;
protected String platformId;
@Value("${dc_client.host}")
protected String dcClientHost;
@Value("${dc_client.interfaces.positionListUrl}")
protected String positionListUrl;
@Value("${dc_client.interfaces.deptListUrl}")
protected String deptListUrl;
@Value("${dc_client.interfaces.getOfficeIds}")
protected String getOfficeIds;
@Value("${dc_client.interfaces.userTree}")
protected String userTree;
@ModelAttribute
public void onInit(HttpServletRequest request) {
String uri = request.getRequestURI();
log.info("请求url--->>>>" + uri);
Map<String, String[]> parameterMap = request.getParameterMap();
log.info("请求参数--->>>>"+SlmConstants.gson.toJson(parameterMap));
Enumeration<String> headerNames = request.getHeaderNames();
Map<String,String> headers = Maps.newHashMap();
while (headerNames.hasMoreElements()){
String headerName = headerNames.nextElement();
Enumeration<String> headerValues = request.getHeaders(headerName);
while(headerValues.hasMoreElements()){
headers.put(headerName, headerValues.nextElement());
}
}
token=request.getHeader("token");
log.info("请求头参数--->>>>"+SlmConstants.gson.toJson(headers));
}
R<Object> call(Action0 action) {
return NetResponseUtils.call(action);
......
......@@ -22,7 +22,7 @@ import java.util.List;
@RequestMapping("/{appId}/departments")
@RestController
@Api(value = "部门信息接口", tags = "部门信息接口")
public class DeptController {
public class DeptController extends BaseRestController{
@Autowired
private DeptService deptService;
......@@ -33,6 +33,6 @@ public class DeptController {
@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class)})
public R<List<DeptVo>> selectDeptList(@PathVariable String appId,
@RequestParam(value = "deptName", required = false) String deptName) {
return R.ok(deptService.selectDeptList(deptName));
return call(()->(deptService.selectPositionList(dcClientHost+deptListUrl,token, appId, deptName)));
}
}
......@@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.catalina.Host;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -22,7 +23,7 @@ import java.util.List;
@Api(value = "职位查询列表", tags = "职位查询列表")
@RestController
@RequestMapping("/{appId}/positions")
public class PositionController {
public class PositionController extends BaseRestController{
@Autowired
private PositionService positionWorkService;
......@@ -33,6 +34,6 @@ public class PositionController {
@ApiImplicitParam(name = "positionName", value = "职位名称",dataTypeClass = String.class)})
public R<List<PositionVo>> selectPositionList(@PathVariable String appId,
@RequestParam(value = "positionName", required = false) String positionName) {
return R.ok(positionWorkService.selectPositionList(positionName));
return call(()->(positionWorkService.selectPositionList(dcClientHost+positionListUrl,token, appId, positionName)));
}
}
package com.syc.slm.slmbi.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.google.common.collect.Maps;
import com.syc.slm.common.core.util.R;
import com.syc.slm.common.core.util.RestTemplateUtils;
import com.syc.slm.slmbi.exception.SysException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.sound.midi.SysexMessage;
import java.util.Map;
/**
* slm-bi
* 获取token
* @author : lin
* @date : 2021-04-14 16:17
**/
@RestController
@RequestMapping("/token")
@Api(value ="获取token",tags = "获取token")
public class TokenController extends BaseRestController{
@PostMapping
@ApiOperation("获取token")
@ApiImplicitParams({
@ApiImplicitParam(name = "account", value = "15865516442", required = true, dataTypeClass = String.class),
@ApiImplicitParam(name = "password", value = "123456", required = true, dataTypeClass = String.class),
@ApiImplicitParam(name = "origin", value = "0", required = true, dataTypeClass = String.class)
})
public R<Map<String,Object>> token(String account,String password,Integer origin){
return call(()->{
Map<String ,Object> maps = Maps.newHashMap();
String uri ="http://apidev.sycdev.com/dc/user/token?account="+account+"&password="+password+"&origin="+origin;
ResponseEntity<Map> post = RestTemplateUtils.post(uri, Map.class);
if(ObjectUtils.isNotEmpty(post)){
Integer code = (int)post.getBody().get("code");
if(code!=0){
throw new SysException(post.getBody().get("msg")+"");
}
Map<String,Object> data = (Map<String,Object>)post.getBody().get("data");
maps.put("token",data.get("token"));
maps.put("appId",data.get("app_id"));
}
return maps;
});
}
}
......@@ -2,6 +2,7 @@ package com.syc.slm.slmbi.controller;
import com.syc.slm.common.core.util.R;
import com.syc.slm.slmbi.service.UserService;
import com.syc.slm.slmbi.vo.UserTreeVo;
import com.syc.slm.slmbi.vo.UserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -22,7 +23,7 @@ import java.util.List;
@Api(value = "用户信息", tags = "用户信息接口")
@RestController
@RequestMapping("/{appId}/users")
public class UserController {
public class UserController extends BaseRestController{
@Autowired
private UserService userService;
......@@ -31,9 +32,9 @@ public class UserController {
@ApiOperation("用户查询")
@ApiImplicitParams({@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class),
@ApiImplicitParam(name = "userName", value = "用户名称",dataTypeClass = String.class)})
public R<List<UserVo>> selectUserList(@PathVariable String appId,
public R<List<UserTreeVo>> selectUserList(@PathVariable String appId,
@RequestParam(value = "userName", required = false) String userName) {
return R.ok(userService.selectUserList(userName));
return call(()->(userService.selectUserList(appId,dcClientHost+userTree,token,userName)));
}
}
package com.syc.slm.slmbi.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.collect.Maps;
import com.syc.slm.common.core.util.R;
import com.syc.slm.common.core.util.RestTemplateUtils;
import com.syc.slm.slmbi.dto.HistoryVariableDTO;
import com.syc.slm.slmbi.dto.RealTimeVariableDTO;
import com.syc.slm.slmbi.dto.VariableDTO;
......@@ -11,6 +13,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -26,15 +29,56 @@ import java.util.Map;
@RestController
@RequestMapping("/{appId}/variables")
@Api(description = "变量控件", tags = "变量控件")
public class VariableController {
public class VariableController extends BaseRestController{
@Autowired
private VariableService variableService;
@GetMapping("/test")
public Map rest(){
Map<String,String> maps = Maps.newHashMap();
// @RequestParam(value = "token") String token,
// @RequestParam(value = "equipment_info_id", required = false) String equipmentInfoId,
// @RequestParam(value = "customer_id", required = false) String customerId,
// @RequestParam(value = "q_name", required = false) String qName,
// @RequestParam(value = "search_code", required = false, defaultValue = "false") boolean searchCode,
// @RequestParam(value = "search_model", required = false, defaultValue = "false") boolean searchModel,
// @RequestParam(value = "warranty_status", defaultValue = "0") int warrantStatus,
// @RequestParam(value = "page_num", required = false, defaultValue = "1") int pageNum,
// @RequestParam(value = "page_size", required = false, defaultValue = "15") int pageSize)
maps.put("token","345aa488a820448dbb069ea4295d2b15");
maps.put("appId","AAAAAA_9Cs4");
maps.put("equipment_info_id",null);
maps.put("customer_id",null);
maps.put("q_name",null);
maps.put("search_code",null);
maps.put("search_model",null);
maps.put("warranty_status",null);
maps.put("page_num",null);
maps.put("page_size",null);
Map<String,String> heads = Maps.newHashMap();
heads.put("token","345aa488a820448dbb069ea4295d2b15");
R<List<PanelTreeNodeVo>> newR = new R<>();
ResponseEntity<Map> rest = RestTemplateUtils.get(
"http://localhost:2400/dc/{appId}/equipment/info/name/pull?token={token}&equipment_info_id={equipment_info_id}&customer_id={customer_id}&q_name={q_name}&search_code={search_code}&search_model={search_model}&warranty_status={warranty_status}&page_num={page_num}&page_size={page_size}",
heads,
Map.class,
maps);
if (rest != null){
return rest.getBody();
}
return null;
}
@GetMapping
@ApiOperation("获取变量列表")
@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class)
public R<IPage<VariableVo>> getVariableList(@PathVariable String appId, VariableDTO variableDTO) {
return R.ok(variableService.getVariableList(variableDTO));
return call(()->variableService.getVariableList(variableDTO));
}
@GetMapping("/real-time")
......@@ -42,21 +86,21 @@ public class VariableController {
@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class)
public R<Map<String, List<Map<String, RealTimeVariableVo>>>> getVariableRealTimeDataList(@PathVariable String appId,
RealTimeVariableDTO variableDTO) {
return R.ok(variableService.getVariableRealTimeDataList(variableDTO));
return call(()->(variableService.getVariableRealTimeDataList(variableDTO)));
}
@GetMapping("/source")
@ApiOperation("获取变量来源列表")
@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class)
public R<List<VariableSourceVo>> getVariableSourceList(@PathVariable String appId) {
return R.ok(variableService.getVariableSourceList());
return call(()->variableService.getVariableSourceList());
}
@GetMapping("/device")
@ApiOperation("获取变量所属设备列表")
@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class)
public R<List<VariableDeviceVo>> getVariableDeviceList(@PathVariable String appId) {
return R.ok(variableService.getVariableDeviceList());
return call(()->(variableService.getVariableDeviceList()));
}
@GetMapping("/history")
......@@ -64,6 +108,6 @@ public class VariableController {
@ApiImplicitParam(name = "appId", value = "租户id", required = true,dataTypeClass = String.class)
public R<Map<String, List<Map<String, HistoryVariableVo>>>> getVariableHistoryDataList(@PathVariable String appId,
HistoryVariableDTO variableDTO) {
return R.ok(variableService.getVariableHistoryDataList(variableDTO));
return call(()->(variableService.getVariableHistoryDataList(variableDTO)));
}
}
......@@ -13,8 +13,12 @@ import java.util.List;
public interface DeptService {
/**
* 获取部门列表
* @param uri
* @param token
* @param appId
* @param deptName
* @return
*/
List<DeptVo> selectDeptList(String deptName);
List<DeptVo> selectPositionList(String uri, String token, String appId, String deptName);
}
......@@ -13,8 +13,10 @@ import java.util.List;
public interface PositionService {
/**
* 获取岗位
* @param token
* @param appId
* @param name
* @return
*/
List<PositionVo> selectPositionList(String name);
List<PositionVo> selectPositionList(String uri ,String token,String appId,String name);
}
package com.syc.slm.slmbi.service;
import com.syc.slm.slmbi.vo.UserVo;
import com.syc.slm.slmbi.vo.UserTreeVo;
import java.util.List;
/**
......@@ -11,10 +11,14 @@ import java.util.List;
* @date : 2021-03-25 16:17
**/
public interface UserService {
/**
* 获取用户
* @param appId
* @param uri
* @param token
* @param userName
* @return
*/
List<UserVo> selectUserList(String userName);
List<UserTreeVo> selectUserList(String appId,String uri,String token,String userName);
}
package com.syc.slm.slmbi.service.impl;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.google.common.collect.Maps;
import com.google.gson.reflect.TypeToken;
import com.syc.slm.common.core.constant.SlmConstants;
import com.syc.slm.common.core.util.R;
import com.syc.slm.common.core.util.RestTemplateUtils;
import com.syc.slm.slmbi.vo.DeptVo;
import com.syc.slm.slmbi.service.DeptService;
import com.syc.slm.slmbi.vo.PositionVo;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* slm-bi
......@@ -15,8 +24,22 @@ import java.util.List;
**/
@Service
public class DeptServiceImpl implements DeptService {
@Override
public List<DeptVo> selectDeptList(String deptName) {
return null;
public List<DeptVo> selectPositionList(String uri, String token, String appId, String deptName) {
Map<String,String> heads = Maps.newHashMap();
heads.put("token",token);
Map<String,String> uriVariables =Maps.newHashMap();
uriVariables.put("deptName",deptName);
uriVariables.put("appId",appId);
R<List<DeptVo>> r = new R<>();
ResponseEntity<String> responseEntity = RestTemplateUtils.get(uri, heads, String.class, uriVariables);
if(ObjectUtils.isNotEmpty(responseEntity)){
String body = responseEntity.getBody();
r= SlmConstants.gson.fromJson(body, new TypeToken<R<List<DeptVo>>>(){}.getType());
}
return r.detach();
}
}
package com.syc.slm.slmbi.service.impl;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.gson.reflect.TypeToken;
import com.syc.slm.common.core.constant.SlmConstants;
import com.syc.slm.common.core.util.R;
import com.syc.slm.common.core.util.RestTemplateUtils;
import com.syc.slm.slmbi.vo.PositionVo;
import com.syc.slm.slmbi.service.PositionService;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* slm-bi
......@@ -15,8 +24,21 @@ import java.util.List;
**/
@Service
public class PositionServiceImpl implements PositionService {
@Override
public List<PositionVo> selectPositionList(String name) {
return null;
public List<PositionVo> selectPositionList(String uri ,String token,String appId,String name) {
Map<String,String> heads = Maps.newHashMap();
heads.put("token",token);
Map<String,String> uriVariables =Maps.newHashMap();
uriVariables.put("positionName",name);
uriVariables.put("appId",appId);
R<List<PositionVo>> r = new R<>();
ResponseEntity<String> responseEntity = RestTemplateUtils.get(uri, heads, String.class, uriVariables);
if(ObjectUtils.isNotEmpty(responseEntity)){
String body = responseEntity.getBody();
r= SlmConstants.gson.fromJson(body,new TypeToken<R<List<PositionVo>>>(){}.getType());
}
return r.detach();
}
}
package com.syc.slm.slmbi.service.impl;
import com.syc.slm.slmbi.vo.UserVo;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.google.common.collect.Maps;
import com.google.gson.reflect.TypeToken;
import com.syc.slm.common.core.constant.SlmConstants;
import com.syc.slm.common.core.util.R;
import com.syc.slm.common.core.util.RestTemplateUtils;
import com.syc.slm.slmbi.service.UserService;
import com.syc.slm.slmbi.vo.DeptVo;
import com.syc.slm.slmbi.vo.UserTreeVo;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* slm-bi
......@@ -16,7 +25,19 @@ import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Override
public List<UserVo> selectUserList(String userName) {
return null;
public List<UserTreeVo> selectUserList(String appId,String uri,String token,String userName) {
Map<String,String> heads = Maps.newHashMap();
heads.put("token",token);
Map<String,String> uriVariables =Maps.newHashMap();
uriVariables.put("userName",userName);
uriVariables.put("appId",appId);
R<List<UserTreeVo>> r = new R<>();
ResponseEntity<String> responseEntity = RestTemplateUtils.get(uri, heads, String.class, uriVariables);
if(ObjectUtils.isNotEmpty(responseEntity)){
String body = responseEntity.getBody();
r= SlmConstants.gson.fromJson(body, new TypeToken<R<List<UserTreeVo>>>(){}.getType());
}
return r.detach();
}
}
......@@ -37,6 +37,7 @@ public class VariableServiceImpl implements VariableService {
@Override
public Map<String, List<Map<String, RealTimeVariableVo>>> getVariableRealTimeDataList(RealTimeVariableDTO variableDTO) {
return null;
}
......
......@@ -19,7 +19,11 @@ public class DeptVo {
@ApiModelProperty(value = "部门id")
private String id;
@ApiModelProperty(value = "部门名称")
private String deptName;
private String name;
@ApiModelProperty(value = "部门父级id")
private String parentId;
private String parentNodeId;
private String platformId;
private String appId;
}
......@@ -19,5 +19,13 @@ public class PositionVo {
@ApiModelProperty(value = "职位id")
private String id;
@ApiModelProperty(value = "职位名称")
private String positionName;
private String name;
@ApiModelProperty(value = "角色code")
private String code;
@ApiModelProperty(value = "平台id")
private String platformId;
@ApiModelProperty(value = "租户id")
private String appId;
}
package com.syc.slm.slmbi.vo;
import lombok.Data;
/**
* data-center
*
* @author : lin
* @date : 2021-04-14 14:53
**/
@Data
public class UserTreeVo {
private String id;
private String name;
private String nodeType;
private String parentId;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment