Compare commits

...

3 Commits

Author SHA1 Message Date
阿斌
182a98283c
Pre Merge pull request !41 from 阿斌/N/A 2026-04-09 09:42:28 +00:00
lin
4e602713d4 优化批量下线设备处理。修改金仓驱动导入方式 2026-04-09 17:42:11 +08:00
阿斌
34d1dbb399
修复两次密码不一致时,任然可以修改密码,且成功提交,密码用*代替
还有以下一处需要修改web\src\layout\components\dialog\changePassword.vue

Signed-off-by: 阿斌 <38912748@qq.com>
2025-08-23 15:03:02 +00:00
18 changed files with 33 additions and 28 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

18
pom.xml
View File

@ -178,24 +178,6 @@
</dependency> </dependency>
<!-- kingbase人大金仓 --> <!-- kingbase人大金仓 -->
<!-- 手动下载驱动后安装 -->
<!-- mvn install:install-file -Dfile=/home/lin/soft/kingbase/jdbc-aarch/kingbase8-8.6.0.jar -DgroupId=com.kingbase -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar
-->
<!-- <dependency>-->
<!-- <groupId>com.kingbase</groupId>-->
<!-- <artifactId>kingbase8</artifactId>-->
<!-- <version>8.6.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${basedir}/libs/jdbc-aarch/kingbase8-8.6.0.jar</systemPath>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.kingbase</groupId>-->
<!-- <artifactId>kingbase8</artifactId>-->
<!-- <version>8.6.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${basedir}/libs/jdbc-x86/kingbase8-8.6.0.jar</systemPath>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>cn.com.kingbase</groupId> <groupId>cn.com.kingbase</groupId>
<artifactId>kingbase8</artifactId> <artifactId>kingbase8</artifactId>

View File

@ -1,8 +1,11 @@
package com.genersoft.iot.vmp.gb28181.bean; package com.genersoft.iot.vmp.gb28181.bean;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Data @Getter
@Setter
public class InviteDecodeException extends RuntimeException{ public class InviteDecodeException extends RuntimeException{
private int code; private int code;
private String msg; private String msg;

View File

@ -1,8 +1,10 @@
package com.genersoft.iot.vmp.gb28181.bean; package com.genersoft.iot.vmp.gb28181.bean;
import lombok.Data; import lombok.Getter;
import lombok.Setter;
@Data @Getter
@Setter
public class PlayException extends RuntimeException{ public class PlayException extends RuntimeException{
private int code; private int code;
private String msg; private String msg;

View File

@ -233,7 +233,13 @@ public class DeviceServiceImpl implements IDeviceService, CommandLineRunner {
log.info("[更新多个离线设备信息] 参数为空"); log.info("[更新多个离线设备信息] 参数为空");
return; return;
} }
deviceMapper.offlineByList(offlineDevices); int limitCount = 400;
for (int i = 0; i < offlineDevices.size(); i += limitCount) {
int end = Math.min(i + limitCount, offlineDevices.size());
List<Device> batchList = offlineDevices.subList(i, end);
deviceMapper.offlineByList(batchList);
}
for (Device device : offlineDevices) { for (Device device : offlineDevices) {
device.setOnLine(false); device.setOnLine(false);
redisCatchStorage.updateDevice(device); redisCatchStorage.updateDevice(device);

View File

@ -1,12 +1,14 @@
package com.genersoft.iot.vmp.media.event.hook; package com.genersoft.iot.vmp.media.event.hook;
import lombok.Data; import lombok.Getter;
import lombok.Setter;
/** /**
* zlm hook事件的参数 * zlm hook事件的参数
* @author lin * @author lin
*/ */
@Data @Getter
@Setter
public class Hook { public class Hook {
private HookType hookType; private HookType hookType;

View File

@ -29,6 +29,7 @@ import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.async.DeferredResult; import org.springframework.web.context.request.async.DeferredResult;
@ -361,11 +362,12 @@ public class CloudRecordController {
@ResponseBody @ResponseBody
@GetMapping("/download/zip") @GetMapping("/download/zip")
public void downloadZipFileFromUrl(HttpServletResponse response, Integer[] ids) { public void downloadZipFileFromUrl(HttpServletResponse response, Integer[] ids) {
log.info("[下载指定录像文件的压缩包] 查询 ids->{}", ids); String idsStr = StringUtils.arrayToCommaDelimitedString(ids);
log.info("[下载指定录像文件的压缩包] 查询 ids->{}", idsStr);
List<Integer> arrayList = new ArrayList<>(List.of(ids)); List<Integer> arrayList = new ArrayList<>(List.of(ids));
List<CloudRecordUrl> cloudRecordItemList = cloudRecordService.getUrlListByIds(arrayList); List<CloudRecordUrl> cloudRecordItemList = cloudRecordService.getUrlListByIds(arrayList);
if (ObjectUtils.isEmpty(cloudRecordItemList)) { if (ObjectUtils.isEmpty(cloudRecordItemList)) {
log.warn("[下载指定录像文件的压缩包] 未找到录像文件ids->{}", ids); log.warn("[下载指定录像文件的压缩包] 未找到录像文件ids->{}", idsStr);
return; return;
} }

View File

@ -13,10 +13,10 @@
<div id="shared" style="margin-right: 20px;"> <div id="shared" style="margin-right: 20px;">
<el-form ref="passwordForm" :rules="rules" status-icon label-width="80px"> <el-form ref="passwordForm" :rules="rules" status-icon label-width="80px">
<el-form-item label="新密码" prop="newPassword"> <el-form-item label="新密码" prop="newPassword">
<el-input v-model="newPassword" autocomplete="off" /> <el-input v-model="newPassword" autocomplete="off" type="password" />
</el-form-item> </el-form-item>
<el-form-item label="确认密码" prop="confirmPassword"> <el-form-item label="确认密码" prop="confirmPassword">
<el-input v-model="confirmPassword" autocomplete="off" /> <el-input v-model="confirmPassword" autocomplete="off" type="password" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -88,6 +88,14 @@ export default {
} }
}, },
onSubmit: function() { onSubmit: function() {
if (this.newPassword !== this.confirmPassword) {
this.$message({
showClose: true,
message: '两次输入密码不一致!',
type: 'error'
})
return
}
this.$store.dispatch('user/changePasswordForAdmin', { this.$store.dispatch('user/changePasswordForAdmin', {
password: this.newPassword, password: this.newPassword,
userId: this.form.id userId: this.form.id