From e5c29d6ac2b210a9385723598d79a42ae5a9679e Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 23 四月 2025 15:20:13 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 156 insertions(+), 2 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java index 44b313d..7fc6ea1 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java @@ -1,10 +1,28 @@ package com.dy.pipIrrWechat.issue; +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.pipIrrGlobal.daoSe.SeIssueReportMapper; +import com.dy.pipIrrGlobal.daoSe.SeReportReplyMapper; +import com.dy.pipIrrGlobal.dyFile.FileOperate; +import com.dy.pipIrrGlobal.dyFile.FileRestVo; import com.dy.pipIrrGlobal.pojoSe.SeIssueReport; +import com.dy.pipIrrGlobal.pojoSe.SeReportReply; +import com.dy.pipIrrGlobal.voSe.VoIssueReport; +import com.dy.pipIrrGlobal.voSe.VoIssueReportReply; +import com.dy.pipIrrGlobal.voSe.VoIssueReport_temp; +import com.dy.pipIrrWechat.issue.qo.QoIssueReport; import lombok.extern.slf4j.Slf4j; +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.*; /** * @author ZhuBaoMin @@ -19,13 +37,149 @@ @Autowired private SeIssueReportMapper seIssueReportMapper; + @Autowired + private SeReportReplyMapper seReportReplyMapper; + + @Value("${dy.webFile.fmUrl}") + private String fmUrl ; + + @Autowired + private FileOperate fileOp ; + + private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile, boolean isVideo){ + 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){ + if(!isVideo){ + jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"))); + }else{ + jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"), "jpg")); + } + } + } + } + } + } + } /** - * 娣诲姞闂涓婃姤淇℃伅 + * 娣诲姞鐢ㄦ埛闂涓婃姤 * @param po * @return */ - public Long insertIssueReport(SeIssueReport po) { + public String addIssueReport(SeIssueReport po) { + po.setReportTime(new Date()); + po.setState((byte)1); seIssueReportMapper.insert(po); + Long issueReportId = po.getId(); + if(issueReportId == null) { + return "鍐滄埛闂涓婃姤澶辫触"; + } + + return "success"; + } + + /** + * 淇敼鍐滄埛闂涓婃姤鐘舵�侊紝鍥炲鍙婂垹闄ゆ椂浣跨敤 + * @param po + * @return + */ + public Integer updateIssueReport(SeIssueReport po) { + return seIssueReportMapper.updateByPrimaryKeySelective(po); + } + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛闂涓婃姤 + * @param queryVo + * @return + */ + public QueryResultVo<List<VoIssueReport>> getIssueReports(QoIssueReport queryVo) { + //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿 + String timeStart = queryVo.getTimeStart(); + String timeStop = queryVo.getTimeStop(); + if (timeStart != null) { + timeStart = timeStart + " 00:00:00"; + queryVo.setTimeStart(timeStart); + } + if (timeStop != null) { + timeStop = timeStop + " 23:59:59"; + queryVo.setTimeStop(timeStop); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + + Long itemTotal = seIssueReportMapper.getIssueReportsCount(params); + QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>(); + + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + + rsVo.calculateAndSet(itemTotal, params); + + List<VoIssueReport_temp> list_temp = seIssueReportMapper.getIssueReports(params); + List<VoIssueReport> list = new ArrayList<>(); + for (int i = 0; i < list_temp.size(); i++) { + VoIssueReport_temp report_temp = list_temp.get(i); + VoIssueReport report = new VoIssueReport(); + BeanUtils.copyProperties(report_temp, report); + + 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, false) ; + this.dealWebFilePath(audios_array, false, false) ; + this.dealWebFilePath(videos_array, true, true) ; + report.setImages(images_array); + report.setAudios(audios_array); + report.setVideos(videos_array); + list.add(report); + } + + rsVo.obj = list; + return rsVo; + } + + /** + * 鏍规嵁涓婃姤ID鍙婂啘鎴稩D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢� + * @param issueReportId + * @param clientId + * @return + */ + public SeIssueReport getReport(Long issueReportId, Long clientId) { + return seIssueReportMapper.getReport(issueReportId, clientId); + } + + /** + * 鍒犻櫎鍐滄埛闂涓婃姤 + * @param issueReportId + * @return + */ + public Integer deleteIssueReport(Long issueReportId) { + return seIssueReportMapper.deleteIssueReport(issueReportId); + } + + /** + * 娣诲姞鍐滄埛闂涓婃姤鍥炲 + * @param po + * @return + */ + public Long insertReportReply(SeReportReply po) { + seReportReplyMapper.insert(po); return po.getId(); } + + /** + * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅 + * @param reportId + * @return + */ + public VoIssueReportReply getReportReplyByReportId(Long reportId) { + return seReportReplyMapper.getReportReplyByReportId(reportId); + } + } -- Gitblit v1.8.0