From a8a0ce72ed9db7c9ca874ad03c042e55d5d652cb Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Thu, 11 May 2023 20:08:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=8A=A5=E8=AD=A6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DyLevelController.java | 17 +++ .../xymanager_admin/test/AlarmImgBean.java | 81 ++++++++++++ .../shxy/xymanager_admin/test/PostUtil.java | 61 +++++++++ .../test/RequestAlarmImgBean.java | 64 ++++++++++ .../com/shxy/xymanager_admin/test/Test.java | 120 ++++++++++++++++++ .../src/main/resources/application-test.yml | 4 +- .../XymanagerAdminApplicationTests.java | 58 +++++++-- .../com/shxy/xymanager_common/vo/TestVo.java | 19 +++ .../impl/DyLevelServiceImpl.java | 7 + .../service/DyLevelService.java | 5 + 10 files changed, 426 insertions(+), 10 deletions(-) create mode 100644 xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/AlarmImgBean.java create mode 100644 xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/PostUtil.java create mode 100644 xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/RequestAlarmImgBean.java create mode 100644 xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/Test.java create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java index c6531c7..9c9b202 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/DyLevelController.java @@ -7,7 +7,9 @@ import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.bean.ServiceStatus; import com.shxy.xymanager_common.model.DyLineTreeListModel; import com.shxy.xymanager_common.model.DyListModel; +import com.shxy.xymanager_common.vo.PageVo; import com.shxy.xymanager_common.vo.TerminalIdVo; +import com.shxy.xymanager_common.vo.TestVo; import com.shxy.xymanager_service.service.DyLevelService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -20,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @Api(value = "电压等级接口", tags = "电压等级接口描述") @RestController @@ -54,4 +58,17 @@ public class DyLevelController extends BaseController { return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg()); } } + + @ApiOperation(value = "测试测试", notes = "测试测试", httpMethod = "POST") + @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) + @RequestMapping("/gettest") + @Log(title = "测试测试", type = "查询") + public ResponseReult gettest(@RequestBody List vo) { + ServiceBody serviceBody = dyLevelService.gettest(vo); + if (serviceBody.getCode() == ServiceStatus.SUCCESS) { + return ResponseReult.success(serviceBody.getData()); + } else { + return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg()); + } + } } diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/AlarmImgBean.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/AlarmImgBean.java new file mode 100644 index 0000000..34c5813 --- /dev/null +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/AlarmImgBean.java @@ -0,0 +1,81 @@ +package com.shxy.xymanager_admin.test; + +import java.sql.Date; + +public class AlarmImgBean { + public AlarmImgBean() { + } + + private Integer termid; + private Integer channelid; + private Integer orgid; + private Date time; + private String alarminfo; + private String path; + private String cmdid; + private Integer mediatype; + + public Integer getMediatype() { + return mediatype; + } + + public void setMediatype(Integer mediatype) { + this.mediatype = mediatype; + } + + public Integer getTermid() { + return termid; + } + + public void setTermid(Integer termid) { + this.termid = termid; + } + + public Integer getChannelid() { + return channelid; + } + + public void setChannelid(Integer channelid) { + this.channelid = channelid; + } + + public Integer getOrgid() { + return orgid; + } + + public void setOrgid(Integer orgid) { + this.orgid = orgid; + } + + public Date getTime() { + return time; + } + + public void setTime(Date time) { + this.time = time; + } + + public String getAlarminfo() { + return alarminfo; + } + + public void setAlarminfo(String alarminfo) { + this.alarminfo = alarminfo; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getCmdid() { + return cmdid; + } + + public void setCmdid(String cmdid) { + this.cmdid = cmdid; + } +} diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/PostUtil.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/PostUtil.java new file mode 100644 index 0000000..8d8b3d4 --- /dev/null +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/PostUtil.java @@ -0,0 +1,61 @@ +package com.shxy.xymanager_admin.test; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.URL; +import java.net.URLConnection; + +public class PostUtil { + + public static String sendPost(String url, String param) { + PrintWriter out = null; + BufferedReader in = null; + String result = ""; + try { + URL realUrl = new URL(url); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + // 设置通用的请求属性 + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("Content-Type", "application/json"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 发送POST请求必须设置如下两行 + conn.setDoOutput(true); + conn.setDoInput(true); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // 发送请求参数 + out.print(param); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 + in = new BufferedReader( + new InputStreamReader(conn.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.err.println("发送POST请求出现异常!" + e); + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally { + try { + if (out != null) { + out.close(); + } + if (in != null) { + in.close(); + } + } catch (IOException ex) { + ex.printStackTrace(); + } + } + return result; + } + +} diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/RequestAlarmImgBean.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/RequestAlarmImgBean.java new file mode 100644 index 0000000..2c5ea6b --- /dev/null +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/RequestAlarmImgBean.java @@ -0,0 +1,64 @@ +package com.shxy.xymanager_admin.test; + +import com.mysql.cj.xdevapi.JsonValue; + +public class RequestAlarmImgBean implements JsonValue { + public RequestAlarmImgBean() { + } + + private String deviceld; + private String alarmDate; + private String alarmType; + private String message; + private String picurl; + private String companyld; + + + public String getDeviceld() { + return deviceld; + } + + public void setDeviceld(String deviceld) { + this.deviceld = deviceld; + } + + public String getAlarmDate() { + return alarmDate; + } + + public void setAlarmDate(String alarmDate) { + this.alarmDate = alarmDate; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getPicurl() { + return picurl; + } + + public void setPicurl(String picurl) { + this.picurl = picurl; + } + + public String getCompanyld() { + return companyld; + } + + public void setCompanyld(String companyld) { + this.companyld = companyld; + } +} diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/Test.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/Test.java new file mode 100644 index 0000000..887e55f --- /dev/null +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/test/Test.java @@ -0,0 +1,120 @@ +package com.shxy.xymanager_admin.test; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.mysql.cj.xdevapi.JsonArray; + +import java.sql.*; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +public class Test { + + private static Connection con; + + public static void main(String[] args) throws Exception { + String driver = "com.mysql.jdbc.Driver"; + //这里我的数据库是cgjr + String url = "jdbc:mysql://47.96.238.157:3306/xymp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + String user = "xymp"; + String password = "Xymp@2023"; + try { + Class.forName(driver); + con = DriverManager.getConnection(url, user, password); + if (!con.isClosed()) { + System.out.println("数据库连接成功"); + } + Statement statement = con.createStatement(); + int checkid = 0; + String checksql = "SELECT * FROM terminal_img_alarms_check where `key` = 'alarm_check';";//查询记录表 + ResultSet checkresultSet = statement.executeQuery(checksql); + while (checkresultSet.next()) { + checkid = checkresultSet.getInt("value"); + } + checkresultSet.close(); + +// 执行查询语句 + String sql = String.format("SELECT * FROM v_img_alarms where id > %d;", checkid);//查询报警图片视图 + ResultSet resultSet = statement.executeQuery(sql); + +// 打印查询出来的东西 + Integer id = null;// + List list = new ArrayList<>(); + while (resultSet.next()) { + id = resultSet.getInt("id"); + Integer termid = resultSet.getInt("term_id"); + Integer channelid = resultSet.getInt("channel_id"); + Integer orgid = resultSet.getInt("photo_org_id"); + Date time = resultSet.getDate("alarm_time"); + String alarminfo = resultSet.getString("alarm_info"); + String path = resultSet.getString("path"); + String cmdid = resultSet.getString("cmdid"); + Integer mediatype = resultSet.getInt("media_type"); + AlarmImgBean alarmImgBean = new AlarmImgBean(); + alarmImgBean.setTermid(termid); + alarmImgBean.setChannelid(channelid); + alarmImgBean.setOrgid(orgid); + alarmImgBean.setTime(time); + alarmImgBean.setAlarminfo(alarminfo); + alarmImgBean.setPath(path); + alarmImgBean.setCmdid(cmdid); + alarmImgBean.setMediatype(mediatype); + list.add(alarmImgBean); + } + // 关闭连接 + resultSet.close(); + System.out.println("数据库已关闭连接"); + + if (list.size() >0) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + JsonArray jsonArray = new JsonArray(); + for (AlarmImgBean item : list) { + String info = item.getAlarminfo(); + JSONObject jsonObject = JSONObject.parseObject(info); + JSONArray alarmlist = jsonObject.getJSONArray("list"); + for (Object ite : alarmlist) { + JSONObject jo = JSONObject.parseObject(String.valueOf(ite)); + String nameCn = jo.getString("nameCn"); + RequestAlarmImgBean bean = new RequestAlarmImgBean(); + bean.setDeviceld(item.getCmdid()); + String date = sdf.format(item.getTime()); + bean.setAlarmDate(date); + bean.setAlarmType(nameCn); + bean.setMessage(nameCn); + //TODO 图片路径待完善 + if (item.getMediatype() == 0) { + bean.setPicurl(item.getPath()); + } else { + bean.setPicurl(item.getPath()); + } + //TODO 公司id待确认 + bean.setCompanyld("xy"); + jsonArray.add(bean); + } + } + String s = PostUtil.sendPost("http://127.0.0.1:8093/api/gettest", JSON.toJSONString(jsonArray)); + JSONObject jsonObject = JSON.parseObject(s); + if (jsonObject.getInteger("code") == 200) { + if (id != null) { + String updatesql = String.format("update terminal_img_alarms_check SET value = %d where `key` = 'alarm_check';", id);//查询报警图片视图 + int i = statement.executeUpdate(updatesql); + } + } else { + System.out.println("失败"); + } + }else { + System.out.println("没有需要上传的报错数据"); + } + } catch (ClassNotFoundException e) { + System.out.println("数据库驱动没有安装"); + } catch (SQLException e) { + System.out.println("数据库连接失败"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + con.close(); + } + } +} diff --git a/xymanager_admin/src/main/resources/application-test.yml b/xymanager_admin/src/main/resources/application-test.yml index 4bb4ae3..375f587 100644 --- a/xymanager_admin/src/main/resources/application-test.yml +++ b/xymanager_admin/src/main/resources/application-test.yml @@ -2,7 +2,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://47.96.238.157:3306/xymp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3306/xymp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: xymp password: Xymp@2023 type: com.alibaba.druid.pool.DruidDataSource @@ -173,3 +173,5 @@ upload: path: http://47.96.238.157/usr/local/home/manager/download/ photo: address: http://47.96.238.157/photos/ +video: + address: http://47.96.238.157/videos/ diff --git a/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java b/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java index d35fd98..2a044fb 100644 --- a/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java +++ b/xymanager_admin/src/test/java/com/shxy/xymanager_admin/XymanagerAdminApplicationTests.java @@ -1,13 +1,19 @@ package com.shxy.xymanager_admin; -import com.shxy.xymanager_dao.dao.LinesDao; -import com.shxy.xymanager_dao.dao.TerminalScheduleRuleDao; -import com.shxy.xymanager_dao.dao.TerminalsDao; -import com.shxy.xymanager_service.interaction.Cma; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.shxy.xymanager_common.entity.DyLevel; +import com.shxy.xymanager_common.enums.CommonStatus; +import com.shxy.xymanager_common.model.LineAndGtAndChannelListModel; +import com.shxy.xymanager_common.util.MyDateUtils; +import com.shxy.xymanager_dao.dao.*; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import java.math.BigInteger; +import java.util.List; + @SpringBootTest class XymanagerAdminApplicationTests { @@ -16,8 +22,11 @@ class XymanagerAdminApplicationTests { @Autowired TerminalScheduleRuleDao terminalScheduleRuleDao; @Autowired + TerminalScheduleDao terminalScheduleDao; + @Autowired LinesDao linesDao; - + @Autowired + private DyLevelDao dyLevelDao; @Test void contextLoads() { @@ -50,11 +59,42 @@ class XymanagerAdminApplicationTests { // } // System.out.println(dateTime.toString()); - Cma cma = new Cma("47.96.238.157", 6891); - boolean b = cma.requestCapture("XYH10H00000000022", (short) 1, (short) 255, (short) 0); - System.out.println(b); +// Cma cma = new Cma("47.96.238.157", 6891); +// boolean b = cma.requestCapture("XYH10H00000000022", (short) 1, (short) 255, (short) 0); +// System.out.println(b); + +// CmaDLL cmaDLL = + +// TerminalSchedule terminalSchedule = new TerminalSchedule(); +// terminalSchedule.setName("ces"); +// terminalSchedule.setRemark("vo.getRemark()"); +// Date date = new Date(); +//// TerminalSchedule bean = terminalScheduleDao.insertSelectiv|e(terminalSchedule, CommonStatus.EFFECTIVE.value(), date, date); +// int i = terminalScheduleDao.insertSelective(terminalSchedule); +// System.out.println(i); +// ArrayList list = new ArrayList<>(); +// for (TerminalRuleVo item : vo.getList()) { +// TerminalScheduleRule rule = new TerminalScheduleRule(); +// rule.setScheduleId(bean.getId()); +// rule.setStartTime(item.getStartTime()); +// rule.setEndTime(item.getEndTime()); +// rule.setSpan(item.getSpan()); +// list.add(rule); +// } +// int i = terminalScheduleRuleDao.insertList(list, CommonStatus.EFFECTIVE.value(), date, date); + + +// List list = dyLevelDao.selectAll(CommonStatus.EFFECTIVE.value()); +// List beans = BeanUtil.copyToList(list, LineAndGtAndChannelListModel.Bean.class); +// System.out.println(beans.toArray()); -// CmaDLL cmaDLL = new CmaDLL(); + BigInteger time = MyDateUtils.TimeSecond2MillSecond(1683682322); + DateTime date = MyDateUtils.date(time.longValue()); + BigInteger time1 = MyDateUtils.TimeSecond2MillSecond(1683683185); + DateTime date1 = MyDateUtils.date(time1.longValue()); + BigInteger time2 = MyDateUtils.TimeSecond2MillSecond(1683683196); + DateTime date2 = MyDateUtils.date(time2.longValue()); + System.out.println(date + " " + date2 ); } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java new file mode 100644 index 0000000..b77b6bb --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TestVo.java @@ -0,0 +1,19 @@ +package com.shxy.xymanager_common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; + +@Data +@ApiModel(value = "请求对象", description = "请求对象") +public class TestVo { + private String deviceld; + private String alarmDate; + private String alarmType; + private String message; + private String picurl; + private String companyld; + +} diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java index 7296cc3..be38406 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java @@ -15,6 +15,7 @@ import com.shxy.xymanager_common.model.DyLineTreeListModel; import com.shxy.xymanager_common.model.DyListModel; import com.shxy.xymanager_common.util.MyDateUtils; import com.shxy.xymanager_common.vo.TerminalIdVo; +import com.shxy.xymanager_common.vo.TestVo; import com.shxy.xymanager_dao.dao.DyLevelDao; import com.shxy.xymanager_service.service.DyLevelService; import lombok.extern.slf4j.Slf4j; @@ -94,4 +95,10 @@ public class DyLevelServiceImpl implements DyLevelService { } return Asserts.success(model); } + + @Override + public ServiceBody gettest(List vo) { + log.info(vo.toString()); + return Asserts.success("success"); + } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/DyLevelService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/DyLevelService.java index b92dc85..7c4f223 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/DyLevelService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/DyLevelService.java @@ -4,6 +4,9 @@ import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.model.DyLineTreeListModel; import com.shxy.xymanager_common.model.DyListModel; import com.shxy.xymanager_common.vo.TerminalIdVo; +import com.shxy.xymanager_common.vo.TestVo; + +import java.util.List; /** * 电压等级接口 @@ -26,4 +29,6 @@ public interface DyLevelService { */ ServiceBody getdyList(); + + ServiceBody gettest(List vo); }