mqtt信息的获取
This commit is contained in:
parent
3723aa700f
commit
7391a52d8c
43
pom.xml
43
pom.xml
@ -30,6 +30,7 @@
|
|||||||
<java.version>17</java.version>
|
<java.version>17</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.baomidou</groupId>
|
<groupId>com.baomidou</groupId>
|
||||||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||||||
@ -39,9 +40,30 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-jdbc</artifactId>
|
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.jsonwebtoken</groupId>
|
||||||
|
<artifactId>jjwt-api</artifactId>
|
||||||
|
<version>0.12.5</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.jsonwebtoken</groupId>
|
||||||
|
<artifactId>jjwt-impl</artifactId>
|
||||||
|
<version>0.12.5</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.jsonwebtoken</groupId>
|
||||||
|
<artifactId>jjwt</artifactId>
|
||||||
|
<version>0.12.5</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.jsonwebtoken</groupId>
|
||||||
|
<artifactId>jjwt-jackson</artifactId>
|
||||||
|
<version>0.12.5</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-security</artifactId>
|
<artifactId>spring-boot-starter-security</artifactId>
|
||||||
|
<version>3.1.8</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
@ -51,10 +73,6 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-web-services</artifactId>
|
<artifactId>spring-boot-starter-web-services</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.session</groupId>
|
|
||||||
<artifactId>spring-session-jdbc</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
@ -88,6 +106,23 @@
|
|||||||
<version>4.13.2</version>
|
<version>4.13.2</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>fastjson</artifactId>
|
||||||
|
<version>1.2.78</version>
|
||||||
|
</dependency>
|
||||||
|
<!--okhttp3-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.squareup.okhttp3</groupId>
|
||||||
|
<artifactId>okhttp</artifactId>
|
||||||
|
<version>4.9.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-io</groupId>
|
||||||
|
<artifactId>commons-io</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- Pull in as a traditional dependency -->
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -1,14 +1,23 @@
|
|||||||
package com.nkkj.ups;
|
package com.nkkj.ups;
|
||||||
|
|
||||||
|
|
||||||
|
import okhttp3.*;
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@MapperScan("com.nkkj.ups.dao")
|
@MapperScan("generator.mapper")
|
||||||
public class UpsApplication {
|
public class UpsApplication {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
|
||||||
SpringApplication.run(UpsApplication.class, args);
|
SpringApplication.run(UpsApplication.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
5
src/main/java/com/nkkj/ups/config/OneNetConfig.java
Normal file
5
src/main/java/com/nkkj/ups/config/OneNetConfig.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package com.nkkj.ups.config;
|
||||||
|
|
||||||
|
public class OneNetConfig {
|
||||||
|
private String PRODUCT_ID="";
|
||||||
|
}
|
44
src/main/java/com/nkkj/ups/config/SecurityConfig.java
Normal file
44
src/main/java/com/nkkj/ups/config/SecurityConfig.java
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package com.nkkj.ups.config;
|
||||||
|
|
||||||
|
import com.nkkj.ups.security.filter.JwtAuthenticationTokenFilter;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
|
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
||||||
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
|
import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
||||||
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||||
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer;
|
||||||
|
import org.springframework.security.config.http.SessionCreationPolicy;
|
||||||
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
@EnableWebSecurity
|
||||||
|
public class SecurityConfig {
|
||||||
|
@Autowired
|
||||||
|
JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;
|
||||||
|
@Bean
|
||||||
|
SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
|
||||||
|
return http
|
||||||
|
.formLogin(form -> form.disable())//禁用默认登录页面
|
||||||
|
.logout(config->config.disable())//禁用默认登出页面
|
||||||
|
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))//禁用session,前 后端分离不需要
|
||||||
|
.httpBasic(httpBasic -> httpBasic.disable())//
|
||||||
|
.authorizeHttpRequests(
|
||||||
|
auth -> auth.requestMatchers("/login", "*/logout").permitAll().anyRequest().authenticated()//设置权限,除了登录登出不需要认证,其余均需要认证
|
||||||
|
).csrf(c->c.disable())
|
||||||
|
.addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)//添加JWT的处理过滤器,用于从JWT中解析 用户信息
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
// @Bean
|
||||||
|
// WebSecurityCustomizer webSecurityCustomizer() {
|
||||||
|
// return new WebSecurityCustomizer() {
|
||||||
|
// @Override
|
||||||
|
// public void customize(WebSecurity web) {
|
||||||
|
// web.ignoring().requestMatchers("**/**");
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// }
|
||||||
|
}
|
5
src/main/java/com/nkkj/ups/config/Signature.java
Normal file
5
src/main/java/com/nkkj/ups/config/Signature.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package com.nkkj.ups.config;
|
||||||
|
|
||||||
|
public class Signature {
|
||||||
|
public static final String JWT_SIGNATURE="FJNKKJ";
|
||||||
|
}
|
@ -1,8 +1,37 @@
|
|||||||
package com.nkkj.ups.controller;
|
package com.nkkj.ups.controller;
|
||||||
|
|
||||||
|
import com.nkkj.ups.result.R;
|
||||||
|
import com.nkkj.ups.service.impl.LoginServiceImpl;
|
||||||
|
import com.nkkj.ups.utils.JWT.JwtUtils;
|
||||||
|
import generator.domain.User;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class LoginController {
|
public class LoginController {
|
||||||
|
@Autowired
|
||||||
|
LoginServiceImpl loginService;
|
||||||
|
@Autowired
|
||||||
|
JwtUtils jwtUtils;
|
||||||
|
@PostMapping("/login")
|
||||||
|
public R Login(@RequestBody User user) {
|
||||||
|
User userOne=loginService.login(user.getName(), user.getPassword());
|
||||||
|
if(userOne != null) {
|
||||||
|
String token=jwtUtils.createToken(userOne);
|
||||||
|
return R.success(token);
|
||||||
|
}
|
||||||
|
return R.fail("登录信息错误");
|
||||||
|
}
|
||||||
|
@GetMapping("/")
|
||||||
|
public R test() {
|
||||||
|
return R.success("ok");
|
||||||
|
}
|
||||||
|
@GetMapping("/test")
|
||||||
|
public R test1(){
|
||||||
|
return R.success("test");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.nkkj.ups.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class MqttController {
|
||||||
|
|
||||||
|
}
|
15
src/main/java/com/nkkj/ups/controller/SignController.java
Normal file
15
src/main/java/com/nkkj/ups/controller/SignController.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package com.nkkj.ups.controller;
|
||||||
|
|
||||||
|
import com.nkkj.ups.result.R;
|
||||||
|
import org.springframework.web.bind.annotation.Mapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class SignController {
|
||||||
|
@PostMapping
|
||||||
|
public R sign(){
|
||||||
|
|
||||||
|
return R.success();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
package com.nkkj.ups.param.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OneNetDevice {
|
||||||
|
private String product_id;
|
||||||
|
private String device_name;
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
package com.nkkj.ups.param.response;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
@Data
|
||||||
|
public class OneNetQueryDeviceProperty {
|
||||||
|
private int code;
|
||||||
|
private List<OneNetQueryDevicePropertyData> data;
|
||||||
|
private String msg;
|
||||||
|
private String request_id;
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package com.nkkj.ups.param.response;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OneNetQueryDevicePropertyData {
|
||||||
|
private String identifier;
|
||||||
|
private String value;
|
||||||
|
private String data_type;
|
||||||
|
private String name;
|
||||||
|
private String access_mode;
|
||||||
|
private long time;
|
||||||
|
}
|
58
src/main/java/com/nkkj/ups/result/R.java
Normal file
58
src/main/java/com/nkkj/ups/result/R.java
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
package com.nkkj.ups.result;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class R<T> {
|
||||||
|
private int status;
|
||||||
|
/**
|
||||||
|
* 异常编号
|
||||||
|
*/
|
||||||
|
private String errorCode;
|
||||||
|
/**
|
||||||
|
* 异常信息
|
||||||
|
*/
|
||||||
|
private String message;
|
||||||
|
/**
|
||||||
|
* 响应数据
|
||||||
|
*/
|
||||||
|
private T data;
|
||||||
|
public static <T> R<T> success() {
|
||||||
|
return success(200, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> success(T data) {
|
||||||
|
return success(HttpServletResponse.SC_OK, null, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> fail(String message) {
|
||||||
|
return fail(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, null, message, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> fail(String errorCode, String message) {
|
||||||
|
return fail(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, errorCode, message, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> success(int status, String message, T data) {
|
||||||
|
R<T> r = new R<>();
|
||||||
|
r.setStatus(status);
|
||||||
|
r.setMessage(message);
|
||||||
|
r.setData(data);
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> fail(int status, String errorCode, String message) {
|
||||||
|
return fail(status, errorCode, message, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> R<T> fail(int status, String errorCode, String message, T data) {
|
||||||
|
R<T> r = new R<>();
|
||||||
|
r.setStatus(status);
|
||||||
|
r.setErrorCode(errorCode);
|
||||||
|
r.setMessage(message);
|
||||||
|
r.setData(data);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
package com.nkkj.ups.security;
|
||||||
|
|
@ -0,0 +1,50 @@
|
|||||||
|
package com.nkkj.ups.security.filter;
|
||||||
|
|
||||||
|
import com.nkkj.ups.utils.JWT.JwtUtils;
|
||||||
|
import io.jsonwebtoken.Claims;
|
||||||
|
import jakarta.servlet.FilterChain;
|
||||||
|
import jakarta.servlet.ServletException;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.filter.OncePerRequestFilter;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
|
||||||
|
@Autowired
|
||||||
|
JwtUtils jwtUtils;
|
||||||
|
@Autowired
|
||||||
|
UserDetailsService userDetailsService;
|
||||||
|
@Override
|
||||||
|
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||||
|
System.out.println("2");
|
||||||
|
String token=request.getHeader("Authorization");
|
||||||
|
if (token == null || token.isEmpty()) {
|
||||||
|
// 没有携带 token 则 放行
|
||||||
|
filterChain.doFilter(request, response);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Claims claims =jwtUtils.decodeToken(token);
|
||||||
|
String username = claims.getSubject();
|
||||||
|
System.out.println(claims.getSubject());
|
||||||
|
if(SecurityContextHolder.getContext().getAuthentication()==null)
|
||||||
|
{
|
||||||
|
// UserDetails userDetails = userDetailsService.loadUserByUsername(username);
|
||||||
|
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, null, null);
|
||||||
|
SecurityContextHolder.getContext().setAuthentication(authenticationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
filterChain.doFilter(request, response);
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
package com.nkkj.ups.service;
|
package com.nkkj.ups.service;
|
||||||
|
|
||||||
|
import generator.domain.User;
|
||||||
|
|
||||||
public interface LoginService {
|
public interface LoginService {
|
||||||
User login(String username, String password);
|
User login(String username, String password);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
package com.nkkj.ups.service.impl;
|
package com.nkkj.ups.service.impl;
|
||||||
|
|
||||||
import com.nkkj.ups.service.LoginService;
|
import com.nkkj.ups.service.LoginService;
|
||||||
|
import com.nkkj.ups.utils.JWT.JwtUtils;
|
||||||
|
import generator.domain.User;
|
||||||
|
import generator.mapper.UserMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
33
src/main/java/com/nkkj/ups/utils/JWT/JwtUtils.java
Normal file
33
src/main/java/com/nkkj/ups/utils/JWT/JwtUtils.java
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package com.nkkj.ups.utils.JWT;
|
||||||
|
|
||||||
|
|
||||||
|
import generator.domain.User;
|
||||||
|
import io.jsonwebtoken.Claims;
|
||||||
|
import io.jsonwebtoken.Jwts;
|
||||||
|
import org.springframework.boot.autoconfigure.security.oauth2.resource.OAuth2ResourceServerProperties;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.crypto.SecretKey;
|
||||||
|
import java.util.Date;
|
||||||
|
@Component
|
||||||
|
public class JwtUtils {
|
||||||
|
public static SecretKey secretKey=getSigningKey();
|
||||||
|
public String createToken(User user) {
|
||||||
|
return Jwts.builder()
|
||||||
|
.subject(user.getName())
|
||||||
|
.issuedAt(new Date())
|
||||||
|
.expiration(new Date(new Date().getTime()+1000*60*60*24))
|
||||||
|
.signWith(secretKey)
|
||||||
|
.compact();
|
||||||
|
}
|
||||||
|
public Claims decodeToken(String token) {
|
||||||
|
return Jwts.parser().verifyWith(secretKey).build().parseSignedClaims(token).getPayload();
|
||||||
|
|
||||||
|
// Jwts.claims().
|
||||||
|
// Jwts.parser().setSigningKey().
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SecretKey getSigningKey() {
|
||||||
|
return Jwts.SIG.HS256.key().build();
|
||||||
|
}
|
||||||
|
}
|
8
src/main/java/com/nkkj/ups/utils/MqttInfoUtils.java
Normal file
8
src/main/java/com/nkkj/ups/utils/MqttInfoUtils.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package com.nkkj.ups.utils;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class MqttInfoUtils {
|
||||||
|
|
||||||
|
}
|
26
src/main/java/com/nkkj/ups/utils/OneNetUtils.java
Normal file
26
src/main/java/com/nkkj/ups/utils/OneNetUtils.java
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package com.nkkj.ups.utils;
|
||||||
|
|
||||||
|
import com.nkkj.ups.param.request.OneNetDevice;
|
||||||
|
import com.nkkj.ups.param.response.OneNetQueryDeviceProperty;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.net.http.HttpClient;
|
||||||
|
import java.net.http.HttpRequest;
|
||||||
|
import java.net.http.HttpResponse;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class OneNetUtils {
|
||||||
|
public OneNetQueryDeviceProperty QueryDeviceProperty(OneNetDevice oneNetDevice) throws IOException, InterruptedException {
|
||||||
|
HttpClient client = HttpClient.newHttpClient();
|
||||||
|
String urlString="https://iot-api.heclouds.com/thingmodel/query-device-property?product_id="+oneNetDevice.getProduct_id()+"device_name="+oneNetDevice.getDevice_name();
|
||||||
|
HttpRequest request=HttpRequest.newBuilder()
|
||||||
|
.uri(URI.create(urlString))
|
||||||
|
.header("athorization","version=2018-10-31&res=products%2FTz9a5iUEkS%2Fdevices%2Fshante&et=1824228600&method=md5&sign=19EMD1rm2JVaRWvcCcxH6A%3D%3D")
|
||||||
|
.build();
|
||||||
|
HttpResponse<String> response=client.send(request,HttpResponse.BodyHandlers.ofString());
|
||||||
|
// OneNetQueryDeviceProperty oneNetQueryDeviceProperty=response.body();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
package generator.mapper;
|
package generator.mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import generator.domain.User;
|
import generator.domain.User;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
@ -10,7 +11,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
* @Entity generator.domain.User
|
* @Entity generator.domain.User
|
||||||
*/
|
*/
|
||||||
public interface UserMapper extends BaseMapper<User> {
|
public interface UserMapper extends BaseMapper<User> {
|
||||||
|
User selectOneByNameAndPassword(@Param("name") String name, @Param("password") String password);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,4 +2,5 @@ spring.application.name=ups
|
|||||||
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||||
spring.datasource.username=root
|
spring.datasource.username=root
|
||||||
spring.datasource.password=123456
|
spring.datasource.password=123456
|
||||||
spring.datasource.url=jdbc:mysql://localhost:3306/ups?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
spring.datasource.url=jdbc:mysql://localhost:3306/ups?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
|
spring.jackson.parser..allow-unquoted-control-chars=true
|
@ -13,4 +13,12 @@
|
|||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id,name,password
|
id,name,password
|
||||||
</sql>
|
</sql>
|
||||||
|
<select id="selectOneByNameAndPassword" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
from user
|
||||||
|
where
|
||||||
|
name = #{name,jdbcType=VARCHAR}
|
||||||
|
AND password = #{password,jdbcType=VARCHAR}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -1,26 +1,81 @@
|
|||||||
//package com.nkkj.ups.test;
|
package com.nkkj.ups.test;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
|
import com.nkkj.ups.utils.JWT.JwtUtils;
|
||||||
|
import generator.domain.User;
|
||||||
|
import generator.mapper.UserMapper;
|
||||||
|
import io.jsonwebtoken.Claims;
|
||||||
|
import okhttp3.MediaType;
|
||||||
|
import okhttp3.OkHttpClient;
|
||||||
|
import okhttp3.Request;
|
||||||
|
import okhttp3.Response;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.net.http.HttpClient;
|
||||||
|
import java.net.http.HttpRequest;
|
||||||
|
import java.net.http.HttpResponse;
|
||||||
|
import java.util.List;
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest
|
||||||
|
public class SampleTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserMapper userMapper;
|
||||||
|
@Autowired
|
||||||
|
private JwtUtils jwtUtils;
|
||||||
|
@Test
|
||||||
|
public void testSelect() throws IOException, InterruptedException {
|
||||||
|
|
||||||
|
OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
|
||||||
|
.build();
|
||||||
|
Request request1 = new Request.Builder()
|
||||||
|
.url("https://iot-api.heclouds.com/thingmodel/query-device-property?product_id=Tz9a5iUEkS&device_name=shante")
|
||||||
|
.addHeader("Authorization","version=2022-05-01&res=products%2FTz9a5iUEkS%2Fdevices%2Fshante&et=2079998482&method=md5&sign=Gf925YWwSO7SAlOKY98l2Q%3D%3D")
|
||||||
|
.build();
|
||||||
|
Response response1 = okHttpClient.newCall(request1).execute();
|
||||||
|
String string = response1.body().string();
|
||||||
|
System.out.println(string);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OkHttpClient client = new OkHttpClient().newBuilder()
|
||||||
|
.build();
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url("https://iot-api.heclouds.com/thingmodel/query-device-property?product_id=Tz9a5iUEkS&device_name=shante")
|
||||||
|
.addHeader("Authorization", "version=2022-05-01&res=products%2FTz9a5iUEkS%2Fdevices%2Fshante&et=2079998482&method=md5&sign=Gf925YWwSO7SAlOKY98l2Q%3D%3D")
|
||||||
|
.build();
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
System.out.println(response.body().string());
|
||||||
|
|
||||||
|
// HttpClient client = HttpClient.newHttpClient();
|
||||||
|
//// String urlString="http://localhost:5000";
|
||||||
//
|
//
|
||||||
//import com.baomidou.mybatisplus.core.toolkit.Assert;
|
// HttpRequest request=HttpRequest.newBuilder()
|
||||||
//import org.junit.jupiter.api.Test;
|
// .setHeader("athorization","version=2018-10-31&res=products%2FTz9a5iUEkS%2Fdevices%2Fshante&et=1824228600&method=md5&sign=19EMD1rm2JVaRWvcCcxH6A%3D%3D")
|
||||||
//import org.junit.runner.RunWith;
|
// .setHeader("User-Agent", "Apifox/1.0.0 (https://apifox.com)")
|
||||||
//import org.springframework.beans.factory.annotation.Autowired;
|
// .setHeader("Accept", "*/*")
|
||||||
//import org.springframework.boot.test.context.SpringBootTest;
|
// .uri(URI.create(urlString))
|
||||||
//import org.springframework.test.context.junit4.SpringRunner;
|
// .GET()
|
||||||
//
|
// .build();
|
||||||
//import java.util.List;
|
// System.out.println(request.headers());
|
||||||
//@RunWith(SpringRunner.class)
|
// HttpResponse<String> response=client.send(request,HttpResponse.BodyHandlers.ofString());
|
||||||
//@SpringBootTest
|
// System.out.println(response.body());
|
||||||
//public class SampleTest {
|
// User user = new User();
|
||||||
//
|
// user.setName("32");
|
||||||
// @Autowired
|
// String token=jwtUtils.createToken(user);
|
||||||
// private UserMapper userMapper;
|
// System.out.println(token);
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// public void testSelect() {
|
|
||||||
// System.out.println(("----- selectAll method test ------"));
|
// System.out.println(("----- selectAll method test ------"));
|
||||||
|
// Claims claims=jwtUtils.decodeToken(token);
|
||||||
|
// System.out.println(claims.getSubject());
|
||||||
// List<User> userList = userMapper.selectList(null);
|
// List<User> userList = userMapper.selectList(null);
|
||||||
// Assert.isTrue(5 == userList.size(), "太短");
|
//// Assert.isTrue(5 == userList.size(), "太短");
|
||||||
// userList.forEach(System.out::println);
|
// userList.forEach(System.out::println);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//}
|
}
|
Loading…
Reference in New Issue
Block a user