From ad0c55f70d780439e81ebd7dde15064e788dd68a Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 27 二月 2026 15:37:13 +0800
Subject: [PATCH] 增加地磅抓拍接口解析
---
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3033.java | 23 +++++++
fzzy-igdss-web/src/main/resources/templates/login.html | 8 ++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3033.java | 87 +++++++++++++++++++++++++++++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/util/ApiV1Constant.java | 4 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java | 4 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java | 14 ++++
6 files changed, 138 insertions(+), 2 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
index 8702908..c2f37cc 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
@@ -158,6 +158,7 @@
if("TEMPLATE".equals(pathTag)) return getTemplateFilePath();
if("QUANTITY".equals(pathTag)) return getQuantityPath();
if("WORD".equals(pathTag)) return getWordPath();
+ if("WEIGHTNAP".equals(pathTag)) return getWeightSnapPath();
return getCommonFilePath();
}
@@ -179,6 +180,19 @@
* 鑾峰彇浜嬩欢鏂囦欢璺緞
* @return
*/
+ public String getWeightSnapPath() {
+ String basePath = FrameworkConfig.getProfile() + "WEIGHTNAP/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/";
+ File file = new File(basePath);
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ return basePath;
+ }
+
+ /**
+ * 鑾峰彇浜嬩欢鏂囦欢璺緞
+ * @return
+ */
public String getEventFilePath() {
String basePath = FrameworkConfig.getProfile() + "EVENT/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/";
File file = new File(basePath);
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java
index 0148b11..9ca74d6 100644
--- a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java
@@ -49,6 +49,8 @@
private ApiV1Service3031 apiV1Service3031;
@Resource
private ApiV1Service3032 apiV1Service3032;
+ @Resource
+ private ApiV1Service3033 apiV1Service3033;
@PostMapping
@ResponseBody
@@ -93,6 +95,8 @@
return apiV1Service3031.analysis(req, gatewaySer);
case ApiV1Constant.API_FUNCTION_3032:
return apiV1Service3032.analysis(req, gatewaySer);
+ case ApiV1Constant.API_FUNCTION_3033:
+ return apiV1Service3033.analysis(req, gatewaySer);
}
return ApiV1Resp.error("鎺ュ彛缂栫爜<" + functionId + ">涓嶅瓨鍦紝璇锋牳鏌ワ紒", req);
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3033.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3033.java
new file mode 100644
index 0000000..b8e2a7c
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3033.java
@@ -0,0 +1,23 @@
+package com.fzzy.igds.api.v1.data;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2026/1/7 10:21
+ */
+@Data
+public class Param3033 implements Serializable {
+
+ private String cameraId;
+ private String cameraName;
+ private String name;
+ private Double weight;
+ private String time;
+ private String tags;
+ private String imgBase64;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3033.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3033.java
new file mode 100644
index 0000000..2ed4272
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3033.java
@@ -0,0 +1,87 @@
+package com.fzzy.igds.api.v1.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.igds.api.v1.data.ApiV1Req;
+import com.fzzy.igds.api.v1.data.ApiV1Resp;
+import com.fzzy.igds.api.v1.data.Param3033;
+import com.fzzy.igds.domain.GatewaySer;
+import com.fzzy.igds.domain.WeighbridgeSnap;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.service.WeighbridgeSnapService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.config.FrameworkConfig;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
+
+/**
+ * @Description AI浜嬩欢瑙f瀽
+ * @Author CZT
+ * @Date 2026/1/7 11:09
+ */
+@Slf4j
+@Component
+public class ApiV1Service3033 {
+
+ @Resource
+ private WeighbridgeSnapService weighbridgeSnapService;
+ @Resource
+ private FileService fileService;
+
+ /**
+ * @param req
+ * @param gatewaySer
+ * @return
+ */
+ public ApiV1Resp<Object> analysis(ApiV1Req<Object> req, GatewaySer gatewaySer) throws Exception {
+
+ //杞寲涓哄璞�
+ Param3033 param = JSONObject.parseObject(JSONObject.toJSONString(req.getData()), Param3033.class);
+
+ if (null == param) {
+ return ApiV1Resp.error("鎶撴媿淇℃伅涓虹┖锛屼笉瑙f瀽锛�", req);
+ }
+
+ step1(param, gatewaySer);
+
+ return ApiV1Resp.success(null, req);
+
+ }
+
+ /**
+ * 寮傛瑙f瀽
+ *
+ * @param param
+ */
+ @Async
+ public void step1(Param3033 param, GatewaySer gatewaySer) throws Exception {
+
+ WeighbridgeSnap info = new WeighbridgeSnap();
+ info.setId(ContextUtil.generateId());
+ info.setCompanyId(gatewaySer.getCompanyId());
+ info.setDeptId(gatewaySer.getDeptId());
+ info.setSerId(param.getCameraId());
+ info.setName(param.getName());
+ info.setWeight(param.getWeight());
+
+ info.setTime(DateUtils.parseDate(param.getTime(), "yyyy-MM-dd HH:mm:ss"));
+ info.setTags(param.getTags());
+
+ //base64杞寲涓哄浘鐗囦繚瀛�
+ String savePath = fileService.getFileSavePath("WEIGHTNAP");
+ String fileName = ContextUtil.UUID() + ".jpg";
+ String filePath = savePath + fileName;
+ fileService.baseImg2Disk(filePath, param.getImgBase64());
+
+ //璁剧疆淇濆瓨鍥剧墖璺緞
+ info.setImgName(filePath.replace(FrameworkConfig.getProfile(), "/profile/"));
+
+ weighbridgeSnapService.addData(info);
+
+ log.info("璐ㄦ娂鐩戠鎺ュ彛V1锛�3033鎺ュ彛瑙f瀽瀹屾垚");
+
+ }
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/util/ApiV1Constant.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/util/ApiV1Constant.java
index 0da9321..cbd4c79 100644
--- a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/util/ApiV1Constant.java
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/util/ApiV1Constant.java
@@ -36,6 +36,10 @@
* 鎺ㄩ�佸嚭鍏ュ簱鎶撳浘鎺ュ彛缂栫爜
*/
public static final String API_FUNCTION_3032 = "3032";
+ /**
+ * 鍦扮鐩戞祴鎶撴媿鎺ュ彛缂栫爜
+ */
+ public static final String API_FUNCTION_3033 = "3033";
}
diff --git a/fzzy-igdss-web/src/main/resources/templates/login.html b/fzzy-igdss-web/src/main/resources/templates/login.html
index 9afde1b..4a9ed17 100644
--- a/fzzy-igdss-web/src/main/resources/templates/login.html
+++ b/fzzy-igdss-web/src/main/resources/templates/login.html
@@ -122,14 +122,14 @@
</div>
<!--鎵嬫満APP-->
- <div class="login2-ewm css-hand">
+ <div class="login2-ewm css-hand" onClick="showCode()">
<h3>
<i class="i-icon"><img th:src="@{/login/images/login-app.png}"/></i>涓嬭浇APP
</h3>
</div>
<div class="login2-ewm-img dis-none" id="ewm">
- <img th:src="@{/login/images/login-app.png}"/>
+ <img th:src="@{/login/images/login-app.png}" style="width: 100%;height: 100%"/>
</div>
<h1 class="login-tit">
@@ -226,6 +226,10 @@
<script th:inline="javascript">
var ctx = [[@{/}]] ;
var captchaType = [[${captchaType}]];
+
+ function showCode() {
+ $("#ewm").css("display", "block");
+ }
</script>
<script src="../static/js/jquery.min.js" th:src="@{/js/jquery.min.js}"></script>
<script src="../static/ajax/libs/validate/jquery.validate.min.js"
--
Gitblit v1.9.3