批量移动执法记录仪设备

This commit is contained in:
guoshengxiong 2025-11-04 16:34:42 +08:00
parent f46e10df30
commit 59680c77a3
4 changed files with 57 additions and 8 deletions

View File

@ -17,6 +17,7 @@ import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraGroup;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem;
import com.zhgd.xmgl.modules.policecamera.entity.ProjectPoliceCameraConfig;
import com.zhgd.xmgl.modules.policecamera.entity.dto.PoliceCameraItemBatchMoveDto;
import com.zhgd.xmgl.modules.policecamera.entity.vo.GroupTreeWithDevVo;
import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo;
import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo;
@ -119,7 +120,7 @@ public class PoliceCameraItemController {
* @param policeCameraItem
* @return
*/
@OperLog(operModul = "视频管理", operType = "添加视频设备", operDesc = "添加视频设备")
@OperLog(operModul = "执法记录仪管理", operType = "添加执法记录仪设备", operDesc = "添加执法记录仪设备")
@ApiOperation(value = "添加执法记录仪设备列表信息", notes = "添加执法记录仪设备列表信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<PoliceCameraItem> add(@RequestBody PoliceCameraItem policeCameraItem) {
@ -133,7 +134,7 @@ public class PoliceCameraItemController {
* @param policeCameraItem
* @return
*/
@OperLog(operModul = "视频管理", operType = "编辑视频设备", operDesc = "编辑视频设备")
@OperLog(operModul = "执法记录仪管理", operType = "编辑执法记录仪设备", operDesc = "编辑执法记录仪设备")
@ApiOperation(value = "编辑执法记录仪设备列表信息", notes = "编辑执法记录仪设备列表信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result edit(@RequestBody PoliceCameraItem policeCameraItem) {
@ -147,7 +148,7 @@ public class PoliceCameraItemController {
* @param
* @return
*/
@OperLog(operModul = "视频管理", operType = "删除视频设备", operDesc = "删除视频设备")
@OperLog(operModul = "执法记录仪管理", operType = "删除执法记录仪设备", operDesc = "删除执法记录仪设备")
@ApiOperation(value = "删除执法记录仪设备列表信息", notes = "删除执法记录仪设备列表信息", httpMethod = "POST")
@ApiImplicitParam(name = "itemId", value = "执法记录仪设备列表ID", paramType = "body", required = true, dataType = "Integer")
@PostMapping(value = "/delete")
@ -156,7 +157,7 @@ public class PoliceCameraItemController {
return Result.ok();
}
@ApiOperation(value = "通过id查询视频设备详情", notes = "通过id查询视频设备详情", httpMethod = "GET")
@ApiOperation(value = "通过id查询执法记录仪设备详情", notes = "通过id查询执法记录仪设备详情", httpMethod = "GET")
@ApiImplicitParam(name = "itemId", value = "执法记录仪设备列表ID", paramType = "body", required = true, dataType = "Integer")
@GetMapping(value = "/queryById")
public Result<PoliceCameraItemVo> queryById(@RequestParam(name = "itemId", required = true) String id) {
@ -417,4 +418,11 @@ public class PoliceCameraItemController {
}
}
@OperLog(operModul = "执法记录仪管理", operType = "批量移动执法记录仪设备", operDesc = "批量移动执法记录仪设备")
@ApiOperation(value = "批量移动执法记录仪设备", notes = "批量移动执法记录仪设备", httpMethod = "POST")
@PostMapping(value = "/batchMove")
public Result batchMove(@RequestBody PoliceCameraItemBatchMoveDto dto) {
policeCameraItemService.batchMove(dto);
return Result.ok();
}
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.policecamera.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PoliceCameraItemBatchMoveDto {
/**
* 执法记录仪主键ids(多个,分割)
*/
@ApiModelProperty("执法记录仪主键ids(多个,分割)")
private String itemIds;
/**
*分组id
*/
@ApiModelProperty("分组id")
private Long groupId;
}

View File

@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.policecamera.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem;
import com.zhgd.xmgl.modules.policecamera.entity.dto.PoliceCameraItemBatchMoveDto;
import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo;
import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo;
import com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo;
@ -102,4 +103,6 @@ public interface IPoliceCameraItemService extends IService<PoliceCameraItem> {
VideoItemInfoVo getVideoItemInfo(Map<String, Object> map);
List<PoliceCameraItem> getListByProjectSn(String projectSn);
void batchMove(PoliceCameraItemBatchMoveDto dto);
}

View File

@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -18,16 +19,15 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItem;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraVideoConfig;
import com.zhgd.xmgl.modules.policecamera.entity.ProjectPoliceCameraConfig;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel;
import com.zhgd.xmgl.modules.policecamera.entity.*;
import com.zhgd.xmgl.modules.policecamera.entity.dto.PoliceCameraItemBatchMoveDto;
import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemVo;
import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo;
import com.zhgd.xmgl.modules.policecamera.entity.vo.VideoItemInfoVo.VideoInfo;
import com.zhgd.xmgl.modules.policecamera.enums.ProjectPoliceCameraConfigVideoTypeEnum;
import com.zhgd.xmgl.modules.policecamera.mapper.PoliceCameraItemMapper;
import com.zhgd.xmgl.modules.policecamera.mapper.ProjectPoliceCameraConfigMapper;
import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraGroupService;
import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraItemService;
import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraVideoConfigService;
import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketCameraRelService;
@ -86,6 +86,9 @@ public class PoliceCameraItemServiceImpl extends ServiceImpl<PoliceCameraItemMap
@Lazy
@Autowired
private IPoliceCameraVideoConfigService policeCameraVideoConfigService;
@Lazy
@Autowired
private IPoliceCameraGroupService policeCameraGroupService;
@Override
public IPage<PoliceCameraItemVo> queryPageList(HashMap<String, Object> param) {
@ -350,4 +353,20 @@ public class PoliceCameraItemServiceImpl extends ServiceImpl<PoliceCameraItemMap
.eq(PoliceCameraItem::getProjectSn, projectSn));
}
@Override
@CacheEvict(value = "policeCameraItem", allEntries = true)
public void batchMove(PoliceCameraItemBatchMoveDto dto) {
if (StrUtil.isBlank(dto.getItemIds())) {
return;
}
PoliceCameraGroup group = policeCameraGroupService.getById(dto.getGroupId());
if (group == null) {
throw new OpenAlertException("执法记录仪分组不存在,请刷新页面重试");
}
this.update(null, new LambdaUpdateWrapper<PoliceCameraItem>()
.set(PoliceCameraItem::getGroupId, dto.getGroupId())
.in(PoliceCameraItem::getItemId, StrUtil.split(dto.getItemIds(), ","))
);
}
}