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 | 201 ++++++++++++++++++++++++++++---------------------- 1 files changed, 112 insertions(+), 89 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 605f0d6..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,8 +1,23 @@ package com.panzhihua.serviceapi.biz.impl; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpResponse; -import cn.hutool.http.HttpUtil; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.List; +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; @@ -14,7 +29,6 @@ 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.BcDictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationVO; import com.panzhihua.common.model.vos.grid.EventDetailsVO; @@ -27,33 +41,23 @@ import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.serviceapi.biz.LcApiService; import com.panzhihua.serviceapi.model.dto.*; -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; -import java.io.OutputStream; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; +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; @@ -63,6 +67,27 @@ @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 @@ -81,22 +106,25 @@ public String saveTokenFromRemoteRequest(String name, String password) { Boolean authToken = redisTemplate.hasKey(LcApiConstants.LANG_CHAO_TOKEN); if (authToken != null) { - //如果redis存在token,直接返回redis存储的token + // 如果redis存在token,直接返回redis存储的token ValueOperations<String, String> valueOperations = redisTemplate.opsForValue(); return valueOperations.get(LcApiConstants.LANG_CHAO_TOKEN); } else { - //如果第一次请求浪潮的token请求,请求完成后,保存对于的token到数据库中。便于12小时内重复调用 - HttpRequest request = HttpUtil.createPost(LcApiConstants.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(LcApiConstants.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(LcApiConstants.GRID_EVENT_CATEGORY_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_EVENT_CATEGORY_URL); request.auth(getAuthToken()); HttpResponse result = request.execute(); return result.body(); @@ -104,11 +132,11 @@ @Override public String submitEventRegister(EventInfo eventInfo) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.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) { @@ -121,10 +149,10 @@ @Override public R submitEventOrVisitRecordRelationFile(EventFile eventFile) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.GRID_EVENT_FILE_UPLOAD_URL); + 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); @@ -143,7 +171,7 @@ @Override public String getEventInfoById(String eventId) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.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(); @@ -152,7 +180,7 @@ @Override public List<LcGridData> getGridTreeByAreaId(String areaId) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.GRID_GET_EVENT_INFO_AREA_ID_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.GRID_GET_EVENT_INFO_AREA_ID_URL); request.auth(getAuthToken()); request.form("areaId", areaId); request.form("level", 4); @@ -162,7 +190,9 @@ @Override public List<LcGridData> getGridDataListByAreaId(String areaId) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.GRID_GET_GRID_DATA_AREA_ID_URL); + 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(); @@ -170,13 +200,14 @@ } @Override - public List<GridMemberPageListDTO> getGridMemberListByAreaIdOrName(String areaId,String param,Long pageNum,Long pageSize) { - HttpRequest request = HttpUtil.createGet(LcApiConstants.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)){ + if (StringUtils.isNotEmpty(param)) { request.form("param", param); } HttpResponse result = request.execute(); @@ -194,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()); @@ -213,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)); @@ -238,7 +269,7 @@ @Override public String getFlowPersonVisitRecordDetailById(String recordId) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.VISIT_RECORD_FLOW_PERSON_DETAIL_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_FLOW_PERSON_DETAIL_URL); request.auth(getAuthToken()); request.form("id", recordId); HttpResponse result = request.execute(); @@ -246,18 +277,21 @@ } @Override - public String getFlowPersonVisitRecordPage(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, Long loginUserId) { - HttpResponse result = getHttpResponse(personVisitRecordQueryDTO, loginUserId, LcApiConstants.VISIT_RECORD_FLOW_PERSON_PAGE_URL, "flowPeopleId"); + 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(LcApiConstants.VISIT_RECORD_FLOW_PERSON_SAVE_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_FLOW_PERSON_SAVE_URL); request.auth(getAuthToken()); ObjectMapper mapper = new ObjectMapper(); try { - //对象转map + // 对象转map Map m = mapper.readValue(mapper.writeValueAsString(lcFlowPersonVisitRecordDTO), Map.class); request.form(m); } catch (JsonProcessingException e) { @@ -270,11 +304,11 @@ @Override public String uploadKeyPersonVisitRecord(LcKeyPersonVisitRecordDTO lcKeyPersonVisitRecordDTO) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.VISIT_RECORD_KEY_PERSON_SAVE_REMOTE_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_KEY_PERSON_SAVE_REMOTE_URL); request.auth(getAuthToken()); ObjectMapper mapper = new ObjectMapper(); try { - //对象转map + // 对象转map Map m = mapper.readValue(mapper.writeValueAsString(lcKeyPersonVisitRecordDTO), Map.class); request.form(m); } catch (JsonProcessingException e) { @@ -287,7 +321,7 @@ @Override public String getKeyPersonVisitRecordDetailById(String recordId) { - HttpRequest request = HttpUtil.createPost(LcApiConstants.VISIT_RECORD_KEY_PERSON_DETAIL_URL); + HttpRequest request = HttpUtil.createPost(host + LcApiConstants.VISIT_RECORD_KEY_PERSON_DETAIL_URL); request.auth(getAuthToken()); request.form("id", recordId); HttpResponse result = request.execute(); @@ -295,8 +329,11 @@ } @Override - public String getKeyPersonVisitRecordPage(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, Long loginUserId) { - HttpResponse result = getHttpResponse(personVisitRecordQueryDTO, loginUserId, LcApiConstants.VISIT_RECORD_KEY_PERSON_PAGE_URL, "keyPersonId"); + public String getKeyPersonVisitRecordPage(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, + Long loginUserId) { + HttpResponse result = getHttpResponse(personVisitRecordQueryDTO, loginUserId, + host + + LcApiConstants.VISIT_RECORD_KEY_PERSON_PAGE_URL, "keyPersonId"); return result.body(); } @@ -305,27 +342,32 @@ 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()); - ComMngPopulationVO comMngPopulationVO = (ComMngPopulationVO) populationDetail.getData(); - BcDictionaryItemVO diction = communityService.getByCode(DictionItemConstants.LC_CULTURE_LEVEL, comMngPopulationVO.getCultureLevel().toString()); - ComMngPopulationDTO comMngPopulationDTO = CopyUtil.copyProperties(comMngPopulationVO, ComMngPopulationDTO.class); + 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(); + 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); + 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); + LcReturnObject lcReturnObject = requestLcFlowPersonVisitRecord(lcEventVisitingTasksListDTO, lcGrid, + lcGridUserId, comMngPopulationDTO, gridData.getGridName(), data); if (LcRequestEnum.SUCCESS.getCode().equals(lcReturnObject.getCode())) { uploadVisitRecord(lcEventVisitingTasksListDTO); gridService.updateLcUploadFlagVisitingTask(lcEventVisitingTasksListDTO.getId()); @@ -345,7 +387,8 @@ log.info("结束上传走访任务附件文件"); } - private void uploadVisitRecordFile(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, List<EventResourceVO> picsList, String type) { + private void uploadVisitRecordFile(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, + List<EventResourceVO> picsList, String type) { picsList.forEach(eventResourceVO -> { EventFile eventFile = new EventFile(); eventFile.setDataId(lcEventVisitingTasksListDTO.getId().toString()); @@ -357,16 +400,16 @@ }); } - @Override - public LcReturnObject requestLcFlowPersonVisitRecord(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, String lcGrid, String lcGridUserId, Object populationDetail, String gridName, String[] data) { - //如果是流动人口走访 + 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); + JSONObject population = (JSONObject)JSONObject.toJSON(populationDetail); lcFlowPersonVisitRecordDTO.setComMngPopulation(population.toJSONString()); lcFlowPersonVisitRecordDTO.setGridId(lcGrid); lcFlowPersonVisitRecordDTO.setGridName(gridName); @@ -398,7 +441,8 @@ } @Override - public LcReturnObject requestLcKeyPersonVisitRecord(LcEventVisitingTasksListDTO lcEventVisitingTasksListDTO, String lcGrid, String lcGridUserId, Object populationDetail, String gridName, String[] data) { + 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); @@ -417,7 +461,8 @@ keyPersonVisitRecordDTO.setAbnormalSituation(null); keyPersonVisitRecordDTO.setAbnormalDes(lcEventVisitingTasksListDTO.getTableContentJson()); keyPersonVisitRecordDTO.setRemark(lcEventVisitingTasksListDTO.getEventDes()); - keyPersonVisitRecordDTO.setType(LcVisitRecordKeyPersonLabelEnum.getCnDescByName(lcEventVisitingTasksListDTO.getVisiterType())); + keyPersonVisitRecordDTO + .setType(LcVisitRecordKeyPersonLabelEnum.getCnDescByName(lcEventVisitingTasksListDTO.getVisiterType())); log.info("requestLcKeyPersonVisitRecord事件请求数据:{}", JSONObject.toJSONString(keyPersonVisitRecordDTO)); String remoteData = uploadKeyPersonVisitRecord(keyPersonVisitRecordDTO); LcReturnObject lcReturnObject = JSONObject.parseObject(remoteData, LcReturnObject.class); @@ -425,8 +470,8 @@ return lcReturnObject; } - - private HttpResponse getHttpResponse(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, Long loginUserId, String requestUrl, String flowPeopleId) { + private HttpResponse getHttpResponse(LcKeyPersonVisitRecordQueryDTO personVisitRecordQueryDTO, Long loginUserId, + String requestUrl, String flowPeopleId) { HttpRequest request = HttpUtil.createPost(requestUrl); request.auth(getAuthToken()); request.form("userId", loginUserId); @@ -447,27 +492,5 @@ eventFile.setFileName(eventResourceVO.getResourceName()); submitEventOrVisitRecordRelationFile(eventFile); }); - } - - /** - * 工具方法 - * 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; } } -- Gitblit v1.7.1