|  |  |  | 
|---|
|  |  |  | 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 江蹄蹄 | 
|---|
|  |  |  | 
|---|
|  |  |  | public class HkSyncController extends BaseController { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncService hkSyncService; | 
|---|
|  |  |  | private HkSyncDeviceServiceImpl hkSyncDeviceService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncParkServiceImpl hkSyncParkService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncPushServiceImpl hkSyncPushService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PreventRepeat | 
|---|
|  |  |  | @ApiOperation("【海康】全量同步门禁设备接口") | 
|---|
|  |  |  | @PostMapping("/getDevices") | 
|---|
|  |  |  | @RequiresPermissions("business:hksync:device") | 
|---|
|  |  |  | public ApiResponse getDevices(@RequestBody AcsDeviceListRequest param) { | 
|---|
|  |  |  | String result = hkSyncService.syncHkDevices(param); | 
|---|
|  |  |  | @PostMapping("/syncDevices") | 
|---|
|  |  |  | //    @RequiresPermissions("business:hksync:device") | 
|---|
|  |  |  | public ApiResponse syncHkDevices(@RequestBody AcsDeviceListRequest param) { | 
|---|
|  |  |  | String result = hkSyncDeviceService.syncHkDevices(param); | 
|---|
|  |  |  | return ApiResponse.success(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @PreventRepeat | 
|---|
|  |  |  | @ApiOperation("【海康】全量同步停车库接口") | 
|---|
|  |  |  | @PostMapping("/getDevices") | 
|---|
|  |  |  | @RequiresPermissions("business:hksync:park") | 
|---|
|  |  |  | public ApiResponse getDevices(@RequestBody ParkListRequest param) { | 
|---|
|  |  |  | String result = hkSyncService.syncHkParks(param); | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|