Browse Source

fit: 新增文件base64表

fit: 禁酒督察新增督察动态字段
fit: 督察动态新增查看数量接口
fit: 督察问题新增创建人姓名字段
master
wxc 7 months ago
parent
commit
e6f57d45db
  1. 23
      src/main/java/com/biutag/supervision/controller/FileController.java
  2. 12
      src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskController.java
  3. 2
      src/main/java/com/biutag/supervision/job/RiskJob.java
  4. 11
      src/main/java/com/biutag/supervision/mapper/FileBase64Mapper.java
  5. 20
      src/main/java/com/biutag/supervision/pojo/entity/FileBase64.java
  6. 2
      src/main/java/com/biutag/supervision/pojo/entity/SupTaskProblem.java
  7. 3
      src/main/java/com/biutag/supervision/pojo/entity/SupTaskTestingAlcohol.java
  8. 2
      src/main/java/com/biutag/supervision/pojo/param/TaskInspectionQueryParam.java
  9. 2
      src/main/java/com/biutag/supervision/pojo/vo/TaskCountVo.java
  10. 2
      src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java
  11. 25
      src/main/java/com/biutag/supervision/service/FileService.java
  12. 1
      src/main/java/com/biutag/supervision/service/SupRiskPersonalService.java
  13. 7
      src/main/java/com/biutag/supervision/service/SupRiskPersonalSupRecordAsyncService.java
  14. 3
      src/main/java/com/biutag/supervision/service/SupTaskInspectionService.java
  15. 7
      src/main/java/com/biutag/supervision/service/SupTaskProblemAsyncService.java
  16. 5
      src/main/java/com/biutag/supervision/service/SupTaskProblemService.java
  17. 11
      src/main/java/com/biutag/supervision/service/SupTaskService.java
  18. 24
      src/main/java/com/biutag/supervision/service/SupTaskTestingAlcoholPeopleAsyncService.java
  19. 3
      src/main/java/com/biutag/supervision/service/SupTaskTestingAlcoholPeopleService.java
  20. 1
      src/main/java/com/biutag/supervision/service/TaskManagementService.java
  21. 4
      src/main/resources/mapper/SupTaskMapper.xml
  22. 6
      src/test/java/com/biutag/supervision/StrUtil.java

23
src/main/java/com/biutag/supervision/controller/FileController.java

@ -3,8 +3,10 @@ package com.biutag.supervision.controller;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.biutag.supervision.mapper.FileBase64Mapper;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.FileBase64Dto; import com.biutag.supervision.pojo.dto.FileBase64Dto;
import com.biutag.supervision.pojo.entity.FileBase64;
import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.service.FileService; import com.biutag.supervision.service.FileService;
import com.biutag.supervision.util.ImgUtils; import com.biutag.supervision.util.ImgUtils;
@ -21,6 +23,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Base64; import java.util.Base64;
import java.util.Optional;
@Slf4j @Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@ -30,6 +33,8 @@ public class FileController {
private final FileService fileService; private final FileService fileService;
private final FileBase64Mapper fileBase64Mapper;
@ResponseBody @ResponseBody
@PostMapping("upload") @PostMapping("upload")
public Result<FileVo> upload(@RequestPart("file") MultipartFile file) throws IOException { public Result<FileVo> upload(@RequestPart("file") MultipartFile file) throws IOException {
@ -44,17 +49,9 @@ public class FileController {
@PostMapping("upload/base64") @PostMapping("upload/base64")
public Result<FileVo> upload(@RequestBody FileBase64Dto file) { public Result<FileVo> upload(@RequestBody FileBase64Dto file) {
log.info("文件BASE64上传 upload------------------------------"); log.info("文件BASE64上传 upload------------------------------");
String base64 = file.getBase64();
if (base64.contains(",")) {
base64 = base64.substring(base64.indexOf(",") + 1);
}
byte[] decodedBytes = Base64.getDecoder().decode(base64);
ByteArrayInputStream is = new ByteArrayInputStream(decodedBytes);
String filePath = fileService.upload(is, is.available(), FileUtil.extName(file.getOriginalFilename()));
return Result.success(new FileVo() return Result.success(new FileVo()
.setFileName(file.getOriginalFilename()) .setFileName(file.getOriginalFilename())
.setFilePath(filePath)); .setFilePath(fileService.uploadBase64(file.getBase64(), file.getOriginalFilename())));
} }
@GetMapping("stream/**") @GetMapping("stream/**")
@ -78,12 +75,8 @@ public class FileController {
if (StrUtil.isBlank(filepath)) { if (StrUtil.isBlank(filepath)) {
return Result.success(null); return Result.success(null);
} }
InputStream is = fileService.download(filepath); FileBase64 fileBase64 = fileBase64Mapper.selectById(filepath);
String base64 = Base64.getEncoder().encodeToString(is.readAllBytes()); return Result.success(Optional.ofNullable(fileBase64).map(FileBase64::getBase64).orElse(null));
if (ImgUtils.isImg(filepath)) {
base64 = String.format("data:image/%s;base64,", FileUtil.extName(filepath).toLowerCase()) + base64;
}
return Result.success(base64);
} }
} }

12
src/main/java/com/biutag/supervision/controller/mobileSupervision/TaskController.java

@ -1,8 +1,10 @@
package com.biutag.supervision.controller.mobileSupervision; package com.biutag.supervision.controller.mobileSupervision;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.constants.enums.TaskStatusEnum; import com.biutag.supervision.constants.enums.TaskStatusEnum;
import com.biutag.supervision.constants.enums.WorkStatusEnum;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.SupTask; import com.biutag.supervision.pojo.entity.SupTask;
import com.biutag.supervision.pojo.vo.TaskCountVo; import com.biutag.supervision.pojo.vo.TaskCountVo;
@ -34,6 +36,16 @@ public class TaskController {
return Result.success(taskService.getTaskCount()); return Result.success(taskService.getTaskCount());
} }
@GetMapping("count/all")
public Result<TaskCountVo> countAll() {
long todoCount = taskService.count(new LambdaQueryWrapper<SupTask>().eq(SupTask::getTaskStatus, WorkStatusEnum.todo.name()));
long doneCount = taskService.count(new LambdaQueryWrapper<SupTask>().eq(SupTask::getTaskStatus, WorkStatusEnum.done.name()));
TaskCountVo taskCountVo = new TaskCountVo();
taskCountVo.setTodoCount(todoCount);
taskCountVo.setDoneCount(doneCount);
return Result.success(taskCountVo);
}
@PostMapping("{taskId}/submit") @PostMapping("{taskId}/submit")
public Result<Void> submit(@PathVariable String taskId) { public Result<Void> submit(@PathVariable String taskId) {
taskService.update(new LambdaUpdateWrapper<SupTask>().eq(SupTask::getId, taskId).set(SupTask::getTaskStatus, TaskStatusEnum.done.name())); taskService.update(new LambdaUpdateWrapper<SupTask>().eq(SupTask::getId, taskId).set(SupTask::getTaskStatus, TaskStatusEnum.done.name()));

2
src/main/java/com/biutag/supervision/job/RiskJob.java

@ -69,7 +69,7 @@ public class RiskJob {
if (!riskPersonalSupRecordService.exists(new LambdaQueryWrapper<SupRiskPersonalSupRecord>() if (!riskPersonalSupRecordService.exists(new LambdaQueryWrapper<SupRiskPersonalSupRecord>()
.eq(SupRiskPersonalSupRecord::getTaskId, riskPersonal.getTaskId()) .eq(SupRiskPersonalSupRecord::getTaskId, riskPersonal.getTaskId())
.eq(SupRiskPersonalSupRecord::getIdCode, riskPersonal.getIdCode()) .eq(SupRiskPersonalSupRecord::getIdCode, riskPersonal.getIdCode())
.between(SupRiskPersonalSupRecord::getSupTime, now.minusMinutes(remainder), LocalDateTime.now()))) { .between(SupRiskPersonalSupRecord::getSupTime, now.minusMinutes(remainder), now))) {
// 状态更新为未督察 // 状态更新为未督察
riskPersonalService.update(new LambdaUpdateWrapper<SupRiskPersonal>().eq(SupRiskPersonal::getIdCode, riskPersonal.getIdCode()) riskPersonalService.update(new LambdaUpdateWrapper<SupRiskPersonal>().eq(SupRiskPersonal::getIdCode, riskPersonal.getIdCode())
.set(SupRiskPersonal::getWorkStatus, WorkStatusEnum.todo.name())); .set(SupRiskPersonal::getWorkStatus, WorkStatusEnum.todo.name()));

11
src/main/java/com/biutag/supervision/mapper/FileBase64Mapper.java

@ -0,0 +1,11 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.FileBase64;
/**
* @author wxc
* @date 2025/7/23
*/
public interface FileBase64Mapper extends BaseMapper<FileBase64> {
}

20
src/main/java/com/biutag/supervision/pojo/entity/FileBase64.java

@ -0,0 +1,20 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
/**
* @author wxc
* @date 2025/7/23
*/
@Setter
@Getter
public class FileBase64 {
@TableId
private String filePath;
private String base64;
}

2
src/main/java/com/biutag/supervision/pojo/entity/SupTaskProblem.java

@ -59,6 +59,8 @@ public class SupTaskProblem {
private String createUsername; private String createUsername;
private String createName;
private String distributionState; private String distributionState;
private String taskType; private String taskType;

3
src/main/java/com/biutag/supervision/pojo/entity/SupTaskTestingAlcohol.java

@ -36,4 +36,7 @@ public class SupTaskTestingAlcohol {
@TableField("filter_object") @TableField("filter_object")
private String filterObject; private String filterObject;
// 总结
private String summary;
} }

2
src/main/java/com/biutag/supervision/pojo/param/TaskInspectionQueryParam.java

@ -17,4 +17,6 @@ public class TaskInspectionQueryParam extends BasePage {
private String type; private String type;
private String taskStatus;
} }

2
src/main/java/com/biutag/supervision/pojo/vo/TaskCountVo.java

@ -17,6 +17,8 @@ public class TaskCountVo {
private Long negativeTodoCount; private Long negativeTodoCount;
private Long photoNoneUseCount;
public TaskCountVo() { public TaskCountVo() {
} }

2
src/main/java/com/biutag/supervision/pojo/vo/TaskVo.java

@ -59,4 +59,6 @@ public class TaskVo {
//被督察人员 //被督察人员
private Integer problemNumber; private Integer problemNumber;
private String summary;
} }

25
src/main/java/com/biutag/supervision/service/FileService.java

@ -3,6 +3,9 @@ package com.biutag.supervision.service;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.biutag.supervision.mapper.FileBase64Mapper;
import com.biutag.supervision.pojo.entity.FileBase64;
import com.biutag.supervision.util.ImgUtils;
import com.github.tobato.fastdfs.domain.fdfs.StorePath; import com.github.tobato.fastdfs.domain.fdfs.StorePath;
import com.github.tobato.fastdfs.service.FastFileStorageClient; import com.github.tobato.fastdfs.service.FastFileStorageClient;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -10,8 +13,10 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Base64;
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@ -19,6 +24,8 @@ public class FileService {
private final FastFileStorageClient fastFileStorageClient; private final FastFileStorageClient fastFileStorageClient;
private final FileBase64Mapper fileBase64Mapper;
@Value("${fdfs.preview-url}") @Value("${fdfs.preview-url}")
private String FDFS_PREVIEW_URL; private String FDFS_PREVIEW_URL;
@ -31,6 +38,24 @@ public class FileService {
return "/" + storePath.getFullPath(); return "/" + storePath.getFullPath();
} }
public String uploadBase64(String base64, String originalFilename) {
if (base64.contains(",")) {
base64 = base64.substring(base64.indexOf(",") + 1);
}
byte[] decodedBytes = Base64.getDecoder().decode(base64);
ByteArrayInputStream is = new ByteArrayInputStream(decodedBytes);
String extName = FileUtil.extName(originalFilename);
String filePath = upload(is, is.available(), extName);
FileBase64 fileBase64 = new FileBase64();
fileBase64.setFilePath(filePath);
if (ImgUtils.isImg(originalFilename)) {
base64 = String.format("data:image/%s;base64,", extName.toLowerCase()) + base64;
}
fileBase64.setBase64(base64);
fileBase64Mapper.insert(fileBase64);
return filePath;
}
public InputStream download(String filePath) { public InputStream download(String filePath) {
HttpResponse httpResponse = HttpUtil.createGet(FDFS_PREVIEW_URL + filePath) HttpResponse httpResponse = HttpUtil.createGet(FDFS_PREVIEW_URL + filePath)
.execute(); .execute();

1
src/main/java/com/biutag/supervision/service/SupRiskPersonalService.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.mapper.SupRiskPersonalMapper; import com.biutag.supervision.mapper.SupRiskPersonalMapper;
import com.biutag.supervision.mapper.SupRiskPersonalSupRecordMapper; import com.biutag.supervision.mapper.SupRiskPersonalSupRecordMapper;
import com.biutag.supervision.pojo.entity.SupRiskPersonal; import com.biutag.supervision.pojo.entity.SupRiskPersonal;

7
src/main/java/com/biutag/supervision/service/SupRiskPersonalSupRecordAsyncService.java

@ -31,12 +31,7 @@ public class SupRiskPersonalSupRecordAsyncService {
continue; continue;
} }
String base64 = file.getBase64(); String base64 = file.getBase64();
if (base64.contains(",")) { String filePath = fileService.uploadBase64(base64, file.getFileName());
base64 = base64.substring(base64.indexOf(",") + 1);
}
byte[] decodedBytes = Base64.getDecoder().decode(base64);
ByteArrayInputStream is = new ByteArrayInputStream(decodedBytes);
String filePath = fileService.upload(is, is.available(), FileUtil.extName(file.getFileName()));
file.setFilePath(filePath); file.setFilePath(filePath);
file.setBase64(null); file.setBase64(null);
} }

3
src/main/java/com/biutag/supervision/service/SupTaskInspectionService.java

@ -34,7 +34,8 @@ public class SupTaskInspectionService extends ServiceImpl<SupTaskInspectionMappe
QueryWrapper<SupTaskInspection> queryWrapper = new QueryWrapper<>(); QueryWrapper<SupTaskInspection> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("t.task_type", TaskTypeEnum.inspection.name()) queryWrapper.eq("t.task_type", TaskTypeEnum.inspection.name())
.like(StrUtil.isNotBlank(queryParam.getTaskName()), "t.task_name", queryParam.getTaskName()) .like(StrUtil.isNotBlank(queryParam.getTaskName()), "t.task_name", queryParam.getTaskName())
.eq(StrUtil.isNotBlank(queryParam.getSupDepartId()), "t.sup_depart_id", queryParam.getSupDepartId()); .eq(StrUtil.isNotBlank(queryParam.getSupDepartId()), "t.sup_depart_id", queryParam.getSupDepartId())
.eq(StrUtil.isNotBlank(queryParam.getTaskStatus()), "t.task_status", queryParam.getTaskStatus());
return baseMapper.queryPage(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); return baseMapper.queryPage(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper);
} }

7
src/main/java/com/biutag/supervision/service/SupTaskProblemAsyncService.java

@ -35,12 +35,7 @@ public class SupTaskProblemAsyncService {
continue; continue;
} }
String base64 = file.getBase64(); String base64 = file.getBase64();
if (base64.contains(",")) { String filePath = fileService.uploadBase64(base64, file.getFileName());
base64 = base64.substring(base64.indexOf(",") + 1);
}
byte[] decodedBytes = Base64.getDecoder().decode(base64);
ByteArrayInputStream is = new ByteArrayInputStream(decodedBytes);
String filePath = fileService.upload(is, is.available(), FileUtil.extName(file.getFileName()));
file.setFilePath(filePath); file.setFilePath(filePath);
file.setBase64(null); file.setBase64(null);
} }

5
src/main/java/com/biutag/supervision/service/SupTaskProblemService.java

@ -14,6 +14,7 @@ import com.biutag.supervision.pojo.entity.SupPhoto;
import com.biutag.supervision.pojo.entity.SupTask; import com.biutag.supervision.pojo.entity.SupTask;
import com.biutag.supervision.pojo.entity.SupTaskProblem; import com.biutag.supervision.pojo.entity.SupTaskProblem;
import com.biutag.supervision.pojo.entity.SupTaskSelfexaminationContent; import com.biutag.supervision.pojo.entity.SupTaskSelfexaminationContent;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.util.JSON; import com.biutag.supervision.util.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -61,7 +62,9 @@ public class SupTaskProblemService extends ServiceImpl<SupTaskProblemMapper, Sup
} }
problem.setCreateTime(LocalDateTime.now()); problem.setCreateTime(LocalDateTime.now());
try { try {
problem.setCreateUsername(UserContextHolder.getCurrentUser().getUserName()); UserAuth user = UserContextHolder.getCurrentUser();
problem.setCreateUsername(user.getUserName());
problem.setCreateName(user.getNickName());
} catch (RuntimeException e) { } catch (RuntimeException e) {
} }

11
src/main/java/com/biutag/supervision/service/SupTaskService.java

@ -10,9 +10,9 @@ import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.constants.enums.TaskTypeEnum; import com.biutag.supervision.constants.enums.TaskTypeEnum;
import com.biutag.supervision.constants.enums.WorkStatusEnum; import com.biutag.supervision.constants.enums.WorkStatusEnum;
import com.biutag.supervision.mapper.SupTaskMapper; import com.biutag.supervision.mapper.SupTaskMapper;
import com.biutag.supervision.pojo.entity.SupPhoto;
import com.biutag.supervision.pojo.entity.SupTask; import com.biutag.supervision.pojo.entity.SupTask;
import com.biutag.supervision.pojo.entity.SupTaskPerson; import com.biutag.supervision.pojo.entity.SupTaskPerson;
import com.biutag.supervision.pojo.entity.SupTaskProblem;
import com.biutag.supervision.pojo.model.NegativeWorkModel; import com.biutag.supervision.pojo.model.NegativeWorkModel;
import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.NegativeQueryParam; import com.biutag.supervision.pojo.param.NegativeQueryParam;
@ -23,9 +23,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@ -35,6 +34,8 @@ public class SupTaskService extends ServiceImpl<SupTaskMapper, SupTask> {
private final SupTaskPersonService personService; private final SupTaskPersonService personService;
private final SupPhotoService photoService;
public Page<TaskVo> pageTask(TaskQueryParam queryParam) { public Page<TaskVo> pageTask(TaskQueryParam queryParam) {
UserAuth user = UserContextHolder.getCurrentUser(); UserAuth user = UserContextHolder.getCurrentUser();
QueryWrapper<SupTask> queryWrapper = new QueryWrapper<>(); QueryWrapper<SupTask> queryWrapper = new QueryWrapper<>();
@ -87,6 +88,10 @@ public class SupTaskService extends ServiceImpl<SupTaskMapper, SupTask> {
} }
Page<NegativeWorkModel> workModelPage = negativeWorkService.page(new NegativeQueryParam(), WorkStatusEnum.todo.name()); Page<NegativeWorkModel> workModelPage = negativeWorkService.page(new NegativeQueryParam(), WorkStatusEnum.todo.name());
taskCountVo.setNegativeTodoCount(workModelPage.getTotal()); taskCountVo.setNegativeTodoCount(workModelPage.getTotal());
Long photoNoneUseCount = photoService.count(new LambdaQueryWrapper<SupPhoto>()
.eq(SupPhoto::getCreateUsername, user.getUserName())
.eq(SupPhoto::getIsUse, false));
taskCountVo.setPhotoNoneUseCount(photoNoneUseCount);
return taskCountVo; return taskCountVo;
} }

24
src/main/java/com/biutag/supervision/service/SupTaskTestingAlcoholPeopleAsyncService.java

@ -1,23 +1,20 @@
package com.biutag.supervision.service; package com.biutag.supervision.service;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.supervision.mapper.SupTaskTestingAlcoholMapper;
import com.biutag.supervision.mapper.SupTaskTestingAlcoholPeopleMapper; import com.biutag.supervision.mapper.SupTaskTestingAlcoholPeopleMapper;
import com.biutag.supervision.pojo.dto.TaskProblemDto; import com.biutag.supervision.pojo.dto.TaskProblemDto;
import com.biutag.supervision.pojo.dto.TaskTestingAlcoholPeopleDto; import com.biutag.supervision.pojo.dto.TaskTestingAlcoholPeopleDto;
import com.biutag.supervision.pojo.entity.SupDepart; import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.entity.SupPolice;
import com.biutag.supervision.pojo.entity.SupTaskTestingAlcoholPeople;
import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.util.JSON; import com.biutag.supervision.util.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.ByteArrayInputStream;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Base64;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -30,6 +27,7 @@ import java.util.Objects;
public class SupTaskTestingAlcoholPeopleAsyncService { public class SupTaskTestingAlcoholPeopleAsyncService {
private final FileService fileService; private final FileService fileService;
private final SupTaskTestingAlcoholMapper taskTestingAlcoholMapper;
private final SupTaskTestingAlcoholPeopleMapper baseMapper; private final SupTaskTestingAlcoholPeopleMapper baseMapper;
private final SupTaskProblemService taskProblemService; private final SupTaskProblemService taskProblemService;
private final SupPoliceService policeService; private final SupPoliceService policeService;
@ -41,12 +39,7 @@ public class SupTaskTestingAlcoholPeopleAsyncService {
if (!testingFiles.isEmpty()) { if (!testingFiles.isEmpty()) {
for (FileVo testingFile : testingFiles) { for (FileVo testingFile : testingFiles) {
String base64 = testingFile.getBase64(); String base64 = testingFile.getBase64();
if (base64.contains(",")) { String filePath = fileService.uploadBase64(base64, testingFile.getFileName());
base64 = base64.substring(base64.indexOf(",") + 1);
}
byte[] decodedBytes = Base64.getDecoder().decode(base64);
ByteArrayInputStream is = new ByteArrayInputStream(decodedBytes);
String filePath = fileService.upload(is, is.available(), FileUtil.extName(testingFile.getFileName()));
testingFile.setFilePath(filePath); testingFile.setFilePath(filePath);
testingFile.setBase64(null); testingFile.setBase64(null);
} }
@ -58,6 +51,13 @@ public class SupTaskTestingAlcoholPeopleAsyncService {
} }
dto.setTestingFiles(testingFiles); dto.setTestingFiles(testingFiles);
saveProblem(dto); saveProblem(dto);
List<SupTaskTestingAlcoholPeople> peopleList = baseMapper.selectList(new LambdaQueryWrapper<SupTaskTestingAlcoholPeople>().eq(SupTaskTestingAlcoholPeople::getTaskId, dto.getTaskId()));
long detected = peopleList.stream().filter(item -> "已检测".equals(item.getTestingResult())).count();
long problemCount = taskProblemService.count(new LambdaQueryWrapper<SupTaskProblem>().eq(SupTaskProblem::getTaskId, dto.getTaskId()));
String summary = String.format("应检%s人、已检%s人,未检%s人,发现%s哥问题。", peopleList.size(), detected, peopleList.size() - detected, problemCount);
taskTestingAlcoholMapper.update(new LambdaUpdateWrapper<SupTaskTestingAlcohol>().eq(SupTaskTestingAlcohol::getTaskId, dto.getTaskId())
.set(SupTaskTestingAlcohol::getSummary, summary));
} }
public void saveProblem(TaskTestingAlcoholPeopleDto dto) { public void saveProblem(TaskTestingAlcoholPeopleDto dto) {

3
src/main/java/com/biutag/supervision/service/SupTaskTestingAlcoholPeopleService.java

@ -66,7 +66,8 @@ public class SupTaskTestingAlcoholPeopleService extends ServiceImpl<SupTaskTesti
// 异步上传 // 异步上传
taskTestingAlcoholPeopleAsyncService.uploadFile(dto); taskTestingAlcoholPeopleAsyncService.uploadFile(dto);
System.out.println(System.currentTimeMillis() - l + "ms-----------------------------"); System.out.println(System.currentTimeMillis() - l + "ms-----------------------------");
return update(updateWrapper); boolean updated = update(updateWrapper);
return updated;
} }
} }

1
src/main/java/com/biutag/supervision/service/TaskManagementService.java

@ -144,6 +144,7 @@ public class TaskManagementService {
BeanUtils.copyProperties(dto, testingAlcohol); BeanUtils.copyProperties(dto, testingAlcohol);
testingAlcohol.setTaskId(task.getId()); testingAlcohol.setTaskId(task.getId());
testingAlcohol.setDataGenerationMethod(dto.getSamplingTarget()); testingAlcohol.setDataGenerationMethod(dto.getSamplingTarget());
testingAlcohol.setSummary(String.format("应检%s人、已检0人,未检0人,发现0个问题。", dto.getPersons().size()));
testingAlcoholService.save(testingAlcohol); testingAlcoholService.save(testingAlcohol);
//处理关联关系 //处理关联关系
List<SupTaskTestingAlcoholSampling> samplings = new ArrayList<>(); List<SupTaskTestingAlcoholSampling> samplings = new ArrayList<>();

4
src/main/resources/mapper/SupTaskMapper.xml

@ -18,7 +18,8 @@
i.task_content, i.task_content,
i.has_sign, i.has_sign,
s.requirement, s.requirement,
s.type s.type,
a.summary
from sup_task t from sup_task t
left join sup_task_person p on p.task_id = t.id left join sup_task_person p on p.task_id = t.id
left join sup_task_inspection i on t.id = i.task_id left join sup_task_inspection i on t.id = i.task_id
@ -42,6 +43,7 @@
i.has_sign, i.has_sign,
s.requirement, s.requirement,
s.type, s.type,
a.summary,
count(DISTINCT tp.depart_id) depart_number, count(DISTINCT tp.depart_id) depart_number,
count(tp.id) problem_number count(tp.id) problem_number
from sup_task t from sup_task t

6
src/test/java/com/biutag/supervision/StrUtil.java

@ -1,6 +1,7 @@
package com.biutag.supervision; package com.biutag.supervision;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
@ -15,6 +16,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import java.io.*; import java.io.*;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -97,9 +99,7 @@ public class StrUtil {
@Test @Test
public void template3() throws FileNotFoundException { public void template3() throws FileNotFoundException {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); System.out.println(LocalDateTime.now().minusMinutes(240));
String passwordEncoder = encoder.encode("123456");
System.out.println(passwordEncoder);
} }
} }

Loading…
Cancel
Save