package com.doumee.cloud.admin; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.annotation.CloudRequiredPermission; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.haikang.model.param.BaseListPageResponse; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.request.*; import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest; import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest; import com.doumee.core.haikang.model.param.request.event.parks.EventPlatformCarsRequest; import com.doumee.core.haikang.model.param.request.event.parks.EventPlatformRequest; import com.doumee.core.haikang.model.param.request.event.visit.EventVisitIccmRequest; import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest; import com.doumee.core.haikang.model.param.respose.*; import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DESUtil; import com.doumee.dao.business.model.Device; import com.doumee.service.business.DeviceService; import com.doumee.service.business.impl.hksync.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author 江蹄蹄 * @date 2023/11/30 15:33 */ @Api(tags = "海康接口测试工具接口") @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/hktest") public class HkInterfaceTestCloudController extends BaseController { @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private HkSyncImgServiceImpl hkSyncImgService; @Autowired private DeviceService deviceService; @ApiOperation("【海康】测试LED显示屏") @PostMapping("/testLedAll") @LoginNoRequired public ApiResponse> > testLedAll(@RequestBody TransparentChannelBodyRequest request, HttpServletResponse response) { TransparentChannelHeadRequest head = new TransparentChannelHeadRequest(); head.setAbility("cld");//固定值 head.setTreatyType("haixuan_led_net");//固定值 head.setDeviceIndexCode("6a5498e9df924befbb9530e467e5e809"); Device p = new Device(); p.setType(Constants.TWO); p.setIsdeleted(Constants.ZERO); List list = deviceService.findList(p); List> dList = new ArrayList<>(); String content = request.getParams().getRegions().get(0).getContent(); if(list!=null){ for(Device d : list){ head.setDeviceIndexCode(d.getNo()); request.getParams().setIndexCode(d.getNo()); request.getParams().getRegions().get(0).setContent( content+"["+d.getName()+"]"); BaseResponse res= HKService.transparentchannel(head,request); Map dn = new HashMap<>(); dn.put("name",d.getName()); dn.put("id",d.getNo()); dn.put("content",request.getParams().getRegions().get(0).getContent()); dn.put("result",res); dList.add(dn); } } return ApiResponse.success(dList); } @ApiOperation("【海康】测试LED显示屏") @PostMapping("/testLed") @LoginNoRequired public ApiResponse testLed(@RequestBody TransparentChannelBodyRequest request, HttpServletResponse response) { TransparentChannelHeadRequest head = new TransparentChannelHeadRequest(); head.setAbility("cld");//固定值 head.setTreatyType("haixuan_led_net");//固定值 head.setDeviceIndexCode("6a5498e9df924befbb9530e467e5e809"); return ApiResponse.success(HKService.transparentchannel(head,request)); } @ApiOperation("【海康】测试广播播报") @PostMapping("/testBroadcast") @LoginNoRequired public ApiResponse testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.customBroadcast(request)); } @ApiOperation("【海康】测试车辆预约") @PostMapping("/testParkReservation") @LoginNoRequired public ApiResponse testParkReservation(@RequestBody ParkReservationAddRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.parkReservationAddition(param)); } @ApiOperation("【海康】测试车辆预约取消") @PostMapping("/testParkReservationDeletion") @LoginNoRequired public ApiResponse testParkReservationDeletion(@RequestBody ParkReservationDelRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.parkReservationDeletion(param)); } @ApiOperation("【海康】获取代办列表") @PostMapping("/getTodoListPage") @LoginNoRequired public ApiResponse getTodoListPage(@RequestBody GetTodoListRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.getTodoListPage(request)); } @ApiOperation("【海康】测试人脸图片下载") @PostMapping("/testDonwLoadMemberImg") @LoginNoRequired public ApiResponse testDonwLoadMemberImg() { hkSyncImgService.startDealMemberImg(); return ApiResponse.success( null); } @ApiOperation("【海康】测试月台事件图片下载") @PostMapping("/testDonwLoadPlatformImg") @LoginNoRequired public ApiResponse testDonwLoadPlatformImg() { hkSyncImgService.startDealPlatformEventImg(); return ApiResponse.success( null); } @ApiOperation("【海康】测试获取微信公众号") @GetMapping("/testWxToken") @LoginNoRequired public ApiResponse testWxToken(@RequestParam String configId,@RequestParam String tageId, HttpServletResponse response) { return ApiResponse.success( HKService.wxAccessToken(configId,tageId)); } @ApiOperation("【海康】测试分页获取告警事件") @PostMapping("/nhEventPageList") @LoginNoRequired public ApiResponse nhEventPageList(@RequestBody NhEventPageListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.nhEventPageList(param)); } @ApiOperation("【海康】分页查询消防传感器部件状态") @PostMapping("/sensorStatusSearch") @LoginNoRequired public ApiResponse>> sensorStatusSearch(@RequestBody SensorStatusListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.sensorStatusSearch(param)); } @ApiOperation("【海康】查询消防传感器列表") @PostMapping("/fireChannelSearch") @LoginNoRequired public ApiResponse>> fireChannelSearch(@RequestBody FireChannelListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.fireChannelSearch(param)); } @ApiOperation("【海康】海康询消防设备列表") @PostMapping("/fireDeviceSearch") @LoginNoRequired public ApiResponse> > fireDeviceSearch(@RequestBody FireDeviceListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.fireDeviceSearch(param)); } @ApiOperation("【海康】分页查询消防设备部件状态") @PostMapping("/fireDeviceStatusSearch") @LoginNoRequired public ApiResponse>> fireDeviceStatusSearch(@RequestBody FireDeviceStatuslListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.fireDeviceStatusSearch(param)); } @ApiOperation("【海康】分页查询设备下的所有报警记录") @PostMapping("/findDeviceAlarmPage") @LoginNoRequired public ApiResponse> > findDeviceAlarmPage(@RequestBody FindDeviceAlarmListRequest param, HttpServletResponse response) { return ApiResponse.success( HKService.findDeviceAlarmPage(param)); } @ApiOperation("【海康】温湿度统计") @PostMapping("/getTemperatureHumidityDataPage") @LoginNoRequired public ApiResponse getTemperatureHumidityDataPage(@RequestBody TemperatureHumidityDataRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.temperatureHumidityDataStatistic(request)); } @ApiOperation("【海康】根据时间和时间维度获取园区能耗数据") @PostMapping("/energyTotal") @LoginNoRequired public ApiResponse> energyTotalData(@RequestBody EnergyTotalDataRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.energyTotal(request)); } @ApiOperation("【海康】获取区域用量排名-能耗看板") @PostMapping("/regionDataRanking") @LoginNoRequired public ApiResponse>> regionDataRankingData(@RequestBody RegionDataRankingDataRequest request, HttpServletResponse response) { return ApiResponse.success( HKService.regionDataRanking(request)); } }