Commit 4e36080c authored by zhouleilei's avatar zhouleilei

海信-适配系统 步进控制优化

parent 030d337e
......@@ -40,25 +40,25 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.wanji</groupId>-->
<!-- <artifactId>identity-client-starter</artifactId>-->
<!-- <version>1.2</version>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <artifactId>springfox-spring-web</artifactId>-->
<!-- <groupId>io.springfox</groupId>-->
<!-- </exclusion>-->
<!-- <exclusion>-->
<!-- <artifactId>swagger-annotations</artifactId>-->
<!-- <groupId>io.swagger</groupId>-->
<!-- </exclusion>-->
<!-- <exclusion>-->
<!-- <artifactId>springfox-core</artifactId>-->
<!-- <groupId>io.springfox</groupId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<dependency>
<groupId>com.wanji</groupId>
<artifactId>identity-client-starter</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<artifactId>springfox-spring-web</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-annotations</artifactId>
<groupId>io.swagger</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-core</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- 鉴权包 end -->
<dependency>
<groupId>io.swagger</groupId>
......
//package net.wanji.web.config;
//
//import lombok.extern.slf4j.Slf4j;
//import net.wanji.common.framework.rest.HeaderMapRequestWrapper;
//import net.wanji.common.utils.cache.IgniteClientCacheUtil;
//import net.wanji.common.utils.cookie.CookieUtil;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.http.HttpHeaders;
//import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
//import org.springframework.security.oauth2.common.OAuth2AccessToken;
//import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
//import org.springframework.security.web.context.SecurityContextPersistenceFilter;
//import org.springframework.web.filter.OncePerRequestFilter;
//
//import javax.servlet.FilterChain;
//import javax.servlet.ServletException;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
//import static net.wanji.common.framework.Constants.Cache.LOGIN_CACHE;
//
///**
// * @Description: 资源服务器配置
// * @Author
// * @Date 2020/4/12 21:01
// */
//@Configuration
//@EnableResourceServer
//@EnableGlobalMethodSecurity(prePostEnabled = true)
//@Slf4j
//public class ResourceServerConfig extends IdentityResourceServerConfig {
//
// @Override
// public void configure(HttpSecurity http) throws Exception {
//
//// 放开全部
// http.authorizeRequests()
// .antMatchers(whiteList.toArray(new String[whiteList.size()])).permitAll()
// .anyRequest().authenticated()
// .and().cors()
// .and().csrf().disable()
// .addFilterBefore(new OncePerRequestFilter() {
// @Override
// protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
// String breakerToken = " ";
// // 判断header里有没有authorization,有则赋值给breakertoken,没有则根据tokenid
// if (!StringUtils.isEmpty(request.getHeader(HttpHeaders.AUTHORIZATION))) {
// breakerToken = request.getHeader(HttpHeaders.AUTHORIZATION);
// } else {
// String tokenId = "";
// // 移动端的tokenid在请求头里,pc端的在cookie里
// String mobileTokenId = request.getHeader("tokenId");
// if (!StringUtils.isEmpty(mobileTokenId)) {
// tokenId = mobileTokenId;
// } else {
// tokenId = CookieUtil.getUid(request, "tokenId");
// }
// if (!StringUtils.isEmpty(tokenId)) {
// try {
//
// OAuth2AccessToken oAuth2AccessToken = (OAuth2AccessToken) IgniteClientCacheUtil.getValue(LOGIN_CACHE, tokenId);
// breakerToken = oAuth2AccessToken.getTokenType() + " " + oAuth2AccessToken.getValue();
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// }
// HeaderMapRequestWrapper requestWrapper = new HeaderMapRequestWrapper(request);
// if (!StringUtils.isEmpty(breakerToken)) {
// //将cookie中的token放到header,供oauth鉴权使用
// requestWrapper.addHeader(HttpHeaders.AUTHORIZATION, breakerToken);
// }
// try {
// filterChain.doFilter(requestWrapper, response);
// } catch (Exception e) {
// log.error("配置信息错误:", e);
// }
// }
// }, SecurityContextPersistenceFilter.class);
// }
//
// //访问白名单
// private static final List<String> whiteList = new ArrayList<String>() {{
// //swagger
// add("/webjars/**");
// add("/resources/**");
// add("/swagger-ui.html");
// add("/swagger-resources/**");
// add("/v2/api-docs");
// add("/getSwaggerToken");
// add("/");
// add("/**/*.html");
// add("/**/*.htm");
// add("/**/*.woff");
// add("/**/*.woff2");
// add("/**/*.ttf");
// add("/**/*.svg");
// add("/**/*.css");
// add("/**/*.png");
// add("/**/*.jpg");
// add("/**/*.gif");
// add("/**/*.ico");
// add("/**/*.json");
// add("/**/*.js");
// add("/**/*.txt");
// add("/**");
// }};
//}
package net.wanji.web.config;
import com.wanji.identity.auth.IdentityResourceServerConfig;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.HeaderMapRequestWrapper;
import net.wanji.common.utils.cache.IgniteClientCacheUtil;
import net.wanji.common.utils.cookie.CookieUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
import org.springframework.security.web.context.SecurityContextPersistenceFilter;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static net.wanji.common.framework.Constants.Cache.LOGIN_CACHE;
/**
* @Description: 资源服务器配置
* @Author
* @Date 2020/4/12 21:01
*/
@Configuration
@EnableResourceServer
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Slf4j
public class ResourceServerConfig extends IdentityResourceServerConfig {
@Override
public void configure(HttpSecurity http) throws Exception {
// 放开全部
http.authorizeRequests()
.antMatchers(whiteList.toArray(new String[whiteList.size()])).permitAll()
.anyRequest().authenticated()
.and().cors()
.and().csrf().disable()
.addFilterBefore(new OncePerRequestFilter() {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
String breakerToken = " ";
// 判断header里有没有authorization,有则赋值给breakertoken,没有则根据tokenid
if (!StringUtils.isEmpty(request.getHeader(HttpHeaders.AUTHORIZATION))) {
breakerToken = request.getHeader(HttpHeaders.AUTHORIZATION);
} else {
String tokenId = "";
// 移动端的tokenid在请求头里,pc端的在cookie里
String mobileTokenId = request.getHeader("tokenId");
if (!StringUtils.isEmpty(mobileTokenId)) {
tokenId = mobileTokenId;
} else {
tokenId = CookieUtil.getUid(request, "tokenId");
}
if (!StringUtils.isEmpty(tokenId)) {
try {
OAuth2AccessToken oAuth2AccessToken = (OAuth2AccessToken) IgniteClientCacheUtil.getValue(LOGIN_CACHE, tokenId);
breakerToken = oAuth2AccessToken.getTokenType() + " " + oAuth2AccessToken.getValue();
} catch (Exception e) {
e.printStackTrace();
}
}
}
HeaderMapRequestWrapper requestWrapper = new HeaderMapRequestWrapper(request);
if (!StringUtils.isEmpty(breakerToken)) {
//将cookie中的token放到header,供oauth鉴权使用
requestWrapper.addHeader(HttpHeaders.AUTHORIZATION, breakerToken);
}
try {
filterChain.doFilter(requestWrapper, response);
} catch (Exception e) {
log.error("配置信息错误:", e);
}
}
}, SecurityContextPersistenceFilter.class);
}
//访问白名单
private static final List<String> whiteList = new ArrayList<String>() {{
//swagger
add("/webjars/**");
add("/resources/**");
add("/swagger-ui.html");
add("/swagger-resources/**");
add("/v2/api-docs");
add("/getSwaggerToken");
add("/");
add("/**/*.html");
add("/**/*.htm");
add("/**/*.woff");
add("/**/*.woff2");
add("/**/*.ttf");
add("/**/*.svg");
add("/**/*.css");
add("/**/*.png");
add("/**/*.jpg");
add("/**/*.gif");
add("/**/*.ico");
add("/**/*.json");
add("/**/*.js");
add("/**/*.txt");
add("/**");
}};
}
......@@ -5,7 +5,7 @@ spring:
cloud:
nacos:
config:
server-addr: 173.17.0.1:8848
server-addr: 37.12.182.29:8848
file-extension: yaml
group: signal
namespace: signal
......
spring:
profiles:
active: dev
\ No newline at end of file
active: docker
\ No newline at end of file
utc.service.url=http://173.17.0.1:32000/utc
utc.service.url=http://192.168.150.1:32000/utc
utc.dt.service.url=http://173.17.0.1:39002/utc-dt
utc.hisense.service.url=http://192.168.150.1:39003/utc-hisense
control.url=http://173.17.0.1:32001/web
......@@ -77,6 +77,8 @@ public class ControlCommandServiceImpl implements ControlCommandService {
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
//给海信发送http请求
for (int i = 0; i < stepNum; i++) {
//步进需要下发两次命令
OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
if (StringUtils.isNotBlank(post)) {
Document postResult = DocumentHelper.parseText(post);
......
spring:
profiles:
active: dev
\ No newline at end of file
active: docker
\ No newline at end of file
spring:
profiles:
active: dev
\ No newline at end of file
active: docker
\ No newline at end of file
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