From c0b243ba7390f071a70ead2e0927cc6b93ab4b08 Mon Sep 17 00:00:00 2001 From: Fanyiwen <1225674957@qq.com> Date: Fri, 1 Jul 2022 00:17:20 +0800 Subject: [PATCH] update --- src/server/pom.xml | 6 +- .../example/testdemo/ServerApplication.java | 4 +- .../com/example/testdemo/entity/Good.java | 53 ++++++++++ .../example/testdemo/entity/Operation.java | 46 +++++++++ .../example/testdemo/manager/GoodManager.java | 16 +++ .../MessageManager.java} | 44 ++++++--- .../testdemo/manager/OperationManager.java | 18 ++++ .../{config => manager}/WebSocketConfig.java | 2 +- src/server/src/main/resources/a.js | 1 - src/server/src/main/resources/application.yml | 2 - .../src/main/resources/mapper/goodmapper.xml | 15 +++ .../main/resources/mapper/operationmapper.xml | 12 +++ src/server/src/main/resources/test.html | 74 ++++++++++---- src/server/src/main/resources/test.js | 97 ------------------- 14 files changed, 252 insertions(+), 138 deletions(-) create mode 100644 src/server/src/main/java/com/example/testdemo/entity/Good.java create mode 100644 src/server/src/main/java/com/example/testdemo/entity/Operation.java create mode 100644 src/server/src/main/java/com/example/testdemo/manager/GoodManager.java rename src/server/src/main/java/com/example/testdemo/{config/SendObjectMessage.java => manager/MessageManager.java} (84%) create mode 100644 src/server/src/main/java/com/example/testdemo/manager/OperationManager.java rename src/server/src/main/java/com/example/testdemo/{config => manager}/WebSocketConfig.java (90%) delete mode 100644 src/server/src/main/resources/a.js create mode 100644 src/server/src/main/resources/mapper/goodmapper.xml create mode 100644 src/server/src/main/resources/mapper/operationmapper.xml delete mode 100644 src/server/src/main/resources/test.js diff --git a/src/server/pom.xml b/src/server/pom.xml index 7a65126..f8c3465 100644 --- a/src/server/pom.xml +++ b/src/server/pom.xml @@ -47,7 +47,11 @@ selenium-java 3.141.59 - + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.1.1 + diff --git a/src/server/src/main/java/com/example/testdemo/ServerApplication.java b/src/server/src/main/java/com/example/testdemo/ServerApplication.java index a9c32f1..0531968 100644 --- a/src/server/src/main/java/com/example/testdemo/ServerApplication.java +++ b/src/server/src/main/java/com/example/testdemo/ServerApplication.java @@ -2,9 +2,10 @@ package com.example.testdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -@SpringBootApplication +@SpringBootApplication(exclude= DataSourceAutoConfiguration.class) public class ServerApplication { public static void main(String[] args) { @@ -12,7 +13,6 @@ public class ServerApplication { SpringApplication.run(ServerApplication.class, args); } - } diff --git a/src/server/src/main/java/com/example/testdemo/entity/Good.java b/src/server/src/main/java/com/example/testdemo/entity/Good.java new file mode 100644 index 0000000..52b7f79 --- /dev/null +++ b/src/server/src/main/java/com/example/testdemo/entity/Good.java @@ -0,0 +1,53 @@ +package com.example.testdemo.entity; + +public class Good { + private int id; + private String phoneNum; + private int shelfNum; + private int floorNum; + private String time; + + public Good(){ + + } + + public int getId(){ + return id; + } + + public void setId(int id){ + this.id = id; + } + + public String getPhoneNum(){ + return phoneNum; + } + + public void setPhoneNum(String phoneNum){ + this.phoneNum = phoneNum; + } + + public int getShelfNum(){ + return shelfNum; + } + + public void setShelfNum(int shelfNum){ + this.shelfNum = shelfNum; + } + + public int getFloorNum(){ + return floorNum; + } + + public void setFloorNum(int floorNum){ + this.floorNum = floorNum; + } + + public String getTime(){ + return time; + } + public void setTime(String time){ + this.time = time; + } + +} diff --git a/src/server/src/main/java/com/example/testdemo/entity/Operation.java b/src/server/src/main/java/com/example/testdemo/entity/Operation.java new file mode 100644 index 0000000..a1b18c5 --- /dev/null +++ b/src/server/src/main/java/com/example/testdemo/entity/Operation.java @@ -0,0 +1,46 @@ +package com.example.testdemo.entity; + + +public class Operation { + private int id; + private String pickUpCode; + private String phoneNum; + private String time; + + public Operation(){ + + } + + public int getId(){ + return id; + } + + public void setId(int id){ + this.id = id; + } + + public String getPickUpCode(){ + return pickUpCode; + } + + public void setPickUpCode(String PickUpCode){ + this.pickUpCode = PickUpCode; + } + + public String getPhoneNum(){ + return phoneNum; + } + + public void setPhoneNum(String PhoneNum){ + this.phoneNum = PhoneNum; + } + + public String getTime(){ + return time; + } + + public void setTime(String time){ + this.time = time; + } + +} diff --git a/src/server/src/main/java/com/example/testdemo/manager/GoodManager.java b/src/server/src/main/java/com/example/testdemo/manager/GoodManager.java new file mode 100644 index 0000000..3e4ddc8 --- /dev/null +++ b/src/server/src/main/java/com/example/testdemo/manager/GoodManager.java @@ -0,0 +1,16 @@ +package com.example.testdemo.manager; + +import com.example.testdemo.entity.Good; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@org.apache.ibatis.annotations.Mapper +@Repository +public interface GoodManager { + List queryGoodsById(int id); + + List queryGoodsByPhonenum(String phonenum); + + void delete(int id); +} diff --git a/src/server/src/main/java/com/example/testdemo/config/SendObjectMessage.java b/src/server/src/main/java/com/example/testdemo/manager/MessageManager.java similarity index 84% rename from src/server/src/main/java/com/example/testdemo/config/SendObjectMessage.java rename to src/server/src/main/java/com/example/testdemo/manager/MessageManager.java index 158c364..278b6e2 100644 --- a/src/server/src/main/java/com/example/testdemo/config/SendObjectMessage.java +++ b/src/server/src/main/java/com/example/testdemo/manager/MessageManager.java @@ -1,25 +1,22 @@ -package com.example.testdemo.config; +package com.example.testdemo.manager; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import jdk.nashorn.internal.scripts.JS; +import com.example.testdemo.entity.Good; import lombok.extern.slf4j.Slf4j; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import sun.rmi.runtime.Log; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.util.List; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; @@ -27,16 +24,17 @@ import java.util.concurrent.atomic.AtomicInteger; @Slf4j @ServerEndpoint("/result") @Component -public class SendObjectMessage { +public class MessageManager { + @Autowired + private GoodManager gmanager; private static String TAG = "SendObjectMessage"; private static AtomicInteger onlineCount = new AtomicInteger(0); - private static ConcurrentLinkedQueue socket = new ConcurrentLinkedQueue(); + private static ConcurrentLinkedQueue socket = new ConcurrentLinkedQueue(); private Session session; - private SendObjectMessage mObject = null; - + private MessageManager mObject = null; @OnOpen public void onOpen(Session session) { @@ -79,7 +77,6 @@ public class SendObjectMessage { String op = js.getString("op"); if(op.equals("connect")){ - log.info(TAG, "connect"); JSONObject content = js.getJSONObject("content"); String user = content.getString("user"); @@ -96,8 +93,9 @@ public class SendObjectMessage { if(con.equals("yes")){ try { - log.info(TAG, "testSelenium1"); - testSelenium1(); + log.info(TAG, "testSelenium"); + + testSelenium(); } catch (Exception e) { @@ -142,7 +140,7 @@ public class SendObjectMessage { } - public static void testSelenium1() throws Exception { + public static void testSelenium() throws Exception {//打开浏览器调用js文件 // 使用HtmlUnitDriver 是不需要 安装 浏览器 和 驱动支持\ System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); @@ -176,4 +174,20 @@ public class SendObjectMessage { return script.toString();//返回读取的文件流 } + public void queryGoodsById(int id){ + List goodsList = gmanager.queryGoodsById(id); + + for(Good g:goodsList){ + System.out.println(g); + } + + } + + public void queryGoodsByPhonenum(String phonenum){ + List goodsList = gmanager.queryGoodsByPhonenum(phonenum); + + for(Good g:goodsList) { + System.out.println(g); + } + } } diff --git a/src/server/src/main/java/com/example/testdemo/manager/OperationManager.java b/src/server/src/main/java/com/example/testdemo/manager/OperationManager.java new file mode 100644 index 0000000..8ca6a36 --- /dev/null +++ b/src/server/src/main/java/com/example/testdemo/manager/OperationManager.java @@ -0,0 +1,18 @@ +package com.example.testdemo.manager; + + +import com.example.testdemo.entity.Operation; +import jdk.nashorn.internal.runtime.OptimisticReturnFilters; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@org.apache.ibatis.annotations.Mapper +@Repository +public interface OperationManager { + + void addOperation(String pickupcode, String phonenum, String time); + + List queryOperationsByPhone(String phonenum); + +} diff --git a/src/server/src/main/java/com/example/testdemo/config/WebSocketConfig.java b/src/server/src/main/java/com/example/testdemo/manager/WebSocketConfig.java similarity index 90% rename from src/server/src/main/java/com/example/testdemo/config/WebSocketConfig.java rename to src/server/src/main/java/com/example/testdemo/manager/WebSocketConfig.java index b21c88e..a496acb 100644 --- a/src/server/src/main/java/com/example/testdemo/config/WebSocketConfig.java +++ b/src/server/src/main/java/com/example/testdemo/manager/WebSocketConfig.java @@ -1,4 +1,4 @@ -package com.example.testdemo.config; +package com.example.testdemo.manager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/server/src/main/resources/a.js b/src/server/src/main/resources/a.js deleted file mode 100644 index 8b13789..0000000 --- a/src/server/src/main/resources/a.js +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/server/src/main/resources/application.yml b/src/server/src/main/resources/application.yml index 5b63b17..ef36a13 100644 --- a/src/server/src/main/resources/application.yml +++ b/src/server/src/main/resources/application.yml @@ -14,5 +14,3 @@ spring: prefix: classpath: /template cache: false - - diff --git a/src/server/src/main/resources/mapper/goodmapper.xml b/src/server/src/main/resources/mapper/goodmapper.xml new file mode 100644 index 0000000..a03e7aa --- /dev/null +++ b/src/server/src/main/resources/mapper/goodmapper.xml @@ -0,0 +1,15 @@ + + + + + + delete from goods where id = #{id}; + + + diff --git a/src/server/src/main/resources/mapper/operationmapper.xml b/src/server/src/main/resources/mapper/operationmapper.xml new file mode 100644 index 0000000..f532964 --- /dev/null +++ b/src/server/src/main/resources/mapper/operationmapper.xml @@ -0,0 +1,12 @@ + + + + + insert into operations(pickupcode, phonenum, time) values (#{pickupcode},#{phonenum},#{time})}) + + + diff --git a/src/server/src/main/resources/test.html b/src/server/src/main/resources/test.html index e6c4170..24334a7 100644 --- a/src/server/src/main/resources/test.html +++ b/src/server/src/main/resources/test.html @@ -10,6 +10,7 @@ // Connecting to ROS // ----------------- + var ros = new ROSLIB.Ros({ url : 'ws://192.168.43.20:9090' }); @@ -25,29 +26,64 @@ ros.on('close', function() { console.log('Connection to websocket server closed.'); }); + var move_base= new ROSLIB.ActionClient({ + ros : ros, + serverName : '/move_base', + actionName : 'move_base_msgs/MoveBaseAction' + }); - // Publishing a Topic - // ------------------ + var currentTime = new Date(); + var secs = Math.floor(currentTime.getTime()/1000) + var nsecs = Math.round(1000000000*(currentTime.getTime()/1000-secs)) - var cmdVel = new ROSLIB.Topic({ - ros : ros, - name : '/cmd_vel', - messageType : 'geometry_msgs/Twist' - }); - - var twist = new ROSLIB.Message({ - linear : { - x : 0.1, - y : 0.2, - z : 0.3 - }, - angular : { - x : -0.1, - y : -0.2, - z : -0.3 + var goal = new ROSLIB.Goal({ + actionClient: move_base, + goalMessage:{ + target_pose:{ + header:{ + frame_id:'map', + stamp:{ + secs: secs, + nsecs:nsecs + } + }, + pose:{ + position:{ + x:-3.97, //-0.743 -0.0273 取件点 + y:1.68, //3.00 -0.09 + z:0.000 + }, + orientation:{ + x:0.000, + y:0.000, + z:0.000, + w:1.000 + } + } + } } }); - cmdVel.publish(twist); + goal.on('feedback', function(feedback) { + console.log('Feedback: ' + feedback.sequence); + }); + + goal.on('result', function(result) { + console.log('Final Result: ' + result.sequence); + }); + + ros.on('connection', function() { + console.log('Connected to websocket server.'); + }); + + ros.on('error', function(error) { + console.log('Error connecting to websocket server: ', error); + }); + + ros.on('close', function() { + console.log('Connection to websocket server closed.'); + }); + + goal.send(); diff --git a/src/server/src/main/resources/test.js b/src/server/src/main/resources/test.js deleted file mode 100644 index 38bca22..0000000 --- a/src/server/src/main/resources/test.js +++ /dev/null @@ -1,97 +0,0 @@ - - // document.write('\n'); - // document.write('\n'); - - var ros = new ROSLIB.Ros({ - url : 'ws://192.168.43.20:9090' -}); - - ros.on('connection', function() { - console.log('Connected to websocket server.'); -}); - - ros.on('error', function(error) { - console.log('Error connecting to websocket server: ', error); -}); - - ros.on('close', function() { - console.log('Connection to websocket server closed.'); -}); - var move_base= new ROSLIB.ActionClient({ - ros : ros, - serverName : '/move_base', - actionName : 'move_base_msgs/MoveBaseAction' - }); - - var currentTime = new Date(); - var secs = Math.floor(currentTime.getTime()/1000) - var nsecs = Math.round(1000000000*(currentTime.getTime()/1000-secs)) - - var goal = new ROSLIB.Goal({ - actionClient: move_base, - goalMessage:{ - target_pose:{ - header:{ - frame_id:'map', - stamp:{ - secs: secs, - nsecs:nsecs - } - }, - pose:{ - position:{ - x:-3.97, //-0.743 -0.0273 取件点 - y:1.68, //3.00 -0.09 - z:0.000 - }, - orientation:{ - x:0.000, - y:0.000, - z:0.000, - w:1.000 - } - } - } - } - }); - goal.on('feedback', function(feedback) { - console.log('Feedback: ' + feedback.sequence); - }); - - goal.on('result', function(result) { - console.log('Final Result: ' + result.sequence); - }); - - ros.on('connection', function() { - console.log('Connected to websocket server.'); - }); - - ros.on('error', function(error) { - console.log('Error connecting to websocket server: ', error); - }); - - ros.on('close', function() { - console.log('Connection to websocket server closed.'); - }); - - goal.send(); - var cmdVel = new ROSLIB.Topic({ - ros : ros, - name : '/cmd_vel', - messageType : 'geometry_msgs/Twist' - }); - - var twist = new ROSLIB.Message({ - linear : { - x : 0.1, - y : 0.2, - z : 0.3 - }, - angular : { - x : -0.1, - y : -0.2, - z : -0.3 - } - }); - //cmdVel.publish(twist); -