package com.doumee.api.business;
|
|
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.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.parks.EventPlatCarstatusRequest;
|
import com.doumee.core.haikang.model.param.request.event.parks.EventPlatWorkstatusRequest;
|
import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
|
import com.doumee.core.model.ApiResponse;
|
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 com.doumee.api.BaseController;
|
/**
|
* @author 江蹄蹄
|
* @date 2023/11/30 15:33
|
*/
|
@Api(tags = "海康数据同步接口")
|
@RestController
|
@RequestMapping("/business/hksync")
|
public class HkSyncController extends BaseController {
|
|
@Autowired
|
private HkSyncDeviceServiceImpl hkSyncDeviceService;
|
@Autowired
|
private HkSyncParkServiceImpl hkSyncParkService;
|
@Autowired
|
private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService;
|
@Autowired
|
private HkSyncPushServiceImpl hkSyncPushService;
|
|
@PreventRepeat
|
@ApiOperation("【海康】全量同步门禁设备接口")
|
@PostMapping("/syncDevices")
|
@RequiresPermissions("business:hksync:device")
|
public ApiResponse syncHkDevices(@RequestBody AcsDeviceListRequest param) {
|
String result = hkSyncDeviceService.syncHkDevices(param);
|
return ApiResponse.success(result);
|
}
|
@PreventRepeat
|
@ApiOperation("【海康】全量同步停车库接口")
|
@PostMapping("/syncParks")
|
@RequiresPermissions("business:hksync:park")
|
public ApiResponse syncHkParks(@RequestBody ParkListRequest param) {
|
String result = hkSyncParkService.syncHkParks(param);
|
return ApiResponse.success(result);
|
}
|
@PreventRepeat
|
@ApiOperation("【海康】全量同步访客权限组接口")
|
@PostMapping("/syncPrivilege")
|
@RequiresPermissions("business:hksync:privilege")
|
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);
|
}
|
@ApiOperation("【海康】月台工作状态事件推送")
|
@PostMapping("/platform/workstatus")
|
public ApiResponse workstatus(@RequestBody EventPlatWorkstatusRequest param, HttpServletResponse response) {
|
hkSyncPushService.dealWorkstatusEvent(param,response);
|
return ApiResponse.success(null);
|
}
|
@ApiOperation("【海康】月台车辆状态事件推送")
|
@PostMapping("/platform/carstatus")
|
public ApiResponse carstatus(@RequestBody EventPlatCarstatusRequest param, HttpServletResponse response) {
|
hkSyncPushService.dealCarstatusEvent(param,response);
|
return ApiResponse.success(null);
|
}
|
}
|