| | |
| | | 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.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | |
| | | @Autowired |
| | | private SeReportReplyMapper seReportReplyMapper; |
| | | |
| | | @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 |
| | | * @return |
| | | */ |
| | | public Long insertIssueReport(SeIssueReport po) { |
| | | public String addIssueReport(SeIssueReport po) { |
| | | po.setReportTime(new Date()); |
| | | po.setState((byte)1); |
| | | seIssueReportMapper.insert(po); |
| | | return po.getId(); |
| | | Long issueReportId = po.getId(); |
| | | if(issueReportId == null) { |
| | | return "农户问题上报失败"; |
| | | } |
| | | |
| | | return "success"; |
| | | } |
| | | |
| | | /** |
| | | * 修改农户问题上报状态,回复及删除时使用 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Integer updateIssueReport(SeIssueReport po) { |
| | | return seIssueReportMapper.updateByPrimaryKeySelective(po); |
| | | } |
| | | |
| | | /** |
| | |
| | | rsVo.pageCurr = queryVo.pageCurr; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = seIssueReportMapper.getIssueReports(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) ; |
| | | this.dealWebFilePath(audios_array, false) ; |
| | | this.dealWebFilePath(videos_array, true) ; |
| | | report.setImages(images_array); |
| | | report.setAudios(audios_array); |
| | | report.setVideos(videos_array); |
| | | list.add(report); |
| | | } |
| | | |
| | | rsVo.obj = list; |
| | | return rsVo; |
| | | } |
| | | |
| | | /** |
| | | * 根据上报ID及农户ID获取未删除的上报,删除上报判断使用 |
| | | * @param issueReportId |
| | | * @param clientId |
| | | * @return |
| | | */ |
| | | public SeIssueReport getReport(Long issueReportId, Long clientId) { |
| | | return seIssueReportMapper.getReport(issueReportId, clientId); |
| | | } |
| | | |
| | | /** |
| | | * 删除农户问题上报 |
| | | * @param issueReportId |
| | | * @return |