diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 63e9001..fbdec87 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -2,5 +2,7 @@ + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 67e1e61..5c1ed9d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,8 +5,9 @@ - + \ No newline at end of file diff --git a/excelTemplate/carManageExport.xls b/excelTemplate/carManageExport.xls new file mode 100644 index 0000000..53636b4 Binary files /dev/null and b/excelTemplate/carManageExport.xls differ diff --git a/excelTemplate/orderExport.xls b/excelTemplate/orderExport.xls new file mode 100644 index 0000000..380e3de Binary files /dev/null and b/excelTemplate/orderExport.xls differ diff --git a/src/main/java/com/smart/common/config/FileConfig.java b/src/main/java/com/smart/common/config/FileConfig.java index 09b5cd0..ea72b36 100644 --- a/src/main/java/com/smart/common/config/FileConfig.java +++ b/src/main/java/com/smart/common/config/FileConfig.java @@ -1,24 +1,24 @@ -//package com.smart.common.config; -// -//import org.springframework.beans.factory.annotation.Value; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -// -///** -// * file映射项目外文件夹 -// */ -//@Configuration //定义配置信息 -//public class FileConfig implements WebMvcConfigurer {//继承,配置Web MVC的相关设置 -// -// // 从配置文件中读取文件路径 -// @Value("${file.path}") -// private String filePath; -// -// // 重写addResourceHandlers方法,用于添加资源处理器 -// @Override -// public void addResourceHandlers(ResourceHandlerRegistry registry) { -// // 注册一个资源处理器,将/file/**的URL请求映射到指定的文件路径下 -// registry.addResourceHandler("/file/**").addResourceLocations("file:" + filePath + "/"); -// } -//} +package com.smart.common.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * file映射项目外文件夹 + */ +@Configuration //定义配置信息 +public class FileConfig implements WebMvcConfigurer {//继承,配置Web MVC的相关设置 + + // 从配置文件中读取文件路径 + @Value("${file.path}") + private String filePath; + + // 重写addResourceHandlers方法,用于添加资源处理器 + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // 注册一个资源处理器,将/file/**的URL请求映射到指定的文件路径下 + registry.addResourceHandler("/file/**").addResourceLocations("file:" + filePath + "/"); + } +} diff --git a/src/main/java/com/smart/common/mqtt/MqttGateway.java b/src/main/java/com/smart/common/mqtt/MqttGateway.java deleted file mode 100644 index 61051ac..0000000 --- a/src/main/java/com/smart/common/mqtt/MqttGateway.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.smart.common.mqtt; - -import org.springframework.integration.annotation.MessagingGateway; -import org.springframework.integration.mqtt.support.MqttHeaders; -import org.springframework.messaging.handler.annotation.Header; - -// 使用MessagingGateway注解将接口标记为消息网关 -@MessagingGateway(defaultRequestChannel = "mqttOutboundChannel") -public interface MqttGateway { - - // 定义了一个发送消息到MQTT的方法 - // @Header注解用于指定要发送的消息所属的主题(topic) - void sendToMqtt(String data, @Header(MqttHeaders.TOPIC) String topic); - -} diff --git a/src/main/java/com/smart/common/mqtt/MqttSenderConfig.java b/src/main/java/com/smart/common/mqtt/MqttSenderConfig.java deleted file mode 100644 index de96b2a..0000000 --- a/src/main/java/com/smart/common/mqtt/MqttSenderConfig.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.smart.common.mqtt; - -import lombok.extern.slf4j.Slf4j; -import org.eclipse.paho.client.mqttv3.MqttConnectOptions; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.integration.annotation.IntegrationComponentScan; -import org.springframework.integration.annotation.ServiceActivator; -import org.springframework.integration.channel.DirectChannel; -import org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory; -import org.springframework.integration.mqtt.core.MqttPahoClientFactory; -import org.springframework.integration.mqtt.outbound.MqttPahoMessageHandler; -import org.springframework.messaging.MessageChannel; -import org.springframework.messaging.MessageHandler; - -@Slf4j -@Configuration -@IntegrationComponentScan -public class MqttSenderConfig { - - @Value("${spring.mqtt.username}") - private String username; - @Value("${spring.mqtt.password}") - private String password; - @Value("${spring.mqtt.url}") - private String hostUrl; - @Value("${spring.mqtt.client.id}") - private String clientId; - @Value("${spring.mqtt.default.topic}") - private String defaultTopic; - @Value("${spring.mqtt.default.completionTimeout}") - private int completionTimeout; - - // 配置MQTT连接选项 - @Bean - public MqttConnectOptions getMqttConnectOptions() { - MqttConnectOptions mqttConnectOptions = new MqttConnectOptions(); - mqttConnectOptions.setCleanSession(true); - mqttConnectOptions.setConnectionTimeout(10); - mqttConnectOptions.setKeepAliveInterval(90); - mqttConnectOptions.setAutomaticReconnect(true); - mqttConnectOptions.setUserName(username); - mqttConnectOptions.setPassword(password.toCharArray()); - mqttConnectOptions.setServerURIs(new String[]{hostUrl}); - mqttConnectOptions.setKeepAliveInterval(2); - return mqttConnectOptions; - } - - // 创建MqttPahoClientFactory实例,用于创建MqttClient - @Bean - public MqttPahoClientFactory mqttClientFactory() { - DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory(); - factory.setConnectionOptions(getMqttConnectOptions()); - return factory; - } - - // 配置消息处理器,用于发送消息到MQTT - @Bean - @ServiceActivator(inputChannel = "mqttOutboundChannel") - public MessageHandler mqttOutbound() { - MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler(clientId, mqttClientFactory()); - messageHandler.setAsync(true); - messageHandler.setDefaultTopic(defaultTopic); - return messageHandler; - } - - // 配置消息通道,用于接收要发送的消息 - @Bean - public MessageChannel mqttOutboundChannel() { - return new DirectChannel(); - } -} diff --git a/src/main/java/com/smart/module/car/service/impl/CarManageServiceImpl.java b/src/main/java/com/smart/module/car/service/impl/CarManageServiceImpl.java index 4d30ae9..b184e9f 100644 --- a/src/main/java/com/smart/module/car/service/impl/CarManageServiceImpl.java +++ b/src/main/java/com/smart/module/car/service/impl/CarManageServiceImpl.java @@ -74,7 +74,26 @@ public class CarManageServiceImpl implements CarManageService { } return Result.ok(data); } - + // 构建通用的 SQL 条件语句 + public String common(CarManage entity){ + String description = entity.getDescription(); + String commonSql = " WHERE 1=1 "; + if(StringUtils.isNotBlank(description)){ + commonSql += " AND name like '%"+description+"%' "; + } + if(ShiroUtils.isHasRole(SystemConstant.ROLE_ADMIN)){ + if(entity.getOrgId()!=null){ + commonSql +=" AND org_id="+entity.getOrgId(); + } + }else{ + Long orgId = ShiroUtils.getUserEntity().getOrgId(); + commonSql +=" AND org_id="+orgId; + } + if(entity.getParkManageId()!=null){ + commonSql +=" AND park_manage_id="+entity.getParkManageId(); + } + return commonSql; + } // 根据车牌号和停车场ID获取汽车管理信息 @Override public CarManage getByPlateNumber(String plateNumber, Long parkManageId) { @@ -139,25 +158,6 @@ public class CarManageServiceImpl implements CarManageService { return excelExport; // 返回 Excel 导出工具类对象 } - // 构建通用的 SQL 条件语句 - public String common(CarManage entity){ - String description = entity.getDescription(); - String commonSql = " WHERE 1=1 "; - if(StringUtils.isNotBlank(description)){ - commonSql += " AND name like '"+description+"%' "; - } - if(ShiroUtils.isHasRole(SystemConstant.ROLE_ADMIN)){ - if(entity.getOrgId()!=null){ - commonSql +=" AND org_id="+entity.getOrgId(); - } - }else{ - Long orgId = ShiroUtils.getUserEntity().getOrgId(); - commonSql +=" AND org_id="+orgId; - } - if(entity.getParkManageId()!=null){ - commonSql +=" AND park_manage_id="+entity.getParkManageId(); - } - return commonSql; - } + } diff --git a/src/main/java/com/smart/module/sys/service/impl/SysOrgServiceImpl.java b/src/main/java/com/smart/module/sys/service/impl/SysOrgServiceImpl.java index 6a6ce5d..03e2125 100644 --- a/src/main/java/com/smart/module/sys/service/impl/SysOrgServiceImpl.java +++ b/src/main/java/com/smart/module/sys/service/impl/SysOrgServiceImpl.java @@ -29,14 +29,14 @@ public class SysOrgServiceImpl implements SysOrgService { String nativeSql = "SELECT COUNT(*) FROM sys_org WHERE parent_id=? "; // SQL查询语句,根据父机构ID查询子机构数量 String description = org.getDescription(); if(StringUtils.isNotBlank(description)){ - nativeSql +="AND name like '"+description+"%'"; // 根据描述进行模糊查询 + nativeSql +="AND name like '%"+description+"%'";// 根据描述进行模糊查询 } Long count = dynamicQuery.nativeQueryCount(nativeSql,new Object[]{org.getParentId()}); // 查询符合条件的子机构数量 PageBean data = new PageBean<>(); if(count>0){ nativeSql = "SELECT * FROM sys_org WHERE parent_id=? "; // SQL查询语句,根据父机构ID查询子机构列表 if(StringUtils.isNotBlank(description)){ - nativeSql +="AND name like '"+description+"%' "; // 根据描述进行模糊查询 + nativeSql +="AND name like '%"+description+"%'"; // 根据描述进行模糊查询 } nativeSql +="ORDER BY gmt_create desc"; // 按创建时间倒序排列 Pageable pageable = PageRequest.of(org.getPageNo(),org.getPageSize()); // 构造分页查询参数 diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index ae0e26d..8b31b51 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -53,13 +53,6 @@ spring.datasource.hikari.max-lifetime =30000 # ???????? spring.datasource.hikari.connection-test-query=SELECT 1 -# MQTT?? -spring.mqtt.username = admin -spring.mqtt.password = public -spring.mqtt.url = tcp://10.136.7.105:1883 -spring.mqtt.client.id = HDC-188 -spring.mqtt.default.topic = topic -spring.mqtt.default.completionTimeout = 3000 # ??App ID\ KEY\ Access Key Secret bai-du.appId = 37831547 diff --git a/src/main/resources/static/images/1607263022559.png b/src/main/resources/static/images/1607263022559.png deleted file mode 100644 index 948edbf..0000000 Binary files a/src/main/resources/static/images/1607263022559.png and /dev/null differ diff --git a/src/main/resources/static/images/avatar.png b/src/main/resources/static/images/avatar.png deleted file mode 100644 index cca76db..0000000 Binary files a/src/main/resources/static/images/avatar.png and /dev/null differ diff --git a/src/main/resources/static/images/data.jpg b/src/main/resources/static/images/data.jpg deleted file mode 100644 index 56926a2..0000000 Binary files a/src/main/resources/static/images/data.jpg and /dev/null differ diff --git a/src/main/resources/static/images/dogBB.jpg b/src/main/resources/static/images/dogBB.jpg deleted file mode 100644 index 522c3da..0000000 Binary files a/src/main/resources/static/images/dogBB.jpg and /dev/null differ diff --git a/src/main/resources/static/images/face.jpg b/src/main/resources/static/images/face.jpg deleted file mode 100644 index 1550a42..0000000 Binary files a/src/main/resources/static/images/face.jpg and /dev/null differ diff --git a/src/main/resources/static/images/home-02.png b/src/main/resources/static/images/home-02.png deleted file mode 100644 index 6d02ca9..0000000 Binary files a/src/main/resources/static/images/home-02.png and /dev/null differ diff --git a/src/main/resources/static/images/home-03.png b/src/main/resources/static/images/home-03.png deleted file mode 100644 index 0fc19bd..0000000 Binary files a/src/main/resources/static/images/home-03.png and /dev/null differ diff --git a/src/main/resources/static/images/home-04.png b/src/main/resources/static/images/home-04.png deleted file mode 100644 index 3efc993..0000000 Binary files a/src/main/resources/static/images/home-04.png and /dev/null differ diff --git a/src/main/resources/static/images/layers.jpg b/src/main/resources/static/images/layers.jpg deleted file mode 100644 index 02b77e7..0000000 Binary files a/src/main/resources/static/images/layers.jpg and /dev/null differ diff --git a/src/main/resources/static/images/lo.png b/src/main/resources/static/images/lo.png new file mode 100644 index 0000000..1cf35b0 Binary files /dev/null and b/src/main/resources/static/images/lo.png differ diff --git a/src/main/resources/static/images/login.svg b/src/main/resources/static/images/login.svg index 290afd7..1290319 100644 --- a/src/main/resources/static/images/login.svg +++ b/src/main/resources/static/images/login.svg @@ -9,7 +9,7 @@ - + @@ -30,4 +30,9 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/static/images/native.png b/src/main/resources/static/images/native.png deleted file mode 100644 index d93578e..0000000 Binary files a/src/main/resources/static/images/native.png and /dev/null differ diff --git a/src/main/resources/static/images/qrcode.jpg b/src/main/resources/static/images/qrcode.jpg deleted file mode 100644 index 3820a3a..0000000 Binary files a/src/main/resources/static/images/qrcode.jpg and /dev/null differ diff --git a/src/main/resources/static/images/shaxiang.png b/src/main/resources/static/images/shaxiang.png deleted file mode 100644 index 96841f9..0000000 Binary files a/src/main/resources/static/images/shaxiang.png and /dev/null differ diff --git a/src/main/resources/static/images/wechat.jpg b/src/main/resources/static/images/wechat.jpg deleted file mode 100644 index 34cc0bc..0000000 Binary files a/src/main/resources/static/images/wechat.jpg and /dev/null differ diff --git a/src/main/resources/static/images/weiXin.png b/src/main/resources/static/images/weiXin.png deleted file mode 100644 index 79fd4e2..0000000 Binary files a/src/main/resources/static/images/weiXin.png and /dev/null differ diff --git a/src/main/resources/static/images/wx.jpg b/src/main/resources/static/images/wx.jpg deleted file mode 100644 index 1885aca..0000000 Binary files a/src/main/resources/static/images/wx.jpg and /dev/null differ diff --git a/src/main/resources/static/images/zfb.jpg b/src/main/resources/static/images/zfb.jpg deleted file mode 100644 index 98ef0da..0000000 Binary files a/src/main/resources/static/images/zfb.jpg and /dev/null differ diff --git a/src/main/resources/static/js/okadmin.js b/src/main/resources/static/js/okadmin.js index 1bf19cb..882e836 100644 --- a/src/main/resources/static/js/okadmin.js +++ b/src/main/resources/static/js/okadmin.js @@ -209,111 +209,6 @@ layui.use(["element", "layer", "okUtils", "okTab", "okLayer"], function () { } }(); - function noticeFun() { - var srcWidth = okUtils.getBodyWidth(); - layer.open({ - type: 0, title: "系统公告", btn: "我知道啦", btnAlign: 'c', content: getContent(), - yes: function (index) { - if (srcWidth > 800) { - layer.tips('公告跑到这里去啦', '#notice', { - tips: [1, '#000'], - time: 2000 - }); - } - sessionStorage.setItem("notice", "true"); - layer.close(index); - }, - cancel: function (index) { - if (srcWidth > 800) { - layer.tips('公告跑到这里去啦', '#notice', { - tips: [1, '#000'], - time: 2000 - }); - } - } - }); - } - - function getContent() { - let dateStr = okUtils.dateFormat(new Date(), "yyyy-MM-dd"); - let content = ""; - if (dateStr == "2019-12-30" || dateStr == "2019-12-31" || dateStr == "2019-01-01") { - content = "元旦,一年之始也。元,初,始也;旦,太阳微露地平一线,是为一日之始。值此新年之际,祝诸君快乐安康,如意吉祥!
" + - "爪哇图床 祝您元旦节快乐!(^し^)"; - } else if (dateStr == "2020-02-04" || dateStr == "2020-02-05" || dateStr == "2020-02-06" || dateStr == "2020-02-07" || dateStr == "2020-02-08" || dateStr == "2020-02-09" || dateStr == "2020-02-10") { - content = "鞭炮声声迎新年,妙联横生贴门前。
" + - "笑声处处传入耳,美味佳肴上餐桌。
" + - "谈天论地成一片,灯光通明照残夜。
" + - "稚童新衣相夸耀,旧去新来气象清。
" + - "爪哇图床 祝您春节快乐!(^し^)"; - } else if (dateStr == "2020-04-05" || dateStr == "2020-04-06" || dateStr == "2020-04-07") { - content = "清明时节雨纷纷,路上行人欲断魂。
" + - "借问酒家何处有,牧童遥指杏花村。
" + - "爪哇图床 祝您清明节快乐!(^し^)"; - } else if (dateStr == "2020-05-01" || dateStr == "2020-05-02" || dateStr == "2020-05-03" || dateStr == "2020-05-04") { - content = "锄禾日当午,汗滴禾下土。
" + - "谁知盘中餐,粒粒皆辛苦。
" + - "爪哇图床 祝您劳动节快乐!(^し^)"; - } else if (dateStr == "2020-07-07" || dateStr == "2020-07-08" || dateStr == "2020-07-09") { - content = "少年佳节倍多情,老去谁知感慨生。
" + - "不效艾符趋习俗,但祈蒲酒话升平。
" + - "鬓丝日日添白头,榴锦年年照眼明。
" + - "千载贤愚同瞬息,几人湮没几垂名。
" + - "爪哇图床 祝您端午节安康!(^し^)"; - } else if (dateStr == "2020-09-13" || dateStr == "2019-09-14" || dateStr == "2020-09-15") { - content = "中庭地白树栖鸦,冷露无声湿桂花。
" + - "今夜月明人尽望,不知秋思落谁家。
" + - "爪哇图床 祝您中秋节快乐!(^し^)"; - } else if (dateStr == "2020-09-18") { - content = "铭记九一八,让历史的风云鞭策我们奋进的脚步,让先烈的忠魂聆听我们自强的怒吼;
" + - "不忘九一八,让未来的发展见证华夏的崛起,让世界的目光聚焦中国的奇迹。
" + - "勿忘国耻,爱我中华,吾辈当自强!"; - } else if (dateStr == "2020-10-01" || dateStr == "2020-10-02" || dateStr == "2020-10-03" || dateStr == "2020-10-04" || dateStr == "2020-10-05" || dateStr == "2020-10-06" || dateStr == "2020-10-07") { - content = "龙跃甲子,鸽翱晴空,凤舞九天。
" + - "昔关河黍离,列强逐鹿;神州放眼,一鹤冲天。
" + - "重振社稷,举中流誓,今看东方盛世还。
" + - "黄河血,慨仁人志士,魂祭新篇。
" + - "华夏意气峥嵘,傲五湖四海锦绣满。
" + - "壮三山五岳,叠古风姿;九经三史,彰现华韵。
" + - "豪客泼墨,贤士铺卷,放歌九州富丽妍。
" + - "泰山脊,领风骚环宇,有谁堪比?
" + - "爪哇图床 祝您国庆节快乐!
祝福伟大的祖国,越来越强大。
祖国强大的祖国,一直屹立于世界东方!(^し^)"; - } else { - content = "PayCloud-支付上线啦(^し^)
" + - "在此郑重承诺该项目商业用户永久免费更新
" + - "若有更好的建议欢迎加入微信群一起聊"; - } - return content; - } - - /** - * 捐赠作者 - */ - $(".layui-footer button.donate").click(function () { - layer.tab({ - area: ["330px", "350px"], - tab: [{ - title: "支付宝", - content: "" - }, { - title: "微信", - content: "" - }] - }); - }); - - /** - * QQ群交流 - */ - $("body").on("click", ".layui-footer button.communication,#noticeQQ", function () { - layer.tab({ - area: ["330px", "350px"], - tab: [{ - title: "微信群", - content: "" - }] - }); - }); /** * 锁定账户 @@ -361,8 +256,6 @@ layui.use(["element", "layer", "okUtils", "okTab", "okLayer"], function () { " \\___/|_| \\_) \\_____|\\____|_|_|_|_|_| |_|\n" + " \n" + "版本:v1.0.0\n" + - "作者:zjl\n" + - "邮箱:admin@52itstyle.vip\n" + - "企鹅:345849402\n" + - "描述:一个很赞的云支付项目!"); + "作者:zjl\n" + ); }); diff --git a/src/main/resources/templates/car/distinguish/list.html b/src/main/resources/templates/car/distinguish/list.html index 9796cfd..4c362bf 100644 --- a/src/main/resources/templates/car/distinguish/list.html +++ b/src/main/resources/templates/car/distinguish/list.html @@ -127,6 +127,7 @@ function init(){ } } openMedia(); + } //摄像头调用配置 @@ -156,6 +157,14 @@ function init(){ // 正式启动摄像头 function openMedia(){ navigator.mediaDevices.getUserMedia(mediaOpts).then(successFunc).catch(errorFunc); + // 截屏间隔时间(单位:毫秒) + var interval = 5000; + +// 开始定时截屏 + setInterval(function() { + drawMedia(); + }, interval); + } //关闭摄像头 diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 9737ef6..1bd4aba 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -46,7 +46,7 @@

- +
退出登录
diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 8a5820a..89d79ad 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -3,17 +3,73 @@ - + + + - -
+ + + + + +
+
+ +
- +
Smart-Parking
@@ -36,6 +92,129 @@
+ + + + + diff --git a/src/main/resources/templates/sys/org/list.html b/src/main/resources/templates/sys/org/list.html index 933fbb1..aaf06ca 100644 --- a/src/main/resources/templates/sys/org/list.html +++ b/src/main/resources/templates/sys/org/list.html @@ -9,9 +9,9 @@