罗元桥
2021-06-23 72f11c9e9edec3d2534112badf7a0ca48fa9da5a
springcloud_k8s_panzhihuazhihuishequ/service_api/src/test/java/com/panzhihua/service_api/biz/impl/LcApiServiceImplTest.java
New file
@@ -0,0 +1,181 @@
package com.panzhihua.service_api.biz.impl;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
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.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.grid.GridService;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.serviceapi.ServiceApiApplication;
import com.panzhihua.serviceapi.biz.LcApiService;
import com.panzhihua.serviceapi.model.dto.LcGridData;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@SpringBootTest(classes = ServiceApiApplication.class)
class LcApiServiceImplTest {
    @Autowired
    private LcApiService lcApiService;
    @Resource
    private GridService gridService;
    @Resource
    private ApiServiceFeign ApiServiceFeign;
    @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> 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("https://www.baidu.com/img/flexible/logo/pc/result@2.png");
        eventFile.setFiles("http://image.panzhihua.nhys.cdnhxx.com//idcard/4f843ad2d756456e900d5f24b419aa7c.mp4");
        eventFile.setType("mp4");
        eventFile.setModule("event");
        eventFile.setFileName("4f843ad2d756456e900d5f24b419aa7c.mp4");
        R result = lcApiService.submitEventRelationFile(eventFile);
        log.info(JSONObject.toJSONString(result));
    }
    @Test
    void submitEventRegisterJobTest() {
        log.info("定时向浪潮服务器提交网格事件登记开始");
        R<EventDetailsVO> 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<EventResourceVO> 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.submitEventRelationFile(eventFile);
        });
        List<EventResourceVO> 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.submitEventRelationFile(eventFile);
        });
        List<EventResourceVO> 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.submitEventRelationFile(eventFile);
        });
        log.info("结束上传附件图片信息");
    }
    @Test
    void getGridListByAreaId() {
        //jhRxqEQp 代表西区
        List<LcGridData> list = lcApiService.getGridListByAreaId("jhRxqEQp");
        String pretty = JSONArray.toJSONString(list, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteDateUseDateFormat);
        log.info(pretty);
    }
}