lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
@@ -1,29 +1,29 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
import com.doumee.core.haikang.model.param.request.EventSubRequest;
import com.doumee.core.haikang.model.param.request.ParkListRequest;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
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.visit.EventVisitRequest;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Device;
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.HkSyncService;
import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncPrivilegeServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
 * @author 江蹄蹄
@@ -40,29 +40,59 @@
    private HkSyncParkServiceImpl hkSyncParkService;
    @Autowired
    private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService;
    @Autowired
    private HkSyncPushServiceImpl hkSyncPushService;
    @PreventRepeat
    @ApiOperation("【海康】全量同步门禁设备接口")
    @PostMapping("/getDevices")
    @PostMapping("/syncDevices")
//    @RequiresPermissions("business:hksync:device")
    public ApiResponse getDevices(@RequestBody AcsDeviceListRequest param) {
    public ApiResponse syncHkDevices(@RequestBody AcsDeviceListRequest param) {
        String result = hkSyncDeviceService.syncHkDevices(param);
        return ApiResponse.success(result);
    }
    @PreventRepeat
    @ApiOperation("【海康】全量同步停车库接口")
    @PostMapping("/getParks")
    @PostMapping("/syncParks")
//    @RequiresPermissions("business:hksync:park")
    public ApiResponse getParks(@RequestBody ParkListRequest param) {
    public ApiResponse syncHkParks(@RequestBody ParkListRequest param) {
        String result = hkSyncParkService.syncHkParks(param);
        return ApiResponse.success(result);
    }
    @PreventRepeat
    @ApiOperation("【海康】全量同步停车库接口")
    @PostMapping("/getPrivilege")
    @ApiOperation("【海康】全量同步访客权限组接口")
    @PostMapping("/syncPrivilege")
//    @RequiresPermissions("business:hksync:privilege")
    public ApiResponse getPrivilege(@RequestBody ParkListRequest param) {
        String result = hkSyncPrivilegeService.syncHkParks(param);
    public ApiResponse syncPrivilege(@RequestBody PrivilegeGroupRequest param) {
        String result = hkSyncPrivilegeService.syncPrivilege(param);
        return ApiResponse.success(result);
    }
    @PreventRepeat
    @ApiOperation("【海康】门禁事件订阅推送对接处理接口")
    @PostMapping("/push/acs")
    public ApiResponse pushAcs(  HttpServletRequest request,@RequestBody EventAcsRequest param, HttpServletResponse response) {
        String result = hkSyncPushService.dealAcsEvent(param,response);
        return ApiResponse.success(result);
    }
    @PreventRepeat
    @ApiOperation("【海康】访客事件订阅推送对接处理接口")
    @PostMapping("/push/visit")
    public ApiResponse pushVisit(@RequestBody EventVisitRequest param, HttpServletResponse response) {
        String result = hkSyncPushService.dealVisitEvent(param,response);
        return ApiResponse.success(result);
    }
    @PreventRepeat
    @ApiOperation("【海康】停车场事件订阅推送对接处理接口")
    @PostMapping("/push/parks")
    public ApiResponse pushParks(@RequestBody EventParkRequest param, HttpServletResponse response) {
        String result = hkSyncPushService.dealParkEvent(param,response);
        return ApiResponse.success(result);
    }
    @PreventRepeat
    @ApiOperation("【海康】取消订阅事件")
    @PostMapping("/cancelEventSub")
    public ApiResponse cancelEventSub(@RequestBody EventSubRequest param, HttpServletResponse response) {
         hkSyncPushService.cancelEventSub();
        return ApiResponse.success(null);
    }
}