liurunyu
2025-01-14 706f722adc849eba0296f1dbd64166e1e0bde4c5
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
@@ -3,12 +3,15 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.util.NumUtil;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrApp.issue.dto.DtoDeleteParam;
import com.dy.pipIrrApp.issue.qo.QoIssueReport;
import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper;
import com.dy.pipIrrGlobal.daoOp.OpeReportReplyMapper;
import com.dy.pipIrrGlobal.dyFile.FileOperate;
import com.dy.pipIrrGlobal.dyFile.FileRestVo;
import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
import com.dy.pipIrrGlobal.pojoOp.OpeReportReply;
import com.dy.pipIrrGlobal.voOp.VoIssueReport;
@@ -18,6 +21,7 @@
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -38,6 +42,29 @@
    @Autowired
    private OpeReportReplyMapper opeReportReplyMapper;
    @Value("${dy.webFile.fmUrl}")
    private String fmUrl ;
    @Autowired
    private FileOperate fileOp ;
    private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile){
        for (Object obj : jsonArray){
            if(obj instanceof JSONObject){
                JSONObject jsonObject = (JSONObject) obj;
                Object hashObj = jsonObject.get("hash") ;
                if(hashObj != null && NumUtil.isIntNumber(hashObj.toString())){
                    FileRestVo fvo = fileOp.parseHashcode(fmUrl, Integer.valueOf(hashObj.toString()));
                    if(fvo != null && fvo.fileWebUrl != null){
                        jsonObject.put("webPath", fvo.fileWebUrl + jsonObject.get("filePath"));
                        if(hasZipFile){
                            jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath")));
                        }
                    }
                }
            }
        }
    }
    /**
     * 添加巡检员问题上报
     * @param po
@@ -94,6 +121,9 @@
            JSONArray images_array = Optional.ofNullable(JSON.parseArray(report_temp.getImages())).orElse(new JSONArray());
            JSONArray audios_array = Optional.ofNullable(JSON.parseArray(report_temp.getAudios())).orElse(new JSONArray());
            JSONArray videos_array = Optional.ofNullable(JSON.parseArray(report_temp.getVideos())).orElse(new JSONArray());
            this.dealWebFilePath(images_array, true) ;
            this.dealWebFilePath(audios_array, false) ;
            this.dealWebFilePath(videos_array, true) ;
            report.setImages(images_array);
            report.setAudios(audios_array);
            report.setVideos(videos_array);
@@ -106,6 +136,30 @@
    }
    /**
     * 根据问题上报记录主键获取获取巡检员问题上报记录视图对象
     * @param issueReportId
     * @return
     */
    public VoIssueReport getIssueReportById(Long issueReportId) {
        VoIssueReport_temp issueReport = opeIssueReportMapper.getIssueReportById(issueReportId);
        VoIssueReport report = new VoIssueReport();
        BeanUtils.copyProperties(issueReport, report);
        JSONArray images_array = Optional.ofNullable(JSON.parseArray(issueReport.getImages())).orElse(new JSONArray());
        JSONArray audios_array = Optional.ofNullable(JSON.parseArray(issueReport.getAudios())).orElse(new JSONArray());
        JSONArray videos_array = Optional.ofNullable(JSON.parseArray(issueReport.getVideos())).orElse(new JSONArray());
        this.dealWebFilePath(images_array, true) ;
        this.dealWebFilePath(audios_array, false) ;
        this.dealWebFilePath(videos_array, true) ;
        report.setImages(images_array);
        report.setAudios(audios_array);
        report.setVideos(videos_array);
        return report;
    }
    /**
     * 逻辑删除巡检员问题上报,删除前先判断要删除的上报是否存在
     * @param po
     * @return