From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java | 88 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 77 insertions(+), 11 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java index adf320c..8e507e5 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java @@ -1,7 +1,9 @@ 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.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; @@ -12,21 +14,22 @@ 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 com.github.xiaoymin.knife4j.core.util.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; 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; +import java.util.*; +import java.util.stream.Collectors; /** * 璁惧淇℃伅琛⊿ervice瀹炵幇 @@ -35,11 +38,16 @@ */ @Service public class HkSyncPlatformsServiceImpl extends HkSyncBaseServiceImpl { - @Autowired private PlatformMapper platformMapper; @Autowired + private PlatformJobMapper platformJobMapper; + @Autowired private PlatformDeviceMapper platformDeviceMapper; + @Autowired + @Lazy + private SystemDictDataBiz systemDictDataBiz; + /** * 鍚屾娴峰悍鏈堝彴鏁版嵁 @@ -60,7 +68,7 @@ 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); /** * 鑾峰彇澧炲垹鏀规暟鎹泦鍚� @@ -68,9 +76,24 @@ 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()); } + //鏇存柊鍒犻櫎鐨勬湀鍙颁俊鎭垹姝e湪鎵ц鐨勪綔涓氱姸鎬佷负銆愬緟绛惧埌銆戠姸鎬� + 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); @@ -105,7 +128,7 @@ //鏇存柊鐘舵�� (鏈堝彴鐘舵�� 0-鏃犺溅 1-鏈夎溅 2-瓒呮椂鍋滈潬 3-閿欒鍋滈潬) for(PlatformStatusInfoResponse d : allHkList){ platformMapper.update(null,new UpdateWrapper<Platform>().lambda() - .set(Platform::getStatus,d.getStatus()) + .set(Platform::getPlatformStatus,d.getStatus()) .set(Platform::getEditDate,date) .eq(Platform::getHkId,d.getPlatformId())); } @@ -165,7 +188,9 @@ 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{ //濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹� @@ -183,13 +208,13 @@ private List<PlatformDevice> getCameraList(List<PlatformCameraInfoResponse> cameras, Platform model) { List<PlatformDevice> list = new ArrayList<>(); - if(cameras!=null || cameras.size()>0){ + if(cameras!=null && cameras.size()>0){ for(PlatformCameraInfoResponse param :cameras){ PlatformDevice d = new PlatformDevice(); 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); @@ -255,7 +280,48 @@ } } return true; + } + + + public List<Integer> getMenuConfig(String userId){ + try { + List<Integer> resultList= new ArrayList<>(); + Map<String,String> param = new HashMap<>(); + param.put("userId",userId); + BaseResponse<MenuDataResponse> result = HKService.getMenuConfig(param); + if(result !=null){ + if(!StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),result.getMsg()); + } + MenuDataResponse menuDataResponse = result.getData(); + List<String> list = menuDataResponse.getList(); + if(CollectionUtils.isNotEmpty(list)){ + //鍒嗗埆鍒ゆ柇4涓彍鍗� + if(list.stream().filter(i->i.equals("Infovision iPark Platform_"+HKConstants.MenuPageId.afzx)).collect(Collectors.toList()).size()>Constants.ZERO){ + resultList.add(0); + } + if(list.stream().filter(i->i.equals("Infovision iPark Platform_"+HKConstants.MenuPageId.xkzx)).collect(Collectors.toList()).size()>Constants.ZERO){ + resultList.add(1); + } + if(list.stream().filter(i->i.equals("Infovision iPark Platform_"+HKConstants.MenuPageId.ngzx)).collect(Collectors.toList()).size()>Constants.ZERO){ + resultList.add(2); + } + if(list.stream().filter(i->i.equals("Infovision iPark Platform_"+HKConstants.MenuPageId.jsc)).collect(Collectors.toList()).size()>Constants.ZERO){ + resultList.add(3); + } + if(list.stream().filter(i->i.equals("Infovision iPark Platform_"+HKConstants.MenuPageId.kqgzt)).collect(Collectors.toList()).size()>Constants.ZERO){ + resultList.add(4); + } + } + return resultList; + }else{ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鑿滃崟澶辫触锛�"); + } + }catch (Exception e){ + e.printStackTrace(); + } + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鑿滃崟澶辫触锛岃绋嶅悗閲嶈瘯锛�"); } } -- Gitblit v1.9.3