| | |
| | | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.haikang.model.HKConstants; |
| | | import com.doumee.core.haikang.model.HKTools; |
| | | import com.doumee.core.haikang.model.param.BaseResponse; |
| | | import com.doumee.core.haikang.model.param.request.EventSubRequest; |
| | | import com.doumee.core.haikang.model.param.respose.OrgListResponse; |
| | | import com.doumee.core.haikang.model.param.respose.OrgInfoResponse; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.system.model.SystemDictData; |
| | | import com.doumee.service.business.InterfaceLogService; |
| | | import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl; |
| | | import com.hikvision.artemis.sdk.config.ArtemisConfig; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Autowired |
| | | private InterfaceLogService interfaceLogService; |
| | | |
| | | @PostConstruct |
| | | public int initHkConfig(){ |
| | | if(StringUtils.isBlank( ArtemisConfig.host )){ |
| | | ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode(); |
| | | ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode(); |
| | | ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode(); |
| | | HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode(); |
| | | } |
| | | //获取根组织编码 |
| | | getRootOrgCode(); |
| | | //开始订阅门禁事件、访客事件、和停车场事件 |
| | |
| | | private void getRootOrgCode() { |
| | | SystemDictData org = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_ROOTORG_CODE); |
| | | if(org!=null){ |
| | | SystemDictData orgName = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_ROOTORG_NAME); |
| | | String rootOrgId =org.getCode(); |
| | | if(StringUtils.isBlank(rootOrgId)){ |
| | | BaseResponse<OrgListResponse> res = HKService.getRootOrg(null); |
| | | BaseResponse<OrgInfoResponse> res = HKService.getRootOrg(null); |
| | | if(res !=null && res.getData()!=null && StringUtils.isNotBlank(res.getData().getOrgIndexCode())){ |
| | | org.setCode(res.getData().getOrgIndexCode()); |
| | | org.setUpdateTime(new Date()); |
| | | systemDictDataBiz.updateById( org); |
| | | |
| | | orgName.setCode(res.getData().getOrgName()); |
| | | orgName.setUpdateTime(new Date()); |
| | | systemDictDataBiz.updateById( orgName); |
| | | } |
| | | } |
| | | } |
| | |
| | | * 订阅门禁事件、访客事件、和停车场事件 |
| | | */ |
| | | public void startHkEventSub(){ |
| | | cancelEventSub(); |
| | | EventSubRequest param = new EventSubRequest(); |
| | | String path =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode(); |
| | | param.setEventDest(path+"/parks"); |
| | |
| | | ,HKConstants.EventTypes.PARK_LINE_OUT.getKey() |
| | | ,HKConstants.EventTypes.PARK_PASS_IN.getKey() |
| | | ,HKConstants.EventTypes.PARK_PASS_OUT.getKey() }); |
| | | HKService.cancelEventSub(param);////先取消 |
| | | HKService.eventSub(param);//停车场事件 |
| | | |
| | | param.setEventDest(path+"/visit"); |
| | | param.setEventTypes(new Integer[]{HKConstants.EventTypes.VISIT_SIGN_OUT.getKey() |
| | | param.setEventTypes(new Integer[]{HKConstants.EventTypes.VISIT_SIGN_IN.getKey() |
| | | ,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()}); |
| | | HKService.cancelEventSub(param);//先取消 |
| | | HKService.eventSub(param);//访客事件 |
| | | |
| | | param.setEventDest(path+"/acs"); |
| | | param.setEventTypes(new Integer[]{HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getKey(),HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()}); |
| | | HKService.cancelEventSub(param);//先取消 |
| | | HKService.eventSub(param);//门禁事件 |
| | | |
| | | } |
| | |
| | | ,HKConstants.EventTypes.PARK_LINE_OUT.getKey() |
| | | ,HKConstants.EventTypes.PARK_PASS_IN.getKey() |
| | | ,HKConstants.EventTypes.PARK_PASS_OUT.getKey() |
| | | ,HKConstants.EventTypes.VISIT_SIGN_IN.getKey() |
| | | ,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey(), |
| | | HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()}); |
| | | String path =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode(); |
| | | param.setEventDest(path); |
| | | HKService.cancelEventSub(param);//停车场事件 |
| | | |
| | | } |