From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 20 五月 2025 23:48:08 +0800 Subject: [PATCH] 修改文件上传类型限制 --- springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java | 410 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 330 insertions(+), 80 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java index 4700bb5..26ac215 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_api/src/main/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImpl.java @@ -1,33 +1,5 @@ package com.panzhihua.serviceapi.biz.impl; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpResponse; -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.panzhihua.common.api.LangchaoApiConstants; -import com.panzhihua.common.api.LcReturnObject; -import com.panzhihua.common.constants.TokenConstant; -import com.panzhihua.common.enums.LocalEventToLangChaoEventTypeEnum; -import com.panzhihua.common.model.dtos.api.EventFile; -import com.panzhihua.common.model.dtos.api.EventInfo; -import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.model.vos.grid.EventDetailsVO; -import com.panzhihua.common.model.vos.grid.EventGridDataDetailsVO; -import com.panzhihua.common.model.vos.grid.EventResourceVO; -import com.panzhihua.common.service.grid.GridService; -import com.panzhihua.common.utlis.DateUtils; -import com.panzhihua.serviceapi.biz.LcApiService; -import com.panzhihua.serviceapi.model.dto.LcGridData; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; @@ -38,22 +10,84 @@ import java.util.Map; import java.util.concurrent.TimeUnit; +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.panzhihua.common.api.*; +import com.panzhihua.common.constants.TokenConstant; +import com.panzhihua.common.enums.LocalEventToLangChaoEventTypeEnum; +import com.panzhihua.common.model.dtos.api.EventFile; +import com.panzhihua.common.model.dtos.api.EventInfo; +import com.panzhihua.common.model.dtos.grid.LcEventVisitingTasksListDTO; +import com.panzhihua.common.model.vos.BcDictionaryItemVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComMngPopulationVO; +import com.panzhihua.common.model.vos.grid.EventDetailsVO; +import com.panzhihua.common.model.vos.grid.EventGridDataDetailsVO; +import com.panzhihua.common.model.vos.grid.EventResourceVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.service.grid.GridService; +import com.panzhihua.common.utlis.CopyUtil; +import com.panzhihua.common.utlis.DateUtils; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.serviceapi.biz.LcApiService; +import com.panzhihua.serviceapi.model.dto.*; + +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; +import lombok.extern.slf4j.Slf4j; + /** - * program 攀枝花智慧社区项目 - * description 第三方浪潮市平台对接接口管理API + * program 攀枝花智慧社区项目 description 第三方浪潮市平台对接接口管理API * - * @author manailin - * Date 2021-01-22 15:30 + * @author manailin Date 2021-01-22 15:30 **/ @Slf4j @Service public class LcApiServiceImpl implements LcApiService { + + @Value("${langchao.url}") + private String host; @Resource private GridService gridService; @Autowired private StringRedisTemplate redisTemplate; + + @Resource + private CommunityService communityService; + + /** + * 工具方法 inputStream 转 File + */ + private static File inputStreamToFile(InputStream ins, String name) throws Exception { + File file = new File(System.getProperty("java.io.tmpdir") + File.separator + name); + log.info(System.getProperty("java.io.tmpdir") + File.separator + name); + if (file.exists()) { + return file; + } + OutputStream os = new FileOutputStream(file); + int bytesRead; + int len = 8192; + byte[] buffer = new byte[len]; + while ((bytesRead = ins.read(buffer, 0, len)) != -1) { + os.write(buffer, 0, bytesRead); + } + os.close(); + ins.close(); + return file; + } /** * 从redis获取token @@ -62,31 +96,35 @@ */ private String getAuthToken() { ValueOperations<String, String> valueOperations = redisTemplate.opsForValue(); - if (valueOperations.get(LangchaoApiConstants.LANG_CHAO_TOKEN) == null) { - saveTokenFromRemoteRequest("18080799023", "123456"); + if (valueOperations.get(LcApiConstants.LANG_CHAO_TOKEN) == null) { + saveTokenFromRemoteRequest(LcApiConstants.LC_UPLOAD_NAME, LcApiConstants.LC_UPLOAD_PASSWORD); } - return valueOperations.get(LangchaoApiConstants.LANG_CHAO_TOKEN); + return valueOperations.get(LcApiConstants.LANG_CHAO_TOKEN); } @Override public String saveTokenFromRemoteRequest(String name, String password) { - if (redisTemplate.hasKey(LangchaoApiConstants.LANG_CHAO_TOKEN)) { - //如果redis存在token,直接返回redis存储的token + Boolean authToken = redisTemplate.hasKey(LcApiConstants.LANG_CHAO_TOKEN); + if (authToken != null) { + // 如果redis存在token,直接返回redis存储的token ValueOperations<String, String> valueOperations = redisTemplate.opsForValue(); - return valueOperations.get(LangchaoApiConstants.LANG_CHAO_TOKEN); + return valueOperations.get(LcApiConstants.LANG_CHAO_TOKEN); } else { - //如果第一次请求浪潮的token请求,请求完成后,保存对于的token到数据库中。便于12小时内重复调用 - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_GET_TOKEN_URL.replace("#username", name).replace("#password", password)); + // 如果第一次请求浪潮的token请求,请求完成后,保存对于的token到数据库中。便于12小时内重复调用 + HttpRequest request = HttpUtil.createPost( + host + + LcApiConstants.GRID_GET_TOKEN_URL.replace("#username", name).replace("#password", password)); HttpResponse result = request.execute(); ValueOperations<String, String> valueOperations = redisTemplate.opsForValue(); - valueOperations.set(LangchaoApiConstants.LANG_CHAO_TOKEN, result.body(), TokenConstant.EXPIRETIME, TimeUnit.MINUTES); + valueOperations.set(LcApiConstants.LANG_CHAO_TOKEN, result.body(), TokenConstant.EXPIRETIME, + TimeUnit.MINUTES); return result.toString(); } } @Override public String getAllEventTypeList() { - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_EVENT_CATEGORY_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_EVENT_CATEGORY_URL); request.auth(getAuthToken()); HttpResponse result = request.execute(); return result.body(); @@ -94,27 +132,27 @@ @Override public String submitEventRegister(EventInfo eventInfo) { - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_REGIST_EVENT_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_REGIST_EVENT_URL); request.auth(getAuthToken()); ObjectMapper mapper = new ObjectMapper(); try { - //对象转map + // 对象转map Map m = mapper.readValue(mapper.writeValueAsString(eventInfo), Map.class); request.form(m); } catch (JsonProcessingException e) { log.info("方法submitEventRegister发生错误:{}", e.getMessage()); } HttpResponse result = request.execute(); - log.info("submit上传浪潮事件信息:{}", result.body()); + log.info("submitEventRegister上传浪潮事件信息:{}", result.body()); return result.body(); } @Override - public R submitEventRelationFile(EventFile eventFile) { - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_EVENT_FILE_UPLOAD_URL); + public R submitEventOrVisitRecordRelationFile(EventFile eventFile) { + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_EVENT_FILE_UPLOAD_URL); request.auth(getAuthToken()); try { - HttpURLConnection httpUrl = (HttpURLConnection) new URL(eventFile.getFiles()).openConnection(); + HttpURLConnection httpUrl = (HttpURLConnection)new URL(eventFile.getFiles()).openConnection(); httpUrl.connect(); File file = inputStreamToFile(httpUrl.getInputStream(), eventFile.getFileName()); request.form("files", file); @@ -126,14 +164,14 @@ file.delete(); return R.ok(result.body()); } catch (Exception e) { - log.info("方法submitEventRelationFile发生错误:{}", e.getMessage()); + log.info("方法submitEventOrVisitRecordRelationFile发生错误:{}", e.getMessage()); } return R.fail(); } @Override public String getEventInfoById(String eventId) { - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_APP_EVENT_INFO_DETAIL_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_APP_EVENT_INFO_DETAIL_URL); request.auth(getAuthToken()); request.form("eventId", eventId); HttpResponse result = request.execute(); @@ -141,8 +179,20 @@ } @Override - public List<LcGridData> getGridListByAreaId(String areaId) { - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_GET_EVENT_INFO_AREA_ID_URL); + public List<LcGridData> getGridTreeByAreaId(String areaId) { + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_GET_EVENT_INFO_AREA_ID_URL); + request.auth(getAuthToken()); + request.form("areaId", areaId); + request.form("level", 4); + HttpResponse result = request.execute(); + return JSONArray.parseArray(result.body(), LcGridData.class); + } + + @Override + public List<LcGridData> getGridDataListByAreaId(String areaId) { + log.info("浪潮请求url"); + log.info(host + LcApiConstants.GRID_GET_GRID_DATA_AREA_ID_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_GET_GRID_DATA_AREA_ID_URL); request.auth(getAuthToken()); request.form("areaId", areaId); HttpResponse result = request.execute(); @@ -150,12 +200,19 @@ } @Override - public String getGridMemberListByAreaIdOrName(String areaId) { - HttpRequest request = HttpUtil.createPost(LangchaoApiConstants.GRID_GET_GETALL_SEARCH_PAGE_URL); + public List<GridMemberPageListDTO> getGridMemberListByAreaIdOrName(String areaId, String param, Long pageNum, + Long pageSize) { + HttpRequest request = HttpUtil.createGet(host + LcApiConstants.GRID_GET_GETALL_SEARCH_PAGE_URL); request.auth(getAuthToken()); request.form("areaId", areaId); + request.form("limit", pageSize); + request.form("page", pageNum); + if (StringUtils.isNotEmpty(param)) { + request.form("param", param); + } HttpResponse result = request.execute(); - return result.body(); + LcReturnObject returenData = JSONObject.parseObject(result.body(), LcReturnObject.class); + return JSONArray.parseArray(returenData.getData(), GridMemberPageListDTO.class); } @Override @@ -168,7 +225,7 @@ String lcGridUserId = gridService.getLcUserIdByLocalUserId(eventInfoVo.getGridMemberId().toString()); eventInfo.setGridId(lcGrid); R grid = gridService.eventGridDataDetails(eventInfoVo.getGridId()); - EventGridDataDetailsVO gridData = (EventGridDataDetailsVO) grid.getData(); + EventGridDataDetailsVO gridData = (EventGridDataDetailsVO)grid.getData(); eventInfo.setGridName(gridData.getGridName()); eventInfo.setCaseTypeCode(LocalEventToLangChaoEventTypeEnum.getCodeByName(eventInfoVo.getEventType())); String caseTypeName = LocalEventToLangChaoEventTypeEnum.getEventNameByCode(eventInfoVo.getEventType()); @@ -187,7 +244,7 @@ eventInfo.setHandleType("REPORT"); eventInfo.setHandleDescription(eventInfoVo.getProcessDesc()); eventInfo.setDataId(eventInfoVo.getId().toString()); - //获取系统网格员映射的浪潮网格员对于的用户ID + // 获取系统网格员映射的浪潮网格员对于的用户ID eventInfo.setUserId(lcGridUserId); eventInfo.setHandleTime(DateUtils.getCurrentDateTimeStamp().toString()); eventInfo.setCaseName(gridData.getGridName().concat(caseTypeName)); @@ -210,6 +267,221 @@ }); } + @Override + public String getFlowPersonVisitRecordDetailById(String recordId) { + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_FLOW_PERSON_DETAIL_URL); + request.auth(getAuthToken()); + request.form("id", recordId); + HttpResponse result = request.execute(); + return result.body(); + } + + @Override + public String getFlowPersonVisitRecordPage(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, + Long loginUserId) { + HttpResponse result = getHttpResponse(personVisitRecordQueryDTO, loginUserId, + host + + LcApiConstants.VISIT_RECORD_FLOW_PERSON_PAGE_URL, "flowPeopleId"); + return result.body(); + } + + @Override + public String uploadFlowPersonVisitRecord(LcFlowPersonVisitRecordDTO lcFlowPersonVisitRecordDTO) { + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_FLOW_PERSON_SAVE_URL); + request.auth(getAuthToken()); + ObjectMapper mapper = new ObjectMapper(); + try { + // 对象转map + Map m = mapper.readValue(mapper.writeValueAsString(lcFlowPersonVisitRecordDTO), Map.class); + request.form(m); + } catch (JsonProcessingException e) { + log.info("方法uploadFlowPersonVisitRecord发生错误:{}", e.getMessage()); + } + HttpResponse result = request.execute(); + log.info("uploadFlowPersonVisitRecord上传浪潮事件信息:{}", result.body()); + return result.body(); + } + + @Override + public String uploadKeyPersonVisitRecord(LcKeyPersonVisitRecordDTO lcKeyPersonVisitRecordDTO) { + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_KEY_PERSON_SAVE_REMOTE_URL); + request.auth(getAuthToken()); + ObjectMapper mapper = new ObjectMapper(); + try { + // 对象转map + Map m = mapper.readValue(mapper.writeValueAsString(lcKeyPersonVisitRecordDTO), Map.class); + request.form(m); + } catch (JsonProcessingException e) { + log.info("方法uploadKeyPersonVisitRecord发生错误:{}", e.getMessage()); + } + HttpResponse result = request.execute(); + log.info("uploadKeyPersonVisitRecord上传浪潮事件信息:{}", result.body()); + return result.body(); + } + + @Override + public String getKeyPersonVisitRecordDetailById(String recordId) { + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_KEY_PERSON_DETAIL_URL); + request.auth(getAuthToken()); + request.form("id", recordId); + HttpResponse result = request.execute(); + return result.body(); + } + + @Override + public String getKeyPersonVisitRecordPage(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, + Long loginUserId) { + HttpResponse result = getHttpResponse(personVisitRecordQueryDTO, loginUserId, + host + + LcApiConstants.VISIT_RECORD_KEY_PERSON_PAGE_URL, "keyPersonId"); + return result.body(); + } + + @Override + public void automationUploadVisitRecord() { + List<LcEventVisitingTasksListDTO> unUploadTaskList = gridService.getUnUploadVisitingTask(); + unUploadTaskList.forEach(lcEventVisitingTasksListDTO -> { + String lcGrid = gridService.getLcGridIdByLocal(lcEventVisitingTasksListDTO.getGridId()); + String lcGridUserId = + gridService.getLcUserIdByLocalUserId(lcEventVisitingTasksListDTO.getGridMember().toString()); + R populationDetail = communityService.detailPopulation(lcEventVisitingTasksListDTO.getVisiterId(), null); + ComMngPopulationVO comMngPopulationVO = (ComMngPopulationVO)populationDetail.getData(); + BcDictionaryItemVO diction = communityService.getByCode(DictionItemConstants.LC_CULTURE_LEVEL, + comMngPopulationVO.getCultureLevel().toString()); + ComMngPopulationDTO comMngPopulationDTO = + CopyUtil.copyProperties(comMngPopulationVO, ComMngPopulationDTO.class); + if (diction != null) { + comMngPopulationDTO.setCultureLevel(diction.getDictItemName()); + } + R grid = gridService.eventGridDataDetails(lcEventVisitingTasksListDTO.getGridId()); + EventGridDataDetailsVO gridData = (EventGridDataDetailsVO)grid.getData(); + String[] data = lcEventVisitingTasksListDTO.getHappentLatLng().split(","); + if (lcEventVisitingTasksListDTO.getVisiterType() != null) { + log.info("上传数据导重点人口走访记录表"); + LcReturnObject lcReturnObject = requestLcKeyPersonVisitRecord(lcEventVisitingTasksListDTO, lcGrid, + lcGridUserId, comMngPopulationDTO, gridData.getGridName(), data); + if (LcRequestEnum.SUCCESS.getCode().equals(lcReturnObject.getCode())) { + uploadVisitRecord(lcEventVisitingTasksListDTO); + gridService.updateLcUploadFlagVisitingTask(lcEventVisitingTasksListDTO.getId()); + } + } else { + log.info("上传数据导流动人口走访记录表"); + LcReturnObject lcReturnObject = requestLcFlowPersonVisitRecord(lcEventVisitingTasksListDTO, lcGrid, + lcGridUserId, comMngPopulationDTO, gridData.getGridName(), data); + if (LcRequestEnum.SUCCESS.getCode().equals(lcReturnObject.getCode())) { + uploadVisitRecord(lcEventVisitingTasksListDTO); + gridService.updateLcUploadFlagVisitingTask(lcEventVisitingTasksListDTO.getId()); + } + } + }); + } + + private void uploadVisitRecord(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO) { + log.info("开始上传走访任务附件文件"); + List<EventResourceVO> picsList = lcEventVisitingTasksListDTO.getPics(); + uploadVisitRecordFile(lcEventVisitingTasksListDTO, picsList, "IMAGE"); + List<EventResourceVO> audiosList = lcEventVisitingTasksListDTO.getAudios(); + uploadVisitRecordFile(lcEventVisitingTasksListDTO, audiosList, "AUDIO"); + List<EventResourceVO> videoList = lcEventVisitingTasksListDTO.getVideos(); + uploadVisitRecordFile(lcEventVisitingTasksListDTO, videoList, "VIDEO"); + log.info("结束上传走访任务附件文件"); + } + + private void uploadVisitRecordFile(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, + List<EventResourceVO> picsList, String type) { + picsList.forEach(eventResourceVO -> { + EventFile eventFile = new EventFile(); + eventFile.setDataId(lcEventVisitingTasksListDTO.getId().toString()); + eventFile.setFiles(eventResourceVO.getUrl()); + eventFile.setType(type); + eventFile.setModule("key_person"); + eventFile.setFileName(eventResourceVO.getResourceName()); + submitEventOrVisitRecordRelationFile(eventFile); + }); + } + + @Override + public LcReturnObject requestLcFlowPersonVisitRecord(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, + String lcGrid, String lcGridUserId, Object populationDetail, String gridName, String[] data) { + // 如果是流动人口走访 + LcFlowPersonVisitRecordDTO lcFlowPersonVisitRecordDTO = new LcFlowPersonVisitRecordDTO(); + lcFlowPersonVisitRecordDTO.setId(lcEventVisitingTasksListDTO.getId().toString()); + lcFlowPersonVisitRecordDTO.setUserId(lcGridUserId); + lcFlowPersonVisitRecordDTO.setGridPersonName(lcEventVisitingTasksListDTO.getGridMemberName()); + lcFlowPersonVisitRecordDTO.setGridPersonPhone(lcEventVisitingTasksListDTO.getGridMenberTele()); + JSONObject population = (JSONObject)JSONObject.toJSON(populationDetail); + lcFlowPersonVisitRecordDTO.setComMngPopulation(population.toJSONString()); + lcFlowPersonVisitRecordDTO.setGridId(lcGrid); + lcFlowPersonVisitRecordDTO.setGridName(gridName); + lcFlowPersonVisitRecordDTO.setWorkWithPoliceMan("0"); + lcFlowPersonVisitRecordDTO.setPoliceManName(null); + lcFlowPersonVisitRecordDTO.setPoliceManPhone(null); + lcFlowPersonVisitRecordDTO.setPoliceManWorkContent(null); + lcFlowPersonVisitRecordDTO.setVisitTime(lcEventVisitingTasksListDTO.getHappenTime().getTime()); + lcFlowPersonVisitRecordDTO.setVisitAddress(lcEventVisitingTasksListDTO.getHappentAddress()); + lcFlowPersonVisitRecordDTO.setLongitude(Double.valueOf(data[0])); + lcFlowPersonVisitRecordDTO.setLatitude(Double.valueOf(data[1])); + lcFlowPersonVisitRecordDTO.setHouseType(null); + lcFlowPersonVisitRecordDTO.setHouseAddress(lcEventVisitingTasksListDTO.getHappentAddress()); + lcFlowPersonVisitRecordDTO.setIsReportInfo(null); + lcFlowPersonVisitRecordDTO.setHaveCertificate("0"); + lcFlowPersonVisitRecordDTO.setCertificateType("身份证"); + lcFlowPersonVisitRecordDTO.setCertificateNumber(population.getString("cardNo")); + lcFlowPersonVisitRecordDTO.setCertificateDeadTime("0"); + lcFlowPersonVisitRecordDTO.setIsPropaganda("1"); + lcFlowPersonVisitRecordDTO.setIsCheckReview("1"); + lcFlowPersonVisitRecordDTO.setIsAbnormal(lcEventVisitingTasksListDTO.getException().toString()); + lcFlowPersonVisitRecordDTO.setAbnormalSituation(lcEventVisitingTasksListDTO.getTableContentJson()); + lcFlowPersonVisitRecordDTO.setRemark(lcEventVisitingTasksListDTO.getEventDes()); + log.info("requestLcFlowPersonVisitRecord事件请求数据:{}", JSONObject.toJSONString(lcFlowPersonVisitRecordDTO)); + String flowPersonData = uploadFlowPersonVisitRecord(lcFlowPersonVisitRecordDTO); + LcReturnObject lcReturnObject = JSONObject.parseObject(flowPersonData, LcReturnObject.class); + log.info("requestLcFlowPersonVisitRecord提交浪潮服务器,接口返回结果为:{}", lcReturnObject); + return lcReturnObject; + } + + @Override + public LcReturnObject requestLcKeyPersonVisitRecord(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, + String lcGrid, String lcGridUserId, Object populationDetail, String gridName, String[] data) { + LcKeyPersonVisitRecordDTO keyPersonVisitRecordDTO = new LcKeyPersonVisitRecordDTO(); + keyPersonVisitRecordDTO.setId(lcEventVisitingTasksListDTO.getId().toString()); + keyPersonVisitRecordDTO.setUserId(lcGridUserId); + keyPersonVisitRecordDTO.setGridPersonName(lcEventVisitingTasksListDTO.getGridMemberName()); + keyPersonVisitRecordDTO.setGridPersonPhone(lcEventVisitingTasksListDTO.getGridMenberTele()); + keyPersonVisitRecordDTO.setComMngPopulation(JSONObject.toJSONString(populationDetail)); + keyPersonVisitRecordDTO.setGridId(lcGrid); + keyPersonVisitRecordDTO.setGridName(gridName); + keyPersonVisitRecordDTO.setVisitTime(lcEventVisitingTasksListDTO.getHappenTime().getTime()); + keyPersonVisitRecordDTO.setVisitAddress(lcEventVisitingTasksListDTO.getHappentAddress()); + keyPersonVisitRecordDTO.setLongitude(Double.valueOf(data[0])); + keyPersonVisitRecordDTO.setLatitude(Double.valueOf(data[1])); + keyPersonVisitRecordDTO.setFamilyMemberContact(lcEventVisitingTasksListDTO.getFamilyPhone()); + keyPersonVisitRecordDTO.setHowLive(lcEventVisitingTasksListDTO.getFamilySource()); + keyPersonVisitRecordDTO.setIsAbnormal(lcEventVisitingTasksListDTO.getException().toString()); + keyPersonVisitRecordDTO.setAbnormalSituation(null); + keyPersonVisitRecordDTO.setAbnormalDes(lcEventVisitingTasksListDTO.getTableContentJson()); + keyPersonVisitRecordDTO.setRemark(lcEventVisitingTasksListDTO.getEventDes()); + keyPersonVisitRecordDTO + .setType(LcVisitRecordKeyPersonLabelEnum.getCnDescByName(lcEventVisitingTasksListDTO.getVisiterType())); + log.info("requestLcKeyPersonVisitRecord事件请求数据:{}", JSONObject.toJSONString(keyPersonVisitRecordDTO)); + String remoteData = uploadKeyPersonVisitRecord(keyPersonVisitRecordDTO); + LcReturnObject lcReturnObject = JSONObject.parseObject(remoteData, LcReturnObject.class); + log.info("requestLcKeyPersonVisitRecord提交浪潮服务器,接口返回结果为:{}", remoteData); + return lcReturnObject; + } + + private HttpResponse getHttpResponse(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, Long loginUserId, + String requestUrl, String flowPeopleId) { + HttpRequest request = HttpUtil.createPost(requestUrl); + request.auth(getAuthToken()); + request.form("userId", loginUserId); + request.form("gridId", personVisitRecordQueryDTO.getGridId()); + request.form("limit", personVisitRecordQueryDTO.getLimit()); + request.form("startNumber", personVisitRecordQueryDTO.getStartNumber()); + request.form(flowPeopleId, personVisitRecordQueryDTO.getPersonId()); + return request.execute(); + } + private void uploadLcApiEventFile(EventDetailsVO eventInfoVo, List<EventResourceVO> picsList, String type) { picsList.forEach(eventResourceVO -> { EventFile eventFile = new EventFile(); @@ -218,29 +490,7 @@ eventFile.setType(type); eventFile.setModule("event"); eventFile.setFileName(eventResourceVO.getResourceName()); - submitEventRelationFile(eventFile); + submitEventOrVisitRecordRelationFile(eventFile); }); - } - - /** - * 工具方法 - * inputStream 转 File - */ - public static File inputStreamToFile(InputStream ins, String name) throws Exception { - File file = new File(System.getProperty("java.io.tmpdir") + File.separator + name); - log.info(System.getProperty("java.io.tmpdir") + File.separator + name); - if (file.exists()) { - return file; - } - OutputStream os = new FileOutputStream(file); - int bytesRead; - int len = 8192; - byte[] buffer = new byte[len]; - while ((bytesRead = ins.read(buffer, 0, len)) != -1) { - os.write(buffer, 0, bytesRead); - } - os.close(); - ins.close(); - return file; } } -- Gitblit v1.7.1