From fe3cf2ddd9596ee7f20faa8809b3e8b751b37584 Mon Sep 17 00:00:00 2001
From: 吴健 <14790700720@163.com>
Date: 星期三, 14 五月 2025 10:37:06 +0800
Subject: [PATCH] first-add1

---
 billion-ui/src/assets/logo/logo.png                            |    0 
 billion-main/src/main/java/com/billion/main/tcp/TcpClient.java |  134 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/billion-main/src/main/java/com/billion/main/tcp/TcpClient.java b/billion-main/src/main/java/com/billion/main/tcp/TcpClient.java
new file mode 100644
index 0000000..326e5d0
--- /dev/null
+++ b/billion-main/src/main/java/com/billion/main/tcp/TcpClient.java
@@ -0,0 +1,134 @@
+//package com.billion.main.tcp;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.util.ObjUtil;
+//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+//import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+//import com.billion.main.da.domain.DaStationCollection;
+//import com.billion.main.da.service.impl.DaStationCollectionServiceImpl;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.scheduling.annotation.Async;
+//import org.springframework.stereotype.Component;
+//
+//import javax.annotation.PostConstruct;
+//import javax.annotation.Resource;
+//import java.io.IOException;
+//import java.io.InputStream;
+//import java.io.OutputStream;
+//import java.net.InetAddress;
+//import java.net.ServerSocket;
+//import java.net.Socket;
+//import java.net.UnknownHostException;
+//import java.util.Arrays;
+//import java.util.List;
+//import java.nio.charset.StandardCharsets;
+//
+///**
+// * 绠�浠嬭鏄�:TCP杩炴帴
+// *
+// * @author: Eric
+// * @date: 2025-03-29 13:29:01
+// * @version: 1.0
+// */
+//@Slf4j
+//@Component
+//public class TcpClient {
+//
+//    private Socket socket;
+//    private InputStream input;
+//    private OutputStream output;
+//
+//    @Value("${tcp.server.ip}")
+//    private String serverIp;
+//
+//    @Value("${tcp.server.port}")
+//    private int serverPort;
+//
+//    @Resource
+//    private DaStationCollectionServiceImpl daStationCollectionService;
+//
+//    @PostConstruct
+//    public void init() throws UnknownHostException {
+//
+//        try {
+//            log.info("寮�濮嬪缓绔嬭繛鎺�");
+//            // 寤虹珛 TCP 杩炴帴
+//            socket = new Socket(serverIp, serverPort);
+//            int localPort = socket.getLocalPort();
+//            InetAddress localAddress = socket.getLocalAddress();
+//            log.info("localPort",localPort);
+//            log.info("localAddress",localAddress);
+//            int port = socket.getPort();
+//            log.info("port:",port);
+//            input = socket.getInputStream();
+//            output = socket.getOutputStream();
+//            log.info("input:",input);
+//            log.info("output:",output);
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+//    }
+//
+//    // 鍙戦�佹暟鎹埌涓嬩綅鏈�
+//    public void sendData(byte[] data) throws IOException {
+//        output.write(data);
+//        output.flush();
+//    }
+//
+//    // 鎺ユ敹涓嬩綅鏈烘暟鎹紙鎸佺画鐩戝惉锛�
+//    @Async
+//    public void receiveData() {
+//        log.info("鎺ユ敹鏁版嵁寰幆");
+//        byte[] buffer = new byte[1024];
+//        if (ObjUtil.isNotNull(socket)){
+//            while (!socket.isClosed()) {
+//                try {
+//                    log.info("寮�濮嬫帴鏀舵暟鎹�");
+//                    int len = input.read(buffer);
+//                    if (len > 0) {
+//                        byte[] received = Arrays.copyOf(buffer, len);
+//                        String str = new String(received, "UTF-8");
+//                        System.out.println(str);
+//                        log.info("鎺ユ敹鍒版暟鎹細",str);
+////                    processData(received); // 澶勭悊鏁版嵁
+//                        List<DaStationCollection> collect = daStationCollectionService.list(new LambdaQueryWrapper<DaStationCollection>()
+//                                .eq(DaStationCollection::getStatus, "0"));
+//                        if (CollUtil.isNotEmpty(collect)) {
+//                            DaStationCollection daStationCollection = collect.get(0);
+//                            String sfcCode = daStationCollection.getSfcCode();
+//                            TcpClient tcpClient = new TcpClient();
+//                            byte[] bytes = sfcCode.getBytes(StandardCharsets.UTF_8);
+//                            tcpClient.sendData(bytes);
+//                            log.info("鍙戦�佹暟鎹細",sfcCode);
+//                            log.info("鍙戦�佹暟鎹�-byte锛�",bytes);
+//                            //娓呴櫎
+//                            daStationCollectionService.update(new LambdaUpdateWrapper<DaStationCollection>()
+//                                    .eq(DaStationCollection::getSfcCode,sfcCode)
+//                                    .set(DaStationCollection::getStatus,"1"));
+//                        }
+//                    }
+//                } catch (IOException e) {
+//                    e.printStackTrace();
+//                    closeConnection();
+//                }
+//            }
+//        }
+//
+//    }
+//
+////    private void processData(byte[] data) {
+////        // 瑙f瀽鏁版嵁锛堝 Modbus TCP 鍗忚锛�
+////        System.out.println("Received: " + HexUtils.bytesToHex(data));
+////    }
+//
+//    public void closeConnection() {
+//        try {
+//            input.close();
+//            output.close();
+//            socket.close();
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+//    }
+//}
diff --git a/billion-ui/src/assets/logo/logo.png b/billion-ui/src/assets/logo/logo.png
new file mode 100644
index 0000000..93ac3d5
--- /dev/null
+++ b/billion-ui/src/assets/logo/logo.png
Binary files differ

--
Gitblit v1.9.3