Merge remote-tracking branch 'origin/dunhuan_jdk8' into dunhuang

# Conflicts:
#	src/main/java/com/zhgd/xmgl/modules/policecamera/controller/PoliceCameraItemFileController.java
This commit is contained in:
guoshengxiong 2025-12-22 14:36:33 +08:00
commit a306e776e5
2 changed files with 65 additions and 2 deletions

View File

@ -6,6 +6,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
@ -133,7 +134,13 @@ public class OperLogAspect {
operlog.setOperRequParam(params);
Object[] args = joinPoint.getArgs();
if (ArrayUtils.isNotEmpty(args)) {
List<Object> logArgs = Arrays.stream(args).filter(arg -> (!(arg instanceof HttpServletRequest) && !(arg instanceof HttpServletResponse) && !(arg instanceof MultipartFile))).collect(Collectors.toList());
List<Object> logArgs = Arrays.stream(args).filter(arg ->
!(arg instanceof HttpServletRequest)
&& !(arg instanceof HttpServletResponse)
&& !(arg instanceof MultipartFile)
&& !(arg instanceof MultipartFile[])
)
.collect(Collectors.toList());
// 判断中文字符数量一个中文字符占 1 个长度
String body = JSON.toJSONString(logArgs);
body = getHideSensitiveParamBody(body, request.getRequestURI());

View File

@ -3,11 +3,16 @@ package com.zhgd.xmgl.modules.policecamera.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.call.api.PoliceCameraManufacturer;
import com.zhgd.xmgl.call.factory.PoliceCameraManufacturerFactory;
import com.zhgd.xmgl.modules.basicdata.service.UploadFileService;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItemFile;
import com.zhgd.xmgl.modules.policecamera.entity.dto.PoliceCameraItemFileDto;
import com.zhgd.xmgl.modules.policecamera.entity.vo.PoliceCameraItemFileVo;
@ -26,7 +31,9 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@ -52,6 +59,9 @@ public class PoliceCameraItemFileController {
@Lazy
@Autowired
private PoliceCameraManufacturerFactory policeCameraManufacturerFactory;
@Lazy
@Resource
private UploadFileService uploadFileService;
/**
* 分页列表查询
@ -194,11 +204,57 @@ public class PoliceCameraItemFileController {
try {
FileUtil.del(PathUtil.getBasePath() + "/" + vo.getFileUrl());
} catch (Exception e) {
log.warn("执法记录仪文件删除失败:",e);
log.warn("执法记录仪文件删除失败:", e);
}
}
}
}
return Result.ok();
}
@OperLog(operModul = "执法记录仪文件管理", operType = "", operDesc = "添加执法记录仪文件信息(此接口必须也上传文件)")
@ApiOperation(value = "添加执法记录仪文件信息(此接口必须也上传文件)", notes = "添加执法记录仪文件信息(此接口必须也上传文件)", httpMethod = "POST")
@PostMapping(value = "/addWithFile")
public Result addWithFile(@RequestPart("policeCameraItemFile") String fileInfoJson,
@RequestPart("files") MultipartFile[] files) {
if (StrUtil.isBlank(fileInfoJson)) {
throw new OpenAlertException("policeCameraItemFile不能为空");
}
Map<String, Object> uploadImage = new HashMap<>();
try {
uploadImage = uploadFileService.uploadImageSafety(files);
} catch (Exception e) {
log.error("",e);
throw new OpenAlertException("上传文件失败:" + e.getMessage());
}
String fileUrl = null;
String fileName = null;
String originalFilename = null;
Integer fileLen = null;
if (uploadImage != null) {
List data = (List) uploadImage.get("data");
if (CollUtil.isNotEmpty(data)) {
for (Object datum : data) {
Map fi = (Map) datum;
fileName = MapUtils.getString(fi, "imageUrl");
fileLen = Integer.valueOf(((Map) MapUtils.getObject(fi, "fileInfo")).get("size").toString());
originalFilename = ((Map) MapUtils.getObject(fi, "fileInfo")).get("originalFilename").toString();
fileUrl = PathUtil.getBasePath() + "/" + fileName;
}
}
}
try {
PoliceCameraItemFileDto dto = JSONObject.parseObject(fileInfoJson, PoliceCameraItemFileDto.class);
dto.setFileName(originalFilename);
dto.setFileUrl(fileName);
dto.setFileLen(fileLen);
policeCameraItemFileService.add(dto);
} catch (Exception e) {
if (uploadImage != null) {
FileUtil.del(fileUrl);
}
throw new OpenAlertException(e.getMessage(),e);
}
return Result.ok();
}
}