Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bme-access-upload
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李洪明
bme-access-upload
Commits
c6f65f1e
Commit
c6f65f1e
authored
Jul 11, 2025
by
曹军
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
上传定时任务,优化代码
parent
87d09c18
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
330 additions
and
43 deletions
+330
-43
ScheduleConfig.java
...ain/java/com/bme/access/upload/config/ScheduleConfig.java
+29
-0
UploadDataNewTask.java
...ain/java/com/bme/access/upload/job/UploadDataNewTask.java
+1
-1
TransportVehicleInfoMapper.java
.../access/upload/module/dao/TransportVehicleInfoMapper.java
+2
-0
TransportVehicleInfoService.java
...ss/upload/module/service/TransportVehicleInfoService.java
+38
-0
Base64Utils.java
.../java/com/bme/access/upload/module/utils/Base64Utils.java
+111
-0
BeanConverter.java
...ava/com/bme/access/upload/module/utils/BeanConverter.java
+8
-8
ImageCompressor.java
...a/com/bme/access/upload/module/utils/ImageCompressor.java
+92
-0
TestBase.java
...ain/java/com/bme/access/upload/module/utils/TestBase.java
+0
-34
TestController.java
...java/com/bme/access/upload/module/web/TestController.java
+17
-0
TransportVehicleInfoMapper.xml
src/main/resources/mapper/TransportVehicleInfoMapper.xml
+32
-0
No files found.
src/main/java/com/bme/access/upload/config/ScheduleConfig.java
0 → 100644
View file @
c6f65f1e
package
com
.
bme
.
access
.
upload
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.TaskScheduler
;
import
org.springframework.scheduling.annotation.SchedulingConfigurer
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
;
import
org.springframework.scheduling.config.ScheduledTaskRegistrar
;
@Configuration
public
class
ScheduleConfig
implements
SchedulingConfigurer
{
@Override
public
void
configureTasks
(
ScheduledTaskRegistrar
taskRegistrar
)
{
//设置一个依据定时任务个数的线程池
TaskScheduler
scheduler
=
this
.
taskScheduler
();
taskRegistrar
.
setTaskScheduler
(
scheduler
);
}
@Bean
(
destroyMethod
=
"shutdown"
)
public
ThreadPoolTaskScheduler
taskScheduler
()
{
//设置一个依据定时任务个数的线程池
ThreadPoolTaskScheduler
taskScheduler
=
new
ThreadPoolTaskScheduler
();
taskScheduler
.
setPoolSize
(
18
);
taskScheduler
.
setThreadNamePrefix
(
"task-"
);
taskScheduler
.
setAwaitTerminationSeconds
(
60
);
taskScheduler
.
setWaitForTasksToCompleteOnShutdown
(
true
);
return
taskScheduler
;
}
}
\ No newline at end of file
src/main/java/com/bme/access/upload/job/UploadDataNewTask.java
View file @
c6f65f1e
...
...
@@ -25,7 +25,7 @@ public class UploadDataNewTask {
/**
* 场内运输车辆信息-添加
*/
@Scheduled
(
cron
=
"0 0/
2
* * * *"
)
@Scheduled
(
cron
=
"0 0/
10
* * * *"
)
public
void
uploadInFactoryTransportVehicleInfo
()
{
log
.
info
(
"场内运输车辆信息-添加"
);
try
{
...
...
src/main/java/com/bme/access/upload/module/dao/TransportVehicleInfoMapper.java
View file @
c6f65f1e
...
...
@@ -19,4 +19,6 @@ import java.util.Map;
public
interface
TransportVehicleInfoMapper
{
List
<
TransportVehicleInfoUrl
>
getUploadTransportVehicleInfo
(
String
uploadTime
);
List
<
TransportVehicleInfoUrl
>
getUploadTransportVehicleInfoWithNumberPlate
(
String
numberPlate
);
}
\ No newline at end of file
src/main/java/com/bme/access/upload/module/service/TransportVehicleInfoService.java
View file @
c6f65f1e
...
...
@@ -61,6 +61,7 @@ public class TransportVehicleInfoService {
log
.
info
(
"执行车辆信息上传线程"
);
List
<
TransportVehicleInfoUrl
>
uploadTransportVehicleInfoList
=
transportVehicleInfoMapper
.
getUploadTransportVehicleInfo
(
uploadTime
);
log
.
info
(
"执行车辆信息上传线程,size={}"
,
uploadTransportVehicleInfoList
.
size
());
if
(!
CollectionUtils
.
isEmpty
(
uploadTransportVehicleInfoList
))
{
try
{
loginService
.
login
();
...
...
@@ -70,6 +71,7 @@ public class TransportVehicleInfoService {
}
}
for
(
TransportVehicleInfoUrl
transportVehicleInfoUrl
:
uploadTransportVehicleInfoList
)
{
log
.
info
(
"在上传车辆信息车牌={}"
,
transportVehicleInfoUrl
.
getNumberPlate
());
if
(
StringUtils
.
isEmpty
(
transportVehicleInfoUrl
.
getNumberPlate
()))
{
log
.
info
(
"车辆上传车牌异常={}"
,
JSON
.
toJSONString
(
transportVehicleInfoUrl
));
continue
;
...
...
@@ -97,4 +99,40 @@ public class TransportVehicleInfoService {
dataUploadTimeMapper
.
updateUploadTimeByType
(
uploadTransportVehicleInfoList
.
get
(
uploadTransportVehicleInfoList
.
size
()
-
1
).
getCreateTime
(),
102
);
}
}
public
void
updateVehicle
(
String
numberPlate
)
{
List
<
TransportVehicleInfoUrl
>
uploadTransportVehicleInfoList
=
transportVehicleInfoMapper
.
getUploadTransportVehicleInfoWithNumberPlate
(
numberPlate
);
if
(!
CollectionUtils
.
isEmpty
(
uploadTransportVehicleInfoList
))
{
try
{
loginService
.
login
();
}
catch
(
Exception
e
)
{
log
.
error
(
"更新token失败:{}"
,
e
.
getMessage
());
return
;
}
}
for
(
TransportVehicleInfoUrl
transportVehicleInfoUrl
:
uploadTransportVehicleInfoList
)
{
if
(
StringUtils
.
isEmpty
(
transportVehicleInfoUrl
.
getNumberPlate
()))
{
log
.
info
(
"车辆上传车牌异常={}"
,
JSON
.
toJSONString
(
transportVehicleInfoUrl
));
continue
;
}
UploadTransportVehicleInfo
uploadVehicleInfo
=
beanConverter
.
convertTransportVehicleInfo
(
transportVehicleInfoUrl
);
try
{
String
bodyJson
=
JSONObject
.
toJSONString
(
uploadVehicleInfo
);
HttpResponse
httpResponse
=
HttpUtils
.
sendPost
(
ADD_VEHICLE_URL
,
null
,
null
,
bodyJson
);
Thread
.
sleep
(
50
);
}
catch
(
Exception
e
)
{
log
.
info
(
"发生连接失败,重传"
);
try
{
loginService
.
login
();
String
bodyJson
=
JSONObject
.
toJSONString
(
uploadVehicleInfo
);
HttpUtils
.
sendPost
(
ADD_VEHICLE_URL
,
null
,
null
,
bodyJson
);
Thread
.
sleep
(
50
);
}
catch
(
Exception
ex
)
{
log
.
info
(
"再次失败,将此数据存于车辆失败表uploadVehicleInfo={}"
,
JSON
.
toJSONString
(
uploadVehicleInfo
));
transportVehicleInfoFailMapper
.
insertFail
(
transportVehicleInfoUrl
.
getNumberPlate
());
}
}
}
}
}
src/main/java/com/bme/access/upload/module/utils/Base64Utils.java
View file @
c6f65f1e
...
...
@@ -4,11 +4,19 @@ import net.coobird.thumbnailator.Thumbnails;
import
org.springframework.util.StringUtils
;
import
sun.misc.BASE64Encoder
;
import
javax.imageio.IIOImage
;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageWriteParam
;
import
javax.imageio.ImageWriter
;
import
javax.imageio.stream.ImageOutputStream
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
import
java.io.*
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.net.URLEncoder
;
import
java.util.Base64
;
import
java.util.Iterator
;
/**
* description:
...
...
@@ -192,6 +200,54 @@ public class Base64Utils {
return
null
;
}
public
static
String
imgToBase64WithCompress
(
String
imageUrl
)
{
float
quality
=
0.8f
;
int
targetSizeKB
=
600
;
String
encoder
=
"data:image/jpg;base64,"
;
try
{
// 下载图片
BufferedImage
originalImage
=
downloadImage
(
imageUrl
);
// 处理透明背景
BufferedImage
processedImage
=
handleTransparency
(
originalImage
);
// 压缩图片
byte
[]
compressedImageBytes
=
compressImage
(
processedImage
,
quality
,
targetSizeKB
);
URL
url
=
new
URL
(
imageUrl
);
// 打开链接
HttpURLConnection
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
// 设置请求方式为"GET"
conn
.
setRequestMethod
(
"GET"
);
// 超时响应时间为5秒
conn
.
setConnectTimeout
(
5
*
1000
);
// 通过输入流获取图片数据
InputStream
inStream
=
conn
.
getInputStream
();
ByteArrayOutputStream
outStream
=
new
ByteArrayOutputStream
();
// 创建一个Buffer字符串
byte
[]
buffer
=
new
byte
[
1024
];
// 每次读取的字符串长度,如果为-1,代表全部读取完毕
int
len
=
0
;
// 使用一个输入流从buffer里把数据读取出来
while
((
len
=
inStream
.
read
(
buffer
))
!=
-
1
)
{
// 用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream
.
write
(
buffer
,
0
,
len
);
}
// 关闭输入流
inStream
.
close
();
BASE64Encoder
base64Encoder
=
new
BASE64Encoder
();
encoder
=
encoder
+
base64Encoder
.
encode
(
compressedImageBytes
).
replace
(
"\r\n"
,
""
).
trim
();
return
encoder
;
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
}
return
null
;
}
public
static
String
encodeImageUrl
(
String
originalUrl
)
{
try
{
// 1. 分割URL为协议+主机部分和路径部分
...
...
@@ -240,4 +296,59 @@ public class Base64Utils {
byte
[]
bytes
=
getByteImgByUrl
(
"https://q1.itc.cn/q_70/images03/20240430/59fe8596e4cb4824a6f27315328a3559.jpeg"
);
System
.
out
.
println
(
bytes
);
}
private
static
BufferedImage
downloadImage
(
String
imageUrl
)
throws
IOException
{
URL
url
=
new
URL
(
imageUrl
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
try
(
InputStream
inputStream
=
connection
.
getInputStream
())
{
return
ImageIO
.
read
(
inputStream
);
}
}
private
static
BufferedImage
handleTransparency
(
BufferedImage
image
)
{
// 检查图片是否有透明通道
if
(
image
.
getColorModel
().
hasAlpha
())
{
// 创建一个白色背景的新图片
BufferedImage
result
=
new
BufferedImage
(
image
.
getWidth
(),
image
.
getHeight
(),
BufferedImage
.
TYPE_INT_RGB
);
Graphics2D
g2d
=
result
.
createGraphics
();
g2d
.
setColor
(
Color
.
WHITE
);
g2d
.
fillRect
(
0
,
0
,
image
.
getWidth
(),
image
.
getHeight
());
g2d
.
drawImage
(
image
,
0
,
0
,
null
);
g2d
.
dispose
();
return
result
;
}
return
image
;
}
private
static
byte
[]
compressImage
(
BufferedImage
image
,
float
quality
,
int
targetSizeKB
)
throws
IOException
{
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
Iterator
<
ImageWriter
>
writers
=
ImageIO
.
getImageWritersByFormatName
(
"JPEG"
);
if
(!
writers
.
hasNext
())
{
throw
new
IllegalStateException
(
"No JPEG writer found"
);
}
ImageWriter
writer
=
writers
.
next
();
ImageWriteParam
writeParam
=
writer
.
getDefaultWriteParam
();
writeParam
.
setCompressionMode
(
ImageWriteParam
.
MODE_EXPLICIT
);
writeParam
.
setCompressionQuality
(
quality
);
try
(
ImageOutputStream
ios
=
ImageIO
.
createImageOutputStream
(
outputStream
))
{
writer
.
setOutput
(
ios
);
writer
.
write
(
null
,
new
IIOImage
(
image
,
null
,
null
),
writeParam
);
}
byte
[]
imageBytes
=
outputStream
.
toByteArray
();
int
targetSize
=
targetSizeKB
*
1024
;
// 如果图片大小仍超过目标大小,递归降低质量
if
(
imageBytes
.
length
>
targetSize
&&
quality
>
0.1f
)
{
float
newQuality
=
Math
.
max
(
quality
-
0.1f
,
0.1f
);
return
compressImage
(
image
,
newQuality
,
targetSizeKB
);
}
return
imageBytes
;
}
}
\ No newline at end of file
src/main/java/com/bme/access/upload/module/utils/BeanConverter.java
View file @
c6f65f1e
...
...
@@ -30,14 +30,14 @@ public class BeanConverter {
InFactoryTransportVehicleInfo
info
=
new
InFactoryTransportVehicleInfo
();
info
.
setCarNo
(
item
.
getNumberPlate
());
if
(
StringUtils
.
isNotBlank
(
item
.
getOnBoardList
()))
{
info
.
setVehicleListImg
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getOnBoardList
())));
info
.
setVehicleListImg
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getOnBoardList
())));
}
if
(
StringUtils
.
isNotBlank
(
item
.
getDrivingLicense
()))
{
info
.
setDrivingLicenseImg
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getDrivingLicense
())));
info
.
setDrivingLicenseImg
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getDrivingLicense
())));
}
info
.
setSensorCatalyticConverterImg
(
null
);
if
(
StringUtils
.
isNotBlank
(
item
.
getVehicleImage
()))
{
info
.
setCarImg
(
Base64Utils
.
imgToBase64
(
item
.
getVehicleImage
()));
info
.
setCarImg
(
Base64Utils
.
imgToBase64
WithCompress
(
item
.
getVehicleImage
()));
}
if
(
item
.
getVehicleEmissions
()
==
null
)
{
info
.
setEmissionStandard
(
"X"
);
...
...
@@ -131,10 +131,10 @@ public class BeanConverter {
}
if
(
StringUtils
.
isNotBlank
(
item
.
getDrivingLicenseImage
()))
{
info
.
setDrivingLicenseImg
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getDrivingLicenseImage
())));
info
.
setDrivingLicenseImg
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getDrivingLicenseImage
())));
}
if
(
StringUtils
.
isNotBlank
(
item
.
getOnBoardList
()))
{
info
.
setVehicleListImg
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getOnBoardList
())));
info
.
setVehicleListImg
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getOnBoardList
())));
}
info
.
setVehicleModel
(
item
.
getModel
());
info
.
setVehicleType
(
item
.
getVehicleType
());
...
...
@@ -170,11 +170,11 @@ public class BeanConverter {
info
.
setEngineManufacturer
(
item
.
getEngineVendor
());
info
.
setEngineModel
(
item
.
getEngineModel
());
if
(
StringUtils
.
isNotBlank
(
item
.
getEngineImage
()))
{
info
.
setEnginePlaque
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getEngineImage
())));
info
.
setEnginePlaque
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getEngineImage
())));
}
info
.
setEngineSerialNumber
(
item
.
getEnvironmentSN
());
if
(
StringUtils
.
isNotBlank
(
item
.
getVehicleLable
()))
{
info
.
setEnvIronMentalLabel
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getVehicleLable
())));
info
.
setEnvIronMentalLabel
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getVehicleLable
())));
}
info
.
setEquipmentModel
(
item
.
getMechanicalModel
());
info
.
setEquipmentType
(
item
.
getMechanicalType
());
...
...
@@ -184,7 +184,7 @@ public class BeanConverter {
info
.
setOwner
(
item
.
getOwener
());
info
.
setPin
(
item
.
getMechanicalEnvironment
());
if
(
StringUtils
.
isNotBlank
(
item
.
getDeviceImage
()))
{
info
.
setVehiclePlaque
(
Base64Utils
.
imgToBase64
(
Base64Utils
.
encodeImageUrl
(
item
.
getDeviceImage
())));
info
.
setVehiclePlaque
(
Base64Utils
.
imgToBase64
WithCompress
(
Base64Utils
.
encodeImageUrl
(
item
.
getDeviceImage
())));
}
info
.
setMachMfr
(
null
);
info
.
setEngNetPower
(
null
);
...
...
src/main/java/com/bme/access/upload/module/utils/ImageCompressor.java
0 → 100644
View file @
c6f65f1e
package
com
.
bme
.
access
.
upload
.
module
.
utils
;
import
javax.imageio.IIOImage
;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageWriteParam
;
import
javax.imageio.ImageWriter
;
import
javax.imageio.stream.ImageOutputStream
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.util.Base64
;
import
java.util.Iterator
;
public
class
ImageCompressor
{
public
static
String
compressAndConvertToBase64
(
String
imageUrl
)
throws
IOException
{
float
quality
=
0.8f
;
int
targetSizeKB
=
800
;
// 下载图片
BufferedImage
originalImage
=
downloadImage
(
imageUrl
);
// 处理透明背景
BufferedImage
processedImage
=
handleTransparency
(
originalImage
);
// 压缩图片
byte
[]
compressedImageBytes
=
compressImage
(
processedImage
,
quality
,
targetSizeKB
);
// 转换为Base64
return
Base64
.
getEncoder
().
encodeToString
(
compressedImageBytes
);
}
private
static
BufferedImage
downloadImage
(
String
imageUrl
)
throws
IOException
{
URL
url
=
new
URL
(
imageUrl
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
try
(
InputStream
inputStream
=
connection
.
getInputStream
())
{
return
ImageIO
.
read
(
inputStream
);
}
}
private
static
BufferedImage
handleTransparency
(
BufferedImage
image
)
{
// 检查图片是否有透明通道
if
(
image
.
getColorModel
().
hasAlpha
())
{
// 创建一个白色背景的新图片
BufferedImage
result
=
new
BufferedImage
(
image
.
getWidth
(),
image
.
getHeight
(),
BufferedImage
.
TYPE_INT_RGB
);
Graphics2D
g2d
=
result
.
createGraphics
();
g2d
.
setColor
(
Color
.
WHITE
);
g2d
.
fillRect
(
0
,
0
,
image
.
getWidth
(),
image
.
getHeight
());
g2d
.
drawImage
(
image
,
0
,
0
,
null
);
g2d
.
dispose
();
return
result
;
}
return
image
;
}
private
static
byte
[]
compressImage
(
BufferedImage
image
,
float
quality
,
int
targetSizeKB
)
throws
IOException
{
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
Iterator
<
ImageWriter
>
writers
=
ImageIO
.
getImageWritersByFormatName
(
"JPEG"
);
if
(!
writers
.
hasNext
())
{
throw
new
IllegalStateException
(
"No JPEG writer found"
);
}
ImageWriter
writer
=
writers
.
next
();
ImageWriteParam
writeParam
=
writer
.
getDefaultWriteParam
();
writeParam
.
setCompressionMode
(
ImageWriteParam
.
MODE_EXPLICIT
);
writeParam
.
setCompressionQuality
(
quality
);
try
(
ImageOutputStream
ios
=
ImageIO
.
createImageOutputStream
(
outputStream
))
{
writer
.
setOutput
(
ios
);
writer
.
write
(
null
,
new
IIOImage
(
image
,
null
,
null
),
writeParam
);
}
byte
[]
imageBytes
=
outputStream
.
toByteArray
();
int
targetSize
=
targetSizeKB
*
1024
;
// 如果图片大小仍超过目标大小,递归降低质量
if
(
imageBytes
.
length
>
targetSize
&&
quality
>
0.1f
)
{
float
newQuality
=
Math
.
max
(
quality
-
0.1f
,
0.1f
);
return
compressImage
(
image
,
newQuality
,
targetSizeKB
);
}
return
imageBytes
;
}
}
\ No newline at end of file
src/main/java/com/bme/access/upload/module/utils/TestBase.java
deleted
100644 → 0
View file @
87d09c18
package
com
.
bme
.
access
.
upload
.
module
.
utils
;
import
java.io.ByteArrayOutputStream
;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.util.Base64
;
public
class
TestBase
{
public
static
String
convert
(
String
imageUrl
)
throws
Exception
{
try
(
InputStream
inputStream
=
new
URL
(
imageUrl
).
openStream
();
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
())
{
byte
[]
buffer
=
new
byte
[
4096
];
int
bytesRead
;
// 分块读取图片数据
while
((
bytesRead
=
inputStream
.
read
(
buffer
))
!=
-
1
)
{
outputStream
.
write
(
buffer
,
0
,
bytesRead
);
}
// 转换为Base64字符串
return
Base64
.
getEncoder
().
encodeToString
(
outputStream
.
toByteArray
());
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
String
url
=
"http://visimg.bmetech.com/access/control/146/in_and_out_%E7%9A%96N79079_inOutImage_20250701173146.jpg"
;
System
.
out
.
println
(
"=============="
);
// 输出Base64字符串
System
.
out
.
println
(
"data:image/jpeg;base64,"
+
convert
(
url
));
// 输出Base64字符串
System
.
out
.
println
(
"=============="
);
// 输出Base64字符串
}
}
src/main/java/com/bme/access/upload/module/web/TestController.java
View file @
c6f65f1e
...
...
@@ -9,16 +9,19 @@ import com.bme.access.upload.model.InAndOutDateUrl;
import
com.bme.access.upload.model.MaterialInfo
;
import
com.bme.access.upload.model.TransportDate
;
import
com.bme.access.upload.module.service.InFactoryTransportVehicleInfoService
;
import
com.bme.access.upload.module.service.TransportVehicleInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.util.EntityUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.util.Objects
;
@RestController
...
...
@@ -32,6 +35,8 @@ public class TestController {
@Autowired
private
InFactoryTransportVehicleInfoService
inFactoryTransportVehicleInfoService
;
@Resource
private
TransportVehicleInfoService
transportVehicleInfoService
;
@GetMapping
(
"/uploadInAndOutDate"
)
public
CommonResult
uploadInAndOutDate
()
throws
Exception
{
...
...
@@ -119,9 +124,21 @@ public class TestController {
return
materialInfo
;
}
/**
* 全量上传场内数据
*/
@GetMapping
(
"/uploadInfactory"
)
public
void
uploadInfactory
()
throws
Exception
{
inFactoryTransportVehicleInfoService
.
getAndUploadInFactoryTransportVehicleInfo
();
}
/**
* 上传车辆信息
*/
@GetMapping
(
"/updateVehicle"
)
public
void
updateVehicle
(
@Param
(
"numberPlate"
)
String
numberPlate
){
transportVehicleInfoService
.
updateVehicle
(
numberPlate
);
}
}
src/main/resources/mapper/TransportVehicleInfoMapper.xml
View file @
c6f65f1e
...
...
@@ -34,4 +34,36 @@
WHERE Vehicle_Emissions > 0
AND DTime>#{uploadTime} order by DTime asc
</select>
<select
id=
"getUploadTransportVehicleInfoWithNumberPlate"
resultType=
"com.bme.access.upload.module.module.TransportVehicleInfoUrl"
>
SELECT
Number_plate numberPlate,
VIN vin,
Model model,
issue_date issueDate,
nature_use natureUse,
Engine_number engineNumber,
Owener owner,
Address address,
Registration_date registrationDate,
Vehicle_Type vehicleType,
Vehicle_Emissions vehicleEmissions,
Driving_license_Image drivingLicenseImage,
Vehilce_Head_Img vehicleHeadImg ,
VehicleLicense_Verification_Img vehicleLicenseVerificationImg,
VIN_Verification_Img vinVerificationImg,
On_board_list onBoardList,
DTime createTime,
fuel_type fuelType,
plate_color plateColor,
OBD isObd,
registration_time registrationDate,
Engine_Image engineImage,
online_status onlineStatus,
latest_inspection_date latestInspectionDate
FROM
New_Transport_Vehicle_Info_Url
WHERE Number_plate = #{numberPlate}
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment