| | |
| | | package com.doumee.api.business; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.config.DataSyncConfig; |
| | | 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.EventVisitIccmDataRequest; |
| | | 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.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.core.utils.Constants; |
| | | import com.doumee.dao.business.model.Member; |
| | | 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 com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; |
| | | 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 HkSyncOrgUserToHKServiceImpl hkSyncOrgUserService; |
| | | @Autowired |
| | | private HkSyncDeviceServiceImpl hkSyncDeviceService; |
| | | @Autowired |
| | | private HkSyncParkServiceImpl hkSyncParkService; |
| | | @Autowired |
| | | private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService; |
| | | @Autowired |
| | | private HkSyncPushServiceImpl hkSyncPushService; |
| | | |
| | | |
| | | /** |
| | | * 是否开发者 |
| | | */ |
| | | @Autowired |
| | | private DataSyncConfig dataSyncConfig; |
| | | |
| | | @ApiOperation("立即同步待下发人员数据") |
| | | @PostMapping("/syncUserData") |
| | | @RequiresPermissions("business:member:syncdata") |
| | | public ApiResponse syncUserData(@RequestBody Member member) { |
| | | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp) { |
| | | //如果是ERP系统同步下发 |
| | | hkSyncOrgUserService.syncUserData(); |
| | | } |
| | | return ApiResponse.success(null); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("【海康】全量同步门禁设备接口") |
| | | @PostMapping("/getDevices") |
| | | // @RequiresPermissions("business:hksync:device") |
| | | public ApiResponse getDevices(@RequestBody AcsDeviceListRequest 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("/getParks") |
| | | // @RequiresPermissions("business:hksync:park") |
| | | public ApiResponse getParks(@RequestBody ParkListRequest 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("/getPrivilege") |
| | | // @RequiresPermissions("business:hksync:privilege") |
| | | public ApiResponse getPrivilege(@RequestBody ParkListRequest param) { |
| | | String result = hkSyncPrivilegeService.syncHkParks(param); |
| | | @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); |
| | | } |
| | | @ApiOperation("【海康】访客ICCM事件订阅推送对接处理接口") |
| | | @PostMapping("/push/visitIccm") |
| | | public ApiResponse pushVisitIccm(@RequestBody EventVisitIccmRequest param, HttpServletResponse response) { |
| | | String result = hkSyncPushService.dealVisitEventIccm(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("/push") |
| | | // @RequiresPermissions("business:hksync:privilege") |
| | | public ApiResponse push(@RequestBody ParkListRequest param) { |
| | | String result = hkSyncPrivilegeService.syncHkParks(param); |
| | | return ApiResponse.success(result); |
| | | @ApiOperation("【海康】取消订阅事件") |
| | | @PostMapping("/cancelEventSub") |
| | | public ApiResponse cancelEventSub(@RequestBody EventSubRequest param, HttpServletResponse response) { |
| | | hkSyncPushService.cancelEventSub(); |
| | | return ApiResponse.success(null); |
| | | } |
| | | } |