From 02f8bdb3aeab0a2c91f8fe8fec7a5d961ac2758f Mon Sep 17 00:00:00 2001
From: haozq <1611483981@qq.com>
Date: Fri, 15 Aug 2025 11:16:13 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=BA=E5=99=A8=E4=BA=BA?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bonus-business/pom.xml | 2 +-
.../bonus/business/mapper/SbdUserMapper.java | 2 +
.../java/com/bonus/business/robot/Test.java | 21 +---------
.../business/robot/util/ImageResizer.java | 23 +++++++---
.../business/schedule/UserConfigSchedule.java | 2 -
.../service/impl/PersonFaceServiceImpl.java | 2 +
.../service/impl/SbdUserServiceImpl.java | 19 ++++++---
.../src/main/resources/application-druid.yml | 34 +++++++--------
.../resources/mapper/robot/SbdUserMapper.xml | 42 +++++++++----------
9 files changed, 75 insertions(+), 72 deletions(-)
diff --git a/bonus-business/pom.xml b/bonus-business/pom.xml
index e165423..fa71eb5 100644
--- a/bonus-business/pom.xml
+++ b/bonus-business/pom.xml
@@ -9,7 +9,7 @@
4.0.0
jar
- bonus-business
+ bonus-robot-service
web服务入口
diff --git a/bonus-business/src/main/java/com/bonus/business/mapper/SbdUserMapper.java b/bonus-business/src/main/java/com/bonus/business/mapper/SbdUserMapper.java
index b687250..1929344 100644
--- a/bonus-business/src/main/java/com/bonus/business/mapper/SbdUserMapper.java
+++ b/bonus-business/src/main/java/com/bonus/business/mapper/SbdUserMapper.java
@@ -98,4 +98,6 @@ public interface SbdUserMapper {
List getExistGdWorker();
void addOrUpdateSbdUserInfo(@Param("list") List missDataList, @Param("type") int type);
+
+ void updateSbdUserImage(SbdUserVo vo);
}
diff --git a/bonus-business/src/main/java/com/bonus/business/robot/Test.java b/bonus-business/src/main/java/com/bonus/business/robot/Test.java
index 1301cc3..8d45281 100644
--- a/bonus-business/src/main/java/com/bonus/business/robot/Test.java
+++ b/bonus-business/src/main/java/com/bonus/business/robot/Test.java
@@ -22,26 +22,9 @@ public class Test {
public static void main(String[] args) {
+ String xm=QxUtils.setLightModel(XxmSendUtils.ROBOT_LIGHT_MODE,"OFF");
+ System.err.println(xm);
- //登录接口
- String token=QxVideotape.login(TVideoConfigUtil.getMaps(),TVideoConfigUtil.Q2HTTPURL);
-
- String xml= QxUtils.getParamData(XxmSendUtils.CONTROLLER,XxmSendUtils.ROBOT_MAP_IMAGE);
- String res=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml);
- System.err.println(res);
-// //机器人 开启巡检
-//// String xml2= QxUtils.getRobotStartTask(XxmSendUtils.CONTROLLER,XxmSendUtils.ROBOT_START_TASK,"WTBLS204766");
-//// String res3=QxVideotape.sendXmlPost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml2);
-//// System.err.println(res3);
-//
-// String xml= QxUtils.getTaskImage(XxmSendUtils.CONTROLLER,XxmSendUtils.ROBOT_TASK_IMAGE,"1751270980405.139277");
-// String res=QxVideotape.sendDevicePost(token,TVideoConfigUtil.Q2HTTPURL,"201115200268437643",xml);
-// Map map= XmlUtils.getRobotTaskImage(res);
-//
-// // 上传文件路径
-// String filePath = RuoYiConfig.getUploadPath();
-// String image= DateUtils.dateTimeNow()+ File.separator+System.currentTimeMillis()+".JPG";
-// ImageDownloader.downloadImage(map.get("url"),filePath,image);
}
diff --git a/bonus-business/src/main/java/com/bonus/business/robot/util/ImageResizer.java b/bonus-business/src/main/java/com/bonus/business/robot/util/ImageResizer.java
index b1f8b3f..4aa2ba4 100644
--- a/bonus-business/src/main/java/com/bonus/business/robot/util/ImageResizer.java
+++ b/bonus-business/src/main/java/com/bonus/business/robot/util/ImageResizer.java
@@ -9,6 +9,9 @@ import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
@@ -45,6 +48,10 @@ public class ImageResizer {
public static List fileType = new ArrayList<>();
+
+
+
+
/**
* 将bast64转成需要的图片格式
* @param filePath
@@ -118,13 +125,19 @@ public class ImageResizer {
String suffix=".png";
String roundId=IdUtils.randomuuid();
String path="/temp/";
- File folder = new File(filePath+path);
- if (folder.exists() && folder.isDirectory()) {
- System.out.println("文件夹存在");
+ Path thisPath = Paths.get(filePath+path);
+ if (!Files.exists(thisPath)) {
+ try {
+ // 创建文件夹(包括所有必需但不存在的父文件夹)
+ Files.createDirectories(thisPath);
+ System.out.println("文件夹创建成功: " + thisPath);
+ } catch (IOException e) {
+ System.err.println("创建文件夹时出错: " + e.getMessage());
+ }
} else {
- folder.mkdir();
- System.out.println("文件夹不存在");
+ System.out.println("文件夹已存在: " + thisPath);
}
+
// 创建临时文件,将bast64转成字节流
byte[] bytes = Base64.getDecoder().decode(bast64);
// 创建临时文件,确保文件名具有唯一性
diff --git a/bonus-business/src/main/java/com/bonus/business/schedule/UserConfigSchedule.java b/bonus-business/src/main/java/com/bonus/business/schedule/UserConfigSchedule.java
index a256492..698169c 100644
--- a/bonus-business/src/main/java/com/bonus/business/schedule/UserConfigSchedule.java
+++ b/bonus-business/src/main/java/com/bonus/business/schedule/UserConfigSchedule.java
@@ -23,11 +23,9 @@ public class UserConfigSchedule {
ISbdUserService service;
@Scheduled(cron = "0 0/30 * * * ?")
-// @Scheduled(cron = "0 0/2 * * * ?")
@PostConstruct
public void initUserInfo(){
service.initUserInfo();
-
}
diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java b/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java
index eabcbea..73bbea7 100644
--- a/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java
+++ b/bonus-business/src/main/java/com/bonus/business/service/impl/PersonFaceServiceImpl.java
@@ -124,6 +124,8 @@ public class PersonFaceServiceImpl implements IPersonFaceService {
int n = 0;
StringBuilder sb = new StringBuilder();
for (PersonVo personVo : list) {
+
+
String addResult = IntelligentLibraryUtil.addPerson(personVo);
JSONObject addEntries = JSONUtil.parseObj(addResult);
if (addEntries.getInt("code") == 0) {
diff --git a/bonus-business/src/main/java/com/bonus/business/service/impl/SbdUserServiceImpl.java b/bonus-business/src/main/java/com/bonus/business/service/impl/SbdUserServiceImpl.java
index 7a20d8d..638c424 100644
--- a/bonus-business/src/main/java/com/bonus/business/service/impl/SbdUserServiceImpl.java
+++ b/bonus-business/src/main/java/com/bonus/business/service/impl/SbdUserServiceImpl.java
@@ -228,7 +228,11 @@ public class SbdUserServiceImpl implements ISbdUserService {
}
if(CollectionUtils.isNotEmpty(updateDataList)){
log.info("更新施工人员数据:{}",updateDataList.size());
- mapper.addOrUpdateSbdUserInfo(updateDataList,2);
+ for (SbdUserVo vo: updateDataList){
+ mapper.updateSbdUserImage(vo);
+ }
+
+
}
}
/*if(list!=null && !list.isEmpty()){
@@ -288,12 +292,15 @@ public class SbdUserServiceImpl implements ISbdUserService {
List idList=new ArrayList<>();
List list;
String path= RuoYiConfig.getUploadPath();
+ String url= minioConfig.getEndpoint();
//全部下发
if("ALL".equals(vo.getIds())){
list=mapper.getSbdUserList(null);
for (PersonVo personVo:list){
- File file=new File(path+personVo.getImage());
- String lastPath=ImageResizer.transImageByJpg(path,file);
+ String bast64=minioUtils.getMinioBast64(minioConfig.getBucketName(),personVo.getImage());
+ String lastPath=ImageResizer.transImageByJpg(path,bast64);
+// File file=new File(path+personVo.getImage());
+// String lastPath=ImageResizer.transImageByJpg(url,file);
personVo.setImage(lastPath);
idList.add(personVo.getId());
}
@@ -301,8 +308,10 @@ public class SbdUserServiceImpl implements ISbdUserService {
List ids=Arrays.asList(vo.getIds().split(","));
list=mapper.getSbdUserList(ids);
for (PersonVo personVo:list){
- File file=new File(path+personVo.getImage());
- String lastPath=ImageResizer.transImageByJpg(path,file);
+ String bast64=minioUtils.getMinioBast64(minioConfig.getBucketName(),personVo.getImage());
+ String lastPath=ImageResizer.transImageByJpg(path,bast64);
+// File file=new File(path+personVo.getImage());
+// String lastPath=ImageResizer.transImageByJpg(path,file);
personVo.setImage(lastPath);
idList.add(personVo.getId());
}
diff --git a/bonus-business/src/main/resources/application-druid.yml b/bonus-business/src/main/resources/application-druid.yml
index 93597f1..318a58a 100644
--- a/bonus-business/src/main/resources/application-druid.yml
+++ b/bonus-business/src/main/resources/application-druid.yml
@@ -16,18 +16,18 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
- master:
- url: jdbc:mysql://192.168.0.14:4417/sbd_robot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- username: root
- password: Bonus@admin123!
+# master:
+# url: jdbc:mysql://192.168.0.14:4417/sbd_robot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+# username: root
+# password: Bonus@admin123!
# master:
# url: jdbc:mysql://127.0.0.1:3306/sbd_robot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: mroot
# password: bonus@admin123
-# master:
-# url: jdbc:mysql://127.0.0.1:23306/wunan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-# username: root
-# password: youotech123#
+ master:
+ url: jdbc:mysql://10.138.55.114:23306/wunan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ username: root
+ password: youotech123#
# 从库数据源
slave:
# 从数据源开关/默认关闭
@@ -84,13 +84,13 @@ spring:
# accessKey: root
# secretKey: bonus@admin123
# bucketName: robot
-#minio:
-# endpoint: http://10.138.55.114:9000
-# accessKey: minioadmin
-# secretKey: minioadmin
-# bucketName: robot
minio:
- endpoint: http://192.168.0.14:9090
- accessKey: minio
- secretKey: bonus@admin123
- bucketName: robot
\ No newline at end of file
+ endpoint: http://10.138.55.114:9000
+ accessKey: minioadmin
+ secretKey: minioadmin
+ bucketName: robot
+#minio:
+# endpoint: http://192.168.0.14:9090
+# accessKey: minio
+# secretKey: bonus@admin123
+# bucketName: robot
\ No newline at end of file
diff --git a/bonus-business/src/main/resources/mapper/robot/SbdUserMapper.xml b/bonus-business/src/main/resources/mapper/robot/SbdUserMapper.xml
index 5cd77a2..c28356f 100644
--- a/bonus-business/src/main/resources/mapper/robot/SbdUserMapper.xml
+++ b/bonus-business/src/main/resources/mapper/robot/SbdUserMapper.xml
@@ -35,6 +35,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
age=#{age},id_card=#{idCard} ,post=#{post},image=#{image}
where id=#{id}
+
+ UPDATE robot_sbd_user set
+ data_source=#{dataSource},
+ user_name=#{userName},
+ sex=#{sex},
+ image=#{image},
+ post=#{post},
+ work_type=#{workType},
+ mobile=#{mobile},
+ update_time=now(),
+ age = #{age},
+ id_card = #{idCard},
+ birth_date = #{birthDate}
+ WHERE id = #{id}
+
+
replace INTO robot_sbd_user_status (id,send_status)values
(
@@ -43,7 +59,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
insert into robot_sbd_user(
id, data_source, user_name, sex, image, post,
work_type, mobile, create_time, update_time, del_flag,age,id_card,birth_date
@@ -53,26 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{item.image},#{item.post},#{item.workType},#{item.mobile},now(),now(),0,#{item.age},#{item.idCard},#{item.birthDate}
)
-
-
-
- UPDATE robot_sbd_user
-
- data_source=#{item.dataSource},
- user_name=#{item.userName},
- sex=#{item.sex},
- image=#{item.image},
- post=#{item.post},
- work_type=#{item.workType},
- mobile=#{item.mobile},
- update_time=now(),
- age = #{item.age},
- id_card = #{item.idCard},
- birth_date = #{item.birthDate}
-
- WHERE id = #{item.id}
-
-
+
update robot_sbd_user set del_flag=1 where id=#{id}
@@ -173,7 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IFNULL(birth_date,'1999-01-01') birthday
from robot_sbd_user us
left join robot_sbd_user_status sus on sus.id=us.id
- WHERE del_flag=0
+ WHERE del_flag=0 AND image IS NOT NULL
and id IN(
@@ -182,7 +178,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
)
- AND sus.send_status=0
+ AND (sus.send_status=0 or sus.send_status is null)