|  |  |  | 
|---|
|  |  |  | package com.doumee.service.business.impl.hksync; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.doumee.core.constants.ResponseStatus; | 
|---|
|  |  |  | import com.doumee.core.exception.BusinessException; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.doumee.core.haikang.service.HKService; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.DateUtil; | 
|---|
|  |  |  | import com.doumee.dao.business.DeviceMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.PlatformDeviceMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.PlatformJobMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.PlatformMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Device; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Platform; | 
|---|
|  |  |  | import com.doumee.dao.business.model.PlatformDevice; | 
|---|
|  |  |  | import com.doumee.dao.business.model.PlatformJob; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Collection; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class HkSyncPlatformsServiceImpl extends HkSyncBaseServiceImpl { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private PlatformMapper platformMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private PlatformJobMapper platformJobMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private PlatformDeviceMapper platformDeviceMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | List<PlatformDevice> deviceList = new ArrayList<>(); | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | //查询全部门禁设备数据 | 
|---|
|  |  |  | List<Platform> allList = platformMapper.selectList(null); | 
|---|
|  |  |  | List<Platform> allList = platformMapper.selectList(new QueryWrapper<Platform>().lambda().eq(Platform::getIsdeleted,Constants.ZERO)); | 
|---|
|  |  |  | List<PlatformListInfoResponse> allHkList = getAllHkList(param); | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取增删改数据集合 | 
|---|
|  |  |  | 
|---|
|  |  |  | getDataChangeList(allList,allHkList,addList,deviceList,editList,deleteList,date); | 
|---|
|  |  |  | if(deleteList.size()>0){ | 
|---|
|  |  |  | //逻辑删除 | 
|---|
|  |  |  | List<Integer> platIds = new ArrayList<>(); | 
|---|
|  |  |  | for(Platform d : deleteList){ | 
|---|
|  |  |  | platformMapper.updateById(d); | 
|---|
|  |  |  | platIds.add(d.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //更新删除的月台信息删正在执行的作业状态为【待签到】状态 | 
|---|
|  |  |  | platformJobMapper.update(null,  new UpdateWrapper<PlatformJob>().lambda() | 
|---|
|  |  |  | .eq(PlatformJob::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.WART_SIGN_IN.getKey() | 
|---|
|  |  |  | ,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey() | 
|---|
|  |  |  | ,Constants.PlatformJobStatus.DONE.getKey() | 
|---|
|  |  |  | ,Constants.PlatformJobStatus.LEAVED.getKey() | 
|---|
|  |  |  | ,Constants.PlatformJobStatus.CANCEL.getKey() ) | 
|---|
|  |  |  | .in(PlatformJob::getPlatformId,platIds) | 
|---|
|  |  |  | .set(PlatformJob::getPlatformId,null) | 
|---|
|  |  |  | .set(PlatformJob::getPlatforms,null) | 
|---|
|  |  |  | .set(PlatformJob::getStatus,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(deviceList.size()>0){ | 
|---|
|  |  |  | platformDeviceMapper.insert(deviceList); | 
|---|
|  |  |  | 
|---|
|  |  |  | editList.add(model); | 
|---|
|  |  |  | //清空监控点数据 | 
|---|
|  |  |  | platformDeviceMapper.delete(new UpdateWrapper<PlatformDevice>().lambda() | 
|---|
|  |  |  | .eq(PlatformDevice::getPlatformId,model.getId())); | 
|---|
|  |  |  | .eq(PlatformDevice::getPlatformId,model.getId()) | 
|---|
|  |  |  | .eq(PlatformDevice::getType,Constants.ONE) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | deviceList.addAll(getCameraList(device.getCameras(),model)); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //如果不存在,则新增数据 | 
|---|
|  |  |  | 
|---|
|  |  |  | d.setCreateDate(model.getCreateDate()); | 
|---|
|  |  |  | d.setPlatformId(model.getId()); | 
|---|
|  |  |  | d.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | d.setDeviceId(param.getCameraIdompan()); | 
|---|
|  |  |  | d.setDeviceId(param.getCameraId()); | 
|---|
|  |  |  | d.setName(param.getCameraName()); | 
|---|
|  |  |  | d.setType(Constants.ONE); | 
|---|
|  |  |  | list.add(d); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  true; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|