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.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<List<Map<String,Object>> > 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<Device> list = deviceService.findList(p); 
 | 
        List<Map<String,Object>> 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<String,Object> 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<BaseResponse> 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<BaseResponse> testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.customBroadcast(request)); 
 | 
    } 
 | 
    @ApiOperation("【海康】测试车辆预约") 
 | 
    @PostMapping("/testParkReservation") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> testParkReservation(@RequestBody ParkReservationAddRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.parkReservationAddition(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】测试车辆预约取消") 
 | 
    @PostMapping("/testParkReservationDeletion") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> testParkReservationDeletion(@RequestBody ParkReservationDelRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.parkReservationDeletion(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】获取代办列表") 
 | 
    @PostMapping("/getTodoListPage") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> getTodoListPage(@RequestBody GetTodoListRequest request, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.getTodoListPage(request)); 
 | 
    } 
 | 
    @ApiOperation("【海康】测试人脸图片下载") 
 | 
    @PostMapping("/testDonwLoadMemberImg") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> testDonwLoadMemberImg() { 
 | 
        hkSyncImgService.startDealMemberImg(); 
 | 
        return ApiResponse.success(  null); 
 | 
    } 
 | 
    @ApiOperation("【海康】测试月台事件图片下载") 
 | 
    @PostMapping("/testDonwLoadPlatformImg") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> testDonwLoadPlatformImg() { 
 | 
        hkSyncImgService.startDealPlatformEventImg(); 
 | 
        return ApiResponse.success(  null); 
 | 
    } 
 | 
    @ApiOperation("【海康】测试获取微信公众号") 
 | 
    @GetMapping("/testWxToken") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> testWxToken(@RequestParam String configId,@RequestParam String tageId, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.wxAccessToken(configId,tageId)); 
 | 
    } 
 | 
    @ApiOperation("【海康】测试分页获取告警事件") 
 | 
    @PostMapping("/nhEventPageList") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> nhEventPageList(@RequestBody NhEventPageListRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.nhEventPageList(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】分页查询消防传感器部件状态") 
 | 
    @PostMapping("/sensorStatusSearch") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<BaseListPageResponse<SensorStatusListResponse>>> sensorStatusSearch(@RequestBody SensorStatusListRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.sensorStatusSearch(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】查询消防传感器列表") 
 | 
    @PostMapping("/fireChannelSearch") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<BaseListPageResponse<FireChannelListResponse>>> fireChannelSearch(@RequestBody FireChannelListRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.fireChannelSearch(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】海康询消防设备列表") 
 | 
    @PostMapping("/fireDeviceSearch") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<BaseListPageResponse<FireDeviceListResponse>> > fireDeviceSearch(@RequestBody FireDeviceListRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.fireDeviceSearch(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】分页查询消防设备部件状态") 
 | 
    @PostMapping("/fireDeviceStatusSearch") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>>> fireDeviceStatusSearch(@RequestBody FireDeviceStatuslListRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.fireDeviceStatusSearch(param)); 
 | 
    } 
 | 
    @ApiOperation("【海康】分页查询设备下的所有报警记录") 
 | 
    @PostMapping("/findDeviceAlarmPage") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>> > findDeviceAlarmPage(@RequestBody FindDeviceAlarmListRequest param, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.findDeviceAlarmPage(param)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("【海康】温湿度统计") 
 | 
    @PostMapping("/getTemperatureHumidityDataPage") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse> getTemperatureHumidityDataPage(@RequestBody TemperatureHumidityDataRequest request, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.temperatureHumidityDataStatistic(request)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("【海康】根据时间和时间维度获取园区能耗数据") 
 | 
    @PostMapping("/energyTotal") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<EnergyTotalDataResponse>> energyTotalData(@RequestBody EnergyTotalDataRequest request, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.energyTotal(request)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @ApiOperation("【海康】获取区域用量排名-能耗看板") 
 | 
    @PostMapping("/regionDataRanking") 
 | 
    @LoginNoRequired 
 | 
    public ApiResponse<BaseResponse<List<RegionDataRankingDataResponse>>> regionDataRankingData(@RequestBody RegionDataRankingDataRequest request, HttpServletResponse response) { 
 | 
        return ApiResponse.success(  HKService.regionDataRanking(request)); 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
} 
 |