From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 14 四月 2025 23:10:22 +0800
Subject: [PATCH] 批量审核和图片保存bug

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java |   95 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 80 insertions(+), 15 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
index 2859546..f2f4c28 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,11 +1,14 @@
 package com.ycl.service.caseHandler.impl;
 
+import cn.hutool.core.util.PageUtil;
+import com.alibaba.druid.sql.PagerUtils;
 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.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.api.CommonResult;
 import com.ycl.bo.AdminUserDetails;
 import com.ycl.common.constant.BaseCaseStatus;
 import com.ycl.common.constant.StepName;
@@ -19,6 +22,7 @@
 import com.ycl.service.caseHandler.*;
 import com.ycl.service.resources.IImageResourcesService;
 import com.ycl.vo.MyBacklogVO;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +33,7 @@
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -41,6 +46,7 @@
  * @since 2022-09-24
  */
 @Service
+@Slf4j
 public class DisposeRecordServiceImpl extends ServiceImpl<DisposeRecordMapper, DisposeRecord> implements IDisposeRecordService {
 
     @Resource
@@ -68,7 +74,7 @@
     public final static Short LAST_THREEMONTH = 2;
 
     @Override
-    public Page<MyBacklogVO> listMyTask(Page<MyBacklogVO> page, String num, Long userId, Short type, Short source, Short time) {
+    public Page<MyBacklogVO> listMyTask(String num, Long userId, Short type, Short source, Short time, Integer current, Integer pageSize) {
         LocalDateTime alarmTimeStart = null;
         LocalDateTime alarmTimeEnd = null;
         if (Objects.equals(time, LAST_WEEK)) {
@@ -81,13 +87,61 @@
             alarmTimeStart = LocalDateTime.now().minusMonths(3);
             alarmTimeEnd = LocalDateTime.now();
         }
-        //TODO:鍑虹幇杩囦竴娆¢噸澶嶆暟鎹�
-        return disposeRecordMapper.selectMyBackList(page, userId, num, alarmTimeStart, alarmTimeEnd, source, type);
+        Integer pageIndex = PageUtil.getStart(current - 1, pageSize);
+        List<MyBacklogVO> list = disposeRecordMapper.selectMyBackList(userId, num, alarmTimeStart, alarmTimeEnd, source, type, pageIndex, pageSize);
+        Long total = disposeRecordMapper.selectMyBackListTotal(userId, num, alarmTimeStart, alarmTimeEnd, source, type);
+
+        list.forEach(o -> {
+            if (o.getPictureList() != null && o.getPictureList().size() > 0) {
+                o.setPicture(o.getPictureList().get(0).getUrl());
+            }
+        });
+        Page<MyBacklogVO> page = new Page<>();
+        page.setRecords(list);
+        page.setTotal(total);
+        return page;
+    }
+
+    @Override
+    public Long listMyTaskCount(String num, Long userId, Short type, Short source, Short time) {
+        LocalDateTime alarmTimeStart = null;
+        LocalDateTime alarmTimeEnd = null;
+        if (Objects.equals(time, LAST_WEEK)) {
+            alarmTimeStart = LocalDateTime.now().minusDays(7);
+            alarmTimeEnd = LocalDateTime.now();
+        } else if (Objects.equals(time, LAST_MONTH)) {
+            alarmTimeStart = LocalDateTime.now().minusMonths(1);
+            alarmTimeEnd = LocalDateTime.now();
+        } else if (Objects.equals(time, LAST_THREEMONTH)) {
+            alarmTimeStart = LocalDateTime.now().minusMonths(3);
+            alarmTimeEnd = LocalDateTime.now();
+        }
+        return disposeRecordMapper.selectMyBackListTotal(userId, num, alarmTimeStart, alarmTimeEnd, source, type);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam) {
+    public CommonResult saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam) {
+        log.info("鍙傛暟------------------>{}", uploadDisposingResultParam);
+        if (uploadDisposingResultParam.getArrivalTime() != null) {
+            uploadDisposingResultParam.setArrivalTime(uploadDisposingResultParam.getArrivalTime().replace("/", "-"));
+        }
+        if (uploadDisposingResultParam.getInvestigationTime() != null) {
+            uploadDisposingResultParam.setInvestigationTime(uploadDisposingResultParam.getInvestigationTime().replace("/", "-"));
+        }
+
+        List<String> pics = new ArrayList<>();
+        uploadDisposingResultParam.getPic().forEach(o -> {
+            pics.add(o.replace("/sccg/API/img?fileUrl=", ""));
+        });
+        uploadDisposingResultParam.setPic(pics);
+
+        List<String> situationPics = new ArrayList<>();
+        uploadDisposingResultParam.getSituationPic().forEach(o -> {
+            situationPics.add(o.replace("/sccg/API/img?fileUrl=", ""));
+        });
+        uploadDisposingResultParam.setSituationPic(situationPics);
+
         AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
         List<ArrivalSituation> list = iArrivalSituationService.list(new LambdaQueryWrapper<ArrivalSituation>().eq(ArrivalSituation::getBaseCaseId, uploadDisposingResultParam.getCaseId()));
         if (!list.isEmpty()) {
@@ -96,6 +150,8 @@
                 //褰撲簨浜�
                 PartyInfo partyInfo = new PartyInfo();
                 BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
+                //TODO:鍓嶇鍥炴樉鍙湁褰撲簨浜哄鍚嶉渶瑕佸湪璇︽儏杩斿洖
+                //TODO:鍚庡彴涓婃姤褰撲簨浜轰俊鎭~涓嶈繘鍘�
                 partyInfo.setId(uploadDisposingResultParam.getPartyInfoId());
                 iPartyInfoService.updateById(partyInfo);
                 //璋冩煡鍙栬瘉
@@ -104,7 +160,7 @@
                 investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
                 investigation.setPartyId(partyInfo.getId());
                 //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-                investigation.setPic(uploadDisposingResultParam.getPic().toString());
+                investigation.setPic(String.join(",", uploadDisposingResultParam.getPic()));
                 //TODO:灏忕▼搴忓墠绔〉闈㈡病鏈夎皟鏌ユ椂闂达紝鏆傛椂涓嶅~
                 //investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                 investigation.setId(uploadDisposingResultParam.getInvestigationId());
@@ -117,16 +173,18 @@
             arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
             arrivalSituation.setId(uploadDisposingResultParam.getArrivalSituationId());
             //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-            arrivalSituation.setSituationPic(uploadDisposingResultParam.getSituationPic().toString());
+            arrivalSituation.setSituationPic(String.join(",", uploadDisposingResultParam.getSituationPic()));
             iArrivalSituationService.updateById(arrivalSituation);
             //鏂囦功
             String handType = "02";
+            iImageResourcesService.deleteByCaseId(uploadDisposingResultParam.getCaseId(), handType);
             ImageResources imageResources = new ImageResources();
             imageResources.setType(handType);
             imageResources.setBelongToId(uploadDisposingResultParam.getCaseId());
-            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic().toString(), uploadDisposingResultParam.getSituationPic().toString()));
-            imageResources.setId(uploadDisposingResultParam.getImageResourcesId());
-            iImageResourcesService.updateById(imageResources);
+            imageResources.setUrl(StringUtils.joinWith(",",
+                    String.join(",", uploadDisposingResultParam.getPic()),
+                    String.join(",", uploadDisposingResultParam.getSituationPic())));
+            iImageResourcesService.save(imageResources);
             if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) {
                 Writ writ = new Writ();
                 BeanUtils.copyProperties(uploadDisposingResultParam, writ);
@@ -159,7 +217,7 @@
             investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
             investigation.setCreateTime(LocalDateTime.now());
             //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-            investigation.setPic(uploadDisposingResultParam.getPic().toString());
+            investigation.setPic(String.join(",", uploadDisposingResultParam.getPic()));
             investigation.setCreateUser(user.getUserId());
             investigation.setPartyId(partyInfo.getId());
 
@@ -173,7 +231,7 @@
             arrivalSituation.setCreateTime(LocalDateTime.now());
             arrivalSituation.setCreateUser(user.getUserId());
             //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-            arrivalSituation.setSituationPic(uploadDisposingResultParam.getSituationPic().toString());
+            arrivalSituation.setSituationPic(String.join(",", uploadDisposingResultParam.getSituationPic()));
             arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
             iArrivalSituationService.save(arrivalSituation);
             //鏂囦功
@@ -183,7 +241,9 @@
             imageResources.setBelongToId(uploadDisposingResultParam.getCaseId());
             imageResources.setCreateTime(LocalDateTime.now());
             imageResources.setCreateUser(user.getUserId());
-            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic().toString(), uploadDisposingResultParam.getSituationPic().toString()));
+            imageResources.setUrl(StringUtils.joinWith(",",
+                    String.join(",", uploadDisposingResultParam.getPic()),
+                    String.join(",", uploadDisposingResultParam.getSituationPic())));
             iImageResourcesService.save(imageResources);
             if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) {
                 Writ writ = new Writ();
@@ -197,8 +257,9 @@
                 writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                 iWritService.save(writ);
                 imageResources.setUrl(StringUtils
-                        .joinWith(",", uploadDisposingResultParam.getPic().toString()
-                                , uploadDisposingResultParam.getSituationPic().toString()
+                        .joinWith(","
+                                , String.join(",", uploadDisposingResultParam.getPic())
+                                , String.join(",", uploadDisposingResultParam.getSituationPic())
                                 , uploadDisposingResultParam.getOriginalPic()
                                 , uploadDisposingResultParam.getOtherPic()
                                 , uploadDisposingResultParam.getRectifiedPic()
@@ -240,6 +301,10 @@
         //璁剧疆娴佺▼鐜妭鏁版嵁
         disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId());
         disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId());
-        return baseMapper.insert(disposeRecord) == 1 ? true : false;
+        boolean result = baseMapper.insert(disposeRecord) == 1 ? true : false;
+        if (!result) {
+            CommonResult.failed("宸叉彁浜�,璇峰嬁閲嶅鎻愪氦");
+        }
+        return CommonResult.success("add success");
     }
 }

--
Gitblit v1.8.0