Browse Source

Merge remote-tracking branch 'origin/master'

feature/dangjian
wanggongfeng 5 years ago
parent
commit
1e62b3f8c9
  1. 132
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

132
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -62,10 +62,7 @@ import com.elink.esua.epdc.gird.shibei.constant.CommonConstants;
import com.elink.esua.epdc.gird.shibei.contants.ApiConstants;
import com.elink.esua.epdc.gird.shibei.dto.GridDto;
import com.elink.esua.epdc.gird.shibei.dto.SearchCaseProcessByTaskIdItemDto;
import com.elink.esua.epdc.gird.shibei.dto.form.ImageFile;
import com.elink.esua.epdc.gird.shibei.dto.form.ReportFile;
import com.elink.esua.epdc.gird.shibei.dto.form.SendEventFormDto;
import com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto;
import com.elink.esua.epdc.gird.shibei.dto.form.*;
import com.elink.esua.epdc.gird.shibei.dto.result.EventProcessHisResultDto;
import com.elink.esua.epdc.gird.shibei.dto.result.EventProcessResultDto;
import com.elink.esua.epdc.gird.shibei.dto.result.SendEventResultDto;
@ -1247,6 +1244,12 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
sendDto.setSSJD(deptInfo.getStreetInfoCode());
//所属社区
sendDto.setSSSQ("");//deptInfo.getCommunityInfoCode()
//诉求联系人及联系方式
Result<UserDTO> userResult = userInfoFeignClient.getUserInfoById(itemEntity.getUserId());
UserDTO itemUser = userResult.getData();
if(itemUser != null){
sendDto.setSQLXR(itemUser.getRealName()+itemUser.getMobile());
}
//事件地址
sendDto.setSJDZ(itemEntity.getIssueAddress());
//事件描述
@ -1256,11 +1259,95 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
sendDto.setXZB(new BigDecimal(gps[1]).setScale(15, BigDecimal.ROUND_HALF_UP));
//Y坐标(经纬度)
sendDto.setYZB(new BigDecimal(gps[0]).setScale(15, BigDecimal.ROUND_HALF_UP));
//事件处理进度
List<String> handleImagesList = new ArrayList<>();
List<EventHandleListFormDto> handleList = getHandleList(itemEntity.getId(),handleImagesList);
sendDto.setHandleList(handleList);
//图片
sendDto.setIMAGES(getImageFileNew(itemEntity.getEventId()));
List<String> images = getImageFileNew(itemEntity.getEventId(),handleImagesList);//事件图片+处理流程图片
//时间处理进度图片
sendDto.setIMAGES(images);
return sendDto;
}
private List<EventHandleListFormDto> getHandleList(String itemId, List<String> handleImagesList) {
//未组装的事件处理流程
List<ItemHandleProgressResultDTO> handleList = baseDao.selectListOfItemHandleProgressByMobile(itemId);
//组装后的、所有的 处理事件流程
List<EventHandleListFormDto> resultList = new ArrayList<>();
//统计最后一个处理的下标
int i = 1;
for(ItemHandleProgressResultDTO ipr : handleList){
//处理事件流程
EventHandleListFormDto handleProcess = new EventHandleListFormDto();
handleProcess.setAdvice(ipr.getAdvice());
handleProcess.setCreatedTime(ipr.getCreatedTime());
handleProcess.setHandlerDept(ipr.getHandlerDept());
//被吹哨部门
List<String> itemDepts = new ArrayList<>();
for(ItemDeptDTO id : ipr.getItemDeptDTOS()){
itemDepts.add(id.getDeptName());
}
handleProcess.setItemDeptDTOS(itemDepts);
if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() > 0) {
handleProcess.setState("吹哨");
} else if (ipr.getState() == 0 && ipr.getItemDeptDTOS().size() == 0) {
handleProcess.setState("回应");
} else if (ipr.getState() == 5) {
handleProcess.setState("关闭");
} else if (ipr.getState() == 10) {
handleProcess.setState("结案");
} else if ( ipr.getState() == 11 || ipr.getState() == 12 || ipr.getState() == 13) {
handleProcess.setState("满意度评价");
} else if (ipr.getState() == 15) {
handleProcess.setState("上报网格化平台");
} else if (ipr.getState() == 20) {
handleProcess.setState("网格化平台-受理");
} else if (ipr.getState() == 25) {
handleProcess.setState("网格化平台-立案");
} else if (ipr.getState() == 30) {
handleProcess.setState("网格化平台-派遣");
} else if (ipr.getState() == 35) {
handleProcess.setState("网格化平台-再派遣");
} else if (ipr.getState() == 40) {
handleProcess.setState("网格化平台-接单");
} else if (ipr.getState() == 45) {
handleProcess.setState("网格化平台-处置完成");
} else if (ipr.getState() == 50) {
handleProcess.setState("网格化平台-中间督办");
} else if (ipr.getState() == 55) {
handleProcess.setState("网格化平台-催办");
} else if (ipr.getState() == 60) {
handleProcess.setState("网格化平台-结案");
} else if (ipr.getState() == 65) {
handleProcess.setState("网格化平台-办理");
} else if (ipr.getState() == 70) {
handleProcess.setState("网格化平台-批转");
} else if (ipr.getState() == 75) {
handleProcess.setState("网格化平台-退单");
} else if (ipr.getState() == 80) {
handleProcess.setState("网格化平台-办结");
} else {
handleProcess.setState(ipr.getState().toString());
}
if(i == handleList.size()){
handleProcess.setState("转项目");
}
resultList.add(handleProcess);
//迁移图片到事件图片中去
if(null != ipr.getImages() && ipr.getImages().size() > 0){
for(String image : ipr.getImages()){
handleImagesList.add(image);
}
ipr.setImages(null);
}
i++;
}
return resultList;
}
/**
* @describe: 重新组装图片
* @author wangtong
@ -1268,13 +1355,16 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
* @params []
* @return java.util.List<java.lang.String>
*/
private List<String> getImageFileNew(String eventId){
private List<String> getImageFileNew(String eventId,List<String> handleImagesList){
//查询图片列表
QueryWrapper<ImgEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(eventId), "REFERENCE_ID", eventId);
List<ImgEntity> imageList = imgDao.selectList(wrapper);
if (null != imageList && !imageList.isEmpty()) {
List<String> imgUrlList = this.getUploadDTOList(imageList);
for(ImgEntity im : imageList){
handleImagesList.add(im.getImgUrl());
}
List<String> imgUrlList = this.getUploadDTOListNew(handleImagesList);
return imgUrlList;
}
return null;
@ -1309,6 +1399,34 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return imageFile;
}
//压缩图片并上传到服务器,得到新的地址
private List<String> getUploadDTOListNew(List<String> imageList) {
List<String> imgUrlList = new ArrayList<>();
List<String> notNeedCompressImgUrlList = new ArrayList<>();
List<String> needCompressImgUrlList = new ArrayList<>();
for (String image : imageList) {
long imgLength = CompressImgUtils.getFileLength(image);
if (imgLength > 1024 * 1024) {
needCompressImgUrlList.add(image);
} else {
notNeedCompressImgUrlList.add(image);
}
}
if (null != needCompressImgUrlList && needCompressImgUrlList.size() > 0) {
//如果图片大于1M则需要压缩
Result<List<String>> result = ossFeignClient.compressImg(needCompressImgUrlList);
if (!result.success()) {
throw new RenException("图片压缩异常" + result.getMsg());
}
if (null == result.getData() || result.getData().size() == 0) {
throw new RenException("图片压缩失败" + result.getMsg());
}
imgUrlList.addAll(result.getData());
}
imgUrlList.addAll(notNeedCompressImgUrlList);
return imgUrlList;
}
//压缩图片并上传到服务器,得到新的地址
private List<String> getUploadDTOList(List<ImgEntity> imageList) {
List<String> imgUrlList = new ArrayList<>();

Loading…
Cancel
Save