From f3907fcbcc4952af7e2ca66cc54f4fc718a29a6f Mon Sep 17 00:00:00 2001 From: 2511 Date: Thu, 5 Sep 2024 11:58:19 +0800 Subject: [PATCH] =?UTF-8?q?websocket=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 12 +++ .../java/com/nkkj/ups/UpsApplication.java | 4 + .../nkkj/ups/config/MybatisPlusConfig.java | 20 +++++ .../java/com/nkkj/ups/config/RedisConfig.java | 30 +++++++ .../nkkj/ups/controller/DataController.java | 25 ++++++ .../ups/controller/HistoryDataController.java | 13 +++ .../nkkj/ups/controller/LoginController.java | 4 +- .../nkkj/ups/controller/MqttController.java | 16 +++- .../nkkj/ups/controller/SignController.java | 2 +- .../ups/param/request/GetHistoryParams.java | 10 +++ .../com/nkkj/ups/param/request/UpsData.java | 13 +++ .../java/com/nkkj/ups/schedule/IsOnline.java | 22 +++++ .../filter/JwtAuthenticationTokenFilter.java | 1 - .../com/nkkj/ups/service/AlarmService.java | 14 +++ .../java/com/nkkj/ups/service/UpsService.java | 9 ++ .../ups/service/impl/LoginServiceImpl.java | 7 ++ .../nkkj/ups/service/impl/UpsServiceImpl.java | 20 +++++ .../nkkj/ups/websocket/WebSocketConfig.java | 14 +++ .../nkkj/ups/websocket/WsServerEndpoint.java | 89 +++++++++++++++++++ .../java/generator/domain/UpsHistory.java | 14 ++- .../generator/mapper/UpsHistoryMapper.java | 2 +- .../generator/service/UpsHistoryService.java | 2 +- .../service/impl/UpsHistoryServiceImpl.java | 2 +- src/main/resources/application.properties | 5 +- .../resources/mapper/UpsHistoryMapper.xml | 3 +- .../java/com/nkkj/ups/test/SampleTest.java | 54 +++++++---- 26 files changed, 377 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/nkkj/ups/config/MybatisPlusConfig.java create mode 100644 src/main/java/com/nkkj/ups/config/RedisConfig.java create mode 100644 src/main/java/com/nkkj/ups/controller/DataController.java create mode 100644 src/main/java/com/nkkj/ups/controller/HistoryDataController.java create mode 100644 src/main/java/com/nkkj/ups/param/request/GetHistoryParams.java create mode 100644 src/main/java/com/nkkj/ups/param/request/UpsData.java create mode 100644 src/main/java/com/nkkj/ups/schedule/IsOnline.java create mode 100644 src/main/java/com/nkkj/ups/service/AlarmService.java create mode 100644 src/main/java/com/nkkj/ups/service/UpsService.java create mode 100644 src/main/java/com/nkkj/ups/service/impl/UpsServiceImpl.java create mode 100644 src/main/java/com/nkkj/ups/websocket/WebSocketConfig.java create mode 100644 src/main/java/com/nkkj/ups/websocket/WsServerEndpoint.java diff --git a/pom.xml b/pom.xml index 7b0af85..6f2617f 100644 --- a/pom.xml +++ b/pom.xml @@ -100,6 +100,14 @@ spring-security-test test + + org.springframework.boot + spring-boot-starter-data-redis + + + org.springframework.boot + spring-boot-starter-cache + junit junit @@ -122,6 +130,10 @@ commons-io 2.5 + + org.springframework.boot + spring-boot-starter-websocket + diff --git a/src/main/java/com/nkkj/ups/UpsApplication.java b/src/main/java/com/nkkj/ups/UpsApplication.java index bfcb4b6..8d3cf03 100644 --- a/src/main/java/com/nkkj/ups/UpsApplication.java +++ b/src/main/java/com/nkkj/ups/UpsApplication.java @@ -5,12 +5,16 @@ import okhttp3.*; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableScheduling; import java.io.IOException; @SpringBootApplication +@EnableCaching +@EnableScheduling @MapperScan("generator.mapper") public class UpsApplication { diff --git a/src/main/java/com/nkkj/ups/config/MybatisPlusConfig.java b/src/main/java/com/nkkj/ups/config/MybatisPlusConfig.java new file mode 100644 index 0000000..a7278d2 --- /dev/null +++ b/src/main/java/com/nkkj/ups/config/MybatisPlusConfig.java @@ -0,0 +1,20 @@ +package com.nkkj.ups.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@MapperScan("generator.mapper") +public class MybatisPlusConfig { + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加 + // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType + return interceptor; + } +} diff --git a/src/main/java/com/nkkj/ups/config/RedisConfig.java b/src/main/java/com/nkkj/ups/config/RedisConfig.java new file mode 100644 index 0000000..3583223 --- /dev/null +++ b/src/main/java/com/nkkj/ups/config/RedisConfig.java @@ -0,0 +1,30 @@ +package com.nkkj.ups.config; + +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.connection.RedisStandaloneConfiguration; +import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; +import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +//@EnableCaching +@Configuration +public class RedisConfig { + + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(connectionFactory); + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); + return template; + } + + +} diff --git a/src/main/java/com/nkkj/ups/controller/DataController.java b/src/main/java/com/nkkj/ups/controller/DataController.java new file mode 100644 index 0000000..cd3691c --- /dev/null +++ b/src/main/java/com/nkkj/ups/controller/DataController.java @@ -0,0 +1,25 @@ +package com.nkkj.ups.controller; + +import com.nkkj.ups.result.R; +import com.nkkj.ups.service.AlarmService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class DataController { + @Autowired + AlarmService alarmService; + @Autowired + + @GetMapping("/all") + public R saveData() { + try{ + alarmService.UpsAlarm(); + } + catch (Exception e){ + e.printStackTrace(); + } + return R.success(); + } +} diff --git a/src/main/java/com/nkkj/ups/controller/HistoryDataController.java b/src/main/java/com/nkkj/ups/controller/HistoryDataController.java new file mode 100644 index 0000000..ca435d6 --- /dev/null +++ b/src/main/java/com/nkkj/ups/controller/HistoryDataController.java @@ -0,0 +1,13 @@ +package com.nkkj.ups.controller; + +import com.nkkj.ups.result.R; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HistoryDataController { + @GetMapping("getHistory") + public R getHistory() { + return null; + } +} diff --git a/src/main/java/com/nkkj/ups/controller/LoginController.java b/src/main/java/com/nkkj/ups/controller/LoginController.java index 6164ca6..7702d60 100644 --- a/src/main/java/com/nkkj/ups/controller/LoginController.java +++ b/src/main/java/com/nkkj/ups/controller/LoginController.java @@ -1,7 +1,7 @@ package com.nkkj.ups.controller; import com.nkkj.ups.result.R; -import com.nkkj.ups.service.impl.LoginServiceImpl; +import com.nkkj.ups.service.LoginService; import com.nkkj.ups.utils.JWT.JwtUtils; import generator.domain.User; import org.springframework.beans.factory.annotation.Autowired; @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class LoginController { @Autowired - LoginServiceImpl loginService; + LoginService loginService; @Autowired JwtUtils jwtUtils; @PostMapping("/login") diff --git a/src/main/java/com/nkkj/ups/controller/MqttController.java b/src/main/java/com/nkkj/ups/controller/MqttController.java index 8226670..a248386 100644 --- a/src/main/java/com/nkkj/ups/controller/MqttController.java +++ b/src/main/java/com/nkkj/ups/controller/MqttController.java @@ -1,8 +1,22 @@ package com.nkkj.ups.controller; +import com.nkkj.ups.result.R; +import com.nkkj.ups.service.UpsService; +import com.nkkj.ups.service.impl.UpsServiceImpl; +import generator.domain.UpsHistory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController public class MqttController { - + @Autowired + UpsService upsService; + @PostMapping("/getHistory") + public R getHistory(String id,String ups_id){ + List upsHistory=upsService.getUpsHistory(); + return R.success(upsHistory); + } } diff --git a/src/main/java/com/nkkj/ups/controller/SignController.java b/src/main/java/com/nkkj/ups/controller/SignController.java index f08ba3b..8e37eb4 100644 --- a/src/main/java/com/nkkj/ups/controller/SignController.java +++ b/src/main/java/com/nkkj/ups/controller/SignController.java @@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class SignController { - @PostMapping + @PostMapping("/sign") public R sign(){ return R.success(); diff --git a/src/main/java/com/nkkj/ups/param/request/GetHistoryParams.java b/src/main/java/com/nkkj/ups/param/request/GetHistoryParams.java new file mode 100644 index 0000000..3a99a04 --- /dev/null +++ b/src/main/java/com/nkkj/ups/param/request/GetHistoryParams.java @@ -0,0 +1,10 @@ +package com.nkkj.ups.param.request; + +import lombok.Data; + +@Data +public class GetHistoryParams { + //门店id + private String id; + private String ups_id; +} diff --git a/src/main/java/com/nkkj/ups/param/request/UpsData.java b/src/main/java/com/nkkj/ups/param/request/UpsData.java new file mode 100644 index 0000000..40b8561 --- /dev/null +++ b/src/main/java/com/nkkj/ups/param/request/UpsData.java @@ -0,0 +1,13 @@ +package com.nkkj.ups.param.request; + +import lombok.Data; + +@Data +public class UpsData { + //upsid + private String id; + private String dataType; + private T value; + private String identifier; + private String name; +} diff --git a/src/main/java/com/nkkj/ups/schedule/IsOnline.java b/src/main/java/com/nkkj/ups/schedule/IsOnline.java new file mode 100644 index 0000000..ceb3460 --- /dev/null +++ b/src/main/java/com/nkkj/ups/schedule/IsOnline.java @@ -0,0 +1,22 @@ +package com.nkkj.ups.schedule; + +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@Component +public class IsOnline { + public static Map onlineMap = new ConcurrentHashMap(); + @Scheduled(cron = "0/10 * * * * ? ") + public void isOnline() throws InterruptedException { + for (String s : onlineMap.keySet()) { + long now = new Date().getTime(); + if(now-onlineMap.get(s)>30) { + System.out.println("超市"); + } + } + } +} diff --git a/src/main/java/com/nkkj/ups/security/filter/JwtAuthenticationTokenFilter.java b/src/main/java/com/nkkj/ups/security/filter/JwtAuthenticationTokenFilter.java index 975fca8..03f2758 100644 --- a/src/main/java/com/nkkj/ups/security/filter/JwtAuthenticationTokenFilter.java +++ b/src/main/java/com/nkkj/ups/security/filter/JwtAuthenticationTokenFilter.java @@ -27,7 +27,6 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { 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 则 放行 diff --git a/src/main/java/com/nkkj/ups/service/AlarmService.java b/src/main/java/com/nkkj/ups/service/AlarmService.java new file mode 100644 index 0000000..473335d --- /dev/null +++ b/src/main/java/com/nkkj/ups/service/AlarmService.java @@ -0,0 +1,14 @@ +package com.nkkj.ups.service; + +import com.nkkj.ups.websocket.WsServerEndpoint; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class AlarmService { + @Autowired + WsServerEndpoint endpoint; + public void UpsAlarm() throws Exception { + endpoint.sendAllUser("测试"); + } +} diff --git a/src/main/java/com/nkkj/ups/service/UpsService.java b/src/main/java/com/nkkj/ups/service/UpsService.java new file mode 100644 index 0000000..6f10829 --- /dev/null +++ b/src/main/java/com/nkkj/ups/service/UpsService.java @@ -0,0 +1,9 @@ +package com.nkkj.ups.service; + +import generator.domain.UpsHistory; + +import java.util.List; + +public interface UpsService { + List getUpsHistory(); +} diff --git a/src/main/java/com/nkkj/ups/service/impl/LoginServiceImpl.java b/src/main/java/com/nkkj/ups/service/impl/LoginServiceImpl.java index 9b0dfb3..5531fce 100644 --- a/src/main/java/com/nkkj/ups/service/impl/LoginServiceImpl.java +++ b/src/main/java/com/nkkj/ups/service/impl/LoginServiceImpl.java @@ -5,6 +5,7 @@ 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.data.redis.core.RedisTemplate; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.stereotype.Service; @@ -12,9 +13,15 @@ import org.springframework.stereotype.Service; public class LoginServiceImpl implements LoginService { @Autowired UserMapper userMapper; + @Autowired + private RedisTemplate redisTemplate; @Override public User login(String username, String password) { + redisTemplate.opsForValue().set(username,password); + String value = (String) redisTemplate.opsForValue().get("run_id"); + System.out.println(value); User user=userMapper.selectOneByNameAndPassword(username,password); + return user; } } diff --git a/src/main/java/com/nkkj/ups/service/impl/UpsServiceImpl.java b/src/main/java/com/nkkj/ups/service/impl/UpsServiceImpl.java new file mode 100644 index 0000000..8888256 --- /dev/null +++ b/src/main/java/com/nkkj/ups/service/impl/UpsServiceImpl.java @@ -0,0 +1,20 @@ +package com.nkkj.ups.service.impl; + +import com.nkkj.ups.service.UpsService; +import generator.domain.UpsHistory; +import generator.mapper.UpsHistoryMapper; +import generator.mapper.UpsMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class UpsServiceImpl implements UpsService { + @Autowired + UpsHistoryMapper upsHistoryMapper; + @Override + public List getUpsHistory() { + return upsHistoryMapper.selectList(null); + } +} diff --git a/src/main/java/com/nkkj/ups/websocket/WebSocketConfig.java b/src/main/java/com/nkkj/ups/websocket/WebSocketConfig.java new file mode 100644 index 0000000..f16ad21 --- /dev/null +++ b/src/main/java/com/nkkj/ups/websocket/WebSocketConfig.java @@ -0,0 +1,14 @@ +package com.nkkj.ups.websocket; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.socket.config.annotation.EnableWebSocket; +import org.springframework.web.socket.server.standard.ServerEndpointExporter; +@Configuration +@EnableWebSocket +public class WebSocketConfig { + @Bean + public ServerEndpointExporter serverEndpoint() { + return new ServerEndpointExporter(); + } +} diff --git a/src/main/java/com/nkkj/ups/websocket/WsServerEndpoint.java b/src/main/java/com/nkkj/ups/websocket/WsServerEndpoint.java new file mode 100644 index 0000000..e85de31 --- /dev/null +++ b/src/main/java/com/nkkj/ups/websocket/WsServerEndpoint.java @@ -0,0 +1,89 @@ +package com.nkkj.ups.websocket; + +import com.alibaba.fastjson.JSONObject; +import jakarta.websocket.*; +import jakarta.websocket.server.PathParam; +import jakarta.websocket.server.ServerEndpoint; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.time.Instant; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@ServerEndpoint("/echo/{id}") +@Component +public class WsServerEndpoint { + public static Map wsServerEndpointMap = new ConcurrentHashMap<>(); + + private Session session; + + private String id; + // 收到消息 + @OnMessage + public void onMessage(String message) throws Exception { + JSONObject jsonObject = JSONObject.parseObject(message); + String id= (String) jsonObject.get("id"); + String msg=(String) jsonObject.get("msg"); + + if (message.equalsIgnoreCase("bye")) { + // 由服务器主动关闭连接。状态码为 NORMAL_CLOSURE(正常关闭)。 + this.session.close(new CloseReason(CloseReason.CloseCodes.NORMAL_CLOSURE, "Bye"));; + return; + } + if(id!=null) + { + if("-1".equals(id)) + { + sendAllUser("1"); + } + else { + sendToUser(id, msg); + } + } + +// this.session.getAsyncRemote().sendText("["+ Instant.now().toEpochMilli() +"] Hello " + message); + } + + // 连接打开 + @OnOpen + public void onOpen(@PathParam(value = "id") String id, Session session, EndpointConfig endpointConfig){ + System.out.println("开启连接"); + // 保存 session 到对象 + this.session = session; + this.id = id; + wsServerEndpointMap.put(id,this); + } + + // 连接关闭 + @OnClose + public void onClose(CloseReason closeReason){ + wsServerEndpointMap.remove(this); + System.out.println("断开连接"); + } + + // 连接异常 + @OnError + public void onError(Throwable throwable) throws IOException { + System.out.println(throwable); + // 关闭连接。状态码为 UNEXPECTED_CONDITION(意料之外的异常) + this.session.close(new CloseReason(CloseReason.CloseCodes.UNEXPECTED_CONDITION, throwable.getMessage())); + } + + public void sendMessage(String message) throws Exception { + + this.session.getAsyncRemote().sendText(message); + } + public void sendToUser(String id, String message) throws Exception { + if(wsServerEndpointMap.containsKey(id)){ + wsServerEndpointMap.get(id).session.getAsyncRemote().sendText(message); + } + } + public void sendAllUser(String message) throws Exception{ + for (String s : wsServerEndpointMap.keySet()) { + wsServerEndpointMap.get(s).sendMessage(message); + } + } +} diff --git a/src/main/java/generator/domain/UpsHistory.java b/src/main/java/generator/domain/UpsHistory.java index 1771146..0f68e35 100644 --- a/src/main/java/generator/domain/UpsHistory.java +++ b/src/main/java/generator/domain/UpsHistory.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.sql.Timestamp; +import java.util.Date; import lombok.Data; /** @@ -17,7 +19,7 @@ public class UpsHistory implements Serializable { /** * */ - @TableId + @TableId(type = IdType.AUTO) private Integer id; /** @@ -85,6 +87,11 @@ public class UpsHistory implements Serializable { */ private String outPower; + /** + * + */ + private Timestamp createTime; + @TableField(exist = false) private static final long serialVersionUID = 1L; @@ -113,7 +120,8 @@ public class UpsHistory implements Serializable { && (this.getInVol() == null ? other.getInVol() == null : this.getInVol().equals(other.getInVol())) && (this.getOutCur() == null ? other.getOutCur() == null : this.getOutCur().equals(other.getOutCur())) && (this.getOutFreq() == null ? other.getOutFreq() == null : this.getOutFreq().equals(other.getOutFreq())) - && (this.getOutPower() == null ? other.getOutPower() == null : this.getOutPower().equals(other.getOutPower())); + && (this.getOutPower() == null ? other.getOutPower() == null : this.getOutPower().equals(other.getOutPower())) + && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())); } @Override @@ -134,6 +142,7 @@ public class UpsHistory implements Serializable { result = prime * result + ((getOutCur() == null) ? 0 : getOutCur().hashCode()); result = prime * result + ((getOutFreq() == null) ? 0 : getOutFreq().hashCode()); result = prime * result + ((getOutPower() == null) ? 0 : getOutPower().hashCode()); + result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); return result; } @@ -157,6 +166,7 @@ public class UpsHistory implements Serializable { sb.append(", outCur=").append(outCur); sb.append(", outFreq=").append(outFreq); sb.append(", outPower=").append(outPower); + sb.append(", createTime=").append(createTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); diff --git a/src/main/java/generator/mapper/UpsHistoryMapper.java b/src/main/java/generator/mapper/UpsHistoryMapper.java index 1eb039f..b7e32bb 100644 --- a/src/main/java/generator/mapper/UpsHistoryMapper.java +++ b/src/main/java/generator/mapper/UpsHistoryMapper.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @author 2511 * @description 针对表【ups_history】的数据库操作Mapper -* @createDate 2024-08-27 14:59:13 +* @createDate 2024-08-29 14:57:00 * @Entity generator.domain.UpsHistory */ public interface UpsHistoryMapper extends BaseMapper { diff --git a/src/main/java/generator/service/UpsHistoryService.java b/src/main/java/generator/service/UpsHistoryService.java index a297597..4042100 100644 --- a/src/main/java/generator/service/UpsHistoryService.java +++ b/src/main/java/generator/service/UpsHistoryService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @author 2511 * @description 针对表【ups_history】的数据库操作Service -* @createDate 2024-08-27 14:59:13 +* @createDate 2024-08-29 14:57:00 */ public interface UpsHistoryService extends IService { diff --git a/src/main/java/generator/service/impl/UpsHistoryServiceImpl.java b/src/main/java/generator/service/impl/UpsHistoryServiceImpl.java index 47c86ff..2869bf5 100644 --- a/src/main/java/generator/service/impl/UpsHistoryServiceImpl.java +++ b/src/main/java/generator/service/impl/UpsHistoryServiceImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Service; /** * @author 2511 * @description 针对表【ups_history】的数据库操作Service实现 -* @createDate 2024-08-27 14:59:13 +* @createDate 2024-08-29 14:57:00 */ @Service public class UpsHistoryServiceImpl extends ServiceImpl diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 5bc8177..58f5ebb 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,9 @@ spring.application.name=ups +server.port=8089 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=123456 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 \ No newline at end of file +spring.jackson.parser..allow-unquoted-control-chars=true +spring.data.redis.host=127.0.0.1 +spring.data.redis.port=6379 \ No newline at end of file diff --git a/src/main/resources/mapper/UpsHistoryMapper.xml b/src/main/resources/mapper/UpsHistoryMapper.xml index 919a41f..774d2d2 100644 --- a/src/main/resources/mapper/UpsHistoryMapper.xml +++ b/src/main/resources/mapper/UpsHistoryMapper.xml @@ -19,6 +19,7 @@ + @@ -26,6 +27,6 @@ device_type,status,city_vol, city_freq,cell_vol,cell_cur, out_vol,in_vol,out_cur, - out_freq,out_power + out_freq,out_power,create_time diff --git a/src/test/java/com/nkkj/ups/test/SampleTest.java b/src/test/java/com/nkkj/ups/test/SampleTest.java index 32ffe01..956beee 100644 --- a/src/test/java/com/nkkj/ups/test/SampleTest.java +++ b/src/test/java/com/nkkj/ups/test/SampleTest.java @@ -1,8 +1,14 @@ package com.nkkj.ups.test; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nkkj.ups.service.AlarmService; import com.nkkj.ups.utils.JWT.JwtUtils; +import generator.domain.Ups; +import generator.domain.UpsHistory; import generator.domain.User; +import generator.mapper.UpsHistoryMapper; import generator.mapper.UserMapper; import io.jsonwebtoken.Claims; import okhttp3.MediaType; @@ -24,34 +30,28 @@ import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest public class SampleTest { - + @Autowired + AlarmService alarmService; @Autowired private UserMapper userMapper; @Autowired + private UpsHistoryMapper upsHistoryMapper; + @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()); +// 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"; @@ -76,6 +76,24 @@ public class SampleTest { // List userList = userMapper.selectList(null); //// Assert.isTrue(5 == userList.size(), "太短"); // userList.forEach(System.out::println); + try{ + alarmService.UpsAlarm(); + } + catch (Exception e){ + e.printStackTrace(); + } + UpsHistory upsHistory = new UpsHistory(); + upsHistory.setUpsId(3); + upsHistoryMapper.insert(upsHistory); + + Page page = new Page<>(2,5); + IPage ipage =upsHistoryMapper.selectPage(page, null); + List list = ipage.getRecords(); + list.forEach(System.out::println); +// System.out.println(ipage.getRecords()); +// List upsHistories = upsHistoryMapper.selectList(null); +// System.out.println(upsHistories); + } } \ No newline at end of file