package com.doumee.cloud.admin;
|
|
import com.doumee.api.BaseController;
|
import com.doumee.config.annotation.CloudRequiredPermission;
|
import com.doumee.core.annotation.pr.PreventRepeat;
|
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.visit.EventVisitRequest;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.service.business.impl.hksync.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
/**
|
* @author 江蹄蹄
|
* @date 2023/11/30 15:33
|
*/
|
@Api(tags = "海康数据同步接口")
|
@RestController
|
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/hksync")
|
public class HkSyncCloudController extends BaseController {
|
|
@Autowired
|
private HkSyncDeviceServiceImpl hkSyncDeviceService;
|
@Autowired
|
private HkSyncParkServiceImpl hkSyncParkService;
|
@Autowired
|
private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService;
|
@Autowired
|
private HkSyncPushServiceImpl hkSyncPushService;
|
@Autowired
|
private HkSyncLoginAuthServiceImpl hkSyncLoginAuthService;
|
|
@PreventRepeat
|
@ApiOperation("【海康】全量同步门禁设备接口")
|
@PostMapping("/syncDevices")
|
@CloudRequiredPermission("business:hksync:device")
|
public ApiResponse syncHkDevices(@RequestBody AcsDeviceListRequest param,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
String result = hkSyncDeviceService.syncHkDevices(param);
|
return ApiResponse.success(result);
|
}
|
@PreventRepeat
|
@ApiOperation("【海康】获取组件授权登录地址接口")
|
@PostMapping("/getServiceUrl")
|
public ApiResponse getServiceUrl(@RequestBody HKGetServiceLoginUrlRequest param,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
param.setUsername(this.getLoginUser(token).getUsername());
|
String result = hkSyncLoginAuthService.getServiceUrl(param);
|
return ApiResponse.success(result);
|
}
|
@PreventRepeat
|
@ApiOperation("【海康】全量同步停车库接口")
|
@PostMapping("/syncParks")
|
@CloudRequiredPermission("business:hksync:park")
|
public ApiResponse syncHkParks(@RequestBody ParkListRequest param,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
String result = hkSyncParkService.syncHkParks(param);
|
return ApiResponse.success(result);
|
}
|
@PreventRepeat
|
@ApiOperation("【海康】全量同步访客权限组接口")
|
@PostMapping("/syncPrivilege")
|
@CloudRequiredPermission("business:hksync:privilege")
|
public ApiResponse syncPrivilege(@RequestBody PrivilegeGroupRequest param,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
String result = hkSyncPrivilegeService.syncPrivilege(param);
|
return ApiResponse.success(result);
|
}
|
// @PreventRepeat
|
@ApiOperation("【海康】门禁事件订阅推送对接处理接口")
|
@PostMapping("/push/acs")
|
public ApiResponse pushAcs( HttpServletRequest request,@RequestBody EventAcsRequest param, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
String result = hkSyncPushService.dealAcsEvent(param,response);
|
return ApiResponse.success(result);
|
}
|
// @PreventRepeat
|
@ApiOperation("【海康】访客事件订阅推送对接处理接口")
|
@PostMapping("/push/visit")
|
public ApiResponse pushVisit(@RequestBody EventVisitRequest param, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
String result = hkSyncPushService.dealVisitEvent(param,response);
|
return ApiResponse.success(result);
|
}
|
// @PreventRepeat
|
@ApiOperation("【海康】停车场事件订阅推送对接处理接口")
|
@PostMapping("/push/parks")
|
public ApiResponse pushParks(@RequestBody EventParkRequest param, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
String result = hkSyncPushService.dealParkEvent(param,response);
|
return ApiResponse.success(result);
|
}
|
@PreventRepeat
|
@ApiOperation("【海康】取消订阅事件")
|
@PostMapping("/cancelEventSub")
|
public ApiResponse cancelEventSub(@RequestBody EventSubRequest param, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
hkSyncPushService.cancelEventSub();
|
return ApiResponse.success(null);
|
}
|
}
|