package com.panzhihua.serviceapi.biz.impl; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.panzhihua.common.api.LcReturnObject; 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.api.PartiesBody; import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.DictionaryVO; 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.api.ApiServiceFeign; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.grid.GridService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.serviceapi.ServiceApiApplication; import com.panzhihua.serviceapi.biz.LcApiService; import com.panzhihua.serviceapi.model.dto.GridMemberPageListDTO; import com.panzhihua.serviceapi.model.dto.LcGridData; import cn.hutool.core.util.RandomUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import lombok.extern.slf4j.Slf4j; @Slf4j @SpringBootTest(classes = ServiceApiApplication.class) class LcApiServiceImplTest { @Autowired private LcApiService lcApiService; @Resource private GridService gridService; @Resource private ApiServiceFeign ApiServiceFeign; @Autowired private CommunityService communityService; @Test void saveTokenFromRemoteRequest() { String result = lcApiService.saveTokenFromRemoteRequest("18080799023", "123456"); log.info(JSONObject.toJSONString(result)); } @Test void getAllEventTypeList() { String result = lcApiService.getAllEventTypeList(); log.info(result); } @Test void automationUploadEventAndFile() { lcApiService.automationUploadEventAndFile(); } @Test void submitEventRegister() { EventInfo eventInfo = new EventInfo(); eventInfo.setGridId("8c86b8b467194270b6b066b9c32e3b9b"); eventInfo.setGridName("金沙社区网格1"); eventInfo.setCaseTypeCode("04e0506d78884d218050a4c89a2e34c3"); eventInfo.setCaseTypeName("18080799023"); eventInfo.setHappenTime(String.valueOf(DateUtils.getCurrentDataLong())); eventInfo.setHappenAddress("四川省攀枝花市"); eventInfo.setLongitude("116.397128"); eventInfo.setLatitude("39.916527"); eventInfo.setCaseDescription("描述"); eventInfo.setCaseRecordTime(String.valueOf(DateUtils.getCurrentDataLong())); eventInfo.setHandleType("REPORT"); eventInfo.setHandleDescription("处理描述"); String dataID = String.valueOf(RandomUtil.randomLong(20)); log.info("random:" + dataID); eventInfo.setDataId(dataID); eventInfo.setUserId("3e318dbeddc048328933d8b4ca759a36"); eventInfo.setHandleTime(String.valueOf(DateUtils.getCurrentDataLong())); eventInfo.setCaseName("测试标题17"); List partiesBody = new ArrayList<>(); PartiesBody partiesBody1 = new PartiesBody(); partiesBody1.setPartyName("测试见证人"); partiesBody1.setPartyPhone("17345623565"); partiesBody.add(partiesBody1); eventInfo.setPartiesBody(partiesBody); String result = lcApiService.submitEventRegister(eventInfo); log.info(result); } @Test void submitEventRelationFile() throws URISyntaxException { EventFile eventFile = new EventFile(); eventFile.setDataId("1111116"); eventFile.setFiles("http://image.panzhihua.nhys.cdnhxx.com//idcard/4f843ad2d756456e900d5f24b419aa7c.mp4"); eventFile.setType("mp4"); eventFile.setModule("event"); eventFile.setFileName("4f843ad2d756456e900d5f24b419aa7c.mp4"); R result = lcApiService.submitEventOrVisitRecordRelationFile(eventFile); log.info(JSONObject.toJSONString(result)); } @Test void submitEventRegisterJobTest() { log.info("定时向浪潮服务器提交网格事件登记开始"); R event = gridService.eventDetails(4545676L); EventDetailsVO eventInfoVo = event.getData(); EventInfo eventInfo = new EventInfo(); String lcGrid = gridService.getLcGridIdByLocal(eventInfoVo.getGridId()); String lcGridUserId = gridService.getLcUserIdByLocalUserId(eventInfoVo.getGridMemberId().toString()); eventInfo.setGridId(lcGrid); R grid = gridService.eventGridDataDetails(eventInfoVo.getGridId()); EventGridDataDetailsVO gridData = (EventGridDataDetailsVO)grid.getData(); eventInfo.setGridName(gridData.getGridName()); eventInfo.setCaseTypeCode(LocalEventToLangChaoEventTypeEnum.getCodeByName(eventInfoVo.getEventType())); String caseTypeName = LocalEventToLangChaoEventTypeEnum.getEventNameByCode(eventInfoVo.getEventType()); eventInfo.setCaseTypeName(caseTypeName); eventInfo.setHappenTime(String.valueOf(eventInfoVo.getHappenTime().getTime())); eventInfo.setHappenAddress(eventInfoVo.getHappenAddress()); String[] data = eventInfoVo.getHappentLatLng().split(","); eventInfo.setLongitude(data[0]); eventInfo.setLatitude(data[1]); eventInfo.setCaseDescription(eventInfoVo.getEventDes()); eventInfo.setCaseRecordTime(String.valueOf(eventInfoVo.getCreateAt().getTime())); eventInfo.setHandleType("REPORT"); eventInfo.setHandleDescription(eventInfoVo.getProcessDesc()); eventInfo.setDataId(eventInfoVo.getId().toString()); // 获取系统网格员映射的浪潮网格员对于的用户ID eventInfo.setUserId(lcGridUserId); eventInfo.setHandleTime(String.valueOf(eventInfoVo.getHappenTime().getTime())); eventInfo.setCaseName(gridData.getGridName().concat(caseTypeName).concat(eventInfoVo.getEventTitle())); lcApiService.submitEventRegister(eventInfo); log.info("定时向浪潮服务器提交网格事件登记结束"); log.info("开始上传附件图片信息"); List picsList = eventInfoVo.getPics(); picsList.forEach(eventResourceVO -> { EventFile eventFile = new EventFile(); eventFile.setDataId(eventInfoVo.getId().toString()); eventFile.setFiles(eventResourceVO.getUrl()); eventFile.setType("png"); eventFile.setModule("event"); eventFile.setFileName(eventResourceVO.getResourceName()); lcApiService.submitEventOrVisitRecordRelationFile(eventFile); }); List audiosList = eventInfoVo.getAudios(); audiosList.forEach(eventResourceVO -> { EventFile eventFile = new EventFile(); eventFile.setDataId(eventInfoVo.getId().toString()); eventFile.setFiles(eventResourceVO.getUrl()); eventFile.setType("mp3"); eventFile.setModule("event"); eventFile.setFileName(eventResourceVO.getResourceName()); lcApiService.submitEventOrVisitRecordRelationFile(eventFile); }); List videoList = eventInfoVo.getVideos(); videoList.forEach(eventResourceVO -> { EventFile eventFile = new EventFile(); eventFile.setDataId(eventInfoVo.getId().toString()); eventFile.setFiles(eventResourceVO.getUrl()); eventFile.setType("mp4"); eventFile.setModule("event"); eventFile.setFileName(eventResourceVO.getResourceName()); lcApiService.submitEventOrVisitRecordRelationFile(eventFile); }); log.info("结束上传附件图片信息"); } @Test void getGridListByAreaId() { // jhRxqEQp 代表西区 List list = lcApiService.getGridTreeByAreaId("jhRxqEQp"); String pretty = JSONArray.toJSONString(list, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat); log.info(pretty); } @Test void getGridDataListByAreaId() { // jhRxqEQp 代表西区 List list = lcApiService.getGridDataListByAreaId("2Fxq97CC"); String pretty = JSONArray.toJSONString(list, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat); log.info(pretty); } @Test void requestLcFlowPersonVisitRecord() {} @Test void automationUploadVisitRecord() { lcApiService.automationUploadVisitRecord(); } @Test void getGridMemberListByAreaIdOrName() { List data = lcApiService.getGridMemberListByAreaIdOrName("jhRxqEQp", "", 1L, 20L); // log.info(data); } @Test void downloadDiction() { // 获取字典全部大类 HttpRequest request = HttpUtil.createPost("http://171.217.92.33:53301/dict/getTypeTree"); request.cookie( "SESSION=ZTQ1ZGRmZjktNWU1MC00ZjEyLWJhOGItNDdjZjlmODc1MjQy; UISESSIONMEMBER=C6FE0698B29832B18CBAEB71CCD3A2BA"); HttpResponse result = request.execute(); List remoteData = JSONArray.parseArray(result.body(), DictionData.class); remoteData.forEach(dictionData -> { DictionaryVO dictionaryVO = new DictionaryVO(); long parentzId = Snowflake.getId(); dictionaryVO.setId(parentzId); dictionaryVO.setDictName(dictionData.getName()); dictionaryVO.setDictKey(dictionData.getValue()); dictionaryVO.setLevelIndex(1); dictionaryVO.setParentId(0L); communityService.insertDiction(dictionaryVO); // 获取二级字典项 dictionData.getChildren().forEach(children -> { DictionaryVO dictionaryChiVO = new DictionaryVO(); long erparentzId = Snowflake.getId(); dictionaryChiVO.setId(erparentzId); dictionaryChiVO.setDictName(children.getName()); dictionaryChiVO.setDictKey(children.getValue()); dictionaryChiVO.setLevelIndex(2); dictionaryChiVO.setParentId(dictionaryVO.getId()); communityService.insertDiction(dictionaryChiVO); // 获取字典全部值 HttpRequest requestDictionValue = HttpUtil.createPost("http://171.217.92.33:53301/dict/getDictByTypeCodeAndParentId?typeCode=" + children.getId() + "&parentId=0"); requestDictionValue.cookie( "SESSION=ZTQ1ZGRmZjktNWU1MC00ZjEyLWJhOGItNDdjZjlmODc1MjQy; UISESSIONMEMBER=C6FE0698B29832B18CBAEB71CCD3A2BA"); HttpResponse childResult = requestDictionValue.execute(); LcReturnObject remoteDataChild = JSONObject.parseObject(childResult.body(), LcReturnObject.class); List dictionValueData = JSONArray.parseArray(remoteDataChild.getData(), DictionValueData.class); dictionValueData.forEach(dictionValueData1 -> { BcDictionaryVO dictionaryItemVO = new BcDictionaryVO(); dictionaryItemVO.setDictName(dictionValueData1.getDictName()); dictionaryItemVO.setDictValue(dictionValueData1.getDictCode()); dictionaryItemVO.setCode(""); dictionaryItemVO.setDictId(erparentzId); communityService.insertDictionItem(dictionaryItemVO); }); // String pretty = JSONArray.toJSONString(dictionValueData, SerializerFeature.PrettyFormat, // SerializerFeature.WriteMapNullValue, // SerializerFeature.WriteDateUseDateFormat); // log.info(pretty); }); }); } }